https://issues.dlang.org/show_bug.cgi?id=17324
--- Comment #1 from Don <[email protected]> --- Right, it's a bit sloppy, I'm treating +0.0 as "> 0". The wording should actually be something like: identities such as: x and 1/(1/x) always have the same sign bit. (The point is that you can take the reciprocal without destroying the sign bit). > assert(1/y > 0); // fails That's because y is +infinity, so the result is +0.0. > assert(1/(1/x) > 0); // passes due to wrong optimuzation That's not a problem, the compiler was able to avoid creating a spurious NaN. It's allowed to use arbitrary intermediate precision. --
