From: "David McClain" <dmcclain@azstarnet.com>
To: <caml-list@inria.fr>
Subject: FP Computations
Date: Fri, 3 Sep 1999 23:52:53 -0700
Ohmygosh! I just ran a simple proof checker in Mathematica against the IEEE
FP spec with distinct (+0.0) and (-0.0). Do you realize that subtraction no
longer anti-commutes?
That is, in general there is no way to perform (a -. b) as a correction to
(b -. a). Subtraction almost anti-commutes, except when a = b. In that case
(a -. b) = +0.0, and (b -. a) = +0.0 also! Hence we cannot expect that
(a -. b) = -. (b -. a).
Also can't use (-0.0) -. (b -. a) since that's exactly the same as direct
negation with FCHS.
Can't use (+0.0) -. (b -. a) since a might be -0.0 and b might be +0.0 in
which case (a -. b) = -0.0 and (b -. a) = (+0.0), and hence (+0.0) -. (b -.
a) = (+0.0) -. (+0.0) = (+0.0).
We're stuck! We MUST evaluate (a -. b) in the order indicated because there
is in general no way to correct the reverse order. Yikes!
- DM
This archive was generated by hypermail 2b29 : Sun Jan 02 2000 - 11:58:25 MET