Talk:William Kahan

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

Table makers dilemma quote[edit]

I can sympathize as I had the problem and worked out that even doubling the number of digits in the intermediate computations I only just about started to reduce the chances of one of the last digits being wrong from near certainty, but any extra binary digit halved it. But it is pretty clear a finite number of extra digits are needed for exponentiation and any of the standard trigonometrical functions because all floating point numbers are rational numbers and any non-exact root of a rational is irrational. For the trig functions one has to use the Gelfond–Schneider theorem which I certainly admit is non-trivial. There are some packages around now that actually do offer accuracy to the last bit, a fast implementation not needing more accurate floating point is given by IBM in An accurate elementary mathematical library for the IEEE floating point standard Dmcq (talk) 08:41, 23 October 2008 (UTC)[reply]

@Dmcq: Note that as said in the abstract, these algorithms do not provide correctly rounded results for all arguments. These algorithms are just very accurate. Concerning the Gelfond–Schneider theorem, this is just theory, not much useful in practice. In my PhD thesis, I used the Nesterenko and Waldschmidt theorem, which can be useful to write proven implementations when the hardest-to-round cases are not known (but one needs high precision arithmetic, just in case). Otherwise, in practice, one may rely on the probabilistic model (but the knowledge of the hardest-to-round cases is still interesting to get faster and/or more reliable implementations). — Vincent Lefèvre (talk) 02:18, 30 August 2022 (UTC)[reply]

Paranoia and the FDIV flaw[edit]

I've put a "Citation needed" on the claim that Kahan's "paranoia" software could detect the FDIV bug. I've tried and failed to find a source that supports this claim.

Thomas Nicely's description of the bug and how he discovered it (https://web.archive.org/web/20190618044444/http://www.trnicely.net/pentbug/pentbug.html) does not mention paranoia or Kahan.

The posting at https://www.ccl.net/chemistry/resources/messages/1994/11/29.013-dir/ was made at the time by someone who wasn't aware of Paranoia being run on an affected Pentium, and who believed that it would not detect the bug.

Kahan discusses the FDIV bug and his involvement with it in an interview at http://history.siam.org/%5C/pdfs2/Kahan_final.pdf. He doesn't mention detecting it with the paranoia software, although he does mention someone else writing software in Matlab to detect it. He also mentions writing software (which may or may not have been incorporated into paranoia) to detect a different bug - a floating-integer store bug.

I think that if paranoia had detected FDIV, he would have mentioned it in the aforementioned interview. I've put "Citation needed", but I honestly think the claim is incorrect and should be deleted from the article.

AstridRedfern (talk) 16:28, 1 March 2021 (UTC)[reply]

This claim of Kahan's discovery surprised me enough to look at the Talk page; it should be removed. The sources I've seen universally attribute the discovery of the FDIV bug to Nicely. This is well-documented in section 6.1 of the book:
Huckle, Thomas, and Tobias Neckel. Bits and Bugs: A Scientific and Historical Review on Software Failures in Computational Science. Society for Industrial and Applied Mathematics, 2019.
However, the above reference (p. 152) mentions Kahan's work in developing an SRT division tester. Kahan himself gives Nicely credit in his history of the event in https://people.eecs.berkeley.edu/~wkahan/srtest/srtest:
"A Short History:
Early in the summer of 1994, when comparing another processor's test
results with Pentium's, Intel discovered that the latter's floating-
point division was defective, but kept silent in adherence to a long-
standing policy ( reversed nine months later ). In October Prof.
Thomas M. Nicely, of Lynchburg College Math. Dept. in Virginia,
traced a discrepancy between his computations on other computers and on
Pentium to that defect and brought it to public attention. He
deserves a medal for checking his work." Jfo17 (talk) 03:19, 9 August 2022 (UTC)[reply]
The incorrect claim was introduced by some anonymous contributor in Special:Diff/69612970 (2006-08): "In the 1980s it found the infamous Pentium division bug, and which continues to have important uses to this day." Note that even the date "1980s" was incorrect. Other contributors did some consistency "corrections", but without checking. Then this was commented out in Special:Diff/176631034 (2007-12), but uncommented in Special:Diff/383760646 (2010-09), probably by mistake. — Vincent Lefèvre (talk) 02:29, 30 August 2022 (UTC)[reply]