From: G. W. Stewart <stewart@cs.umd.edu>
Date: Mon, 25 Oct 1999 14:55:57 -0400 (EDT)
Subject: Rounding Error
On October 11, I posted the following query in the NA Digest.
I'm giving a talk later this month on rounding error to the
Baltimore-Washington Section of SIAM. I would appreciate any
interesting anecdotes on real-life embarrassments due to rounding
error. I recall (though I don't know the details) stories about an
index on the Canadian stock market drifting off true and something
about a missile in the Iraq war. If you know the details of these
or any other stories, please pass them on to me.
Pete Stewart
The response was certainly gratifying. Within two days I received 64
messages. They were a great help in preparing my talk, which I gave
on October 20 at Johns Hopkins. My thanks to everyone. (For those
who are interested, a postscript file of my transparencies can be found
at ftp://thales.cs.umd.edu/pub/misc/roundtalk.ps)
I was surprised to find how few incidents were reported. Apparently,
with some notable exceptions, the problems due to roundoff are
themselves at the level of roundoff.
Many responders asked me to post a summary. Here is a list of the
incidents I used in my talk with references and a brief description.
1. The Patriot and the Scud.
Sources
1. General Accounting Office Report GAO/IMTEC-92-26.
2. Robert Skeel, "Roundoff Error Cripples Patriot
Missile," SIAM News, July 1992.
On February 25, 1991, during the Gulf War, a Patriot missile
defense system let a Scud get through. It hit a barracks, killing
28 people. The problem was in the differencing of floating point
numbers obtained by converting and scaling an integer timing
register. The GAO report has less than the full story. For that
see Skeel's excellent article.
2. The short flight of the Ariane 5.
Source
1. Report by the Inquiry Board.
http://www.esrin.esa.it/htdocs/tidc/Press/Press96/ariane5rep.html
On June 4, 1996, the first Ariane 5 was launched. All went well
for 36 seconds. Then the Ariane veered off course and
self-destructed. The problem was in the Inertial Reference System,
which produced an operation exception trying to convert a 64-bit
floating-point number to a 12-bit integer. It sent a diagnostic
word to the On-Board Computer, which interpreted it as flight data.
Finis.
Ironically, the computation was done by legacy software from the
Ariane 4, and its results were not needed after lift-off.
3. The Vancouver Stock Exchange
Sources
1. The Wall Street Journal November 8, 1983, p.37.
2. The Toronto Star, November 19, 1983.
3. B.D. McCullough and H.D. Vinod
Journal of Economic Literature
Vol XXXVII (June 1999), pp. 633-665.
(References communicated by Valerie Fraysse)
In 1982 (I figure) the Vancouver Stock Exchange instituted a new
index initialized to a value of 1000.000. The index was updated
after each transaction. Twenty two months later it had fallen to
520. The cause was that the updated value was truncated rather
than rounded. The rounded calculation gave a value of 1098.892.
4. Parliamentary elections in Schleswig-Holstein.
Sources
1. Rounding error changes Parliament makeup
Debora Weber-Wulff
The Risks Digest
Volume 13, Issue 37, 1992
http://catless.ncl.ac.uk/Risks/
In German parliamentary elections, a party with less than 5.0% of
the vote cannot be seated. The Greens appeared to have a
cliff-hanging 5.0%, until it was discovered (after the results had
been announced) that they really had only 4.97%. The printout was
to two figures, and the actual percentage was rounded to 5.0%.
5. For a few more examples try searching the RISK Digest
( http://catless.ncl.ac.uk/Risks/) with the key word "rounding"
(David Goldberg's idea).
Once again, thanks to all of you for your help.
Pete Stewart
For more roundoff disasters, visit http://catless.ncl.ac.uk/Risks ) with the key word "rounding" and search on roundoff. There is discussion of the $218T phone bill there.