Innocuous Double Rounding of Basic Arithmetic Operations

Authors

  • Pierre Roux ISAE, ONERA

DOI:

https://doi.org/10.6092/issn.1972-5787/4359

Keywords:

floating-point arithmetic, double rounding, Coq

Abstract

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.

Downloads

Published

2014-11-14

How to Cite

Roux, P. (2014). Innocuous Double Rounding of Basic Arithmetic Operations. Journal of Formalized Reasoning, 7(1), 131–142. https://doi.org/10.6092/issn.1972-5787/4359

Issue

Section

Articles