Algorithms for summation and dot product of floating-point numbers are presented which are fast in terms of measured computing time. We show that the computed results are as accurate as if computed in twice or K-fold working precision, $K\ge 3$. For twice the working precision our algorithms for summation and dot product are some 40% faster than the corresponding XBLAS routines while sharing similar error estimates. Our algorithms are widely applicable because they require only addition, subtraction, and multiplication of floating-point numbers in the same working precision as the given data. Higher precision is unnecessary, algorithms are straight loops without branch, and no access to mantissa or exponent is necessary.

  • [1]  I. Anderson, A distillation algorithm for floating‐point summation, SIAM J. Sci. Comput., 20 (1999), 1797–1806 2000k:65248 LinkISIGoogle Scholar

  • [2]  Google Scholar

  • [3]  Ivo Babuška, Numerical stability in mathematical analysis, North‐Holland, Amsterdam, 1969, 11–23 41:4854 Google Scholar

  • [4]  Google Scholar

  • [5]  D. H. Bailey, A Fortran‐90 based multiprecision system, ACM Trans. Math. Software, 21 (1995), pp. 379–387. att ACMSCU 0098-3500 ACM Trans. Math. Softw. CrossrefISIGoogle Scholar

  • [6]  Gerd Bohlender, Floating‐point computation of functions with maximum accuracy, IEEE Trans. Computers, C‐26 (1977), 621–632 56:9908 CrossrefISIGoogle Scholar

  • [7]  Google Scholar

  • [8]  Google Scholar

  • [9]  Google Scholar

  • [10]  T. J. Dekker, A floating‐point technique for extending the available precision, Numer. Math., 18 (1971), pp. 224–242. num NUMMA7 0029-599X Numer. Math. CrossrefISIGoogle Scholar

  • [11]  James Demmel and , Yozo Hida, Accurate and efficient floating point summation, SIAM J. Sci. Comput., 25 (2003/04), 1214–1248 2005b:65055 LinkISIGoogle Scholar

  • [12]  Johannes Grabmeier, Erich Kaltofen and , Volker Weispfenning, Computer algebra handbook, Springer‐Verlag, 2003xx+637, Foundations. Applications. Systems; With 1 CD‐ROM (Windows, Macintosh) 2004h:68001 CrossrefGoogle Scholar

  • [13]  J. R. Hauser, Handling floating‐point exceptions in numeric programs, ACM Trans. Program. Lang. Syst., 18 (1996), pp. 139–174. CrossrefISIGoogle Scholar

  • [14]  Nicholas Higham, The accuracy of floating point summation, SIAM J. Sci. Comput., 14 (1993), 783–799 94a:65025 LinkISIGoogle Scholar

  • [15]  Nicholas Higham, Accuracy and stability of numerical algorithms, Society for Industrial and Applied Mathematics (SIAM), 2002xxx+680 2003g:65064 LinkGoogle Scholar

  • [16]  Google Scholar

  • [17]  M. Jankowski, A. Smoktunowicz and , H. Woźniakowski, A note on floating‐point summation of very many terms, Elektron. Informationsverarb. Kybernet., 19 (1983), 435–440 85c:65161 Google Scholar

  • [18]  M. Jankowski and , H. Woźniakowski, The accurate solution of certain continuous problems using only single precision arithmetic, BIT, 25 (1985), 635–651 87d:65053 CrossrefISIGoogle Scholar

  • [19]  Google Scholar

  • [20]  Google Scholar

  • [21]  Google Scholar

  • [22]  A. Kiełbasziński, Summation algorithm with corrections and some of its applications, Math. Stos., 1 (1973), pp. 22–41. Google Scholar

  • [23]  Donald Knuth, The art of computer programming. Vol. 2: Seminumerical algorithms, Addison‐Wesley Publishing Co., Reading, Mass.‐London‐Don Mills, Ont, 1969xi+624 44:3531 Google Scholar

  • [24]  U. Kulisch and , W. Miranker, The arithmetic of the digital computer: a new approach, SIAM Rev., 28 (1986), 1–40 87e:65030 LinkISIGoogle Scholar

  • [25]  H. Leuprecht and , W. Oberaigner, Parallel algorithms for the rounding exact summation of floating point numbers, Computing, 28 (1982), 89–104 83c:68009 CrossrefISIGoogle Scholar

  • [26]  X. Li, J. Demmel, D. Bailey, G. Henry, Y. Hida, J. Iskandar, W. Kahan, S. Kang, A. Kapur, M. Martin, B. Thompson, T. Tung and , and D. Yoo, Design, implementation and testing of extended and mixed precision BLAS, ACM Trans. Math. Software, 28 (2002), pp. 152–205. att ACMSCU 0098-3500 ACM Trans. Math. Softw. CrossrefISIGoogle Scholar

  • [27]  Seppo Linnainmaa, Software for doubled‐precision floating‐point computations, ACM Trans. Math. Software, 7 (1981), 272–283 82h:68041 CrossrefISIGoogle Scholar

  • [28]  Michael Malcolm, On accurate floating‐point summation, Comm. ACM, 14 (1971), 731–736 47:4434 CrossrefISIGoogle Scholar

  • [29]  Ole Møller, Quasi double‐precision in floating point addition, Nordisk Tidskr. Informations‐Behandling, 5 (1965), 37–50 31:5359 CrossrefGoogle Scholar

  • [30]  Google Scholar

  • [31]  A. Neumaier, Rundungsfehleranalyse einiger Verfahren zur Summation endlicher Summen, Z. Angew. Math. Mech., 54 (1974), 39–51 51:14556 CrossrefISIGoogle Scholar

  • [32]  K. Nickel, Das Kahan‐Babuškasche Summierungsverfahren in Triplex‐ALGOL 60, Z. Angew. Math. Mech., 50 (1970), pp. 369–373. zam ZAMMAX 0044-2267 Z. Angew. Math. Mech. CrossrefISIGoogle Scholar

  • [33]  Yves Nievergelt, Scalar fused multiply‐add instructions produce floating‐point matrix arithmetic provably accurate to the penultimate digit, ACM Trans. Math. Software, 29 (2003), 27–48 2001452 CrossrefISIGoogle Scholar

  • [34]  Google Scholar

  • [35]  M. Pichat, Correction d’une somme en arithmétique à virgule flottante, Numer. Math., 19 (1972), 400–406 48:3241 CrossrefISIGoogle Scholar

  • [36]  Google Scholar

  • [37]  Google Scholar

  • [38]  D. R. Ross, Reducing truncation errors using cascading accumulators, Comm. ACM, 8 (1965), pp. 32–33. cao CACMA2 0001-0782 Commun. ACM CrossrefISIGoogle Scholar

  • [39]  Google Scholar

  • [40]  J. Rohn, T. Yamamoto and , S. Rump, Special issue on linear algebra in self‐validating methods, Elsevier Science B.V., 2001i–iv and 1–235, Linear Algebra Appl. 324 (2001), no. 1‐3 2001i:65005 Google Scholar

  • [41]  Jonathan Shewchuk, Adaptive precision floating‐point arithmetic and fast robust geometric predicates, Discrete Comput. Geom., 18 (1997), 305–363, ACM Symposium on Computational Geometry (Philadelphia, PA, 1996) 98m:65238 CrossrefISIGoogle Scholar

  • [42]  Robert Skeel, Iterative refinement implies numerical stability for Gaussian elimination, Math. Comp., 35 (1980), 817–832 83e:65058 CrossrefISIGoogle Scholar

  • [43]  Google Scholar

  • [44]  Gerhard Zielke and , Volker Drygalla, Genaue Lösung linearer Gleichungssysteme, GAMM Mitt. Ges. Angew. Math. Mech., 26 (2003), 7–107 2005d:65069 Google Scholar