@@ -15,7 +15,7 @@ module Optimize
1515import Data.Functor
1616import Data.Word
1717import Data.Bits
18- import Data.Bits.Floating
18+ -- import Data.Bits.Floating
1919import Data.List
2020import Control.Monad
2121import Control.Monad.State.Strict
@@ -144,20 +144,26 @@ foldCast sTy l = case sTy of
144144 Float64Lit _ -> Nothing
145145 PtrLit _ _ -> Nothing
146146 Float32Type -> case l of
147- Int32Lit i -> Just $ Float32Lit $ fixUlp i $ fromIntegral i
148- Int64Lit i -> Just $ Float32Lit $ fixUlp i $ fromIntegral i
147+ -- Int32Lit i -> Just $ Float32Lit $ fixUlp i $ fromIntegral i
148+ Int32Lit i -> Just $ Float32Lit $ fromIntegral i
149+ -- Int64Lit i -> Just $ Float32Lit $ fixUlp i $ fromIntegral i
150+ Int64Lit i -> Just $ Float32Lit $ fromIntegral i
149151 Word8Lit i -> Just $ Float32Lit $ fromIntegral i
150- Word32Lit i -> Just $ Float32Lit $ fixUlp i $ fromIntegral i
151- Word64Lit i -> Just $ Float32Lit $ fixUlp i $ fromIntegral i
152+ -- Word32Lit i -> Just $ Float32Lit $ fixUlp i $ fromIntegral i
153+ Word32Lit i -> Just $ Float32Lit $ fromIntegral i
154+ -- Word64Lit i -> Just $ Float32Lit $ fixUlp i $ fromIntegral i
155+ Word64Lit i -> Just $ Float32Lit $ fromIntegral i
152156 Float32Lit _ -> Just l
153157 Float64Lit _ -> Nothing
154158 PtrLit _ _ -> Nothing
155159 Float64Type -> case l of
156160 Int32Lit i -> Just $ Float64Lit $ fromIntegral i
157- Int64Lit i -> Just $ Float64Lit $ fixUlp i $ fromIntegral i
161+ -- Int64Lit i -> Just $ Float64Lit $ fixUlp i $ fromIntegral i
162+ Int64Lit i -> Just $ Float64Lit $ fromIntegral i
158163 Word8Lit i -> Just $ Float64Lit $ fromIntegral i
159164 Word32Lit i -> Just $ Float64Lit $ fromIntegral i
160- Word64Lit i -> Just $ Float64Lit $ fixUlp i $ fromIntegral i
165+ -- Word64Lit i -> Just $ Float64Lit $ fixUlp i $ fromIntegral i
166+ Word64Lit i -> Just $ Float64Lit $ fromIntegral i
161167 Float32Lit f -> Just $ Float64Lit $ float2Double f
162168 Float64Lit _ -> Just l
163169 PtrLit _ _ -> Nothing
@@ -176,6 +182,8 @@ foldCast sTy l = case sTy of
176182 -- exhibit when cast back to the original integer type.
177183 fixUlp :: forall a b w . (Num a , Integral a , FiniteBits a , RealFrac b , FloatingBits b w )
178184 => a -> b -> b
185+ fixUlp orig candidate = candidate
186+ {-
179187 fixUlp orig candidate = res where
180188 res = closest $ sortBy moreLowBits [candidate, candidatem1, candidatep1]
181189 candidatem1 = nextDown candidate
@@ -186,6 +194,7 @@ foldCast sTy l = case sTy of
186194 moreLowBits a b =
187195 compare (0 - countTrailingZeros (round @b @a a))
188196 (0 - countTrailingZeros (round @b @a b))
197+ -}
189198
190199peepholeExpr :: SExpr o -> EnvReaderM o (Either (SAtom o ) (SExpr o ))
191200peepholeExpr expr = case expr of
0 commit comments