http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51441
Alex Makov <exponent-bias at yandex dot ru> changed: What |Removed |Added ---------------------------------------------------------------------------- Component|target |c --- Comment #4 from Alex Makov <exponent-bias at yandex dot ru> 2011-12-07 07:20:29 UTC --- (In reply to comment #3). > Please identify the target for which the compiler is configured. If > 32-bit x86, then note that in accordance with FLT_EVAL_METHOD you have > double rounding (two double values are converted to long double, added as > long doubles and then the long double sum rounded to double). The target is 32-bit x86. Given the "intermediate result" is first rounded to long double and then rounded once more to double, then the result should match with what GCC yields indeed. Moreover, after adding the "-mpc64" option to the command line the test code prints +1.6331239353195374e+16 which is the expect output. So, this whole thing looks to be false alarm. Anyway, thanks a lot for your feedback.