The CORE-MATH project

[FAQ] [git] [mailing list] [references]

CORE-MATH Mission: provide on-the-shelf open-source mathematical functions with correct rounding that can be integrated into current mathematical libraries (GNU libc, Intel Math Library, AMD Libm, Newlib, OpenLibm, Musl, Apple Libm, llvm-libc, CUDA libm, ROCm)

Available CORE-MATH functions (under MIT license for the stand-alone functions):

functionbinary32binary64binary80binary128
acos full,perf full glibc glibc (1)
acosh full,perf
acospi
asin full,perf full
asinh full,perf
asinpi
atan full,perf
atan2 full,perf
atan2pi
atanh full,perf
atanpi
cbrt full,perf full (proof) glibc glibc
cos full,perf
cosh full,perf
cospi
erf full,perf
erfc full,perf
exp full,perf full
exp10 full,perf reserved
exp10m1
exp2 full,perf full
exp2m1
expm1 full,perf
hypot full,perf full
log full,perf reserved
log10 full,perf
log10p1
log1p full,perf
log2 full,perf
log2p1
pow full,perf reserved
rsqrt
sin full,perf
sinh full,perf
sinpi
tan full,perf
tanh full,perf
tanpi

Caption:

Notes:

Other correctly-rounded implementations:

functionbinary32binary64binary80binary128
acos llvm crlibm
acosh
acospi crlibm
asin llvm crlibm
asinh
asinpi crlibm
atan llvm crlibm
atan2
atanh llvm crlibm
atanpi crlibm
cbrt
cos llvm,llvm crlibm
cosh rlibm-32 (2) rlibm-all llvm llvm crlibm
cospi rlibm-32 (2) rlibm-all crlibm
erf
erfc
exp rlibm-32 (2) rlibm-all llvm,llvm crlibm
exp10 rlibm-32 (2) rlibm-all llvm
exp2 rlibm-32 (2) rlibm-all llvm llvm llvm crlibm
expm1 llvm,llvm crlibm
hypot llvm,llvm llvm
log rlibm-32 (2) rlibm-all llvm (2) crlibm
log10 rlibm-32 (2) rlibm-all llvm crlibm
log1p llvm crlibm
log2 rlibm-32 (2) rlibm-all llvm crlibm
pow crlibm (2)
sin llvm,llvm crlibm
sincos llvm
sinh rlibm-32 (2) rlibm-all llvm llvm crlibm
sinpi rlibm-32 (2) rlibm-all crlibm
tan llvm,llvm crlibm
tanh llvm llvm
tanpi crlibm