Correct Rounding of Elementary Functions in IEEE754 Formats


Last update: Jul. 16, 2026.

Recent publications

Brisebarre, Hanrot, Muller and Zimmermann, Correctly-rounded evaluation of a function: why, how, and at what cost? ACM Computing Surveys. Vol. 58 No 1, 2026.

Lim and Nagarakatte, One polynomial approximation to produce correctly-rounded results of an elementary function for multiple representations and rounding modes, POPL 2022.

Gladman, Innocente, Mather, Ozaki, and Zimmermann, Accuracy of Mathematical Functions in Single, Double, Double Extended, and Quadruple Precision (last version: Feb. 2026)

Lefèvre, Ly, and Zimmermann, Computing hard-to-round Cases of sin, cos, tan in Double Precision, ARITH 2026.

Zimmermann, The GNU libc atanh is Correctly Rounded, ARITH 2026.

Brisebarre, Hubrecht, Lauter, Muller, and Ruiz-Rohena, Correctly rounded vector implementation of the exponential function in binary64 arithmetic, ARITH 2026.

Anderson, Cornea, Stepin, and Tudor Panu Correctly Rounded Functions For Vector Applications: A Performance Study, ArXiV document, 2026.


Tools

Sollya: environment and  library for safe floating-point code development. It is particularly targeted to the automatized implementation of mathematical floating-point libraries. In particular: certified supremum norm, fast Remez algorithm, and computation of polynomial approximation under special constraints (such as the coefficients being exactly representable as FP numbers). Authors: Chevillard, Lauter and Joldes.

Gappa: helps verifying and formally proving properties on numerical programs and circuits handling floating-point or fixed-point arithmetic. In our context: makes it possible to obtain a certified tight bound on the error committed when evaluating a polynomial that approximates a function. Author: Guillaume Melquiond.


Currently available correctly-rounded function software

The CORE-MATH project: on-the-shelf high performance open-source mathematical functions with correct rounding that can be integrated into current mathematical libraries (contains all binary32 and binary64 functions from the C23 standard except compound). Main authors: Sibidanov and Zimmermann

LLVM LibC: the C library that comes with the LLVM compiler. All binary32 functions from the C99 standard except erfc, and the most useful binary64 functions: acos, asin, asinpi, cbrt, cos, exp, exp2, exp10, expm1, hypot, log, log10, log1p, log2, sin, sincos, and tan, plus most binary16 and several BF16 functions

RLIBM: the most useful binary32 functions: acos, asin, atan, cos, cosh, cospi, exp, exp10, exp2, log,
log10, log2, sin, sinh, sinpi, and tan. Authors: the group of Santosh Nagarakatte at Rutgers University

BACSEL: computes worst cases for rounding. Authors: Hanrot, Lefèvre, Stehlé and Zimmermann.

GNU MPFR: a library for multiple-precision floating-point computation with correct rounding. Main developers Hanrot, Lefèvre, Pélissier, Théveny and Zimmermann.


Resources

Correctly-Rounded Logarithm Example

Dr. Christoph Lauter developed a correctly-rounded logarithm implementation prioritizing simplicity for educational purposes rather than maximum performance. His program is available in an archive, and he has recorded lectures explaining the implementation. Video Tutorial (Lecture and Implementation), Presentation, Download Document GitLab Repository with Implementation

Hardest-to-Round Cases Collection

A central repository for the hardest-to-round cases in common mathematical functions is being compiled. Currently, the largest collected list can be found at Worst Cases for Rounding, compiled by Paul Zimmermann.

In binary64 arithmetic they are known in the whole domain for exp, log, exp2, log2, exp10, log10, log1p, log2p1, log10p1, expm1, exp2m1, exp10m1, rsqrt, sin, cos, tan, sinpi, cospi, tanpi, acospi, asinpi, atanpi, cosh, sinh, tanh, acosh, asinh, atanh, acos, asin, atan, cbrt, erf, erfc, rsqrt, lgamma, tgamma,

Slides

J.-M. Muller, The Table Maker's Dilemma and Correctly-Rounded Functions: A Quick Review of 25 Years of Work, Keynote talk at ARITH'2026, Fulda, Germany, June 2026.




Copyright (C) 2026 Nicolas Brisebarre, Christoph Lauter, Jean-Michel Muller and others