A Distillation Algorithm for Floating-Point Summation
Ian J. Anderson · SIAM Journal on Scientific Computing · 1999
The addition of two or more floating-point numbers is fundamental to numerical computations. This paper describes an efficient "distillation" style algorithm which produces a precise sum by exploiting the natural accuracy of compensated cancellation. The algorithm is applicable to all sets of data but is particularly appropriate for ill-conditioned data, where standard methods fail due to the accumulation of rounding error and its subsequent exposure by cancellation. The method uses only standard floating-point arithmetic and does not rely on the radix used by the arithmetic model, the architecture of specific machines, or the use of accumulators.