11.001001000011111101101010100010001000 Arithmazium

The Floating Point Exposé

E The Exposé is for Enthusiasts.

Prof. William Kahan of the University of California at Berkeley presented 27 lectures during May-July 1988. The university listed them as graduate-level class CS 279 titled Computer System Support for Scientific and Engineering Computation. To Kahan, the course was really The Floating Point Exposé, a presentation of the state of computer arithmetic in the context of massive change wrought by emerging IEEE Standard 754.

This web page contains a re-creation of this one-time course designed for a combination academic and industry audience. Some 88 students registered. Many attended remotely via VCR recordings. Students took turns publishing notes for the lectures. David Hough, who coordinated the lectures at Sun Microsystems in Mountain View, California, distributed those notes along with over two thousand pages of other handouts.

The three sections below contain the lectures, with notes often including the overhead transparencies and links to the complete collection of handouts. CS 279 is right here!

Lectures

01  Video Notes  May 03   Overview: mysteries, expectations, exceptions

02  Video Notes  May 05   Overview cont.

03  Video Notes  May 10   Integers, algebraic sign, radix (or base)

04  Video Notes  May 12   Exceptions, benchmarks, rational arithmetic, symbolic calculation systems

05  Video Notes  May 17   Floating point formats, precision, error

06  Video Notes  May 19   Overflow, underflow, roundoff, Horner's recurrence

07  Video Notes  May 24   Numerical Analysis in C, quotient, square root, gradual underflow

08  Video Notes  May 26   With Earl Killian – IEEE Standards 754/854, simulating single precision with double

09  Video Notes  May 31   Does sgl(dbl) = sgl?, solving the quadratic

10  Video Notes  Jun 02   With Dan Zuras – multi-word arithmetic, nonstandard arithmetics, ACRITH

11  Video Notes  Jun 07   Ulrich Kulisch – theoretical aspects of number spaces Video cont.

12  Video Notes  Jun 09   ACRITH critique, CORDIC, 8087 stack

13  Video Notes  Jun 14   Jim Valerio – Intel 80387 transcendentals, 80960, IEEE 754 Video cont.

14  Video Notes  Jun 16   Argument reduction for trigonometric functions

15  Video Notes  Jun 21   Tom Anderson – Cydrome Cydra-5 Video cont.

16  Video Notes  Jun 23   Symbolic math systems, precision, Gaussian elimination

17  Video Notes  Jun 28   Multiple-precision & other language issues

18  Video Notes  Jun 30   Cleve Moler – 25 Years with Mathematical Softwre

19  Video Notes  Jul 05   Exception handling, Gaussian elimination Video cont.

20  Video Notes  Jul 07   Doubled precision, more Gaussian elimination

21  Video Notes  Jul 12   The orbit of Pluto, exception handling, including Pyramid, Sun

22  Video Notes  Jul 14   With Ken Stanley – exception handling, including Weitek, IBM, VAX, Mips

23  Video Notes  Jul 19   With Clayton Lewis – exceptions on Cray, Apple, APL

24  Video Notes  Jul 21   Exceptions, singularities, signed 0

25  Video Notes  Jul 26   Retrospective diagnostics Video cont.

26  Video Notes  Jul 28   NaNs, tests, models

27  Video Notes  Jul 28   Evening summation: Is Floating Point Arithmetic a Moral Issue?

Organizational handouts by date

Project suggestions May 5

Attendee list May 23

Schedule May 30

Schedule June 14

Schedule June 20

Attendee list August 29

Handouts Combined Table of Contents 1990

Handouts Updated Combined Table of Contents Sets 14-17 1990

Handouts Final Sun Internal Combined Table of Contents 1990

Mailing address verification letter 1990

Schedule updated 2024

Technical handouts by author and title

Some documents appear twice. Form (A) has typewriter formatting suitable for a dot matrix printer. Form (B) is typeset for a laser printer.


Analog Devices, ADSP-3212/ADSP-3222 Floating-Point Chipset Data Sheet

Analog Devices, DSP Products Data Book, 1987

Apple, Language Specifications for SANE Pascal

Apple, Numerics Manual excerpts

Arioli, M., Demmel, J., Duff, I., Solving Sparse Linear Systems with Sparse Backward Error

AT&T, Excerpts from System V Interface Definition

AT&T, WE 32-Bit Microprocessors and Peripherals Data Book

Barnett, D., A Portable Floating-Point Environment (May 87)

Barnett, D., A Portable Floating-Point Environment (Dec 87)

Bleher, J., Rump, S., Kulisch, U., Metzger, M., Ullrich, C., Walter, W., FORTRAN SC: A Study of a FORTRAN Extension for Engineering/Scientific Computation with Access to ACRITH

Bohlender, G., Ullrich, C., von Gudenberg, J., New Developments in PASCAL-SC

Breed, L., Floating Arithmetic on 4.3/RT

Breed, L., IBM S/370 Floating Point Format

Coonen, J., Contributions to a Proposed Standard for Binary Floating-Point Arithmetic

Cydrome, Cydra 5 Directed Data Flow Architecture

Cydrome, Cydra 5 Performance Briefs

Cyrix, FasMath 83D87 User's Manual

Cyrix, FasMath 83S87 User's Manual

Cyrix, FasMath CX-EMC87 Coprocessor Data Sheet

Demmel, J., The Probability That A Numerical Analysis Problem Is Difficult

Demmel, J., Underflow and the Reliability of Numerical Software

Excerpts from Proposed ANSI C Standard

Farnum, C., Compiler support for floating-point computation (Aug 87)

Farnum, C., Compiler Support for Floating-point Computation (Dec 87)

Ferguson, W., Matula, D., Rationally Biased Arithmetic

GAMM Resolution on Computer Arithmetic

Goldberg, D., What Every Computer Scientist Should Know about Floating-Point Arithmetic

Grosse, E., Moler, C., Underflow Can Hurt

Hough, D., Additional Floating-Point Indoctrination Exercises

Hough, D., Applications of the Proposed IEEE 754 Standard for Floating-Point Arithmetic

Hough, D., Comments on Proposed ANSI C Standard, Jan 88 draft

Hough, D., Comments on Proposed ANSI C Standard, May 88 draft

Hough, D., Elementary Functions Based upon IEEE Arithmetic

Hough, D., Some current publication abstracts

Hough, D., Some more current publication abstracts

Hough, D., Still more current publication abstracts

Hough, D., The Last Example on Gradual Underflow!

HP, Excerpts from HP15C Advanced Functions Handbook

IMACS-GAMM International Symposium on Computer Arithmetic and Self-Validating Numerical Methods

Intel, 80286 and 80287 Programmer's Reference Manual

Intel, 80387 Programmer's Reference Manual

Intel, 80960KB Programmer's Reference Manual

Isaacson,E., Review of Numerical Recipes, The Art of Scientific Computing

Kahan, W., 20 Challenges for Computerized Symbolic Algebra Systems

Kahan, W., 7094 II System Support for Numerical Analysis

Kahan, W., A More Complete Interval Arithmetic

Kahan, W., A Survey of Error Analysis

Kahan, W., An Exercise in Technical Support (A)

Kahan, W., An Exercise in Technical Support (B)

Kahan, W., Assignments May 12

Kahan, W., Branch Cuts for Complex Elementary Functions, or Much Ado about Nothing's Sign Bit

Kahan, W., Bumps on the Path to Floating-Point Progress

Kahan, W., Calculating Area and Angle of a Needle-like Triangle A

Kahan, W., Calculating Area and Angle of a Needle-like Triangle B

Kahan, W., Checking Whether Floating-Point Division Is Correctly Rounded

Kahan, W., Conserving Confluence Curbs Ill-Condition

Kahan, W., Doubled-Precision IEEE Standard 754 Floating-Point Arithmetic

Kahan, W., Elementary Functions from Kernels (A)

Kahan, W., Elementary Functions from Kernels (B)

Kahan, W., Elementary Inequalities among Elementary Functions (A)

Kahan, W., Elementary Inequalities among Elementary Functions (B)

Kahan, W., Five Frightening Facts about Floating-Point Arithmetic (A)

Kahan, W., Five Frightening Facts about Floating-Point Arithmetic (B)

Kahan, W., Frexp/Ldexp vs. Logb/Scalb (A)

Kahan, W., Frexp/Ldexp vs. Logb/Scalb (B)

Kahan, W., Gaussian Elimination with Extra-Precise Accumulation of Products

Kahan, W., Handling Arithmetic Exceptions

Kahan, W., Interval Arithmetic Options in the Proposed IEEE Floating Point Arithmetic Standard

Kahan, W., Jean-Michel Muller's Example

Kahan, W., Larry Breed's Experiment (A)

Kahan, W., Larry Breed's Experiment (B)

Kahan, W., Machine-independent Algorithms for floor(x) and ceil(x)

Kahan, W., Mathematics Written in Sand – the hp-15C, Intel 8087, etc.

Kahan, W., No Period Two Implies Convergence, or Why Use Tangents when Secants Will Do?

Kahan, W., Numerical Linear Algebra

Kahan, W., On Alleged Mathematical Optimality (A)

Kahan, W., On Alleged Mathematical Optimality (B)

Kahan, W., Periodic Integrals vs. Prohibition of tan(π/2) = ∞.

Kahan, W., Presubstitution, and Continued Fractions

Kahan, W., ProdQuot: Avoid undeserved over/underflow May 18 (A)

Kahan, W., ProdQuot: Avoid undeserved over/underflow May 18 (B)

Kahan, W., Rational Arithmetic in Floating-Point

Kahan, W., Roundoff in Polynomial Evaluation (A)

Kahan, W., Roundoff in Polynomial Evaluation (B)

Kahan, W., Specifications for Exponentiation xy over the Extended Reals X

Kahan, W., Superlinear Convergence of a Remes Algorithm

Kahan, W., The Errror-Analyst's Quandary

Kahan, W., The Persistence of Irrationals in Some Integrals

Kahan, W., To Solve a Real Cubic Equation

Kahan, W., To Test Whether Binary Floating-Point Multiplication Is Correctly Rounded.

Kahan, W., Why do we need a floating-point arithmetic standard?

Kahan, W., Why Must 00 = 1?

Kahan, W., Coonen, J., The Near Orthogonality of Syntax, Semantics, and Dignostics in Numerical Programming Environments

Kahan, W., Demmel, J., Accurate Singular Values and Vectors of an Upper Triangular 2-by-2 Matrix (A)

Kahan, W., Demmel, J., Accurate Singular Values and Vectors of an Upper Triangular 2-by-2 Matrix (B)

Kahan, W., Demmel, J., Coonen, J., Proposed Floating Point Environmental Inquiries in FORTRAN

Kahan, W., Haugeland, W., Hough, D., Implementation of Algorithms, Part 1

Kahan, W., Haugeland, W., Hough, D., Implementation of Algorithms, Part 2

Kahan, W., LeBlanc, E., Anomalies in the IBM ACRITH Package

Kahan, W., Ng, K., SQRT – annotated square root algorithms in C

Kahan, W., Parlett, B., Can You Count on Your Calculator?

Kahan, W., Tang, P., An Experiment with ACRITH

Killian, E., MIPS Floating Point Architecture

Killian, E., VAX Floating Point

Kirchner, R., Kulisch, U., Arithmetic for Vector Processors

Kornerup, P., Matula, D., Finite Precision Lexicographic Continued Fraction Number Systems

Kulisch, U., FORTRAN-SC: FORTRAN for Scientific Computation

Kulisch, U., Letter and announcement of book Scientific Computation with Automatic Result Verification

Kulisch, U., Literature on Scientific Computation

Kulisch, U., Pascal-SC letter

Kulisch, U., Products Incorporating ACRITH

Kulisch, U., Miranker, W., The Arithmetic of the Digital Computer: A New Approach

Lee, C., Multi-Step Gradual Rounding

Lieutier, A., Precision Improvement of Software Algorithms: AEROLIS

Matula, D., Kornerup, P., Rationally Biased Rounding Can Be Beneficial (A)

Matula, D., Kornerup, P., Rationally Biased Rounding Can Be Beneficial (B)

McDonald, S., Algorithms for Extended Transcendentals

Motorola, MC68881/MC68882 Floating-Point Coprocessor User's Manual

Mueller, M., Portable exp(x) in C

National Semiconductor, NS32580 Series Floating Point Controller

Numerical Algorithms Group, FPV: a Floating-Point Validation package

P854: A Proposed Radix- and Word-length-independent Standard for Floating-point Arithmetic

Rump, S., How Reliable Are Results of Computers?

Sanguinetti, J., Micro-Analysis of the Titan's Operation Pipe

Shampine,L., Review of Numerical Recipes, The Art of Scientific Computing

Stanley, K., Weitek Business: Solutions To Floating Point Intensive Problems

Sterbenz, P., Floating-Point Computation

Sun, Appendix N: SPARC IEEE 754 Implementation Recommendations

Sun, SunOS 3 man pages relating to floating point

Sun, SunOS 3M Mathematical Library man pages

Sun, SunOS Fortran man pages relating to floating point

Sun, SunOS /usr/include files relating to floating point

Taylor, G., Compatible Hardware for Division and Square Root

Teubner announcement of Computerarithmetic: Scientific Computation and Programming Languages

Thacher, C., Comments on Floating-Point Indoctrination Syllabus

Texas Instruments, SN74ACT8800 Family Data Manual

Vollaro, T., The Minisupercomputer: One User's Experience

Weitek, WTL 1164/WTL 1165 64-Bit IEEE Floating Point Multiplier/Divider and ALU

Weitek, WTL 3167 Floating-Point Coprocessor

Yuval, G., Notes on Kahan's A Distillation Program

Many people contributed to the creation of this class and to this re-creation from boxes of VCR tapes and paper. The source materials survive in the archives of the Computer History Museum in Mountain View, California. Thanks go to Prof. Emeritus Kahan for his enthusiastic support.

© 2024 Jerome Coonen