You are not calculating outputvalue if frequency is 51 or 50.5.
Simplify this to:
if (frequency > 51) {
outputvalue = 62499u;
} else if (frequency < 50.5) {
outputvalue = 0;
} else {
outputvalue = 2 * 62499ul * (frequency - 50.5);
}