Это что вообще такое? Флоты сравнивают вот так: `fabs(x1 - x2) < EPS;`

У вас конечно близко по смыслу, но уж слишком замысловато, и никто не поймет...