next up previous contents
Next: Loop Unrolling Up: Failures of the Previous: Failures of the

Uncertain Accuracy

In the 1980's, the DEC and Unix C libraries for trigonometric functions, assumed that the end user's input is exact. Because a number like expressed to fifteen decimals is really uncertain to , it is absurd to insist that the sine or cosine of that number be exact. Who knows where, on the unit circle, the angle really lies? But without permission from the end user to treat the input as approximate, the only way to unwind the number around the circle accurately is to use multiple-precision arithmetic with stored to thousands of decimals! The resulting performance, needless to say, is abysmal. The fault lies in the misplacement of responsibility in the implicit contract between the end user and the application programmer. A concession (by the end user) of inaccurate input can greatly improve performance that one can reasonably demand.



Dr. T. L. Marchioro II
Wed Aug 9 16:54:08 CDT 1995