looking for floating-point test software
Wed Oct 20 21:31:00 GMT 2004
On Wed, Oct 20, 2004 at 02:02:22PM -0700, David Wuertele wrote:
> Andreas> Paranoia? E.g. http://www.netlib.org/paranoia/ ?
> Wow, that was pretty revealing. Not in a good way.
I just did this test on a big-endian ARM system running 2.6.9-rc3 with
an extra kernel patch to make mnfd negate doubles correctly, and I get:
No failures, defects nor flaws have been discovered.
Rounding appears to conform to the proposed IEEE standard P754.
The arithmetic diagnosed appears to be Excellent!
But trying this on an x86 box (P4 3.0GHz), I get:
The number of DEFECTs discovered = 1.
The number of FLAWs discovered = 1.
The DEFECT is:
Testing X^((X + 1) / (X - 1)) vs. exp(2) = 7.38905609893065218e+00 as X -> 1.
DEFECT: Calculated 7.38905609548934539e+00 for
(1 + (-1.11022302462515654e-16) ^ (-1.80143985094819840e+16);
differs from correct value by -3.44130679508225512e-09 .
This much error may spoil financial
calculations involving tiny interest rates.
And the FLAW is:
Checking rounding on multiply, divide and add/subtract.
* is neither chopped nor correctly rounded.
/ is neither chopped nor correctly rounded.
Addition/Subtraction neither rounds nor chops.
Sticky bit used incorrectly or not at all.
FLAW: lack(s) of guard digits or failure(s) to correctly round or chop
(noted above) count as one flaw in the final tally below.
It seems pretty weird that a bog-standard x86 box with a bog-standard
distro (FC2) fails any of these tests, does it not? I would have at
least expected it to exhibit less failures than the relatively obscure
Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to email@example.com
More information about the crossgcc