
#9304: Floating point woes; Different behavior on Mac vs Linux -------------------------------------+------------------------------------ Reporter: lerkok | Owner: Type: bug | Status: new Priority: high | Milestone: Component: Compiler | Version: 7.8.3 Resolution: | Keywords: floating point Operating System: Unknown/Multiple | Architecture: Unknown/Multiple Type of failure: None/Unknown | Difficulty: Unknown Test Case: | Blocked By: 9276 Blocking: | Related Tickets: -------------------------------------+------------------------------------ Comment (by carter): ok, lets try again a different way! {{{ {-# LANGUAGE MagicHash #-} module Main where import GHC.Types import GHC.Prim main = do x <- return ((-4.4)::Double) y <- return ((2.4999999999999956):: Double) putStrLn $ show $ decodeFloat (myTimes x y) {-# NOINLINE myTimes#-} myTimes (D# a) (D# b) = D# res where res = a *## b }}} If the results are the same, then the culprit is decodeFloat, not the floating point arithmetic -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9304#comment:13 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler