A Formal Model of IEEE Floating Point Arithmetic


Title: A Formal Model of IEEE Floating Point Arithmetic
Author: Lei Yu (ly271 /at/ cam /dot/ ac /dot/ uk)
Contributors: Fabian Hellauer (hellauer /at/ in /dot/ tum /dot/ de) and Fabian Immler
Submission date: 2013-07-27
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.
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.
  author  = {Lei Yu},
  title   = {A Formal Model of IEEE Floating Point Arithmetic},
  journal = {Archive of Formal Proofs},
  month   = jul,
  year    = 2013,
  note    = {\url{https://isa-afp.org/entries/IEEE_Floating_Point.html},
            Formal proof development},
  ISSN    = {2150-914x},
License: BSD License
Depends on: Word_Lib
Used by: CakeML, MFODL_Monitor_Optimized