Figure 1: Microsoft C/C++ 7.0 test results


Recaps of Tests Run on Selected Double Precision and Long Double
Precision Functions in Microsoft's Runtime Library

           Double Precision
           ----------------

Significand: 53 Bits
Arithmetic:  Base 2

Test of exp(x) vs. xexp(x):

                (Log 2)  Bits  (Log 2) Bits Test
Test              MRE    Lost   RMS E  Lost Range
----              ---    ----   -----  ---- -----
1: exp(x)       -53.08   0.00   -59.26 0.00 (-0.5*log(2),
                                             +0.5*log(2))
2: exp(x)       -52.98   0.02   -59.23 0.00 (-670, -0.5*log(2))
3: exp(x)       -52.81   0.19   -59.15 0.00 (10*log(2), +709)

Test of pow(x,p) vs. xpow(x,p):

Test            (Log 2)  Bits  (Log 2) Bits Test
----              MRE    Lost   RMS E  Lost Range
                  ---    ----   -----  ---- -----
1: pow(x,1)     -(INF)   0.00  -(INF)  0.00 (+0.5, +1)
2: pow(x*x,1.5) -53.06   0.00  -59.28  0.00 (+0.5, +1)
3: pow(x*x,1.5) -52.92   0.08  -59.18  0.00 (+1.0, +5.6438E+102)
4: pow(x,y)     -53.07   0.00  -59.22  0.00 x: (+0.01, +10)
                                            y: (-154.127,+154.127)

Test of sin(x) vs. xsin(x) & cos(x) vs. xcos(x):

Test            (Log 2)  Bits  (Log 2) Bits Test
----              MRE    Lost   RMS E  Lost Range
                  ---    ----   -----  ---- -----
1: sin(x)       -53.04   0.00  -59.34  0.00 (0.0, pi/2)
2: cos(x)       -53.08   0.00  -59.34  0.00 (0.0, pi/2)
3: sin(x)       -53.06   0.00  -59.35  0.00 (6*pi, 6.5*pi)
4: cos(x)       -53.07   0.00  -59.37  0.00 (7*pi, 7.5*pi)

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

         Long Double Precision
         ---------------------

Significand: 64 Bits
Arithmetic:  Base 2

Test of expl(x) vs. xexp(x):

Test            (Log 2)  Bits  (Log 2) Bits Test
----              MRE    Lost   RMS E  Lost Range
                  ---    ----   -----  ---- -----
1: expl(x)       -63.37  0.63  -69.82  0.00 (-0.5*log(2),
                                             +0.5*log(2))
2: expl(x)       -50.77  3.23  -57.22  6.78 (-11309,
                                             -0.5*log(2))
3: expl(x)       -50.78  3.22  -57.26  6.74 (10*log(2),
                                             +11356)

Test of powl(x,p) vs. xpow(x,p):

Test            (Log 2)  Bits  (Log 2) Bits Test
----              MRE    Lost   RMS E  Lost Range
                  ---    ----   -----  ---- -----
1: powl(x,1)     -63.50  0.50  -70.02  0.00 (+0.5, +1)
2: powl(x*x,1.5) -62.56  1.44  -69.39  0.00 (+0.5, +1)
3: powl(x*x,1.5) -51.09 12.91  -57.19  6.81 (+1.0, +1.0596E+1644)
4: powl(x,y)     -52.21 11.79  -59.02  4.98 x: (+0.01, +10)
                                            y: (-2466.04,+2466.04)

Test of sinl(x) vs. xsin(x) & cosl(x) vs. xcos(x):

Test            (Log 2)  Bits  (Log 2) Bits Test
----              MRE    Lost   RMS E  Lost Range
                  ---    ----   -----  ---- -----
1: sinl(x)       -64.04  0.00  -70.38  0.00 (0.0, pi/2)
2: cosl(x)       -57.20  6.80  -67.12  0.00 (0.0, pi/2)
3: sinl(x)       -54.70  9.30  -64.50  0.00 (6*pi, 6.5*pi)
4: cosl(x)       -54.92  9.08  -64.58  0.00 (7*pi, 7.5*pi)