[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [Maxima] Re: m68k gcl/maxima: Minor Floating point errors



   From: Camm Maguire <camm@enhanced.com>

   >        -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.
   
   That did it -- thanks!  As Richard Fateman observed, its quite
   surprising the magnitude of the difference was so large.  Apparently
   m68k has the more accurate answer, right?  In any case, I'm adding
   -ffloat-store to gcl's compile flags on m68k to avoid testing
   problems. 

But don't be misled -- the effect is not only precision.  The 68881/2
were admirably fast and capable chips for their day, but had a serious
bottleneck loading and storing floats.  You may find that performance
is greatly reduced in some circumstances.

Of course, anyone still using decade-old processor chips probably
doesn't consider speed the most important issue.



Reply to: