Re: Non-deterministic numerical inaccuracies in

*To*: mathgroup at smc.vnet.net*Subject*: [mg95002] Re: Non-deterministic numerical inaccuracies in*From*: David Bailey <dave at removedbailey.co.uk>*Date*: Fri, 2 Jan 2009 06:55:07 -0500 (EST)*References*: <gjfjuo$dan$1@smc.vnet.net> <200901011226.HAA12428@smc.vnet.net> <gjjqkl$n6t$1@smc.vnet.net>

peter wrote: > Bob > > my mac is 32 bit and runs the code fine. > Peter > > 2009/1/1 David Bailey <dave at removedbailey.co.uk>: >> 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 >> http://www.dbaileyconsultancy.co.uk >> >> > 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 http://www.dbaileyconsultancy.co.uk

**References**:**Re: Non-deterministic numerical inaccuracies in***From:*David Bailey <dave@removedbailey.co.uk>