On Mon, Feb 12, 2007 at 02:25:21PM -0800, Bryan O'Sullivan wrote: > David Roundy wrote: > >I'm rather curious (if you're sill interested) how this'll be affected by > >the removal of the division from the inner loop. e.g. > > > > go :: Double -> Double -> Int -> IO () > > go !x !y !i > > | i == 1000000000 = printf "%.6f\n" (x+y) > > | otherwise = go (x*y*(1.0/3)) (x*9) (i+1) > > > > > > for (; i<1000000000; i++) { > > x = x*y*(1.0/3.0); > > y = x*9.0; > > } > > GCC will do the transformation itself if you use -ffast-math. It > requires the flag as the results aren't exactly numerically equivalent.
Ah, okay. Never mind, then. -- David Roundy Department of Physics Oregon State University _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe