looking for floating-point test software

Lennert Buytenhek buytenh@wantstofly.org
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
ARM hw+sw.


Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com

More information about the crossgcc mailing list