http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57484
--- Comment #1 from Daniel Krügler <daniel.kruegler at googlemail dot com> --- I haven't checked your bit arithmetics, but I have checked the full bit patterns of the resulting NaNs in hex on my mingw-64 bit system. What I'm getting for are the following results: 1) gcc 4.7.2/4.9.0 20130519 (experimental) -m32: Signaling NaN's of "f" is 7fa00000 Quiet NaN's of "f" is 7fc00000 Signaling NaN's of "d" is 7ff4000000000000 Quiet NaN's of "d" is 7ff8000000000000 2) gcc 4.7.2/4.9.0 20130519 (experimental) -m64: Signaling NaN's of "f" is 7fa00000 Quiet NaN's of "f" is 7fc00000 Signaling NaN's of "d" is 7ff4000000000000 Quiet NaN's of "d" is 7ff8000000000000 All values look consistent with valid sNaN/qNaN patterns according to the ranges listed here: http://www.doc.ic.ac.uk/~eedwards/compsys/float/nan.html What are the full bit patterns that you get by printing the signaling_NaN.bits/quiet_NaN.bits values in hex?