http://www.gnu.org/software/libc/manual/html_node/Infinity-and-NaN.html
This specifies that x==x is false if x is NaN. What would be the underlying reason? If the compiler detects stuff like 1.0/0.0 (NaN) wouldn't it automatically set the value to 0x7F800000 (IEEE754 Single Precision Floating Point representation for NaN/Inf). Then when the x==x comparison occurs, should it be true as it would be a comparison of the same hex value?