Thread Links | Date Links | ||||
---|---|---|---|---|---|
Thread Prev | Thread Next | Thread Index | Date Prev | Date Next | Date Index |
On Mar 12 2013, G. William (Bill) Walster wrote:
On 3/12/13 7:39 AM, Vincent Lefevre wrote:Say, you compute sin(10^22) on two different x86 machines: _ 32 bits: 0.46261304076460175 _ 64 bits: -0.85220084976718879 What benefit do you get if you don't know which one is the "correct" result (if there is any)? (And if you already know it, you don't need a program to compute it.)
That is irrelevant, because the answer is meaningless, as the representation error in the input means that any value in the range [-1,1] is correct. The advantage of more accuracy is with meaningful calculations.
This issue is precisely why the one and only requirement for an interval standard should be containment of the correct answer.Then, let different implementations fight out in the market place returned width and speed as "qualities of implementation".
I fully agree.
With a containment-only standard, every implementations claim to be standard compliant can be falsified with just a single counter-example.Easy falsifiability is the hallmark of a good theory according to Karl Popper. Just as falsifying a theory is the road to progress in science, so to proving an implementation is not containment-only-standard-compliant is the road to narrow width *and* containment.
Yes. Trying to get a code-generation bug fixed in a C or C++ compiler is murder, because falsifying the compiler is damn-near impossible. Doing it in Fortran is a doddle, by comparison. Regards, Nick Maclaren.