This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: glibc conditioning



> 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)




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]