You'll never get that sort of thing with floating point comparisons (assuming the hardware or software implementation of floating point and floating point operations is not buggy).

The more likely explanation is a mismatch between programmer expectations and algorithm stability. Do a numerical calculation repeatedly, then errors accumulate. But, if doing the same calculation by hand, the result has no error. The real cause is a programmer error, but programmers have a tendency to blame the technology rather than themselves.