Product Documentation
Abstract
This document provides accuracy data for the MASS scalar and vector libraries for AIX, in comparison with the standard system math libraries.
Content
Accuracy information for the MASS libraries for AIX
In some cases MASS is not as accurate as the system math library, and it may handle edge cases differently (sqrt(Inf), for example). The following tables provide sample accuracy data for the libm.a system library, the libmass.a MASS scalar library, the libmassv.a, libmassvp4.a, libmassvp5.a, libmassvp6.a, and libmassvp7.a MASS vector libraries, and the libmass_simdp7.a MASS SIMD library. The numbers are based on the results for at least 1000 random arguments for each floating-point base-two exponent in the specified ranges. (Denormalized arguments were omitted.) The AIX system quadruple-precision functions or a multiple-precision library were used to compute the errors. There may be portions of the valid input argument range for which accuracy is not as good as illustrated in the table.
If the function (or the corresponding quadruple-precision function) does not exist, or if the measurement was not done, the entry is left blank.
The observed errors are given in units in the last place (ulps). The entries in the percent correctly rounded (PCR) column are obtained by counting the number of correctly rounded results out of the tested random arguments. A result is correctly rounded when the function returns the floating-point number that is closest to the exact (infinite-precision) result.
The column labelled libm lists the results obtained with the libm.a system math library. The columns labelled massv, vp4, vp5, vp6, or vp7 list the results obtained with the libmassv.a, libmassvp4.a, libmassvp5.a, libmassvp6.a, or libmassvp7.a MASS vector libraries, respectively. The columns labelled massS list the results obtained with the libmass_simdp7.a MASS SIMD library.
Although the vector names (e.g. vacos) are used in the Function column, the libm and mass columns refers to the corresponding scalar function (e.g. acos).
The following range key applies to the POWER7 tables. The range key for the other tables is at the end. The range [0,1), for example, refers to arguments in the range 0 <= x < 1.
Range Key for POWER7
A full range
B +/-[2^-1023,2]
C +[1,2^1024]
D +[2^-1023,2^1024]
E +[2^-127,2^128]
F +/-[2^-1023,1]
G +/-[2^-127,1]
H +/-[2^-1023,2^36]
I +/-[2^-127,2^10]
J +/-[2^-127,2^5]
K +/-[2^-1023,2^24]
L +/-[2^-127,2^24]
M +[2^-1023,1),(2,2^1024]
N +[2^-1023,2^100]
O +/-[2^-127,2]
P +[1,2^128]
Q +/-[2,2^128]
POWER7 vector MASS massvp7.a
Single and double precision functions
Maximum Observed Error (ulps) and PCR
function Range PCR maxerr
------------------------------
vacos B 99.246 1.67e+00
vsacos O 96.066 1.93e+00
vacosh C 92.567 2.88e+00
vsacosh P 81.208 2.05e+00
vasin B 99.560 2.80e+00
vsasin O 51.883 2.64e+00
vasinh A 75.173 2.40e+00
vsasinh A 72.626 2.35e+00
vatan A 99.128 1.05e+00
vatan2 A 85.916 1.62e+00
vsatan2 D 85.726 7.18e+00
vsatan E 47.064 3.97e+00
vatanh F 77.464 3.00e+00
vsatanh G 90.509 2.19e+00
vcbrt A 83.906 1.00e+00
vscbrt A 60.246 2.87e+00
vcos H 99.355 1.36e+00
vscos I 90.879 2.58e+00
vcosh H 99.264 2.22e+00
vscosh J 97.658 1.86e+00
vcosisin H 99.384 1.36e+00
vscosisin I 97.178 2.97e+00
vdiv A 70.626 1.21e+00
vsdiv A 83.076 2.93e+00
verf D 97.479 3.00e+00
verfc D 99.273 2.41e+00
vserfc G 98.949 1.49e+01
vserfc Q 99.030 1.62e+03
vserf E 70.257 1.93e+00
vexp A 99.918 7.42e-01
vexp2 A 99.561 2.00e+00
vsexp2 A 99.106 1.36e+00
vexp2m1 K 75.240 1.59e+00
vsexp2m1 L 24.139 2.59e+00
vsexp A 99.144 1.44e+00
vexpm1 K 98.793 3.00e+00
vexpm1 J 11.683 2.72e+00
vhypot A 89.266 2.00e+00
vshypot A 87.389 1.97e+00
vlgamma M 74.259 1.90e+01
vslgamma E 68.562 6.97e+00
vlog D 99.990 1.21e+00
vlog10 D 99.989 1.43e+00
vslog10 E 44.716 1.89e+00
vlog1p N 90.330 2.00e+00
vslog1p E 82.205 2.29e+00
vlog2 D 99.994 1.00e+00
vlog21p N 87.245 2.05e+00
vslog21p E 89.662 1.76e+00
vslog2 E 99.650 1.74e+00
vslog E 74.872 1.77e+00
vpow D 76.396 1.00e+00
vspow E 99.978 5.24e-01
vqdrt D 87.799 1.40e+00
vsqdrt E 83.658 2.06e+00
vrcbrt A 67.656 2.18e+00
vsrcbrt A 51.486 3.10e+00
vrec A 99.807 5.19e-01
vsrecf A 99.332 2.48e+00
vrqdrt D 93.282 1.25e+00
vsrqdrt E 87.972 1.74e+00
vrsqrt D 92.365 1.01e+00
vsrsqrt E 92.338 1.30e+00
vsin H 99.385 1.43e+00
vsincos H 99.389 1.36e+00
vssincos I 97.178 2.97e+00
vssin I 95.527 2.13e+00
vsinh A 99.375 1.91e+00
vssinh J 10.993 3.12e+00
vsqrt D 87.095 1.45e+00
vssqrt E 87.126 1.79e+00
vtan H 96.228 3.09e+00
vstan I 90.872 3.51e+00
vtanh A 89.587 3.73e+00
vstanh A 53.509 4.00e+00
POWER7 SIMD MASS mass_simdp7.a
Single and double precision functions
Maximum Observed Error (ulps) and PCR
function Rng PCR maxerr
------------------------------
acosd2 B 99.982 1.19e+00
acosf4 O 96.066 1.93e+00
acoshd2 C 92.567 2.88e+00
acoshf4 P 81.208 2.05e+00
asind2 B 99.560 2.80e+00
asinf4 O 51.883 2.64e+00
asinhd2 A 75.173 2.40e+00
asinhf4 A 72.626 2.35e+00
atan2d2 D 85.916 1.62e+00
atan2f4 E 85.726 7.18e+00
atanhd2 F 77.464 3.00e+00
atanhf4 G 90.509 2.19e+00
cbrtd2 A 91.676 1.00e+00
cbrtf4 A 60.246 2.87e+00
cosd2 H 99.384 1.36e+00
cosf4 I 90.879 2.58e+00
coshd2 H 99.468 1.10e+00
coshf4 J 97.658 1.86e+00
divd2 A 74.314 1.48e+00
divf4 A 83.076 2.93e+00
erfd2 D 96.410 9.47e-01
erfcd2 D 99.273 2.41e+00
erfcf4 G 98.949 1.49e+01
erfcf4 Q 99.030 1.62e+03
erff4 E 70.257 1.93e+00
expd2 A 99.918 7.42e-01
exp2d2 A 99.561 2.00e+00
exp2f4 A 99.106 1.36e+00
exp2m1d2 K 75.240 1.59e+00
exp2m1f4 L 24.139 2.59e+00
expf4 A 99.144 1.44e+00
expm1d2 K 98.793 3.00e+00
expm1f4 J 11.683 2.72e+00
hypotd2 A 89.266 2.00e+00
hypotf4 A 87.389 1.97e+00
lgammad2 M 74.259 1.90e+01
lgammaf4 E 68.562 6.97e+00
logd2 D 87.506 1.19e+00
log10d2 D 87.522 1.10e+00
log10f4 E 44.716 1.89e+00
log1pd2 N 90.330 2.00e+00
log1pf4 E 82.205 2.29e+00
log2d2 D 100.000 1.00e+00
log21pd2 N 87.245 2.05e+00
log21pf4 E 89.662 1.76e+00
log2f4 E 99.650 1.74e+00
logf4 E 74.872 1.77e+00
powd2 D 49.749 1.92e+00
powf4 E 77.830 9.78e+01
qdrtd2 D 91.174 1.39e+00
qdrtf4 E 83.658 2.06e+00
rcbrtd2 A 69.497 1.80e+00
rcbrtf4 A 51.486 3.10e+00
recipd2 A 99.807 5.19e-01
recipf4 A 99.332 2.48e+00
rqdrtd2 D 93.282 1.25e+00
rqdrtf4 E 87.972 1.74e+00
rsqrtd2 D 92.365 1.01e+00
rsqrtf4 E 92.338 1.30e+00
sind2 H 99.415 1.43e+00
sincosd2 H 99.384 1.36e+00
sincosf4 I 97.178 2.97e+00
sinf4 I 95.527 2.13e+00
sinhd2 A 94.907 3.14e+00
sinhf4 J 10.993 3.12e+00
sqrtd2 D 87.095 1.45e+00
sqrtf4 E 87.126 1.79e+00
tand2 H 98.698 2.50e+00
tanf4 I 90.872 3.51e+00
tanhd2 A 99.380 2.89e+00
tanhf4 A 53.509 4.00e+00
Results for other than POWER7 libraries
Maximum Observed Error (ulps) -- double-precision functions
Function Range libm mass v vp4 vp5 vp6
==================================================
vacos B .59 1.43 2.13 2.13 2.13 2.13
vacosh G 2.35 1.80 1.80 1.80 1.80 1.80
vasin B .61 1.89 2.18 2.18 2.18 2.18
vasinh D .96 2.09 2.24 2.24 2.24 2.24
vatan B 1.04
vatan D 1.48
vatan2 D 1.59 1.67 1.95 1.95 1.95 1.95
vatanh B 1.93 2.58 2.76 2.76 2.76 2.76
vcbrt D .66 1.16 1.16 1.16 1.16 1.16
vcopysign D 0.00
vcos B 1.02 1.18 .98 1.11 1.11 1.11
vcos D .93 1.47 1.47 1.47 1.47 1.47
vcosh D .97 1.10 2.70 2.70 2.70 2.70
vcosisin B 1.02 1.18 .98 .98 .98 .98
vcosisin D .94 1.47 1.47 1.47 1.47 1.47
vdint D 0.00 0.00 0.00 0.00
vdiv D .50 1.42 1.42 1.42 1.42
vdnint D 0.00 0.00 0.00 0.00
verf C 1.24
verfc C 2.29
vexp D .50 .67 .67 .67 .67 .67
vexpm1 D .98 2.11 2.11 2.11 2.11 2.11
vhypot D 0.00
vlgamma H 1.95
vlog C .50 1.14 1.75 1.75 1.75 1.75
vlog10 C 1.56 2.59 2.59 2.59 2.59 2.59
vlog1p H .97 1.58 1.58 1.58 1.58 1.58
vpow C .50 .65 .60 .60 .60 .60
vqdrt C .84 1.42 1.42 1.42 1.42
vrcbrt D 1.69 1.02 1.02 1.02 1.02
vrec D .50 .50 .52 .52 .52
vrqdrt C .89 1.04 1.04 1.04 1.04
vrsqrt C .95 .56 .63 .56 .99 .99
vsin B .91 .82 .79 1.39 1.39 1.39
vsin D .94 1.44 1.44 1.44 1.44 1.44
vsincos B 1.02 1.18 .98 1.15 1.15 1.15
vsincos D .94 1.47 1.47 1.47 1.47 1.47
vsinh D 1.47 3.13 1.94 1.94 1.94 1.94
vsqrt C .50 .60 .63 1.02 .75 .75
vtan D .53 2.67 3.23 3.23 3.23 3.23
vtanh F 2.53 2.52 3.00 3.00 3.00 3.00
Maximum Observed Error (ulps) -- single-precision functions
Function Range libm mass v vp4 vp5 vp6
==================================================
vsacos B .50 .54 .56 .56 .56 .56
vsacosh G .50 .51 .51 .51 .51 .51
vsasin B .50 .54 .56 .56 .56 .56
vsasinh D .50 .52 .50 .50 .50 .50
vsatan B .54
vsatan D .53
vsatan2 D .50 .50 .50 .70 .70 .70
vsatanh B .51 .51 .51 .51 .51
vscbrt D .50 .53 .53 .53 .53 .53
vscopysign D 0.00
vscos B .50 .51 .51 .51 .51 .51
vscos D .50 .51 .51 .51 .51 .51
vscosh D .50 .53 .53 .53 .53 .53
vscosisin B .50 .51 .51 .51 .51
vscosisin D .50 .51 .51 .51 .51
vsdiv D .50 .50 1.54 1.46 1.44
vserf C .58
vserfc C .55
vsexp D .50 .53 .53 .53 .53 .53
vsexpm1 D .50 .50 .50 .50 .50 .50
vshypot D .50
vslgamma H .50
vslog C .50 .51 .51 .51 .51 .51
vslog10 C .50 .51 .51 .51 .51 .51
vslog1p H .50 .51 .51 .51 .51 .51
vspow C .50 .53 .53 .53 .53 .53
vsqdrt C .85 .56 .56 .56 .56
vsrcbrt D .50 .51 .51 .51 .51
vsrec D .50 .66 .58 .50 .50
vsrint D 0.00
vsrqdrt C .50 .52 .52 .52 .52
vsrsqrt C .50 .83 .88 .83 .83
vssin B .50 .50 .50 .51 .51 .51
vssin D .50 .51 .51 .51 .51 .51
vssincos B .50 .51 .51 .51 .51
vssincos D .50 .51 .51 .51 .51
vssinh D .50 .53 .53 .53 .53 .53
vssqrt C .50 .80 1.08 .80 .80
vstan D .50 .51 .68 .68 .68 .68
vstanh F .50 .57 .74 .74 .74 .74
PCR -- double-precision functions
Function Range libm mass v vp4 vp5 vp6
========================================================
vacos B 99.44 88.00 85.00 85.00 85.00 85.00
vacosh G 86.78 92.00 92.00 92.00 92.00 92.00
vasin B 98.82 87.00 69.00 69.00 69.00 69.00
vasinh D 90.92 96.00 96.00 96.00 96.00 96.00
vatan B 94.00
vatan D 99.00
vatan2 D 74.66 86.00 84.00 84.00 84.00 84.00
vatanh B 83.59 83.00 78.00 78.00 78.00 78.00
vcbrt D 91.58 85.00 85.00 85.00 85.00 85.00
vcopysign D 100.00
vcos B 92.95 92.00 93.00 86.00 86.00 86.00
vcos D 86.86 84.00 84.00 83.00 83.00 83.00
vcosh D 95.64 92.00 58.00 58.00 58.00 58.00
vcosisin B 81.31 95.00 95.00 95.00 95.00 95.00
vcosisin D 86.03 84.00 84.00 84.00 84.00 84.00
vdint D 100.00 100.00 100.00 100.00
vdiv D 100.00 74.00 74.00 74.00 74.00
vdnint D 100.00 100.00 100.00 100.00
verf C 100.00
verfc C 91.00
vexp D 99.95 97.00 97.00 97.00 97.00 97.00
vexpm1 D 95.98 99.00 99.00 99.00 99.00 99.00
vhypot D 100.00
vlgamma H 66.00
vlog C 99.99 100.00 99.00 99.00 99.00 99.00
vlog10 C 64.63 99.00 99.00 99.00 99.00 99.00
vlog1p H 99.91 99.00 99.00 99.00 99.00 99.00
vpow C 99.96 97.00 97.00 97.00 97.00 97.00
vqdrt C 87.26 76.00 76.00 76.00 76.00
vrcbrt D 70.51 87.00 87.00 87.00 87.00
vrec D 100.00 100.00 100.00 100.00 100.00
vrqdrt C 85.18 86.00 86.00 86.00 86.00
vrsqrt C 85.36 99.00 97.00 97.00 85.00 85.00
vsin B 81.31 97.00 97.00 92.00 92.00 92.00
vsin D 86.03 84.00 84.00 83.00 83.00 83.00
vsincos B 81.31 95.00 95.00 91.00 91.00 91.00
vsincos D 86.03 84.00 84.00 84.00 84.00 84.00
vsinh D 94.78 57.00 83.00 83.00 83.00 83.00
vsqrt C 100.00 97.00 97.00 87.00 87.00 97.00
vtan D 99.58 64.00 54.00 54.00 54.00 54.00
vtanh F 96.97 91.00 57.00 57.00 57.00 57.00
PCR -- single-precision functions
Function Range libm mass v vp4 vp5 vp6
========================================================
vsacos B 100.00 99.00 99.00 99.00 99.00 99.00
vsacosh G 100.00 100.00 100.00 100.00 100.00 100.00
vsasin B 100.00 99.00 98.00 98.00 98.00 98.00
vsasinh D 100.00 100.00 100.00 100.00 100.00 100.00
vsatan B 98.00
vsatan D 100.00
vsatan2 D 100.00 100.00 100.00 99.00 99.00 99.00
vsatanh B 100.00 100.00 100.00 100.00 100.00
vscbrt D 100.00 99.00 99.00 99.00 99.00 99.00
vscopysign D 100.00
vscos B 100.00 99.00 99.00 99.00 99.00 99.00
vscos D 100.00 100.00 100.00 100.00 100.00 100.00
vscosh D 100.00 99.00 99.00 99.00 99.00 99.00
vscosisin B 100.00 100.00 100.00 100.00 100.00
vscosisin D 100.00 100.00 100.00 100.00 100.00
vsdiv D 100.00 100.00 74.00 74.00 74.00
vserf C 100.00
vserfc C 100.00
vsexp D 100.00 99.00 99.00 99.00 99.00 99.00
vsexpm1 D 100.00 100.00 100.00 100.00 100.00 100.00
vshypot D 100.00
vslgamma H 100.00
vslog C 100.00 100.00 100.00 100.00 100.00 100.00
vslog10 C 100.00 100.00 100.00 100.00 100.00 100.00
vslog1p H 100.00 100.00 100.00 100.00 100.00 100.00
vspow C 100.00 99.00 99.00 99.00 99.00 99.00
vsqdrt C 87.40 97.00 97.00 97.00 97.00
vsrcbrt D 100.00 100.00 100.00 100.00 100.00
vsrec D 100.00 92.00 99.00 100.00 100.00
vsrint D 100.00
vsrqdrt C 100.00 99.00 99.00 99.00 99.00
vsrsqrt C 100.00 87.00 88.00 86.00 86.00
vssin B 100.00 100.00 100.00 100.00 100.00 100.00
vssin D 100.00 100.00 100.00 100.00 100.00 100.00
vssincos B 100.00 100.00 100.00 100.00 100.00
vssincos D 100.00 100.00 100.00 100.00 100.00
vssinh D 100.00 99.00 99.00 99.00 99.00 99.00
vssqrt C 100.00 86.00 84.00 86.00 86.00
vstan D 100.00 100.00 98.00 98.00 98.00 98.00
vstanh F 100.00 100.00 95.00 95.00 95.00 95.00
Range Key for all tables except POWER7
A 0,1
B -1,1
C 0,100
D -100,100
E -10,10
F -20,20
G 1,100
H -1,100
I 0,10
Original Publication Date
05 December 2005
Was this topic helpful?
Document Information
Modified date:
17 June 2018
UID
swg27007004