What every computer scientist should know about floating-point arithmetic

@article{Goldberg1991WhatEC,
  title={What every computer scientist should know about floating-point arithmetic},
  author={David Goldberg},
  journal={ACM Comput. Surv.},
  year={1991},
  volume={23},
  pages={5-48}
}
  • D. Goldberg
  • Published 1 March 1991
  • Computer Science
  • ACM Comput. Surv.
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… Expand

Figures and Tables from this paper

A Family of Variable-Precision Interval Arithmetic Processors
TLDR
Hardware designs, arithmetic algorithms, and software support for a family of variable-precision, interval arithmetic processors that give the programmer the ability to detect and, if desired, to correct implicit errors in finite precision numerical computations. Expand
Floating-Point Formats and Environment
TLDR
This chapter is a revision and merge of the earlier IEEE 754-1985 [12] and IEEE 854-1987 [13] standards and focuses on the floating-point arithmetic standard. Expand
Anytime instructions for programmable accuracy floating-point arithmetic
TLDR
A novel concept called anytime instructions, which explicitly specify the number of result bits that are calculated at full precision, is presented and applied to floating-point division by presenting an anytime division functional unit that is implemented in a VLIW processor. Expand
Low-Cost Microarchitectural Support for Improved Floating-Point Accuracy
TLDR
The residual register dramatically simplifies the code, providing both lower latency and better instruction-level parallelism. Expand
Practical Floating-Point Tests with Integer Code
TLDR
This work proposes a software floating-point emulation extension for symbolic execution of binary programs, and has five distinct open source soft floating- point code bases. Expand
On the Design and Implementation of SmartFloat and AffineFloat
TLDR
This work presents a library solution for rigorous arithmetic computation that tracks a (double) floating point value, but also a guaranteed upper bound on the error between this value and the ideal value that would be computed in the real-value semantics. Expand
Self-similar module for FP/LNS arithmetic in high-performance FPGA systems
TLDR
A conjunctive notation is used, also known as DIGILOG, to introduce a flexible means in creating configurable arithmetic of arbitrary order using a single module type that allows the Mitrion hardware compiler to match the hardware closer to the demands of the specific algorithm. Expand
A floating-point library for integer processors
TLDR
A C library for the software support of single precision floating-point (FP) arithmetic on processors without FP hardware units such as VLIW or DSP processor cores for embedded applications is presented. Expand
A Tool for Unbiased Comparison between Logarithmic and Floating-point Arithmetic
TLDR
Two concurrent libraries of parameterized arithmetic operators, targeting recent field-programmable gate arrays, are presented, and are unbiased in the sense that they strive to reflect the state-of-the-art for both number systems. Expand
Multiplications of floating point expansions
  • M. Daumas
  • Computer Science
  • Proceedings 14th IEEE Symposium on Computer Arithmetic (Cat. No.99CB36336)
  • 1999
TLDR
Three multiplication algorithms, faster and more integrated than the stepwise algorithm proposed earlier, are presented, which have been tested on an application that computes the determinant of a matrix. Expand
...
1
2
3
4
5
...

References

SHOWING 1-10 OF 79 REFERENCES
Compiler support for floating‐point computation
  • C. Farnum
  • Computer Science
  • Softw. Pract. Exp.
  • 1988
Predictability is a basic requirement for compilers of floating‐point code—it must be possible to determine the exact floating‐point operations that will be executed for a particular source‐levelExpand
A Simple but Realistic Model of Floating-Point Computation
TLDR
A model of floating-point computation, intended as a basis for efficient portable mathematical software, is presented, which supports conventional, worst case, forward or backward error analyses with only minor qualifications. Expand
Floating-point computation
(a) Write a function in a programming language of your choice that takes a (32-bit IEEE format) float and returns a float with the property that: given zero, infinity or a positive normalisedExpand
Floating-point standards—theory and practice
Publisher Summary This chapter discusses floating-point standards. The binary standard is characterized by its attention to detail and the generalized standard by its parameterization. Each specifiesExpand
Arithmetic for vector processors
TLDR
In the first part of this paper circuits which allow a fast and correct computation of sums and scalar products making use of a matrix shaped arrangement of adders and pipeline technology are discussed. Expand
The arithmetic of the digital computer: A new approach
A new approach to the arithmetic of the digital computer is surveyed. The methodology for defining and implementing floating-point arithmetic is described. Shortcomings of elementary floating-pointExpand
A floating-point technique for extending the available precision
A technique is described for expressing multilength floating-point arithmetic in terms of singlelength floating point arithmetic, i.e. the arithmetic for an available (say: single or doubleExpand
Contributions to a proposed standard for binary floating-point arithmetic (computer arithmetic)
TLDR
This thesis consists of a set of "footnotes" to the proposed standard for binary floating-point arithmetic, which include an analysis of gradual underflow, the most controversial feature of the standard. Expand
The C Programming Language
TLDR
This ebook is the first authorized digital version of Kernighan and Ritchie's 1988 classic, The C Programming Language (2nd Ed.), and is a "must-have" reference for every serious programmer's digital library. Expand
Finite Precision Rational Arithmetic: Slash Number Systems
TLDR
Multitiered precision hierarchies of both the fixed-Slash and floating-slash type are described and analyzed with regards to their support of both exact rational and approximate real computation. Expand
...
1
2
3
4
5
...