On Feb 21, 2010, at 20:57, Joseph S. Myers wrote:
> I know some people have claimed (e.g. glibc bug 6981) that you can't 
> conform to Annex F when you have excess precision, but this does not 
> appear to be the view of WG14.

That may be the case, but I really wonder how much sense it
can make to declare things like:

> The expressions x − y and −(y − x) are not equivalent because 1 − 1 is +0 but 
> −(1 − 1) is −0 (in the default rounding direction)

if you than have to wave hands and admit that either side might
be off by an arbitrary amount due to presence or absence of
double rounding, the whole statement becomes meaningless. 

In the end, what counts is thay users have complained for
ages about unexpected floating-point results on x86.
We have always argued that that was just the way things
are on x86: sorry, hardware issue, can't fix.

However, we have progressed 25 years, and through the wonders
of SSE2 we now can have both extended precision when we need
it and accurate, predictable single and double floating-point
for the rest. If we get this issue out of the way, and make
GCC by default have IEEE 754 compliant floating point on hardware
supporting it, that would be a great step forward.

  -Geert

Reply via email to