Fourth Draft "Unsafe fp optimizations" project description.

Brad Lucier lucier@math.purdue.edu
Mon Aug 13 09:32:00 GMT 2001


Re:

        *) Note that -0.0 == 0.0, so -A+B == B-A is always true
        for numerical A and B.  Obviously, NaNs will make it
        always unordered.

It is true that -0.0 is numerically equal to 0.0, but it not (Lisp)
equivalent, in that 1.0/(0.0) is most definitely not (numerically equal ||
equivalent || or identical) to 1.0/(-0.0).  (I
would define Lisp equivalency as being able to substitute two values
in any expression and get the same answer; real Lispers can yell at me
now, and I'll fall back to Scheme ;-)  If this note refers to our previous
discussion of whether -A+B -> B-A is a valid transformation, I think
we were using "same" in the sense "equivalent".

Brad Lucier



More information about the Gcc mailing list