CRlibm: a Library of Elementary Functions with Correct Rounding
The CRlibm project aims at developing a mathematical library (libm ) which provides implementations of the double precision C99 standard elementary functions,
correctly rounded in the four IEEE-754 rounding modes,
with a comprehensive proof of both the algorithms used and their implementation,
sufficiently efficient in average time, worst-case time, and memory consumption to replace existing libm s transparently.
In 2006, we released the interim versions 0.11beta1 and 0.14beta1, with 4 more functions (arcsine , arccosine , expm1 and log1p ). In particular, some new polynomial evaluation algorithms have been introduced  .
In these beta versions, the code is complete, working and validated by an extensive self-test procedure, but the proof of correct rounding is not complete yet for all the functions. Actually, most of the work in 2006 focused on improving and automating these proofs.
The library includes a documentation which makes an extensive tutorial on elementary function software development.
The library has been downloaded more than 2300 times. It is used in the LHC@home project of CERN (http://lhcathome.cern.ch/ ), and is considered for inclusion as the default libm in several open-source compiler projects.
Status: Beta release / Target: ia32, ia64, Sparc, PPC / License: LGPL / OS: Unix / Programming Language: C / URL: http://www.ens-lyon.fr/LIP/Arenaire