20 years of coding and I can't find this bug. Can you?

int pushButton = 10;
int buttonState = 0;
int frequency =0;
int balance =6319;
/*
ArduinoFreqMetr v 1.0
*/
#include <FreqMeasure.h>

void setup() {
pinMode(pushButton, INPUT);
pinMode(2, OUTPUT); //red
pinMode(3, OUTPUT); // blue
pinMode(4, OUTPUT); // green
pinMode(7, OUTPUT); // buzer
Serial.begin(9600);
FreqMeasure.begin();
}

double sum=0;
int count=0;

void loop() {
if (FreqMeasure.available()) {
// average several reading together
sum = sum + FreqMeasure.read();
count = count + 1;
if (count > 30) {
frequency = FreqMeasure.countToFrequency(sum / count);
Serial.println(frequency);
sum = 0;
count = 0;
}
}
//------------button-----------------
buttonState = digitalRead(pushButton);
if (buttonState == HIGH) {
balance=frequency;
};

//----------indication----------------
if (frequency==balance) {
digitalWrite(3, HIGH);
digitalWrite(7, LOW);
} else {
digitalWrite(3, LOW);
digitalWrite(7, HIGH);

};

if (frequency>balance) {
digitalWrite(4, HIGH);
} else {
digitalWrite(4, LOW);
};

if (frequency<balance) {
digitalWrite(2, HIGH);
} else {
digitalWrite(2, LOW);
};

}