# 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} }

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

#### 453 Citations

A Family of Variable-Precision Interval Arithmetic Processors

- Computer Science
- IEEE Trans. Computers
- 2000

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

- Computer Science
- 2010

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

- Computer Science
- CF
- 2019

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

- Computer Science
- IEEE Computer Architecture Letters
- 2007

The residual register dramatically simplifies the code, providing both lower latency and better instruction-level parallelism. Expand

Practical Floating-Point Tests with Integer Code

- Computer Science
- VMCAI
- 2014

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 AfﬁneFloat

- Computer Science
- 2011

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

- Computer Science, Engineering
- SPIE Microtechnologies
- 2005

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

- Computer Science, Engineering
- SPIE Optics + Photonics
- 2004

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

- Computer Science
- J. VLSI Signal Process.
- 2007

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

- Computer Science
- Proceedings 14th IEEE Symposium on Computer Arithmetic (Cat. No.99CB36336)
- 1999

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

#### References

SHOWING 1-10 OF 79 REFERENCES

Compiler support for floating‐point computation

- 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‐level… Expand

A Simple but Realistic Model of Floating-Point Computation

- Computer Science
- TOMS
- 1981

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

- Computer Science
- 1973

(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 normalised… Expand

Floating-point standards—theory and practice

- Mathematics
- 1988

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 specifies… Expand

Arithmetic for vector processors

- Computer Science
- 1987 IEEE 8th Symposium on Computer Arithmetic (ARITH)
- 1987

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

- Mathematics
- 1986

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-point… Expand

A floating-point technique for extending the available precision

- Computer Science, Mathematics
- 1970

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 double… Expand

Contributions to a proposed standard for binary floating-point arithmetic (computer arithmetic)

- Computer Science
- 1984

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

- Computer Science
- 1978

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

- Mathematics, Computer Science
- IEEE Transactions on Computers
- 1985

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