FreeBSD Numerics Project

The FreeBSD Numerics Project develops and maintains high-quality floating-point math support for FreeBSD.

Past accomplishments include 80-bit and 128-bit long double floating-point routines for printf(), scanf(), and most math library functions; extensions for complex arithmetic; implementations of the fenv.h FPU-programming API for all Tier 1 and Tier 2 architectures; the tgmath.h type-generic math macros; and numerous optimizations and bugfixes for math library functions.

A major focus of ongoing work is on implementing the remaining long double and complex functions specified by the C11 standard but not yet present in libm.

This page tracks the status of ongoing work, and identifies areas where we could use help. If you are interested in contributing, please subscribe to the freebsd-numerics mailing list.

numerics@ tickets

Function / Feature Contact Status Notes
13-CURRENT 12-STABLE 11-STABLE
rintl, nearbyintl, lrintl, llrintl das ✔ ✔ ✔
exp2l das ✔ ✔ ✔
sinl, cosl, tanl kargl ✔ ✔ ✔
tgammaf das ✔ ✔ ✔
sqrtl kargl ✔ ✔ ✔
hypotl, cabsl bde ✔ ✔ ✔
remquol, remainderl das ✔ ✔ ✔
csqrtl das ✔ ✔ ✔
fmodl das ✔ ✔ ✔
acosl, asinl, atanl, atan2l, cargl das ✔ ✔ ✔
cproj, cprojf, cprojl das ✔ ✔ ✔
log2, log2f das ✔ ✔ ✔
cbrtl kargl ✔ ✔ ✔
cexp das ✔ ✔ ✔
ccos, csin, ctan, ccosh, csinh, ctanh,
ccoshf, csinhf, ctanhf, ccoshf, csinhf, ctanhf
bde, kargl ✔ ✔ ✔ r226458
expl kargl ✔ ✔ ✔ r238722
cacos, cacosh, casin, casinh, catan, catanh
cacosf, cacoshf, casinf, casinhf, catanf, catanhf
stephen ✔ ✔ ✔ r251121
CMPLX, CMPLXF, CMPLXL ed ✔ ✔ ✔ r250990
logl, log2l, log10l, log1pl bde ✔ ✔ ✔ r251292
expm1l kargl ✔ ✔ ✔ r251343
acoshl, asinhl, atanhl das ✔ ✔ ✔ r251599
clogf, clog, clogl bde ✔ ✔ (r333577)  
coshl, sinhl, tanhl kargl ✔ ✔ ✔ r260067
cexpl das       not started, https://bugs.freebsd.org/216862
sincosf, sincos, sincosl kargl ✔ ✔ (r319047)  
ccosl, ccoshl, csinl, csinhl, ctanl, ctanhl bde, kargl       not started, https://bugs.freebsd.org/216853 https://bugs.freebsd.org/216854
https://bugs.freebsd.org/216855 https://bugs.freebsd.org/216859
https://bugs.freebsd.org/216860 https://bugs.freebsd.org/216861
cacosl, cacoshl, casinl, casinhl, catanl, catanhl stephen ✔ ✔ (r313761) ✔ (r324006) https://bugs.freebsd.org/216858
erfcl, erfl         not started
powl   ✔ ✔ (r336299) ✔ (r336767) https://bugs.freebsd.org/216865
lgammal, tgammal         not started
FENV_ACCESS, FP_CONTRACT theraven       compiler change required
cpowf, cpow, cpowl peterj ✔ ✔ (r336299) ✔ (r336767) https://bugs.freebsd.org/216864
Future directions:
  • Perfectly rounded transcendental functions
  • Floating-point exception interfaces; c.f. AIX's fpxcp.h
  • Decimal floating point
  • Vector math library for ILP processors
Reference
Other/Derived Projects
  • numerics.txt
  • Last modified: 2026/10/12 10:55
  • (external edit)