TY - JOUR
T1 - Accurate floating-point summation part I
T2 - Faithful rounding
AU - Rump, Siegfried M.
AU - Ogita, Takeshi
AU - Oishi, Shin'ichi
PY - 2008
Y1 - 2008
N2 - Given a vector of floating-point numbers with exact sum s, we present an algorithm for calculating a faithful rounding of s, i.e., the result is one of the immediate floating-point neighbors of s. If the sum a is a floating-point number, we prove that this is the result of our algorithm. The algorithm adapts to the condition number of the sum, i.e., it is fast for mildly conditioned sums with slowly increasing computing time proportional to the logarithm of the condition number. All statements are also true in the presence of underflow. The algorithm does not depend on the exponent range. Our algorithm is fast in terms of measured computing time because it allows good instructionlevel parallelism, it neither requires special operations such as access to mantissa or exponent, it contains no branch in the inner loop, nor does it require some extra precision: The only operations used are standard floating-point addition, subtraction, and multiplication in one working precision, for example, double precision. Certain constants used in the algorithm are proved to be optimal.
AB - Given a vector of floating-point numbers with exact sum s, we present an algorithm for calculating a faithful rounding of s, i.e., the result is one of the immediate floating-point neighbors of s. If the sum a is a floating-point number, we prove that this is the result of our algorithm. The algorithm adapts to the condition number of the sum, i.e., it is fast for mildly conditioned sums with slowly increasing computing time proportional to the logarithm of the condition number. All statements are also true in the presence of underflow. The algorithm does not depend on the exponent range. Our algorithm is fast in terms of measured computing time because it allows good instructionlevel parallelism, it neither requires special operations such as access to mantissa or exponent, it contains no branch in the inner loop, nor does it require some extra precision: The only operations used are standard floating-point addition, subtraction, and multiplication in one working precision, for example, double precision. Certain constants used in the algorithm are proved to be optimal.
KW - Distillation
KW - Error analysis
KW - Error-free transformation
KW - Extended and mixed precision basic linear algebra subprograms
KW - Faithful founding
KW - High accuracy
KW - Maximally accurate summation
KW - XBLAS
UR - http://www.scopus.com/inward/record.url?scp=55049129860&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=55049129860&partnerID=8YFLogxK
U2 - 10.1137/050645671
DO - 10.1137/050645671
M3 - Article
AN - SCOPUS:55049129860
SN - 1064-8275
VL - 31
SP - 189
EP - 224
JO - SIAM Journal of Scientific Computing
JF - SIAM Journal of Scientific Computing
IS - 1
ER -