[comp.arch] IEE754 floating point `rationale': Summary

peter@memex.co.uk (Peter Ilieve) (02/22/91)

I asked if there was a `rationale' document describing the background to
IEEE754 floating point.
After asking, I realised I had an as yet unread copy of Hennessey & Patterson
at home and that had several references in it.
Here is the summary of replies I received, and the things from H&P.

The standard was discussed in Computer before it was finalised.
The references I have are:

Jerome T. Coonen, An Implementation Guide to a Proposed Standard for
Floating-Point Arithmetic, Computer, Vol. 13 No. 1, pp68--79, Jan 1980

    Discusses an early draft of the standard.

D. Hough, Applications of the proposed standard for Floating-Point
Arithmetic, Computer, Vol. 13 No. 1, Jan 1980

A Proposed Standard for Binary Floating-Point Arithmetic, Computer,
Vol. 14 No. 3, pp51--62, March 1981.

    Draft 8.0 of the standard, with introductory comments by David
    Stevenson (who was Chairman of the working group) and examples
    by Jerome T. Coonen.

These January 1980 and March 1981 Computer issues probably contain
other papers on this as well, the above are the only ones I have
specifics for.

The more general, radix independent, version, IEEE854 was discussed in:

W. J. Cody, et. al. (another 9), A Proposed radix- and word-length-independent
standard for floating-point arithmetic, IEEE Micro Vol. 4 No. 4, pp86--100,
August 1984.

    This contains a draft of IEEE854, with commentary, which is also
    applicable to 754.

The standard itself references:

Jerome T. Coonen, Contributions to a Proposed Standard for Binary Floating-
Point Arithmetic, Ph.D. Thesis, University of California, Berkeley, 1984.

    This appears to be the seminal work on decimal<->binary conversions.

The rest of them (in no particular order):

William D. Clinger, How to read floating-point numbers accurately
Guy L. Steele Jr. & Jon L. White, How to print floating-point numbers
accurately.
Both in the Proceedings of the ACM SIGPLAN '90 Conference on Programming
Language Design and Implementation, also published as SIGPLAN Notices
Volume 25 Number 6

D. Goldberg, Floating-point and computer systems, Xerox Technical Report
CSL-89-9, 1989. Also to appear in Computing Surveys.

    Contains an in-depth tutorial on the standard from the software
    point of view.

John L. Hennessey & David A. Patterson, Computer Architecture: a quantitive
approach, Morgan Kaufmann Publishers, 1990, ISBN 1-55880-069-8.

    Contains an appendix by David Goldberg on computer arithmetic, with
    quite a lot on floating-point.

Sterbenz, Floating-point Computation, Prentice-Hall, 1974

W. J. Cody, Floating point standards: Theory and Practice, in Reliability
in Computing: The Role of Interval Methods in Scientific Computing,
R. E. Moore (ed.), Academic Press, 1988, pp99--107.

    Presents a status of hardware and software implementations of
    the standard.

E. Swartzlander (ed.), Computer Arithmetic, Dowden, Hutchison and Ross, 1980.

    A collection of historical papers, including one by S. F. Anderson,
    et. al, about the IBM 360/91 floating-point unit.

D. Knuth, The Art of Computer Programming, Vol. 2, 2nd Ed.

    Has sections on floating-point in chapter 4 on arithmetic.

Apple Numerics Manual, Addison-Wesley, 1986

Sun Numerical Computation Guide.

    I assume this is the successor to Sun's Floating Point Programmer's
    Guide, which was part of the standard documentation up to and including
    4.0.3, even though it didn't describe the 4.0.3 software.
    I think it has now been `closed up' as part of Sun's unbundled
    compilers documetation.


Thanks to:
Dan Bernstein, brnstnd@kramden.acf.nyu.edu
Keith Bierman, khb@eng.sun.com
gideony@microsoft.uucp
David G. Hough, dgh@validgh.com
Sam Quiring, sbq@verdix.com
Dan Rabin, rabin-dan@cs.yale.edu
dik t. winter, dik@cwi.nl

        Peter Ilieve        peter@memex.co.uk