Can you prove to us that floating point comparison works like that in C++? My understanding is that floating point errors happen in every language and that you should always use < or > rather than ==.