@@ -404,6 +404,7 @@ sBin op [Str x, Str y] = Just $ Str (op x y)
404404sBin _ _ = Nothing
405405
406406bsrem :: IntTy -> [Const] -> Maybe Const
407+bsrem ITBig [BI x, BI y] = Just . BI $ x `rem` y
407408bsrem (ITFixed IT8) [B8 x, B8 y]
408409 = Just $ B8 (fromIntegral (fromIntegral x `rem` fromIntegral y :: Int8))
409410bsrem (ITFixed IT16) [B16 x, B16 y]
@@ -429,6 +430,7 @@ bsrem (ITVec IT64 _) [B64V x, B64V y]
429430bsrem _ _ = Nothing
430431
431432bsdiv :: IntTy -> [Const] -> Maybe Const
433+bsdiv ITBig [BI x, BI y] = Just . BI $ x `div` y
432434bsdiv (ITFixed IT8) [B8 x, B8 y]
433435 = Just $ B8 (fromIntegral (fromIntegral x `div` fromIntegral y :: Int8))
434436bsdiv (ITFixed IT16) [B16 x, B16 y]
@@ -454,6 +456,7 @@ bsdiv (ITVec IT64 _) [B64V x, B64V y]
454456bsdiv _ _ = Nothing
455457
456458bashr :: IntTy -> [Const] -> Maybe Const
459+bashr ITBig [BI x, BI y] = Just $ BI (x `shiftR` fromIntegral y)
457460bashr (ITFixed IT8) [B8 x, B8 y]
458461 = Just $ B8 (fromIntegral (fromIntegral x `shiftR` fromIntegral y :: Int8))
459462bashr (ITFixed IT16) [B16 x, B16 y]