HAL will be down for maintenance from Friday, June 10 at 4pm through Monday, June 13 at 9am. More information
Skip to Main content Skip to Navigation
Conference papers

Stupid is as Stupid Does: Taking the Square Root of the Square of a Floating-Point Number

Abstract : Floating-point experts know that mathematical formulas may fail or give imprecise results when implemented in floating-point arithmetic. This article describes an example where, surprisingly, it is absolutely not the case. Indeed, using radix 2 and an unbounded exponent range, the computation of the square root of the square of a floating-point number a is exactly |a|. A consequence is the fact that the floating-point computation of a/ sqrt (a^2 + b^2) is always in the interval [−1, 1]. This removes the need for a test when calling an arccos or an arcsin on this value. For more guarantees, this property was formally checked using the Coq proof assistant and the Flocq library. The conclusion will give hints on what happens without assumptions and in other radices, where the behavior is very different.
Document type :
Conference papers
Complete list of metadata

Contributor : Sylvie Boldo Connect in order to contact the contributor
Submitted on : Tuesday, May 5, 2015 - 3:49:03 PM
Last modification on : Thursday, February 10, 2022 - 3:07:39 AM
Long-term archiving on: : Wednesday, April 19, 2017 - 2:55:51 PM


Files produced by the author(s)


  • HAL Id : hal-01148409, version 1


Sylvie Boldo. Stupid is as Stupid Does: Taking the Square Root of the Square of a Floating-Point Number. Seventh and Eighth International Workshop on Numerical Software Verification, Apr 2015, Seattle, WA, United States. pp.50--55. ⟨hal-01148409⟩



Record views


Files downloads