An error-free transformation [EFT] is a transformation of a floating point realization of a mathematical operation that preserves the information inherent in the operation. Ordinary floating point addition of two Float64
values returns only that information about the sum which fits within a Float64
variable. For example, where flsum
is short for ordinary_Float64_sum
and flsum_errorfree
is flsum
with the remaining value
that usually is lost in calculation.
flsum = 1.0 + 2.0^(-60)
flsum == 1.0
An error-free transformation of the floating point sum preserves the full value by returning two quantities.
flsum_errorfree = errorfree_sum(1.0, 2.0^(-60))