# Formal Proofs on Floating Point

This library enables users to formally define types and operations of floating arithmetic and to deduce properties using a mechanized proof checker. It was first designed by Marc Daumas, Laurent Thery* and Laurence Rideau*. Contributors now include Sylvie Boldo*, Jean-Michel Muller, Laurent Fousse*, Ren-Cang Li and Guillaume Melquiond*. Contributors that were directly interacting with Coq are outlined by a star.

Latest developments include:

- Proved algorithms for argument reduction ( FArgReduct, FArgReduct2, FArgReduct3 and FArgReduct4 files)
- Software emulation of the FMA using rounding to odd (FmaEmul file)
- A few properties from Prof. W. Kahan (discriminant and Divnk files)
- Results on the ulp of the inverse of a floating-point number from Dr. P. Markstein (FIA64elem file)
- A link to the IEEE-754 standard (IEEE and RND files)
- Radix-independent algorithm to compute the exact error of a multiplication (Veltkamp and Dekker files)
- Error of a floating-point division or square root (FroundDivSqrt file)
- Conditions for ax+y to be faithfully computed (Axpy file)

This library uses Coq version 8.1. and can be accessed via various indexes (by module, definition, lemma...) The following graph was made using dot. It describes the dependences between all the files of the library. All the nodes are clickable to access directly the file. The colors refer to the directory where the file lie and its subject: beige for the initial library, green for the expansions, violet for the two's complement, blue for the elementary functions evaluation and red for the other files.