Product Documentation
Abstract
This document provides performance data for the MASS scalar, vector, and SIMD libraries for AIX, in comparison with the standard system math libraries.
Content
The following tables provide approximate performance data for the MASS scalar, SIMD, and vector libraries running under AIX on various IBM Power® architecture machines.
The columns labelled libm and scalar list the results obtained with the libm.a system library and the libmass.a MASS scalar library, respectively. This data was obtained by timing many repetitions of a loop over 1000 random arguments and includes all overheads.
The columns labelled simd gen, simdp7, simdp8, simdp9, or simdp10 list the results obtained with the libmass_simd.a, libmass_simdp7.a, libmass_simdp8.a, libmass_simdp9.a, libmass_simdp10.a MASS SIMD libraries, respectively. They give estimates of the number of cycles per evaluation of a SIMD vector element.
Although the scalar names (e.g. acos) are used in the Function column, the vector mass columns refer to the corresponding vector function (e.g. vacos), and the simd mass columns refer to the corresponding SIMD function (e.g. acosd2).
The timing method used brings the input and output vectors into the on-chip cache (because the loop is short enough for the vectors to fit in the cache). Performance may deteriorate significantly when the input and output vectors are not in the cache. Performance may also deteriorate for arguments at or near the end-points of the valid argument ranges. The MASS vector libraries' timings were done with input and output vectors aligned on 16-byte boundaries. Reduced performance may occur for other alignments.
The system library measurements were made with the versions of the library available on the test systems. They may vary from the versions timed for previous versions of MASS. Users may experience performance that differs from that found in these tables.
Results will vary with vector length. Entries in the table where the library function does not exist, or the measurement was not done, are left blank.
The following range keys give the argument ranges over which the performance was measured. The range 0,1, for example, indicates that arguments in the range 0 <= x <= 1 were used. (Note that these are only the ranges over which performance was measured, and not the maximal valid ranges for the functions.)
A -100,100
B -1,1
C 0,100
D 1,100
E -20,20
libm / | libm / | libm / | libm / | libm / | simd gen / | vector gen / | ||||||||
range | libm | scalar | simd gen | simdp10 | vector gen | vp10 | scalar | simd gen | simdp10 | vector gen | vp10 | simdp10 | vp10 | |
acos | B | 53.80 | 30.40 | 30.80 | 14.00 | 12.80 | 12.80 | 1.77 | 1.75 | 3.84 | 4.20 | 4.20 | 2.20 | 1.00 |
acosf | B | 59.00 | 15.90 | 6.47 | 6.47 | 2.41 | 2.43 | 3.71 | 9.12 | 9.12 | 24.48 | 24.28 | 1.00 | 0.99 |
acosh | D | 296.00 | 39.00 | 21.10 | 19.20 | 6.23 | 6.19 | 7.59 | 14.03 | 15.42 | 47.51 | 47.82 | 1.10 | 1.01 |
acoshf | D | 297.00 | 31.40 | 7.00 | 7.00 | 2.51 | 2.55 | 9.46 | 42.43 | 42.43 | 118.33 | 116.47 | 1.00 | 0.98 |
asin | B | 45.70 | 27.60 | 17.20 | 15.10 | 12.80 | 12.80 | 1.66 | 2.66 | 3.03 | 3.57 | 3.57 | 1.14 | 1.00 |
asinf | B | 50.90 | 14.40 | 6.39 | 6.39 | 2.35 | 2.35 | 3.53 | 7.97 | 7.97 | 21.66 | 21.66 | 1.00 | 1.00 |
asinh | A | 252.00 | 39.50 | 25.50 | 24.70 | 7.15 | 7.47 | 6.38 | 9.88 | 10.20 | 35.24 | 33.73 | 1.03 | 0.96 |
asinhf | A | 254.00 | 35.20 | 9.60 | 9.34 | 3.26 | 3.30 | 7.22 | 26.46 | 27.19 | 77.91 | 76.97 | 1.03 | 0.99 |
atan | A | 65.20 | 21.20 | 22.80 | 15.00 | 17.30 | 13.30 | 3.08 | 2.86 | 4.35 | 3.77 | 4.90 | 1.52 | 1.30 |
atan2 | A | 307.00 | 33.40 | 21.90 | 21.40 | 14.20 | 14.20 | 9.19 | 14.02 | 14.35 | 21.62 | 21.62 | 1.02 | 1.00 |
atan2f | A | 316.00 | 32.50 | 5.61 | 5.61 | 2.32 | 2.14 | 9.72 | 56.33 | 56.33 | 136.21 | 147.66 | 1.00 | 1.08 |
atanf | A | 65.20 | 21.90 | 4.14 | 4.14 | 1.53 | 1.47 | 2.98 | 15.75 | 15.75 | 42.61 | 44.35 | 1.00 | 1.04 |
atanh | B | 135.00 | 40.30 | 16.30 | 15.60 | 7.27 | 7.27 | 3.35 | 8.28 | 8.65 | 18.57 | 18.57 | 1.04 | 1.00 |
atanhf | B | 142.00 | 29.10 | 7.16 | 7.16 | 3.52 | 3.41 | 4.88 | 19.83 | 19.83 | 40.34 | 41.64 | 1.00 | 1.03 |
cbrt | A | 227.00 | 22.60 | 13.00 | 12.80 | 6.60 | 5.91 | 10.04 | 17.46 | 17.73 | 34.39 | 38.41 | 1.02 | 1.12 |
cbrtf | A | 237.00 | 17.80 | 5.05 | 4.71 | 2.18 | 2.08 | 13.31 | 46.93 | 50.32 | 108.72 | 113.94 | 1.07 | 1.05 |
cos | A | 66.00 | 18.30 | 16.80 | 15.40 | 4.56 | 4.76 | 3.61 | 3.93 | 4.29 | 14.47 | 13.87 | 1.09 | 0.96 |
cosf | A | 69.30 | 16.50 | 8.56 | 8.22 | 1.96 | 1.92 | 4.20 | 8.10 | 8.43 | 35.36 | 36.09 | 1.04 | 1.02 |
cosh | A | 157.00 | 18.30 | 20.10 | 10.80 | 7.10 | 7.09 | 8.58 | 7.81 | 14.54 | 22.11 | 22.14 | 1.86 | 1.00 |
coshf | A | 176.00 | 19.10 | 6.21 | 6.21 | 2.11 | 2.05 | 9.21 | 28.34 | 28.34 | 83.41 | 85.85 | 1.00 | 1.03 |
erf | C | 26.40 | 9.67 | 11.60 | 8.12 | 7.13 | 4.05 | 2.73 | 2.28 | 3.25 | 3.70 | 6.52 | 1.43 | 1.76 |
erfc | C | 56.50 | 27.10 | 28.30 | 21.10 | 35.40 | 25.10 | 2.08 | 2.00 | 2.68 | 1.60 | 2.25 | 1.34 | 1.41 |
erfcf | C | 61.70 | 12.00 | 19.30 | 17.10 | 7.97 | 8.01 | 5.14 | 3.20 | 3.61 | 7.74 | 7.70 | 1.13 | 1.00 |
erff | C | 30.30 | 8.48 | 7.74 | 6.36 | 2.52 | 2.56 | 3.57 | 3.91 | 4.76 | 12.02 | 11.84 | 1.22 | 0.98 |
exp | A | 139.00 | 12.50 | 14.10 | 9.80 | 3.17 | 3.18 | 11.12 | 9.86 | 14.18 | 43.85 | 43.71 | 1.44 | 1.00 |
exp2 | A | 33.30 | - | 8.43 | 7.91 | 4.34 | 3.80 | - | 3.95 | 4.21 | 7.67 | 8.76 | 1.07 | 1.14 |
exp2f | A | 49.80 | - | 4.83 | 4.83 | 1.66 | 1.63 | - | 10.31 | 10.31 | 30.00 | 30.55 | 1.00 | 1.02 |
expf | A | 158.00 | 13.00 | 5.29 | 5.29 | 1.77 | 1.75 | 12.15 | 29.87 | 29.87 | 89.27 | 90.29 | 1.00 | 1.01 |
expm1 | A | 156.00 | 14.20 | 15.40 | 11.30 | 5.45 | 5.45 | 10.99 | 10.13 | 13.81 | 28.62 | 28.62 | 1.36 | 1.00 |
expm1f | A | 177.00 | 14.10 | 4.90 | 4.91 | 1.63 | 1.62 | 12.55 | 36.12 | 36.05 | 108.59 | 109.26 | 1.00 | 1.01 |
hypot | A | 225.00 | 9.98 | 8.42 | 8.30 | 3.07 | 3.06 | 22.55 | 26.72 | 27.11 | 73.29 | 73.53 | 1.01 | 1.00 |
hypotf | A | 239.00 | 9.80 | 3.84 | 3.92 | 1.63 | 1.64 | 24.39 | 62.24 | 60.97 | 146.63 | 145.73 | 0.98 | 0.99 |
lgamma | F | 208.00 | 58.70 | 27.00 | 26.00 | 19.60 | 11.60 | 3.54 | 7.70 | 8.00 | 10.61 | 17.93 | 1.04 | 1.69 |
lgammaf | F | 211.00 | 61.80 | 16.10 | 15.80 | 6.65 | 6.77 | 3.41 | 13.11 | 13.35 | 31.73 | 31.17 | 1.02 | 0.98 |
log | C | 146.00 | 20.90 | 8.50 | 8.50 | 5.72 | 5.70 | 6.99 | 17.18 | 17.18 | 25.52 | 25.61 | 1.00 | 1.00 |
log10 | C | 194.00 | 21.40 | 8.50 | 8.47 | 5.69 | 5.70 | 9.07 | 22.82 | 22.90 | 34.09 | 34.04 | 1.00 | 1.00 |
log10f | C | 202.00 | 14.30 | 5.76 | 5.76 | 2.12 | 2.16 | 14.13 | 35.07 | 35.07 | 95.28 | 93.52 | 1.00 | 0.98 |
log1p | F | 129.00 | 18.70 | 12.60 | 10.50 | 7.08 | 7.08 | 6.90 | 10.24 | 12.29 | 18.22 | 18.22 | 1.20 | 1.00 |
log1pf | F | 135.00 | 18.70 | 5.43 | 5.43 | 1.88 | 1.90 | 7.22 | 24.86 | 24.86 | 71.81 | 71.05 | 1.00 | 0.99 |
log2 | C | 141.00 | - | 13.50 | 11.70 | 8.42 | 7.85 | - | 10.44 | 12.05 | 16.75 | 17.96 | 1.15 | 1.07 |
log2f | C | 146.00 | - | 5.31 | 5.31 | 2.13 | 2.01 | - | 27.50 | 27.50 | 68.54 | 72.64 | 1.00 | 1.06 |
logf | C | 152.00 | 14.30 | 5.76 | 5.76 | 2.12 | 2.16 | 10.63 | 26.39 | 26.39 | 71.70 | 70.37 | 1.00 | 0.98 |
pow | C | 250.00 | 47.50 | 27.70 | 24.50 | 14.10 | 14.10 | 5.26 | 9.03 | 10.20 | 17.73 | 17.73 | 1.13 | 1.00 |
powf | C | 277.00 | 32.50 | 14.00 | 13.60 | 9.26 | 9.26 | 8.52 | 19.79 | 20.37 | 29.91 | 29.91 | 1.03 | 1.00 |
rsqrt | C | 79.10 | 14.90 | 3.08 | 3.08 | 1.36 | 1.35 | 5.31 | 25.68 | 25.68 | 58.16 | 58.59 | 1.00 | 1.01 |
sin | A | 72.30 | 18.50 | 15.80 | 14.90 | 4.88 | 4.86 | 3.91 | 4.58 | 4.85 | 14.82 | 14.88 | 1.06 | 1.00 |
sinf | A | 75.50 | 21.50 | 8.62 | 8.31 | 1.84 | 1.75 | 3.51 | 8.76 | 9.09 | 41.03 | 43.14 | 1.04 | 1.05 |
sinh | A | 188.00 | 35.20 | 37.10 | 10.30 | 7.52 | 7.52 | 5.34 | 5.07 | 18.25 | 25.00 | 25.00 | 3.60 | 1.00 |
sinhf | A | 214.00 | 19.30 | 7.41 | 7.41 | 3.23 | 3.33 | 11.09 | 28.88 | 28.88 | 66.25 | 64.26 | 1.00 | 0.97 |
sqrt | C | 76.30 | 14.70 | 3.55 | 3.55 | 1.63 | 1.63 | 5.19 | 21.49 | 21.49 | 46.81 | 46.81 | 1.00 | 1.00 |
sqrtf | C | 77.60 | - | 1.28 | 1.28 | 0.66 | 0.64 | - | 60.63 | 60.63 | 117.75 | 120.87 | 1.00 | 1.03 |
tan | A | 134.00 | 19.80 | 20.40 | 13.10 | 6.38 | 6.51 | 6.77 | 6.57 | 10.23 | 21.00 | 20.58 | 1.56 | 0.98 |
tanf | A | 134.00 | 20.50 | 10.20 | 10.30 | 4.44 | 4.39 | 6.54 | 13.14 | 13.01 | 30.18 | 30.52 | 0.99 | 1.01 |
tanh | E | 184.00 | 31.10 | 32.10 | 17.30 | 9.56 | 9.57 | 5.92 | 5.73 | 10.64 | 19.25 | 19.23 | 1.86 | 1.00 |
tanhf | E | 194.00 | 13.50 | 6.00 | 6.00 | 2.22 | 2.19 | 14.37 | 32.33 | 32.33 | 87.39 | 88.58 | 1.00 | 1.01 |
geomean | 5.94 | 12.35 | 14.04 | 29.88 | 31.10 | 1.14 | 1.04 |
libm / | libm / | libm / | libm / | libm / | simd gen / | vector gen / | ||||||||
range | libm | scalar | simd gen | simdp9 | vector gen | vp9 | scalar | simd gen | simdp9 | vector gen | vp9 | simdp9 | vp9 | |
acos | B | 77.40 | 57.30 | 58.50 | 37.80 | 22.20 | 22.20 | 1.35 | 1.32 | 2.05 | 3.49 | 3.49 | 1.55 | 1.00 |
acosf | B | 90.90 | 33.00 | 15.00 | 13.50 | 7.12 | 6.54 | 2.75 | 6.06 | 6.73 | 12.77 | 13.90 | 1.11 | 1.09 |
acosh | D | 615.00 | 61.60 | 51.60 | 51.20 | 22.50 | 21.40 | 9.98 | 11.92 | 12.01 | 27.33 | 28.74 | 1.01 | 1.05 |
acoshf | D | 622.00 | 51.10 | 19.10 | 18.20 | 7.36 | 7.56 | 12.17 | 32.57 | 34.18 | 84.51 | 82.28 | 1.05 | 0.97 |
asin | B | 75.80 | 49.30 | 40.10 | 37.80 | 22.20 | 22.20 | 1.54 | 1.89 | 2.01 | 3.41 | 3.41 | 1.06 | 1.00 |
asinf | B | 85.40 | 31.10 | 15.10 | 13.90 | 7.06 | 7.06 | 2.75 | 5.66 | 6.14 | 12.10 | 12.10 | 1.09 | 1.00 |
asinh | A | 500.00 | 69.00 | 71.90 | 70.20 | 24.50 | 22.30 | 7.25 | 6.95 | 7.12 | 20.41 | 22.42 | 1.02 | 1.10 |
asinhf | A | 521.00 | 58.70 | 25.30 | 24.70 | 8.69 | 9.10 | 8.88 | 20.59 | 21.09 | 59.95 | 57.25 | 1.02 | 0.95 |
atan | A | 207.00 | 35.40 | 43.70 | 38.70 | 43.50 | 32.40 | 5.85 | 4.74 | 5.35 | 4.76 | 6.39 | 1.13 | 1.34 |
atan2 | A | 531.00 | 55.90 | 61.90 | 50.80 | 26.10 | 25.80 | 9.50 | 8.58 | 10.45 | 20.34 | 20.58 | 1.22 | 1.01 |
atan2f | A | 548.00 | 61.90 | 13.40 | 12.20 | 7.35 | 6.48 | 8.85 | 40.90 | 44.92 | 74.56 | 84.57 | 1.10 | 1.13 |
atanf | A | 224.00 | 33.80 | 10.40 | 9.36 | 4.43 | 4.47 | 6.63 | 21.54 | 23.93 | 50.56 | 50.11 | 1.11 | 0.99 |
atanh | B | 197.00 | 67.80 | 44.80 | 37.10 | 23.30 | 22.10 | 2.91 | 4.40 | 5.31 | 8.45 | 8.91 | 1.21 | 1.05 |
atanhf | B | 208.00 | 51.90 | 19.00 | 16.60 | 11.00 | 10.90 | 4.01 | 10.95 | 12.53 | 18.91 | 19.08 | 1.14 | 1.01 |
cbrt | A | 359.00 | 46.70 | 35.50 | 31.50 | 21.00 | 18.60 | 7.69 | 10.11 | 11.40 | 17.10 | 19.30 | 1.13 | 1.13 |
cbrtf | A | 377.00 | 37.00 | 14.10 | 10.80 | 5.95 | 5.96 | 10.19 | 26.74 | 34.91 | 63.36 | 63.26 | 1.31 | 1.00 |
cos | A | 205.00 | 44.20 | 47.10 | 35.60 | 17.70 | 17.20 | 4.64 | 4.35 | 5.76 | 11.58 | 11.92 | 1.32 | 1.03 |
cosf | A | 221.00 | 47.60 | 24.10 | 20.50 | 5.98 | 5.81 | 4.64 | 9.17 | 10.78 | 36.96 | 38.04 | 1.18 | 1.03 |
cosh | A | 215.00 | 31.70 | 38.60 | 28.00 | 11.70 | 11.70 | 6.78 | 5.57 | 7.68 | 18.38 | 18.38 | 1.38 | 1.00 |
coshf | A | 236.00 | 33.40 | 15.60 | 13.60 | 6.55 | 6.59 | 7.07 | 15.13 | 17.35 | 36.03 | 35.81 | 1.15 | 0.99 |
erf | C | 43.70 | 18.80 | 21.10 | 15.30 | 25.20 | 14.70 | 2.32 | 2.07 | 2.86 | 1.73 | 2.97 | 1.38 | 1.71 |
erfc | C | 80.70 | 50.10 | 48.00 | 43.60 | 91.70 | 63.90 | 1.61 | 1.68 | 1.85 | 0.88 | 1.26 | 1.10 | 1.44 |
erfcf | C | 93.90 | 22.60 | 41.30 | 32.40 | 22.70 | 19.00 | 4.15 | 2.27 | 2.90 | 4.14 | 4.94 | 1.27 | 1.19 |
erff | C | 52.80 | 15.30 | 16.60 | 13.30 | 7.17 | 7.74 | 3.45 | 3.18 | 3.97 | 7.36 | 6.82 | 1.25 | 0.93 |
exp | A | 200.00 | 21.50 | 28.10 | 23.70 | 10.50 | 11.20 | 9.30 | 7.12 | 8.44 | 19.05 | 17.86 | 1.19 | 0.94 |
exp2 | A | 62.80 | - | 23.10 | 16.40 | 12.90 | 11.30 | - | 2.72 | 3.83 | 4.87 | 5.56 | 1.41 | 1.14 |
exp2f | A | 84.90 | - | 13.10 | 11.00 | 5.54 | 5.42 | - | 6.48 | 7.72 | 15.32 | 15.66 | 1.19 | 1.02 |
expf | A | 206.00 | 23.90 | 14.20 | 11.70 | 5.80 | 5.78 | 8.62 | 14.51 | 17.61 | 35.52 | 35.64 | 1.21 | 1.00 |
expm1 | A | 228.00 | 25.30 | 30.00 | 23.00 | 9.16 | 9.17 | 9.01 | 7.60 | 9.91 | 24.89 | 24.86 | 1.30 | 1.00 |
expm1f | A | 238.00 | 30.90 | 13.00 | 10.70 | 5.29 | 5.32 | 7.70 | 18.31 | 22.24 | 44.99 | 44.74 | 1.21 | 0.99 |
hypot | A | 531.00 | 19.60 | 23.00 | 21.40 | 10.10 | 10.10 | 27.09 | 23.09 | 24.81 | 52.57 | 52.57 | 1.07 | 1.00 |
hypotf | A | 603.00 | 19.00 | 10.50 | 9.68 | 4.64 | 4.64 | 31.74 | 57.43 | 62.29 | 129.96 | 129.96 | 1.08 | 1.00 |
lgamma | F | 352.00 | 96.20 | 60.80 | 55.60 | 58.30 | 34.00 | 3.66 | 5.79 | 6.33 | 6.04 | 10.35 | 1.09 | 1.71 |
lgammaf | F | 354.00 | 102.00 | 35.00 | 27.70 | 20.40 | 19.60 | 3.47 | 10.11 | 12.78 | 17.35 | 18.06 | 1.26 | 1.04 |
log | C | 241.00 | 36.90 | 25.80 | 21.70 | 10.10 | 10.10 | 6.53 | 9.34 | 11.11 | 23.86 | 23.86 | 1.19 | 1.00 |
log10 | C | 301.00 | 37.30 | 25.90 | 19.80 | 10.10 | 10.10 | 8.07 | 11.62 | 15.20 | 29.80 | 29.80 | 1.31 | 1.00 |
log10f | C | 303.00 | 25.40 | 14.60 | 12.80 | 6.42 | 6.03 | 11.93 | 20.75 | 23.67 | 47.20 | 50.25 | 1.14 | 1.06 |
log1p | F | 196.00 | 32.70 | 35.50 | 23.90 | 12.40 | 12.40 | 5.99 | 5.52 | 8.20 | 15.81 | 15.81 | 1.49 | 1.00 |
log1pf | F | 200.00 | 32.70 | 13.90 | 11.60 | 5.91 | 5.92 | 6.12 | 14.39 | 17.24 | 33.84 | 33.78 | 1.20 | 1.00 |
log2 | C | 223.00 | - | 33.70 | 28.50 | 28.40 | 20.80 | - | 6.62 | 7.82 | 7.85 | 10.72 | 1.18 | 1.37 |
log2f | C | 231.00 | - | 13.90 | 11.80 | 6.62 | 5.86 | - | 16.62 | 19.58 | 34.89 | 39.42 | 1.18 | 1.13 |
logf | C | 250.00 | 25.70 | 14.60 | 12.80 | 6.42 | 6.03 | 9.73 | 17.12 | 19.53 | 38.94 | 41.46 | 1.14 | 1.06 |
pow | C | 451.00 | 84.60 | 60.70 | 56.70 | 26.50 | 26.50 | 5.33 | 7.43 | 7.95 | 17.02 | 17.02 | 1.07 | 1.00 |
powf | C | 509.00 | 58.50 | 33.70 | 30.30 | 16.00 | 16.00 | 8.70 | 15.10 | 16.80 | 31.81 | 31.81 | 1.11 | 1.00 |
rsqrt | C | 209.00 | 31.30 | 9.27 | 9.27 | 4.76 | 4.70 | 6.68 | 22.55 | 22.55 | 43.91 | 44.47 | 1.00 | 1.01 |
sin | A | 210.00 | 45.40 | 46.00 | 32.80 | 18.20 | 18.20 | 4.63 | 4.57 | 6.40 | 11.54 | 11.54 | 1.40 | 1.00 |
sinf | A | 225.00 | 46.40 | 24.30 | 20.50 | 5.52 | 5.47 | 4.85 | 9.26 | 10.98 | 40.76 | 41.13 | 1.19 | 1.01 |
sinh | A | 234.00 | 57.70 | 60.30 | 26.50 | 12.40 | 12.40 | 4.06 | 3.88 | 8.83 | 18.87 | 18.87 | 2.28 | 1.00 |
sinhf | A | 269.00 | 34.30 | 20.00 | 16.60 | 10.60 | 10.80 | 7.84 | 13.45 | 16.20 | 25.38 | 24.91 | 1.20 | 0.98 |
sqrt | C | 182.00 | 30.80 | 11.30 | 11.30 | 5.79 | 5.78 | 5.91 | 16.11 | 16.11 | 31.43 | 31.49 | 1.00 | 1.00 |
sqrtf | C | 197.00 | - | 3.93 | 3.92 | 2.07 | 2.04 | - | 50.13 | 50.26 | 95.17 | 96.57 | 1.00 | 1.01 |
tan | A | 319.00 | 36.50 | 41.00 | 29.30 | 23.20 | 23.30 | 8.74 | 7.78 | 10.89 | 13.75 | 13.69 | 1.40 | 1.00 |
tanf | A | 335.00 | 40.10 | 26.00 | 22.70 | 13.30 | 13.00 | 8.35 | 12.88 | 14.76 | 25.19 | 25.77 | 1.15 | 1.02 |
tanh | E | 236.00 | 50.40 | 56.70 | 40.00 | 16.10 | 16.10 | 4.68 | 4.16 | 5.90 | 14.66 | 14.66 | 1.42 | 1.00 |
tanhf | E | 238.00 | 30.90 | 15.20 | 13.60 | 6.58 | 6.62 | 7.70 | 15.66 | 17.50 | 36.17 | 35.95 | 1.12 | 0.99 |
geomean | 5.68 | 9.03 | 10.80 | 19.53 | 20.66 | 1.20 | 1.06 |
libm / | libm / | libm / | libm / | libm / | simd gen / | vector gen / | ||||||||
range | libm | scalar | simd gen | simdp8 | vector gen | vp8 | scalar | simd gen | simdp8 | vector gen | vp8 | simdp8 | vp8 | |
acos | B | 86.10 | 50.40 | 53.90 | 28.30 | 17.50 | 17.50 | 1.71 | 1.60 | 3.04 | 4.92 | 4.92 | 1.90 | 1.00 |
acosf | B | 96.90 | 32.40 | 12.50 | 12.40 | 5.18 | 5.92 | 2.99 | 7.75 | 7.81 | 18.71 | 16.37 | 1.01 | 0.88 |
acosh | D | 413.00 | 80.70 | 38.10 | 38.40 | 11.20 | 10.80 | 5.12 | 10.84 | 10.76 | 36.88 | 38.24 | 0.99 | 1.04 |
acoshf | D | 415.00 | 60.70 | 13.60 | 13.70 | 4.78 | 4.98 | 6.84 | 30.51 | 30.29 | 86.82 | 83.33 | 0.99 | 0.96 |
asin | B | 74.80 | 47.60 | 39.40 | 30.30 | 17.50 | 17.50 | 1.57 | 1.90 | 2.47 | 4.27 | 4.27 | 1.30 | 1.00 |
asinf | B | 84.50 | 33.40 | 12.50 | 12.20 | 5.34 | 5.54 | 2.53 | 6.76 | 6.93 | 15.82 | 15.25 | 1.02 | 0.96 |
asinh | A | 328.00 | 76.20 | 46.20 | 46.50 | 14.20 | 15.90 | 4.30 | 7.10 | 7.05 | 23.10 | 20.63 | 0.99 | 0.89 |
asinhf | A | 331.00 | 64.50 | 17.30 | 17.50 | 5.67 | 5.90 | 5.13 | 19.13 | 18.91 | 58.38 | 56.10 | 0.99 | 0.96 |
atan | A | 58.80 | 36.70 | 38.90 | 34.60 | 36.90 | 23.60 | 1.60 | 1.51 | 1.70 | 1.59 | 2.49 | 1.12 | 1.56 |
atan2 | A | 479.00 | 50.90 | 42.00 | 37.70 | 19.40 | 19.40 | 9.41 | 11.40 | 12.71 | 24.69 | 24.69 | 1.11 | 1.00 |
atan2f | A | 488.00 | 59.90 | 10.70 | 10.90 | 4.72 | 5.20 | 8.15 | 45.61 | 44.77 | 103.39 | 93.85 | 0.98 | 0.91 |
atanf | A | 62.60 | 38.50 | 7.90 | 7.98 | 2.84 | 3.12 | 1.63 | 7.92 | 7.84 | 22.04 | 20.06 | 0.99 | 0.91 |
atanh | B | 169.00 | 74.10 | 31.10 | 26.60 | 11.70 | 11.20 | 2.28 | 5.43 | 6.35 | 14.44 | 15.09 | 1.17 | 1.04 |
atanhf | B | 174.00 | 58.70 | 13.70 | 13.70 | 7.02 | 7.18 | 2.96 | 12.70 | 12.70 | 24.79 | 24.23 | 1.00 | 0.98 |
cbrt | A | 337.00 | 48.20 | 27.10 | 25.50 | 12.30 | 10.80 | 6.99 | 12.44 | 13.22 | 27.40 | 31.20 | 1.06 | 1.14 |
cbrtf | A | 350.00 | 41.20 | 8.95 | 8.70 | 4.37 | 4.42 | 8.50 | 39.11 | 40.23 | 80.09 | 79.19 | 1.03 | 0.99 |
cos | A | 67.30 | 48.30 | 52.00 | 28.80 | 8.25 | 8.57 | 1.39 | 1.29 | 2.34 | 8.16 | 7.85 | 1.81 | 0.96 |
cosf | A | 72.90 | 49.80 | 16.00 | 15.40 | 4.04 | 4.33 | 1.46 | 4.56 | 4.73 | 18.04 | 16.84 | 1.04 | 0.93 |
cosh | A | 215.00 | 33.80 | 36.20 | 19.10 | 10.60 | 10.60 | 6.36 | 5.94 | 11.26 | 20.28 | 20.28 | 1.90 | 1.00 |
coshf | A | 250.00 | 36.40 | 13.20 | 12.30 | 3.94 | 4.06 | 6.87 | 18.94 | 20.33 | 63.45 | 61.58 | 1.07 | 0.97 |
erf | C | 41.90 | 18.60 | 21.30 | 19.90 | 11.00 | 7.79 | 2.25 | 1.97 | 2.11 | 3.81 | 5.38 | 1.07 | 1.41 |
erfc | C | 84.40 | 53.80 | 52.40 | 35.60 | 67.00 | 44.20 | 1.57 | 1.61 | 2.37 | 1.26 | 1.91 | 1.47 | 1.52 |
erfcf | C | 91.90 | 24.10 | 35.30 | 36.30 | 14.80 | 17.00 | 3.81 | 2.60 | 2.53 | 6.21 | 5.41 | 0.97 | 0.87 |
erff | C | 47.80 | 18.00 | 13.00 | 11.80 | 5.46 | 7.26 | 2.66 | 3.68 | 4.05 | 8.75 | 6.58 | 1.10 | 0.75 |
exp | A | 178.00 | 27.10 | 30.90 | 17.40 | 5.19 | 5.75 | 6.57 | 5.76 | 10.23 | 34.30 | 30.96 | 1.78 | 0.90 |
exp2 | A | 65.30 | - | 17.80 | 15.60 | 8.53 | 8.47 | - | 3.67 | 4.19 | 7.66 | 7.71 | 1.14 | 1.01 |
exp2f | A | 84.70 | - | 8.91 | 8.85 | 3.40 | 3.49 | - | 9.51 | 9.57 | 24.91 | 24.27 | 1.01 | 0.97 |
expf | A | 220.00 | 28.30 | 10.10 | 9.81 | 3.77 | 3.82 | 7.77 | 21.78 | 22.43 | 58.36 | 57.59 | 1.03 | 0.99 |
expm1 | A | 202.00 | 28.30 | 31.80 | 20.60 | 8.63 | 8.63 | 7.14 | 6.35 | 9.81 | 23.41 | 23.41 | 1.54 | 1.00 |
expm1f | A | 240.00 | 35.10 | 10.30 | 9.16 | 3.36 | 3.52 | 6.84 | 23.30 | 26.20 | 71.43 | 68.18 | 1.12 | 0.95 |
hypot | A | 340.00 | 22.50 | 17.20 | 17.10 | 5.49 | 6.01 | 15.11 | 19.77 | 19.88 | 61.93 | 56.57 | 1.01 | 0.91 |
hypotf | A | 401.00 | 22.20 | 7.28 | 7.55 | 2.85 | 2.90 | 18.06 | 55.08 | 53.11 | 140.70 | 138.28 | 0.96 | 0.98 |
lgamma | F | 307.00 | 99.20 | 54.40 | 58.10 | 46.90 | 32.10 | 3.09 | 5.64 | 5.28 | 6.55 | 9.56 | 0.94 | 1.46 |
lgammaf | F | 364.00 | 104.00 | 25.70 | 25.50 | 13.30 | 14.70 | 3.50 | 14.16 | 14.27 | 27.37 | 24.76 | 1.01 | 0.90 |
log | C | 227.00 | 39.90 | 18.10 | 19.30 | 7.26 | 7.26 | 5.69 | 12.54 | 11.76 | 31.27 | 31.27 | 0.94 | 1.00 |
log10 | C | 278.00 | 41.90 | 18.10 | 19.30 | 7.26 | 7.26 | 6.63 | 15.36 | 14.40 | 38.29 | 38.29 | 0.94 | 1.00 |
log10f | C | 281.00 | 30.10 | 10.60 | 10.90 | 5.04 | 4.65 | 9.34 | 26.51 | 25.78 | 55.75 | 60.43 | 0.97 | 1.08 |
log1p | F | 165.00 | 41.30 | 26.10 | 18.40 | 10.00 | 10.00 | 4.00 | 6.32 | 8.97 | 16.50 | 16.50 | 1.42 | 1.00 |
log1pf | F | 167.00 | 39.80 | 9.97 | 9.99 | 3.77 | 4.09 | 4.20 | 16.75 | 16.72 | 44.30 | 40.83 | 1.00 | 0.92 |
log2 | C | 201.00 | - | 40.10 | 28.70 | 15.30 | 13.00 | - | 5.01 | 7.00 | 13.14 | 15.46 | 1.40 | 1.18 |
log2f | C | 204.00 | - | 9.86 | 10.00 | 4.79 | 4.56 | - | 20.69 | 20.40 | 42.59 | 44.74 | 0.99 | 1.05 |
logf | C | 231.00 | 30.10 | 10.60 | 10.90 | 5.04 | 4.65 | 7.67 | 21.79 | 21.19 | 45.83 | 49.68 | 0.97 | 1.08 |
pow | C | 385.00 | 90.30 | 47.70 | 40.80 | 21.20 | 21.20 | 4.26 | 8.07 | 9.44 | 18.16 | 18.16 | 1.17 | 1.00 |
powf | C | 441.00 | 68.10 | 22.50 | 22.00 | 13.70 | 13.70 | 6.48 | 19.60 | 20.05 | 32.19 | 32.19 | 1.02 | 1.00 |
rsqrt | C | 121.00 | 38.70 | 6.90 | 7.03 | 2.44 | 2.52 | 3.13 | 17.54 | 17.21 | 49.59 | 48.02 | 0.98 | 0.97 |
sin | A | 60.50 | 48.90 | 50.90 | 28.10 | 8.87 | 9.01 | 1.24 | 1.19 | 2.15 | 6.82 | 6.71 | 1.81 | 0.98 |
sinf | A | 65.50 | 49.50 | 16.40 | 15.80 | 3.78 | 3.83 | 1.32 | 3.99 | 4.15 | 17.33 | 17.10 | 1.04 | 0.99 |
sinh | A | 234.00 | 49.80 | 54.20 | 18.70 | 11.30 | 11.30 | 4.70 | 4.32 | 12.51 | 20.71 | 20.71 | 2.90 | 1.00 |
sinhf | A | 297.00 | 38.10 | 13.60 | 13.40 | 6.98 | 6.87 | 7.80 | 21.84 | 22.16 | 42.55 | 43.23 | 1.01 | 1.02 |
sqrt | C | 130.00 | 50.10 | 8.07 | 8.06 | 3.07 | 3.15 | 2.59 | 16.11 | 16.13 | 42.35 | 41.27 | 1.00 | 0.97 |
sqrtf | C | 122.00 | - | 2.99 | 2.96 | 1.22 | 1.29 | - | 40.80 | 41.22 | 100.00 | 94.57 | 1.01 | 0.95 |
tan | A | 113.00 | 39.80 | 40.90 | 26.50 | 11.60 | 12.70 | 2.84 | 2.76 | 4.26 | 9.74 | 8.90 | 1.54 | 0.91 |
tanf | A | 118.00 | 43.10 | 20.00 | 20.20 | 8.72 | 9.12 | 2.74 | 5.90 | 5.84 | 13.53 | 12.94 | 0.99 | 0.96 |
tanh | E | 240.00 | 48.50 | 51.80 | 30.10 | 14.40 | 14.40 | 4.95 | 4.63 | 7.97 | 16.67 | 16.67 | 1.72 | 1.00 |
tanhf | E | 248.00 | 39.00 | 12.40 | 12.00 | 4.13 | 4.23 | 6.36 | 20.00 | 20.67 | 60.05 | 58.63 | 1.03 | 0.98 |
geomean | 3.95 | 8.60 | 9.91 | 22.43 | 22.54 | 1.15 | 1.00 |
libm / | libm / | libm / | libm / | libm / | simd gen / | vector gen / | ||||||||
range | libm | scalar | simd gen | simdp7 | vector gen | vp7 | scalar | simd gen | simdp7 | vector gen | vp7 | simdp7 | vp7 | |
acos | B | 82.50 | 58.60 | 62.60 | 64.40 | 19.90 | 19.90 | 1.41 | 1.32 | 1.28 | 4.15 | 4.15 | 0.97 | 1.00 |
acosf | B | 94.20 | 38.20 | 14.50 | 20.50 | 5.86 | 6.74 | 2.47 | 6.50 | 4.60 | 16.08 | 13.98 | 0.71 | 0.87 |
acosh | D | 424.00 | 131.00 | 42.40 | 54.60 | 11.10 | 11.80 | 3.24 | 10.00 | 7.77 | 38.20 | 35.93 | 0.78 | 0.94 |
acoshf | D | 420.00 | 92.70 | 15.30 | 19.50 | 4.95 | 5.30 | 4.53 | 27.45 | 21.54 | 84.85 | 79.25 | 0.78 | 0.93 |
asin | B | 78.90 | 53.20 | 57.80 | 50.90 | 19.90 | 19.90 | 1.48 | 1.37 | 1.55 | 3.96 | 3.96 | 1.14 | 1.00 |
asinf | B | 91.20 | 39.50 | 14.90 | 20.20 | 5.33 | 6.19 | 2.31 | 6.12 | 4.51 | 17.11 | 14.73 | 0.74 | 0.86 |
asinh | A | 334.00 | 104.00 | 54.80 | 75.90 | 13.30 | 13.20 | 3.21 | 6.09 | 4.40 | 25.11 | 25.30 | 0.72 | 1.01 |
asinhf | A | 358.00 | 104.00 | 17.90 | 29.90 | 5.91 | 6.51 | 3.44 | 20.00 | 11.97 | 60.58 | 54.99 | 0.60 | 0.91 |
atan | A | 66.10 | 46.10 | 51.00 | 50.80 | 53.00 | 35.50 | 1.43 | 1.30 | 1.30 | 1.25 | 1.86 | 1.00 | 1.49 |
atan2 | A | 641.00 | 56.50 | 66.80 | 66.80 | 19.50 | 19.50 | 11.35 | 9.60 | 9.60 | 32.87 | 32.87 | 1.00 | 1.00 |
atan2f | A | 630.00 | 80.20 | 12.40 | 14.70 | 5.58 | 5.64 | 7.86 | 50.81 | 42.86 | 112.90 | 111.70 | 0.84 | 0.99 |
atanf | A | 81.30 | 50.60 | 9.90 | 10.30 | 3.48 | 4.69 | 1.61 | 8.21 | 7.89 | 23.36 | 17.33 | 0.96 | 0.74 |
atanh | B | 176.00 | 108.00 | 38.20 | 41.50 | 14.10 | 12.10 | 1.63 | 4.61 | 4.24 | 12.48 | 14.55 | 0.92 | 1.17 |
atanhf | B | 199.00 | 101.00 | 13.40 | 19.70 | 7.39 | 7.57 | 1.97 | 14.85 | 10.10 | 26.93 | 26.29 | 0.68 | 0.98 |
cbrt | A | 285.00 | 93.70 | 33.70 | 35.00 | 17.90 | 14.20 | 3.04 | 8.46 | 8.14 | 15.92 | 20.07 | 0.96 | 1.26 |
cbrtf | A | 295.00 | 70.80 | 9.95 | 12.10 | 4.37 | 4.30 | 4.17 | 29.65 | 24.38 | 67.51 | 68.60 | 0.82 | 1.02 |
cos | A | 65.70 | 46.80 | 53.40 | 56.30 | 9.90 | 10.00 | 1.40 | 1.23 | 1.17 | 6.64 | 6.57 | 0.95 | 0.99 |
cosf | A | 71.10 | 70.10 | 21.00 | 21.00 | 4.20 | 4.39 | 1.01 | 3.39 | 3.39 | 16.93 | 16.20 | 1.00 | 0.96 |
cosh | A | 231.00 | 46.60 | 81.20 | 60.60 | 11.70 | 11.70 | 4.96 | 2.84 | 3.81 | 19.74 | 19.74 | 1.34 | 1.00 |
coshf | A | 269.00 | 99.20 | 13.70 | 19.70 | 4.50 | 4.88 | 2.71 | 19.64 | 13.65 | 59.78 | 55.12 | 0.70 | 0.92 |
erf | C | 44.00 | 42.30 | 57.10 | 52.50 | 18.30 | 17.20 | 1.04 | 0.77 | 0.84 | 2.40 | 2.56 | 1.09 | 1.06 |
erfc | C | 85.30 | 57.00 | 66.70 | 66.10 | 106.00 | 72.20 | 1.50 | 1.28 | 1.29 | 0.80 | 1.18 | 1.01 | 1.47 |
erfcf | C | 96.00 | 47.50 | 39.10 | 41.80 | 13.80 | 15.90 | 2.02 | 2.46 | 2.30 | 6.96 | 6.04 | 0.94 | 0.87 |
erff | C | 52.10 | 40.20 | 17.30 | 16.90 | 7.17 | 7.80 | 1.30 | 3.01 | 3.08 | 7.27 | 6.68 | 1.02 | 0.92 |
exp | A | 164.00 | 43.50 | 47.40 | 74.80 | 5.99 | 6.22 | 3.77 | 3.46 | 2.19 | 27.38 | 26.37 | 0.63 | 0.96 |
exp2 | A | 78.40 | - | 21.90 | 21.30 | 9.39 | 12.30 | - | 3.58 | 3.68 | 8.35 | 6.37 | 1.03 | 0.76 |
exp2f | A | 124.00 | - | 10.40 | 12.40 | 3.88 | 3.92 | - | 11.92 | 10.00 | 31.96 | 31.63 | 0.84 | 0.99 |
expf | A | 205.00 | 45.00 | 11.40 | 16.40 | 3.90 | 4.27 | 4.56 | 17.98 | 12.50 | 52.56 | 48.01 | 0.70 | 0.91 |
expm1 | A | 185.00 | 65.50 | 77.40 | 76.30 | 8.21 | 8.21 | 2.82 | 2.39 | 2.42 | 22.53 | 22.53 | 1.01 | 1.00 |
expm1f | A | 233.00 | 76.40 | 11.80 | 11.90 | 10.60 | 4.43 | 3.05 | 19.75 | 19.58 | 21.98 | 52.60 | 0.99 | 2.39 |
hypot | A | 516.00 | 61.50 | 20.70 | 22.70 | 6.71 | 7.44 | 8.39 | 24.93 | 22.73 | 76.90 | 69.35 | 0.91 | 0.90 |
hypotf | A | 559.00 | 25.10 | 9.58 | 9.87 | 3.34 | 3.52 | 22.27 | 58.35 | 56.64 | 167.37 | 158.81 | 0.97 | 0.95 |
lgamma | F | 373.00 | 127.00 | 70.90 | 80.30 | 60.10 | 41.70 | 2.94 | 5.26 | 4.65 | 6.21 | 8.94 | 0.88 | 1.44 |
lgammaf | F | 392.00 | 145.00 | 30.20 | 27.90 | 13.80 | 14.70 | 2.70 | 12.98 | 14.05 | 28.41 | 26.67 | 1.08 | 0.94 |
log | C | 217.00 | 44.70 | 21.30 | 21.30 | 7.35 | 7.35 | 4.85 | 10.19 | 10.19 | 29.52 | 29.52 | 1.00 | 1.00 |
log10 | C | 260.00 | 48.10 | 21.30 | 21.30 | 7.40 | 7.40 | 5.41 | 12.21 | 12.21 | 35.14 | 35.14 | 1.00 | 1.00 |
log10f | C | 263.00 | 69.50 | 12.60 | 17.30 | 4.64 | 4.85 | 3.78 | 20.87 | 15.20 | 56.68 | 54.23 | 0.73 | 0.96 |
log1p | F | 157.00 | 70.70 | 46.10 | 37.30 | 9.27 | 9.27 | 2.22 | 3.41 | 4.21 | 16.94 | 16.94 | 1.24 | 1.00 |
log1pf | F | 162.00 | 74.00 | 11.40 | 14.10 | 4.00 | 4.20 | 2.19 | 14.21 | 11.49 | 40.50 | 38.57 | 0.81 | 0.95 |
log2 | C | 190.00 | - | 39.00 | 46.50 | 33.20 | 21.30 | - | 4.87 | 4.09 | 5.72 | 8.92 | 0.84 | 1.56 |
log2f | C | 195.00 | - | 11.50 | 15.70 | 4.79 | 5.11 | - | 16.96 | 12.42 | 40.71 | 38.16 | 0.73 | 0.94 |
logf | C | 222.00 | 69.50 | 12.60 | 17.30 | 4.64 | 4.86 | 3.19 | 17.62 | 12.83 | 47.84 | 45.68 | 0.73 | 0.95 |
pow | C | 366.00 | 123.00 | 59.90 | 69.40 | 19.90 | 19.90 | 2.98 | 6.11 | 5.27 | 18.39 | 18.39 | 0.86 | 1.00 |
powf | C | 417.00 | 112.00 | 30.70 | 36.50 | 11.80 | 11.90 | 3.72 | 13.58 | 11.42 | 35.34 | 35.04 | 0.84 | 0.99 |
rsqrt | C | 114.00 | 72.30 | 9.25 | 9.57 | 2.87 | 2.93 | 1.58 | 12.32 | 11.91 | 39.72 | 38.91 | 0.97 | 0.98 |
sin | A | 66.70 | 46.50 | 52.90 | 56.20 | 10.30 | 10.30 | 1.43 | 1.26 | 1.19 | 6.48 | 6.48 | 0.94 | 1.00 |
sinf | A | 71.40 | 69.80 | 20.90 | 21.20 | 3.99 | 4.26 | 1.02 | 3.42 | 3.37 | 17.89 | 16.76 | 0.99 | 0.94 |
sinh | A | 248.00 | 48.00 | 51.50 | 54.10 | 12.30 | 12.30 | 5.17 | 4.82 | 4.58 | 20.16 | 20.16 | 0.95 | 1.00 |
sinhf | A | 314.00 | 99.20 | 13.90 | 19.70 | 7.33 | 24.70 | 3.17 | 22.59 | 15.94 | 42.84 | 12.71 | 0.71 | 0.30 |
sqrt | C | 130.00 | 50.20 | 10.20 | 10.60 | 3.46 | 3.30 | 2.59 | 12.75 | 12.26 | 37.57 | 39.39 | 0.96 | 1.05 |
sqrtf | C | 127.00 | - | 4.28 | 4.40 | 1.49 | 3.10 | - | 29.67 | 28.86 | 85.23 | 40.97 | 0.97 | 0.48 |
tan | A | 120.00 | 39.10 | 48.90 | 52.90 | 12.20 | 12.80 | 3.07 | 2.45 | 2.27 | 9.84 | 9.38 | 0.92 | 0.95 |
tanf | A | 143.00 | 50.30 | 22.00 | 27.50 | 9.02 | 9.18 | 2.84 | 6.50 | 5.20 | 15.85 | 15.58 | 0.80 | 0.98 |
tanh | E | 253.00 | 67.20 | 73.50 | 61.20 | 14.00 | 14.00 | 3.76 | 3.44 | 4.13 | 18.07 | 18.07 | 1.20 | 1.00 |
tanhf | E | 268.00 | 67.80 | 13.60 | 16.70 | 4.71 | 10.90 | 3.95 | 19.71 | 16.05 | 56.90 | 24.59 | 0.81 | 0.43 |
geomean | 2.63 | 7.22 | 6.43 | 20.77 | 20.03 | 0.89 | 0.96 |
Was this topic helpful?
Document Information
Modified date:
24 February 2022
UID
swg27005374