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 code,perf code glibc glibc (1)
acosh code,perf
acospi code
asin code,perf code
asinh code,perf
asinpi code
atan code,perf code
atan2 code,perf
atan2pi code
atanh code,perf code
atanpi code
cbrt code,perf code (proof) glibc glibc
cos code,perf
cosh code,perf code
cospi code code
erf code,perf code
erfc code,perf
exp code,perf code
exp10 code,perf
exp10m1 code
exp2 code,perf code
exp2m1 code
expm1 code,perf
hypot code,perf code
log code,perf code (with Gappa proof)
log10 code,perf code
log10p1 code
log1p code,perf code
log2 code,perf code
log2p1 code
pow code,perf reserved
rsqrt code code
sin code,perf
sinh code,perf code
sinpi code code
tan code,perf
tanh code,perf code
tanpi code code

Caption:

Notes:

Other correctly-rounded implementations:

functionbinary32binary64binary80binary128
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
erfc
exp rlibm llvm,llvm crlibm
exp10 rlibm llvm
exp2 rlibm llvm llvm llvm crlibm
expm1 llvm,llvm crlibm
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