MathGroup Archive 2009

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Non-deterministic numerical inaccuracies in

  • To: mathgroup at
  • Subject: [mg95002] Re: Non-deterministic numerical inaccuracies in
  • From: David Bailey <dave at>
  • Date: Fri, 2 Jan 2009 06:55:07 -0500 (EST)
  • References: <gjfjuo$dan$> <> <gjjqkl$n6t$>

peter wrote:
> Bob
> my mac is 32 bit and runs the code fine.
> Peter
> 2009/1/1 David Bailey <dave at>:
>> Bob Hanlon wrote:
>>> $Version
>>> 7.0 for Mac OS X x86 (64-bit) (November 11, 2008)
>>> No problem apparent.
>>> Bob Hanlon
>>> On Tue, Dec 30, 2008 at 12:26 PM , Sjoerd C. de Vries wrote:
>> I think I might be able to guess what this is connected with. 64-bit C
>> will use the XMM registers for floating point. These are 64-bits in
>> length. 32-bit C has to cater for much older hardware, and so will use
>> the old coprocessor registers. These are 80-bits in length. If the
>> kernel contains some code that saves these registers as 64-bit numbers -
>> say in response to a random interupt - this will truncate the extra bits
>> when they are restored and make a tiny change in certain circumstances.
>> It would be interesting if someone at WRI would tell me if I have
>> guessed correctly!
>> David Bailey
Does it use an x86 chip (I am not sure)? Also, the details of the C 
compiler may vary between operating systems. A long time ago, I used to 
work on a Fortran compiler, and the fact that the coprocessor registers 
held more bits that the variables whose value they represented, caused 
some subtle problems!

I am, of course, only guessing, but it is hard to see how else a bug 
like this would arise!

David Bailey

  • Prev by Date: Re: Re: Aspect Ratio
  • Next by Date: Re: Re: Sound Spectrogram over time, in 3D, using Fourier?
  • Previous by thread: Re: Non-deterministic numerical inaccuracies in
  • Next by thread: Re: Re: Non-deterministic numerical inaccuracies in