This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: glibc conditioning
- To: Ulrich Drepper <drepper at redhat dot com>
- Subject: Re: glibc conditioning
- From: Stephen L Moshier <moshier at mediaone dot net>
- Date: Thu, 30 Aug 2001 18:59:53 -0400 (EDT)
- cc: libc-alpha at sources dot redhat dot com
- Reply-To: moshier at moshier dot ne dot mediaone dot net
> the math library will produce wrong results.
Here is a rough comparison between 64-bit and 80-bit coprocessor settings
for about two dozen of the functions. The situation looks better
than it once was.
Consistency test of math functions, glibc-2.1.3, x86-linux libm.
Max and rms relative errors for 1000000 random arguments.
In general, arguments are chosen to avoid generating denormal results.
Coprocessor Setting
80-bit 64-bit
peak rms peak rms
x = cbrt( cube(x) ): 1.76E-16 5.11E-17 4.80E-16 1.15E-16
x = atan( tan(x) ): 1.97E-16 1.16E-17 1.45E-16 1.16E-17
x = sin( asin(x) ): 1.32E-16 1.22E-17 2.31E-16 5.54E-17
x = sqrt( square(x) ): 0.00E+00 0.00E+00 0.00E+00 0.00E+00
x = log( exp(x) ): 1.11E-16 A 4.06E-18 A 2.22E-16 A 4.81E-17 A
x = tanh( atanh(x) ): 2.17E-16 1.45E-17 6.56E-16 1.16E-16
x = asinh( sinh(x) ): 1.26E-16 8.73E-19 4.33E-16 4.65E-17
x = acosh( cosh(x) ): 1.04E-13 A 1.69E-16 A 1.04E-13 A 1.79E-16 A
x = log10( exp10(x) ): 5.55E-17 A 1.26E-18 A 1.84E-16 A 5.05E-17 A
x = pow( pow(x,a),1/a ): 4.36E-12 4.56E-15 5.80E-12 5.94E-15
x = cos( acos(x) ): 2.22E-16 A 6.62E-17 A 2.22E-16 A 6.84E-17 A
Wronksian of Yn, Jn: 6.95E-13 A 7.98E-16 A 6.81E-13 A 9.02E-16 A
(A = absolute error criterion)