The author still doesn't understand how "fprintf(stderr, "\n");" could have changed the behavior, so I doubt he understands the real cause of the bug. A test for floating point equality may not give you the result you expect, but it is most certainly deterministic: if you compare the same two floating point numbers (i.e., the same sequences of bits that represent two floating point numbers), the hardware will give you exactly the same result each time. So there was something in the program that caused a <i>different</i> floating point result to be computed under some circumstances.