This question is related to this thread: http://d.puremagic.com/issues/show_bug.cgi?id=3632 Can you tell me why real.nan and real.init don't contain the same bit patterns? import std.math: isIdentical; void main() { assert(isIdentical(real.nan, real.init)); // this asserts } Bye and thank you, bearophile