[GHC] #9304: Floating point woes; Different behavior on Mac vs Linux

GHC ghc-devs at haskell.org
Sun Jul 13 22:25:17 UTC 2014


#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 lerkok):

 Sure.. Here you go:

 {{{
 [ubuntu-VirtualBox]~/precision/magichash>cat main.hs
 {-# 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
 [ubuntu-VirtualBox]~/precision/magichash>rm main.hi; rm main.o; ghc
 main.hs -o main; ./main
 [1 of 1] Compiling Main             ( main.hs, main.o )
 Linking main ...
 (-6192449487634422,-49)
 [ubuntu-VirtualBox]~/precision/magichash>rm main.hi; rm main.o; ghc
 main.hs -msse2 -o main; ./main
 [1 of 1] Compiling Main             ( main.hs, main.o )
 Linking main ...
 (-6192449487634421,-49)
 [ubuntu-VirtualBox]~/precision/magichash>rm main.hi; rm main.o; ghc
 main.hs -fexcess-precision -o main; ./main
 [1 of 1] Compiling Main             ( main.hs, main.o )
 Linking main ...
 (-6192449487634422,-49)
 }}}

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9304#comment:21>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list