Hi,
I am working on a C++ program which is heavy on number crunching. After an update of the program that has nothing to do with floating points (I have added non floating point members to some classes), I realized that there was a slight change in the floating point results of the program. The difference is very small (a small drift starting from 1ulp), but it is there.
I've tracked the difference in between the 2 versions of the program, until I found the culprit : a routine that was using the type "long double". When changed to "double", the difference went away.
Is there any reason why some "external change" to a code might affect "long double" computation and not computation with "double" ?
Best regards,
Francois