A Formal Model of IEEE Floating Point Arithmetic

Lei Yu 📧 with contributions from Fabian Hellauer 📧 and Fabian Immler 🌐

July 27, 2013

Abstract

This development provides a formal model of IEEE-754 floating-point arithmetic. This formalization, including formal specification of the standard and proofs of important properties of floating-point arithmetic, forms the foundation for verifying programs with floating-point computation. There is also a code generation setup for floats so that we can execute programs using this formalization in functional programming languages.
BSD License

Change history

[2017-09-25] Added conversions from and to software floating point numbers (by Fabian Hellauer and Fabian Immler).
[2018-02-05] 'Modernized' representation following the formalization in HOL4: former "float_format" and predicate "is_valid" is now encoded in a type "('e, 'f) float" where 'e and 'f encode the size of exponent and fraction.

Topics

Theories of IEEE_Floating_Point