Loading AI tools
Exact floating-point subtraction theorem From Wikipedia, the free encyclopedia
In floating-point arithmetic, the Sterbenz lemma or Sterbenz's lemma[1] is a theorem giving conditions under which floating-point differences are computed exactly. It is named after Pat H. Sterbenz, who published a variant of it in 1974.[2]
Sterbenz lemma — In a floating-point number system with subnormal numbers, if and are floating-point numbers such that
then is also a floating-point number. Thus, a correctly rounded floating-point subtraction
is computed exactly.
The Sterbenz lemma applies to IEEE 754, the most widely used floating-point number system in computers.
Let be the radix of the floating-point system and the precision.
Consider several easy cases first:
For the rest of the proof, assume without loss of generality.
Write 0}"> in terms of their positive integral significands and minimal exponents :
Note that and may be subnormal—we do not assume .
The subtraction gives:
Let . Since we have:
Further, since , we have , so that
which implies that
Hence
so is a floating-point number. ∎
Note: Even if and are normal, i.e., , we cannot prove that and therefore cannot prove that is also normal. For example, the difference of the two smallest positive normal floating-point numbers and is which is necessarily subnormal. In floating-point number systems without subnormal numbers, such as CPUs in nonstandard flush-to-zero mode instead of the standard gradual underflow, the Sterbenz lemma does not apply.
The Sterbenz lemma may be contrasted with the phenomenon of catastrophic cancellation:
In other words, the Sterbenz lemma shows that subtracting nearby floating-point numbers is exact, but if the numbers one has are approximations then even their exact difference may be far off from the difference of numbers one wanted to subtract.
The Sterbenz lemma is instrumental in proving theorems on error bounds in numerical analysis of floating-point algorithms. For example, Heron's formula for the area of triangle with side lengths , , and , where is the semi-perimeter, may give poor accuracy for long narrow triangles if evaluated directly in floating-point arithmetic. However, for , the alternative formula can be proven, with the help of the Sterbenz lemma, to have low forward error for all inputs.[3][4][5]
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.