Journal of Formalized Reasoning (Nov 2014)

Innocuous Double Rounding of Basic Arithmetic Operations

  • Pierre Roux

DOI
https://doi.org/10.6092/issn.1972-5787/4359
Journal volume & issue
Vol. 7, no. 1
pp. 131 – 142

Abstract

Read online

Double rounding occurs when a floating-point value is first rounded to an intermediate precision before being rounded to a final precision. The result of two such consecutive roundings can differ from the result obtained when directly rounding to the final precision. Double rounding practically happens, for instance, when implementing the IEEE754 binary32 format with an arithmetic unit performing operations only in the larger binary64 format, such as done in the PowerPC or x87 floating-point units. It belongs to the folklore in the floating-point arithmetic community that double rounding is innocuous for the basic arithmetic operations (addition, division, multiplication, and square root) as soon as the final precision is about twice larger than the intermediate one. This paper adresses the formal proof of this fact considering underflow cases and its extension to radices other than two.

Keywords