Performance of CORE-MATH functions (revision 81d5ea0) on an Intel Xeon Silver 4214, with GCC 13.2.0, compared to GNU libc 2.37, the Intel Math Library from icx 2023.2.0 and LLVM libc (revision d099dbb):
Available CORE-MATH functions (under MIT license for the stand-alone functions):
function | binary32 | binary64 | binary80 | binary128 |
acos | code | code | glibc | glibc (1) |
acosh | code | code | ||
acospi | code | code | ||
asin | code | code | ||
asinh | code | code | ||
asinpi | code | code | ||
atan | code | code | ||
atan2 | code | |||
atan2pi | code | |||
atanh | code | code | ||
atanpi | code | code | ||
cbrt | code | code (proof) | glibc | glibc |
cos | code | code | ||
cosh | code | code | ||
cospi | code | code | ||
erf | code | code | ||
erfc | code | code | ||
exp | code | code | ||
exp10 | code | code | ||
exp10m1 | code | code | ||
exp2 | code | code | ||
exp2m1 | code | code | ||
expm1 | code | code | ||
hypot | code | code | ||
log | code | code (with Gappa proof) | ||
log10 | code | code | ||
log10p1 | code | code | ||
log1p | code | code | ||
log2 | code | code | ||
log2p1 | code | code | ||
pow | code | code | ||
rsqrt | code | code | ||
sin | code | code | ||
sinh | code | code | ||
sinpi | code | code | ||
tan | code | code | ||
tanh | code | code | ||
tanpi | code | code | ||
tgamma | code |
Caption:
Notes:
Other correctly-rounded implementations:
function | binary32 | binary64 | binary80 | binary128 |
acos | rlibm llvm | crlibm | ||
acosh | llvm | |||
acospi | crlibm | |||
asin | rlibm llvm | crlibm | ||
asinh | llvm | |||
asinpi | crlibm | |||
atan | rlibm llvm | crlibm | ||
atan2 | ||||
atanh | llvm | crlibm | ||
atanpi | crlibm | |||
cbrt | ||||
cos | rlibm llvm,llvm | crlibm | ||
cosh | rlibm llvm llvm | crlibm | ||
cospi | rlibm | crlibm | ||
erf | llvm | |||
erfc | ||||
exp | rlibm llvm,llvm | crlibm, llvm | ||
exp10 | rlibm llvm | llvm | ||
exp2 | rlibm llvm llvm llvm | crlibm, llvm | ||
expm1 | llvm,llvm | crlibm,llvm | <||
hypot | llvm,llvm | llvm | ||
log | rlibm llvm | crlibm, llvm | ||
log10 | rlibm llvm | crlibm, llvm | ||
log1p | llvm | crlibm, llvm | ||
log2 | rlibm llvm | crlibm, llvm | ||
pow | crlibm (2) | |||
sin | rlibm llvm,llvm | crlibm | ||
sincos | llvm | |||
sinh | rlibm llvm llvm | crlibm | ||
sinpi | rlibm | crlibm | ||
tan | rlibm llvm,llvm | crlibm | ||
tanh | llvm llvm | |||
tanpi | crlibm |