|
Warning: The download time has expired please click on the item to try again.
ABSTRACT
Floating-point arithmetic is considered as esoteric subject by many people. This is rather surprising, because floating-point is ubiquitous in computer systems: Almost every language has a floating-point datatype; computers from PCs to supercomputers have floating-point accelerators; most compilers will be called upon to compile floating-point algorithms from time to time; and virtually every operating system must respond to floating-point exceptions such as overflow. This paper presents a tutorial on the aspects of floating-point that have a direct impact on designers of computer systems. It begins with background on floating-point representation and rounding error, continues with a discussion of the IEEE floating point standard, and concludes with examples of how computer system builders can better support floating point.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Alfred V. Aho , Ravi Sethi , Jeffrey D. Ullman, Compilers: principles, techniques, and tools, Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1986
|
| |
2
|
ANSI 1978. American National Standard Programming Language FORTRAN, ANSI Standard X3.9-1978. American National Standards Institute, New York.
|
| |
3
|
BARNETT, D. 1987. A portable floating-point environment. Unpublished manuscript.
|
 |
4
|
|
| |
5
|
CARDELLI, L., DONAHUE, J., GLASSMAN, L., JORDAN, M., KASLOW, B., AND NELSON, G. 1989. Modula-3 Report (revised). Digital Systems Research Center Report *~52, Palo Alto, Calif.
|
| |
6
|
CODY, W. J. et al. 1984. A proposed radix- and word-length-independent standard for floatingpoint arithmetic. IEEE Micro 4, 4, 86-100.
|
| |
7
|
|
| |
8
|
|
| |
9
|
DEKKER, T. J. 1971. A floating-point technique for extending the available precision. Numer. Math. 18, 3, 224-242.
|
| |
10
|
DEMMEL, J. 1984. Underflow and the reliability of numerical software. SIAM J. Sci. Stat. Cornput. 5, 4, 887-919.
|
| |
11
|
|
| |
12
|
FORSYTHE, G. E., AND MOLER, C. B. 1967. Computer Solutmn of Linear Algebraic Systems. Prentice-Hall, Englewood Cliffs, N.J.
|
 |
13
|
|
| |
14
|
GOLDBERC, D. 1990. Computer arithmetic. In Computer Architecture: A Quantitative Approach, David Patterson and John L. Hennessy, Eds. Morgan Kaufmann, Los Altos, Calif., Appendix A.
|
| |
15
|
GOLUB, G. H., AND VAN LOAN, C. F. 1989. Matrix Computations. The Johns Hopkins University Press, Baltimore, MD.
|
| |
16
|
HEWLETT PACKARD 1982. HP-15C Advanced Functions Handbook.
|
| |
17
|
IEEE 1987. IEEE Standard 754-1985 for Binary Floating-Point Arithmetic, IEEE. Reprinted in SIGPLAN 22, 2, 9-25.
|
| |
18
|
KASAN, W. 1972. A Survey of Error Analysis. In Information Processing 71, (Ljubljana, Yugoslavia), North Holland, Amsterdam, vol. 2, pp. 1214-1239.
|
| |
19
|
KAHAN, W. 1986. Calculating Area and Angle of a Needle-like Triangle. Unpublished manuscript.
|
| |
20
|
KAHAN, W. 1987. Branch cuts for complex elementary functions. In The State of the Art in Numerical Analyszs, M. J. D. Powell and A Iserles, Eds., Oxford University Press, N.Y., Chap. 7.
|
| |
21
|
KAnAN, W. 1988. Unpublished lectures given at Sun Microsystems, Mountain View, Calif.
|
| |
22
|
KAHAN, W., AND COONEN, J. T. 1982. The near orthogonality of syntax, semantics, and diagnostics in numerical programming environments. In The Relationship between Numerical Computation and Programmi,g Languages, J. K. Reid~ Ed. North-Holland~ Amsterdam~ pp 103 115.
|
| |
23
|
KAI~AN, W., AND LEBLANC, E. 1985. Anomalies in the IBM acrith package. In Proceedings of the 7th IEEE Symposium on Computer Arithmetic (Urbana, Ill.), pp. 322-331.
|
| |
24
|
|
| |
25
|
KIRCHNER, R., AND KULISCH, U 1987 Arithmetic for vector processors. In Proceedings of the 8th IEEE Symposium on Computer Arithmetic (Como, Italy), pp. 256-269.
|
| |
26
|
|
| |
27
|
|
| |
28
|
MATULA, D. W., AND KORNERUP, P. 1985. Finite Precision Rational Arithmetic: Slash Number Systems. IEEE Trans. Comput. C-34, 1, 3-18.
|
| |
29
|
REISER, J. F., A2CD KNUTH, D E. 1975. Evading the drift in floating-point addition. Inf. Process. Lett 3, 3, 84-87
|
| |
30
|
STERBETZ, P. H. 1974. Floating-Point Computation. Prentice-Hall, Englewood Cliffs, N.J.
|
| |
31
|
SWARTZLANDER, E. E , AND ALEXOPOULOS, G. 1975. The sign/logarithm number system. IEEE Trans. Comput. C-24, 12, 1238-1242
|
| |
32
|
WALTHER, J. S. 1971. A unified algorithm for elementary functions. Proceedings of the AFIP Spr~ng Joint Computer Conference, pp. 379- 385.
|
CITED BY 72
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Bruno Blanchet , Patrick Cousot , Radhia Cousot , Jérôme Feret , Laurent Mauborgne , Antoine Miné , David Monniaux , Xavier Rival, Design and implementation of a special-purpose static program analyzer for safety-critical real-time embedded software, The essence of computation: complexity, analysis, transformation, Springer-Verlag New York, Inc., New York, NY, 2002
|
|
|
|
|
|
James B. Orlin , Andreas S. Schulz , Sudipta Sengupta, &egr;-optimization schemes and L-bit precision (extended abstract): alternative perspectives in combinatorial optimization, Proceedings of the thirty-second annual ACM symposium on Theory of computing, p.565-572, May 21-23, 2000, Portland, Oregon, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Stephen F. Siegel , Anastasia Mironova , George S. Avrunin , Lori A. Clarke, Using model checking with symbolic execution to verify parallel numerical programs, Proceedings of the 2006 international symposium on Software testing and analysis, July 17-20, 2006, Portland, Maine, USA
|
|
|
|
|
|
|
|
|
Anya Helene Bagge , Valentin David , Magne Haveraaen , Karl Trygve Kalleberg, Stayin' alert:: moulding failure and exceptions to your needs, Proceedings of the 5th international conference on Generative programming and component engineering, October 22-26, 2006, Portland, Oregon, USA
|
|
|
|
|
|
Kingshuk Karuri , Rainer Leupers , Gerd Ascheid , Heinrich Meyr , Monu Kedia, Design and implementation of a modular and portable IEEE 754 compliant floating-point unit, Proceedings of the conference on Design, automation and test in Europe: Designers' forum, March 06-10, 2006, Munich, Germany
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Jason Brazile , Rudolf Richter , Daniel Schläpfer , Michael E. Schaepman , Klaus I. Itten, Cluster versus grid for operational generation of ATCOR's modtran-based look up tables, Parallel Computing, v.34 n.1, p.32-46, January, 2008
|
|
|
|
|
|
Lutz Kettner , Kurt Mehlhorn , Sylvain Pion , Stefan Schirra , Chee Yap, Classroom examples of robustness problems in geometric computations, Computational Geometry: Theory and Applications, v.40 n.1, p.61-78, May, 2008
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
INDEX TERMS
Primary Classification:
G.
Mathematics of Computing
G.1
NUMERICAL ANALYSIS
G.1.0
General
Subjects:
Computer arithmetic
Additional Classification:
C.
Computer Systems Organization
C.0
GENERAL
Subjects:
Instruction set design (e.g., RISC, CISC, VLIW)
G.
Mathematics of Computing
G.1
NUMERICAL ANALYSIS
G.1.0
General
Subjects:
Numerical algorithms
K.
Computing Milieux
K.1
THE COMPUTER INDUSTRY
Subjects:
Standards
General Terms:
Algorithms,
Design,
Languages,
Standardization
Keywords:
NaN,
denormalized number,
exception,
floating-point,
floating-point standard,
gradual underflow,
guard digit,
overflow,
relative error,
rounding error,
rounding mode,
ulp,
underflow
REVIEW
"Louis W. Ehrlich : Reviewer"
The title of this paper is appropriate. In fact, the words
“user of computers for computation” could replace the words
“computer scientist.”
In Section 1, “Rounding Errors,” the details of
round
more...
|