ANSI/IEEE Std 754-2019

Scope: The IEEE 754-2008 standard expired in 2019, so a minor revision was undertaken, to determine a set of relatively non-controversial upward-compatible editorial corrections and clarifications and minor enhancements to the 2008 standard. 754-2019 was approved by IEEE Standards Board on 13 June 2019 and published in July 2019. David Hough was chair, Mike Cowlishaw was editor. The base document was the technical content of ANSI/IEEE Std 754-2008.

Some new operations have been recommended in 2019. In particular, new min/max operations better match application requirements, augmented addition, subtraction, and multiplication operations support building higher precision in software and support reproducible reductions on arrays, and new operations get and set NaN payloads. These recommended operations might be required in a future edition of this standard.

Changes in 754-2019 from ANSI/IEEE Std 754-2008

The following are the principal changes in 754-2019 relative to the previous standard 754-2008.

There are also many clarifications of language that were not intended to change any conforming implementation. Thus the 1.1 Scope paragraph of the standard from 754-2008 and 754-2019's PAR:

 This standard specifies formats and methods
 for floating-point arithmetic in computer systems --
 standard and extended functions with single, double, extended, 
 and extendable precision -- and recommends formats for data interchange.
 Exception conditions are defined and standard
 handling of these conditions is specified.
was simplified to:
 This standard specifies formats and operations
 for floating-point arithmetic in computer systems.
 Exception conditions are defined and
 handling of these conditions is specified.
This wording conveys the same scope in simple language without forward reference to terms defined later in the standard.

Backward compatibility: Forward compatibility was a requirement for 2019, but backward compatibility was not. It is believed that any existing implementation of 754-2008 conforms to 754-2019 - that's primarily achieved by making new operations "should" (optional) rather than "shall" (mandatory). However there are a couple of ways that a 754-2019 implementation might not conform to 754-2008:

In addition, note that 754-1985 required all implementations to provide 32-bit binary floating point; but 2008 and 2019 only require that one of the basic formats be provided.

Background Documents

A number of documents in this directory have been prepared to shed light on how novel aspects of 2019 were developed, and to address frequently-misunderstood aspects of 1985 and 2008. These documents are not part of the standard, but are intended to answer questions about 754-2019's scope, intent, additions, changes, and motivations.