Subject: Re: m68k gcl/maxima: Minor Floating point errors
From: Raymond Toy
Date: 30 Sep 2002 10:54:46 -0400
>>>>> "Camm" == Camm Maguire <camm@enhanced.com> writes:
Camm> Greetings!
Camm> Rick Younie <rick@def.debian.net> writes:
>> Camm Maguire wrote:
>> > Greetings! I have one Debian machine (m68k) which is producing very
>> > small numerical discrepancies on the results of the two floating point
>> > intensive tests in rtest8.mac:
>>
>> Hi,
>>
>> That rang a bell. There's this in the gcc man page:
>>
>> -ffloat-store
>> Do not store floating point variables in registers. This pre-
>> vents undesirable excess precision on machines such as the 68000
>> where the floating registers (of the 68881) keep more precision
>> than a double is supposed to have.
>>
>> For most programs, the excess precision does only good, but a
>> few programs rely on the precise definition of IEEE floating
>> point. Use `-ffloat-store' for such programs.
Camm> That did it -- thanks! As Richard Fateman observed, its quite
Camm> surprising the magnitude of the difference was so large. Apparently
Camm> m68k has the more accurate answer, right? In any case, I'm adding
Camm> -ffloat-store to gcl's compile flags on m68k to avoid testing
Camm> problems.
But does gcl on x86 also do a -ffloat-store? x86 also keeps extra
precision, so I would have expected similar issues on x86.
Ray