That's interesting, and quite remarkable: it's working at twice the precision it displays? That's much much more work than the extra 16 bits in the 8087's 80 bit format, or the 3 extra digits in a 12-digit HP calculator.
Just a couple more points...
We're told, I think, that the original 6502 BBC Basic used approaches found in Cody and Waite. But I see in Kahan's Sand article linked above that the 8087 did better:
Quote:
Like Hewlett-Packard’s elementary transcendental functions in its recent calculators, Intel’s are accurate to within an ulp or two, but that ulp is in the 64th sig. bit, beyond 18 sig. dec. Both the calculators and the i8087 achieve their accuracies via digit-by-digit methods [26] that generate ln(1+x), exp(x)-1, tan(x) and arctan(x) quickly and correct to 64 sig. bits in the i8087, 13 sig. dec. in h-p calculators. Then simple but unobvious programs produce the other elementary functions accurately from those four. Intel’s programs were written by Steve Baumel with my help, and appear in the CEL (Common Elementary function Library) in RMX-86 on the 86/330A. Their accuracies surpass crafty programs by Cody and Waite [27] run on less refined arithmetics.
(Indeed, I note that Kahan says that in binary, taking a square root and then squaring should always be lossless, but 6502 BBC Basic isn't, at least for 15 and 17.)
One of Kahan's notes is a lament that IEEE's three different rounding modes are not more readily accessible: running the same calculation in all three modes can give a hint as to whether a calculation is sound or not.
A couple of nice pull-quotes from the Sand piece:
Quote:
A computer is deemed Reliable when its users are never surprised by something its designers must later apologize for. How can designers and users who never meet learn what to expect from each other? Through education. That is the key to reliable computation.
Quote:
Design arithmetic functions in such a way that almost no user need know more about them than the designer is proud to explain in the Owner’s Handbook.
Finally, maybe, Kahan has more of a slide-deck presentation here, from 2005, which also links back into some specific other writings of his:
Pointers within include:
How Futile are Mindless Assessments of Roundoff in Floating-Point Computation? pp56, 2006
"Some parentheses in Microsoft's Excel 2000 spreadsheet possess uncanny powers" which is about binary arithmetic masquerading as decimal.
and
Marketing versus Mathematics and other Ruminations on the Design of Floating-Point Arithmetic pp48, 2000