@@ -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
@@ -145,20 +145,26 @@ foldCast sTy l = case sTy of
145145 Float64Lit _ -> Nothing
146146 PtrLit _ _ -> Nothing
147147 Float32Type -> case l of
148- Int32Lit i -> Just $ Float32Lit $ fixUlp i $ fromIntegral i
149- Int64Lit i -> Just $ Float32Lit $ fixUlp i $ fromIntegral i
148+ -- Int32Lit i -> Just $ Float32Lit $ fixUlp i $ fromIntegral i
149+ Int32Lit i -> Just $ Float32Lit $ fromIntegral i
150+ -- Int64Lit i -> Just $ Float32Lit $ fixUlp i $ fromIntegral i
151+ Int64Lit i -> Just $ Float32Lit $ fromIntegral i
150152 Word8Lit i -> Just $ Float32Lit $ fromIntegral i
151- Word32Lit i -> Just $ Float32Lit $ fixUlp i $ fromIntegral i
152- Word64Lit i -> Just $ Float32Lit $ fixUlp i $ fromIntegral i
153+ -- Word32Lit i -> Just $ Float32Lit $ fixUlp i $ fromIntegral i
154+ Word32Lit i -> Just $ Float32Lit $ fromIntegral i
155+ -- Word64Lit i -> Just $ Float32Lit $ fixUlp i $ fromIntegral i
156+ Word64Lit i -> Just $ Float32Lit $ fromIntegral i
153157 Float32Lit _ -> Just l
154158 Float64Lit _ -> Nothing
155159 PtrLit _ _ -> Nothing
156160 Float64Type -> case l of
157161 Int32Lit i -> Just $ Float64Lit $ fromIntegral i
158- Int64Lit i -> Just $ Float64Lit $ fixUlp i $ fromIntegral i
162+ -- Int64Lit i -> Just $ Float64Lit $ fixUlp i $ fromIntegral i
163+ Int64Lit i -> Just $ Float64Lit $ fromIntegral i
159164 Word8Lit i -> Just $ Float64Lit $ fromIntegral i
160165 Word32Lit i -> Just $ Float64Lit $ fromIntegral i
161- Word64Lit i -> Just $ Float64Lit $ fixUlp i $ fromIntegral i
166+ -- Word64Lit i -> Just $ Float64Lit $ fixUlp i $ fromIntegral i
167+ Word64Lit i -> Just $ Float64Lit $ fromIntegral i
162168 Float32Lit f -> Just $ Float64Lit $ float2Double f
163169 Float64Lit _ -> Just l
164170 PtrLit _ _ -> Nothing
@@ -177,6 +183,8 @@ foldCast sTy l = case sTy of
177183 -- exhibit when cast back to the original integer type.
178184 fixUlp :: forall a b w . (Num a , Integral a , FiniteBits a , RealFrac b , FloatingBits b w )
179185 => a -> b -> b
186+ fixUlp orig candidate = candidate
187+ {-
180188 fixUlp orig candidate = res where
181189 res = closest $ sortBy moreLowBits [candidate, candidatem1, candidatep1]
182190 candidatem1 = nextDown candidate
@@ -187,6 +195,7 @@ foldCast sTy l = case sTy of
187195 moreLowBits a b =
188196 compare (0 - countTrailingZeros (round @b @a a))
189197 (0 - countTrailingZeros (round @b @a b))
198+ -}
190199
191200peepholeExpr :: SExpr o -> EnvReaderM o (SExpr o )
192201peepholeExpr expr = case expr of
0 commit comments