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.
@article{4359, title = {Innocuous Double Rounding of Basic Arithmetic Operations}, journal = {Journal of Formalized Reasoning}, volume = {7}, year = {2014}, doi = {10.6092/issn.1972-5787/4359}, language = {EN}, url = {http://dml.mathdoc.fr/item/4359} }
Roux, Pierre. Innocuous Double Rounding of Basic Arithmetic Operations. Journal of Formalized Reasoning, Tome 7 (2014) . doi : 10.6092/issn.1972-5787/4359. http://gdmltest.u-ga.fr/item/4359/