mirror of
https://github.com/grin-compiler/grin.git
synced 2024-10-03 19:17:42 +03:00
Add CSE bug
This commit is contained in:
parent
823cfb87b5
commit
352ad3ca0e
BIN
bugs/cse/bug01/034.SimpleDeadParameterElimination.binary
Normal file
BIN
bugs/cse/bug01/034.SimpleDeadParameterElimination.binary
Normal file
Binary file not shown.
305
bugs/cse/bug01/034.SimpleDeadParameterElimination.grin
Normal file
305
bugs/cse/bug01/034.SimpleDeadParameterElimination.grin
Normal file
@ -0,0 +1,305 @@
|
||||
primop effectful
|
||||
_prim_int_print :: T_Int64 -> T_Unit
|
||||
_prim_string_print :: T_String -> T_Unit
|
||||
_prim_read_string :: T_String
|
||||
_prim_usleep :: T_Int64 -> T_Unit
|
||||
_prim_error :: T_String -> T_Unit
|
||||
_prim_ffi_file_eof :: T_Int64 -> T_Int64
|
||||
|
||||
primop pure
|
||||
_prim_string_concat :: T_String -> T_String -> T_String
|
||||
_prim_string_reverse :: T_String -> T_String
|
||||
_prim_string_lt :: T_String -> T_String -> T_Bool
|
||||
_prim_string_eq :: T_String -> T_String -> T_Bool
|
||||
_prim_string_head :: T_String -> T_Int64
|
||||
_prim_string_tail :: T_String -> T_String
|
||||
_prim_string_cons :: T_Int64 -> T_String -> T_String
|
||||
_prim_string_len :: T_String -> T_Int64
|
||||
_prim_int_str :: T_Int64 -> T_String
|
||||
_prim_str_int :: T_String -> T_Int64
|
||||
_prim_int_float :: T_Int64 -> T_Float
|
||||
_prim_float_string :: T_Float -> T_String
|
||||
_prim_char_int :: T_Char -> T_Int64
|
||||
_prim_int_add :: T_Int64 -> T_Int64 -> T_Int64
|
||||
_prim_int_sub :: T_Int64 -> T_Int64 -> T_Int64
|
||||
_prim_int_mul :: T_Int64 -> T_Int64 -> T_Int64
|
||||
_prim_int_div :: T_Int64 -> T_Int64 -> T_Int64
|
||||
_prim_int_eq :: T_Int64 -> T_Int64 -> T_Bool
|
||||
_prim_int_ne :: T_Int64 -> T_Int64 -> T_Bool
|
||||
_prim_int_gt :: T_Int64 -> T_Int64 -> T_Bool
|
||||
_prim_int_ge :: T_Int64 -> T_Int64 -> T_Bool
|
||||
_prim_int_lt :: T_Int64 -> T_Int64 -> T_Bool
|
||||
_prim_int_le :: T_Int64 -> T_Int64 -> T_Bool
|
||||
_prim_word_add :: T_Word64 -> T_Word64 -> T_Word64
|
||||
_prim_word_sub :: T_Word64 -> T_Word64 -> T_Word64
|
||||
_prim_word_mul :: T_Word64 -> T_Word64 -> T_Word64
|
||||
_prim_word_div :: T_Word64 -> T_Word64 -> T_Word64
|
||||
_prim_word_eq :: T_Word64 -> T_Word64 -> T_Bool
|
||||
_prim_word_ne :: T_Word64 -> T_Word64 -> T_Bool
|
||||
_prim_word_gt :: T_Word64 -> T_Word64 -> T_Bool
|
||||
_prim_word_ge :: T_Word64 -> T_Word64 -> T_Bool
|
||||
_prim_word_lt :: T_Word64 -> T_Word64 -> T_Bool
|
||||
_prim_word_le :: T_Word64 -> T_Word64 -> T_Bool
|
||||
_prim_float_add :: T_Float -> T_Float -> T_Float
|
||||
_prim_float_sub :: T_Float -> T_Float -> T_Float
|
||||
_prim_float_mul :: T_Float -> T_Float -> T_Float
|
||||
_prim_float_div :: T_Float -> T_Float -> T_Float
|
||||
_prim_float_eq :: T_Float -> T_Float -> T_Bool
|
||||
_prim_float_ne :: T_Float -> T_Float -> T_Bool
|
||||
_prim_float_gt :: T_Float -> T_Float -> T_Bool
|
||||
_prim_float_ge :: T_Float -> T_Float -> T_Bool
|
||||
_prim_float_lt :: T_Float -> T_Float -> T_Bool
|
||||
_prim_float_le :: T_Float -> T_Float -> T_Bool
|
||||
_prim_bool_eq :: T_Bool -> T_Bool -> T_Bool
|
||||
_prim_bool_ne :: T_Bool -> T_Bool -> T_Bool
|
||||
|
||||
grinMain =
|
||||
idr_Main.main3_val.0 <- pure (C"idr_{U_Main.{main_1}_1}")
|
||||
idr_Main.main3.0 <- store idr_Main.main3_val.0
|
||||
idr_Main.main4_val.0 <- pure (Cidr_Main.Same)
|
||||
idr_Main.main4.0 <- store idr_Main.main4_val.0
|
||||
idr_Main.main1_val.0 <- idr_Prelude.Interactive.printLn' $ idr_Main.main3.0 idr_Main.main4.0
|
||||
idr_Main.main4_val_125.0 <- pure (C"idr_{U_Main.{main_2}_1}")
|
||||
idr_Main.main4_126.0 <- store idr_Main.main4_val_125.0
|
||||
idr_Main.main5.0 <- pure idr_Main.main4.0
|
||||
idr_Main.main2_val_120.0 <- idr_Prelude.Interactive.printLn' $ idr_Main.main4_126.0 idr_Main.main4.0
|
||||
idr_Main.main5_val_133.0 <- pure (C"idr_{U_Main.{main_3}_1}")
|
||||
idr_Main.main5_134.0 <- store idr_Main.main5_val_133.0
|
||||
idr_Main.main6.0 <- pure idr_Main.main4.0
|
||||
idr_Main.main3_val_128.0 <- idr_Prelude.Interactive.printLn' $ idr_Main.main5_134.0 idr_Main.main4.0
|
||||
idr_Main.main6_142.0 <- pure idr_Main.main3.0
|
||||
idr_Main.main7.0 <- pure idr_Main.main4.0
|
||||
idr_Main.main4_val_136.0 <- idr_Prelude.Interactive.printLn' $ idr_Main.main3.0 idr_Main.main4.0
|
||||
idr_Main.main7_val_149.0 <- pure (C"idr_{U_Main.{main_5}_1}")
|
||||
idr_Main.main7_150.0 <- store idr_Main.main7_val_149.0
|
||||
idr_Main.main11_val.0 <- pure (Cidr_Main.::)
|
||||
idr_Main.main11.0 <- store idr_Main.main11_val.0
|
||||
idr_Main.main9.0.58.0.arity.1 <- pure 2
|
||||
idr_Main.main10.0.58.0.arity.1 <- pure idr_Main.main9.0.58.0.arity.1
|
||||
idr_Main.exactLength4_val.0 <- idr_Main.checkEqNat $ idr_Main.main9.0.58.0.arity.1 idr_Main.main9.0.58.0.arity.1
|
||||
idr_Main.main8_val_151.0 <- case idr_Main.exactLength4_val.0 of
|
||||
(Cidr_Prelude.Maybe.Just idr_Main.exactLength5.0) ->
|
||||
pure (Cidr_Prelude.Maybe.Just idr_Main.main11.0)
|
||||
(Cidr_Prelude.Maybe.Nothing) ->
|
||||
pure (Cidr_Prelude.Maybe.Nothing)
|
||||
idr_Main.main8_val.0 <- case idr_Main.main8_val_151.0 of
|
||||
(Cidr_Prelude.Maybe.Just idr_Main.main9_155.0) ->
|
||||
pure (Cidr_Prelude.Bool.True)
|
||||
(Cidr_Prelude.Maybe.Nothing) ->
|
||||
pure (Cidr_Prelude.Bool.False)
|
||||
idr_Main.main8_156.0 <- store idr_Main.main8_val.0
|
||||
idr_Main.main5_val_144.0 <- idr_Prelude.Interactive.printLn' $ idr_Main.main7_150.0 idr_Main.main8_156.0
|
||||
idr_Main.main8_164.0 <- pure idr_Main.main7_150.0
|
||||
idr_Main.main9_168.49.3.arity.1.0 <- pure 10
|
||||
idr_Main.main10_170.49.3.arity.1.0 <- pure idr_Main.main9_168.49.3.arity.1.0
|
||||
idr_Main.main9_val_166.0 <- idr_Main.checkEqNat2 $ idr_Main.main9_168.49.3.arity.1.0 idr_Main.main9_168.49.3.arity.1.0
|
||||
idr_Main.main9_val_165.0 <- case idr_Main.main9_val_166.0 of
|
||||
(Cidr_Prelude.Maybe.Just idr_Main.main10_173.0) ->
|
||||
pure (Cidr_Prelude.Bool.True)
|
||||
(Cidr_Prelude.Maybe.Nothing) ->
|
||||
pure (Cidr_Prelude.Bool.False)
|
||||
idr_Main.main9_174.0 <- store idr_Main.main9_val_165.0
|
||||
idr_Main.main6_val_158.0 <- idr_Prelude.Interactive.printLn' $ idr_Main.main7_150.0 idr_Main.main9_174.0
|
||||
idr_Main.main9_181.0 <- pure idr_Main.main7_150.0
|
||||
idr_Main.main10_185.49.4.arity.1.0 <- pure idr_Main.main9_168.49.3.arity.1.0
|
||||
idr_Main.main11_187.49.4.arity.1.0 <- pure 9
|
||||
idr_Main.main10_val_183.0 <- idr_Main.checkEqNat2 $ idr_Main.main9_168.49.3.arity.1.0 idr_Main.main11_187.49.4.arity.1.0
|
||||
idr_Main.main10_val_182.0 <- case idr_Main.main10_val_183.0 of
|
||||
(Cidr_Prelude.Maybe.Just idr_Main.main11_190.0) ->
|
||||
pure (Cidr_Prelude.Bool.False)
|
||||
(Cidr_Prelude.Maybe.Nothing) ->
|
||||
pure (Cidr_Prelude.Bool.True)
|
||||
idr_Main.main10_191.0 <- store idr_Main.main10_val_182.0
|
||||
"idr_{runMain_0}0_val.0" <- idr_Prelude.Interactive.printLn' $ idr_Main.main7_150.0 idr_Main.main10_191.0
|
||||
pure ()
|
||||
|
||||
idr_Main.checkEqNat idr_Main.checkEqNat0.49.arity.1 idr_Main.checkEqNat1.49.arity.1 =
|
||||
case idr_Main.checkEqNat1.49.arity.1 of
|
||||
0 ->
|
||||
case idr_Main.checkEqNat0.49.arity.1 of
|
||||
0 ->
|
||||
idr_Main.checkEqNat2_val <- pure (Cidr_Main.Same)
|
||||
idr_Main.checkEqNat2_2 <- store idr_Main.checkEqNat2_val
|
||||
pure (Cidr_Prelude.Maybe.Just idr_Main.checkEqNat2_2)
|
||||
#default ->
|
||||
pure (Cidr_Prelude.Maybe.Nothing)
|
||||
#default ->
|
||||
idr_Main.checkEqNat2_13.40.1.arity.1 <- pure 1
|
||||
idris_int_sub2.1 <- _prim_int_sub $ idr_Main.checkEqNat1.49.arity.1 idr_Main.checkEqNat2_13.40.1.arity.1
|
||||
case idr_Main.checkEqNat0.49.arity.1 of
|
||||
0 ->
|
||||
pure (Cidr_Prelude.Maybe.Nothing)
|
||||
#default ->
|
||||
idr_Main.checkEqNat3.40.2.arity.1 <- pure idr_Main.checkEqNat2_13.40.1.arity.1
|
||||
idris_int_sub2.2 <- _prim_int_sub $ idr_Main.checkEqNat0.49.arity.1 idr_Main.checkEqNat2_13.40.1.arity.1
|
||||
idr_Main.checkEqNat4_val <- idr_Main.checkEqNat $ idris_int_sub2.2 idris_int_sub2.1
|
||||
case idr_Main.checkEqNat4_val of
|
||||
(Cidr_Prelude.Maybe.Just idr_Main.checkEqNat5) ->
|
||||
idr_Main.checkEqNat6_val <- pure (Cidr_Main.Same)
|
||||
idr_Main.checkEqNat6 <- store idr_Main.checkEqNat6_val
|
||||
pure (Cidr_Prelude.Maybe.Just idr_Main.checkEqNat6)
|
||||
(Cidr_Prelude.Maybe.Nothing) ->
|
||||
pure (Cidr_Prelude.Maybe.Nothing)
|
||||
|
||||
idr_Main.checkEqNat2 idr_Main.checkEqNat20.49.arity.1 idr_Main.checkEqNat21.49.arity.1 =
|
||||
case idr_Main.checkEqNat21.49.arity.1 of
|
||||
0 ->
|
||||
case idr_Main.checkEqNat20.49.arity.1 of
|
||||
0 ->
|
||||
idr_Main.checkEqNat22_val <- pure (Cidr_Refl)
|
||||
idr_Main.checkEqNat22 <- store idr_Main.checkEqNat22_val
|
||||
pure (Cidr_Prelude.Maybe.Just idr_Main.checkEqNat22)
|
||||
#default ->
|
||||
pure (Cidr_Prelude.Maybe.Nothing)
|
||||
#default ->
|
||||
idr_Main.checkEqNat22_67.40.4.arity.1 <- pure 1
|
||||
idris_int_sub2.4 <- _prim_int_sub $ idr_Main.checkEqNat21.49.arity.1 idr_Main.checkEqNat22_67.40.4.arity.1
|
||||
case idr_Main.checkEqNat20.49.arity.1 of
|
||||
0 ->
|
||||
pure (Cidr_Prelude.Maybe.Nothing)
|
||||
#default ->
|
||||
idr_Main.checkEqNat23.40.5.arity.1 <- pure idr_Main.checkEqNat22_67.40.4.arity.1
|
||||
idris_int_sub2.5 <- _prim_int_sub $ idr_Main.checkEqNat20.49.arity.1 idr_Main.checkEqNat22_67.40.4.arity.1
|
||||
idr_Main.checkEqNat27_val <- idr_Main.checkEqNat2 $ idris_int_sub2.5 idris_int_sub2.4
|
||||
"idr_Prelude.Functor.Prelude.@Prelude.Functor.Functor$Maybe:!map:03_val.0" <- pure idr_Main.checkEqNat27_val
|
||||
case idr_Main.checkEqNat27_val of
|
||||
(Cidr_Prelude.Maybe.Just "idr_Prelude.Functor.Prelude.@Prelude.Functor.Functor$Maybe:!map:04.0") ->
|
||||
"idr_Prelude.Functor.Prelude.@Prelude.Functor.Functor$Maybe:!map:05_val.0" <- pure (Cidr_Refl)
|
||||
"idr_Prelude.Functor.Prelude.@Prelude.Functor.Functor$Maybe:!map:05.0" <- store "idr_Prelude.Functor.Prelude.@Prelude.Functor.Functor$Maybe:!map:05_val.0"
|
||||
pure (Cidr_Prelude.Maybe.Just "idr_Prelude.Functor.Prelude.@Prelude.Functor.Functor$Maybe:!map:05.0")
|
||||
(Cidr_Prelude.Maybe.Nothing) ->
|
||||
pure idr_Main.checkEqNat27_val
|
||||
|
||||
idr_Prelude.Show.primNumShow.unboxed idr_Prelude.Show.primNumShow3 =
|
||||
(CGrInt idr_prim__toStrBigInt0.40.13.arity.1.0) <- fetch idr_Prelude.Show.primNumShow3
|
||||
idris_int_str2.0 <- _prim_int_str $ idr_prim__toStrBigInt0.40.13.arity.1.0
|
||||
ccp.3 <- pure 0
|
||||
idr_Prelude.Show.primNumShow5_val_194 <- pure (CGrInt ccp.3)
|
||||
idr_Prelude.Show.primNumShow6_val <- pure (CGrInt 5)
|
||||
"idr_Prelude.Interfaces.Prelude.Interfaces.@Prelude.Interfaces.Ord$Integer:!compare:00.40.22.arity.1.0" <- pure ccp.3
|
||||
"idr_Prelude.Interfaces.Prelude.Interfaces.@Prelude.Interfaces.Ord$Integer:!compare:01.40.22.arity.1.0" <- pure 5
|
||||
idris_int_eq2.0 <- _prim_int_eq $ ccp.3 "idr_Prelude.Interfaces.Prelude.Interfaces.@Prelude.Interfaces.Ord$Integer:!compare:01.40.22.arity.1.0"
|
||||
ccp.0.0 <- case idris_int_eq2.0 of
|
||||
#False ->
|
||||
pure ccp.3
|
||||
#True ->
|
||||
pure 1
|
||||
idr_Prelude.Show.primNumShow5_val_193 <- case ccp.0.0 of
|
||||
0 ->
|
||||
idris_int_lt2.0 <- _prim_int_lt $ ccp.3 "idr_Prelude.Interfaces.Prelude.Interfaces.@Prelude.Interfaces.Ord$Integer:!compare:01.40.22.arity.1.0"
|
||||
ccp.1.0 <- case idris_int_lt2.0 of
|
||||
#False ->
|
||||
pure ccp.0.0
|
||||
#True ->
|
||||
pure 1
|
||||
case ccp.1.0 of
|
||||
0 ->
|
||||
pure (Cidr_Prelude.Interfaces.GT)
|
||||
#default ->
|
||||
pure (Cidr_Prelude.Interfaces.LT)
|
||||
#default ->
|
||||
pure (Cidr_Prelude.Interfaces.EQ)
|
||||
idr_Prelude.Show.primNumShow5_val_192 <- case idr_Prelude.Show.primNumShow5_val_193 of
|
||||
(Cidr_Prelude.Interfaces.GT) ->
|
||||
pure (Cidr_Prelude.Bool.True)
|
||||
#default ->
|
||||
ccp.4 <- pure ccp.3
|
||||
idr_Prelude.Show.primNumShow7.40.6.arity.1 <- pure 5
|
||||
idris_int_eq2.1 <- _prim_int_eq $ ccp.3 idr_Prelude.Show.primNumShow7.40.6.arity.1
|
||||
ccp.0.1 <- case idris_int_eq2.1 of
|
||||
#False ->
|
||||
pure ccp.3
|
||||
#True ->
|
||||
pure 1
|
||||
case ccp.0.1 of
|
||||
0 ->
|
||||
pure (Cidr_Prelude.Bool.False)
|
||||
#default ->
|
||||
pure (Cidr_Prelude.Bool.True)
|
||||
idr_Prelude.Show.primNumShow5_val <- case idr_Prelude.Show.primNumShow5_val_192 of
|
||||
(Cidr_Prelude.Bool.False) ->
|
||||
pure (Cidr_Prelude.Bool.False)
|
||||
(Cidr_Prelude.Bool.True) ->
|
||||
idr_Prelude.Show.primNumShow6_209.40.7.arity.1 <- pure #""
|
||||
idris_str_eq3.0 <- _prim_string_eq $ idris_int_str2.0 idr_Prelude.Show.primNumShow6_209.40.7.arity.1
|
||||
ccp.2.0 <- case idris_str_eq3.0 of
|
||||
#False ->
|
||||
pure ccp.3
|
||||
#True ->
|
||||
pure 1
|
||||
idr_Prelude.Show.primNumShow6_val_206 <- case ccp.2.0 of
|
||||
0 ->
|
||||
pure (Cidr_Prelude.Bool.True)
|
||||
#default ->
|
||||
pure (Cidr_Prelude.Bool.False)
|
||||
idr_Prelude.Show.primNumShow7_val_214 <- pure (Cidr_Prelude.Bool.True)
|
||||
"idr_Decidable.Equality.Decidable.Equality.@Decidable.Equality.DecEq$Bool:!decEq:00_val_246.0" <- pure idr_Prelude.Show.primNumShow6_val_206
|
||||
idr_Prelude.Show.primNumShow6_val_205 <- case idr_Prelude.Show.primNumShow6_val_206 of
|
||||
(Cidr_Prelude.Bool.False) ->
|
||||
pure (Cidr_Prelude.Basics.No)
|
||||
(Cidr_Prelude.Bool.True) ->
|
||||
pure (Cidr_Prelude.Basics.Yes)
|
||||
case idr_Prelude.Show.primNumShow6_val_205 of
|
||||
(Cidr_Prelude.Basics.No) ->
|
||||
pure (Cidr_Prelude.Bool.False)
|
||||
(Cidr_Prelude.Basics.Yes) ->
|
||||
idris_str_head2.0 <- _prim_string_head $ idris_int_str2.0
|
||||
idr_Prelude.Show.primNumShow8.40.10.arity.1 <- pure 45
|
||||
idris_int_eq2.2 <- _prim_int_eq $ idris_str_head2.0 idr_Prelude.Show.primNumShow8.40.10.arity.1
|
||||
ccp.0.2 <- case idris_int_eq2.2 of
|
||||
#False ->
|
||||
pure ccp.3
|
||||
#True ->
|
||||
pure 1
|
||||
case ccp.0.2 of
|
||||
0 ->
|
||||
pure (Cidr_Prelude.Bool.False)
|
||||
#default ->
|
||||
pure idr_Prelude.Show.primNumShow7_val_214
|
||||
case idr_Prelude.Show.primNumShow5_val of
|
||||
(Cidr_Prelude.Bool.False) ->
|
||||
pure idris_int_str2.0
|
||||
(Cidr_Prelude.Bool.True) ->
|
||||
idr_Prelude.Show.primNumShow7_230.40.11.arity.1 <- pure #")"
|
||||
idris_str_concat3.0 <- _prim_string_concat $ idris_int_str2.0 idr_Prelude.Show.primNumShow7_230.40.11.arity.1
|
||||
idr_Prelude.Show.primNumShow6_227.40.12.arity.1 <- pure #"("
|
||||
_prim_string_concat $ idr_Prelude.Show.primNumShow6_227.40.12.arity.1 idris_str_concat3.0
|
||||
|
||||
idr_Prelude.Interactive.printLn' idr_Prelude.Interactive.printLn'2 idr_Prelude.Interactive.printLn'3 =
|
||||
"idr_{APPLY_0}0_val.1" <- fetch idr_Prelude.Interactive.printLn'2
|
||||
ccp.0 <- case "idr_{APPLY_0}0_val.1" of
|
||||
(C"idr_{U_Main.{main_1}_1}") ->
|
||||
"idr_Main.{main_1}3_val.0" <- pure (C"idr_{U_prim__toStrBigInt_1}")
|
||||
"idr_Main.{main_1}3.0" <- store "idr_Main.{main_1}3_val.0"
|
||||
"idr_Main.{main_1}5_val.0" <- pure (CGrInt 4)
|
||||
"idr_Main.{main_1}5.0" <- store "idr_Main.{main_1}5_val.0"
|
||||
unboxed.CGrString.8.0 <- idr_Prelude.Show.primNumShow.unboxed $ "idr_Main.{main_1}5.0"
|
||||
"idr_Main.{main_1}1.40.17.arity.1.0" <- pure #"Same "
|
||||
_prim_string_concat $ "idr_Main.{main_1}1.40.17.arity.1.0" unboxed.CGrString.8.0
|
||||
(C"idr_{U_Main.{main_2}_1}") ->
|
||||
"idr_Main.{main_2}3_val.0" <- pure (C"idr_{U_prim__toStrBigInt_1}")
|
||||
"idr_Main.{main_2}3.0" <- store "idr_Main.{main_2}3_val.0"
|
||||
"idr_Main.{main_2}5_val.0" <- pure (CGrInt 5)
|
||||
"idr_Main.{main_2}5.0" <- store "idr_Main.{main_2}5_val.0"
|
||||
unboxed.CGrString.9.0 <- idr_Prelude.Show.primNumShow.unboxed $ "idr_Main.{main_2}5.0"
|
||||
"idr_Main.{main_2}1.40.19.arity.1.0" <- pure #"Same "
|
||||
_prim_string_concat $ "idr_Main.{main_2}1.40.19.arity.1.0" unboxed.CGrString.9.0
|
||||
(C"idr_{U_Main.{main_3}_1}") ->
|
||||
"idr_Main.{main_3}3_val.0" <- pure (C"idr_{U_prim__toStrBigInt_1}")
|
||||
"idr_Main.{main_3}3.0" <- store "idr_Main.{main_3}3_val.0"
|
||||
"idr_Main.{main_3}5_val.0" <- pure (CGrInt 3)
|
||||
"idr_Main.{main_3}5.0" <- store "idr_Main.{main_3}5_val.0"
|
||||
unboxed.CGrString.10.0 <- idr_Prelude.Show.primNumShow.unboxed $ "idr_Main.{main_3}5.0"
|
||||
"idr_Main.{main_3}1.40.21.arity.1.0" <- pure #"Same "
|
||||
_prim_string_concat $ "idr_Main.{main_3}1.40.21.arity.1.0" unboxed.CGrString.10.0
|
||||
(C"idr_{U_Main.{main_5}_1}") ->
|
||||
"idr_Main.{main_5}0_val.0" <- fetch idr_Prelude.Interactive.printLn'3
|
||||
case "idr_Main.{main_5}0_val.0" of
|
||||
(Cidr_Prelude.Bool.False) ->
|
||||
pure #"False"
|
||||
(Cidr_Prelude.Bool.True) ->
|
||||
pure #"True"
|
||||
idr_Prelude.Interactive.printLn'6.40.14.arity.1 <- pure #"\n"
|
||||
idris_str_concat3.5 <- _prim_string_concat $ ccp.0 idr_Prelude.Interactive.printLn'6.40.14.arity.1
|
||||
_prim_string_print $ idris_str_concat3.5
|
||||
pure (Cidr_MkUnit)
|
BIN
bugs/cse/bug01/035.CommonSubExpressionElimination.binary
Normal file
BIN
bugs/cse/bug01/035.CommonSubExpressionElimination.binary
Normal file
Binary file not shown.
305
bugs/cse/bug01/035.CommonSubExpressionElimination.grin
Normal file
305
bugs/cse/bug01/035.CommonSubExpressionElimination.grin
Normal file
@ -0,0 +1,305 @@
|
||||
primop effectful
|
||||
_prim_int_print :: T_Int64 -> T_Unit
|
||||
_prim_string_print :: T_String -> T_Unit
|
||||
_prim_read_string :: T_String
|
||||
_prim_usleep :: T_Int64 -> T_Unit
|
||||
_prim_error :: T_String -> T_Unit
|
||||
_prim_ffi_file_eof :: T_Int64 -> T_Int64
|
||||
|
||||
primop pure
|
||||
_prim_string_concat :: T_String -> T_String -> T_String
|
||||
_prim_string_reverse :: T_String -> T_String
|
||||
_prim_string_lt :: T_String -> T_String -> T_Bool
|
||||
_prim_string_eq :: T_String -> T_String -> T_Bool
|
||||
_prim_string_head :: T_String -> T_Int64
|
||||
_prim_string_tail :: T_String -> T_String
|
||||
_prim_string_cons :: T_Int64 -> T_String -> T_String
|
||||
_prim_string_len :: T_String -> T_Int64
|
||||
_prim_int_str :: T_Int64 -> T_String
|
||||
_prim_str_int :: T_String -> T_Int64
|
||||
_prim_int_float :: T_Int64 -> T_Float
|
||||
_prim_float_string :: T_Float -> T_String
|
||||
_prim_char_int :: T_Char -> T_Int64
|
||||
_prim_int_add :: T_Int64 -> T_Int64 -> T_Int64
|
||||
_prim_int_sub :: T_Int64 -> T_Int64 -> T_Int64
|
||||
_prim_int_mul :: T_Int64 -> T_Int64 -> T_Int64
|
||||
_prim_int_div :: T_Int64 -> T_Int64 -> T_Int64
|
||||
_prim_int_eq :: T_Int64 -> T_Int64 -> T_Bool
|
||||
_prim_int_ne :: T_Int64 -> T_Int64 -> T_Bool
|
||||
_prim_int_gt :: T_Int64 -> T_Int64 -> T_Bool
|
||||
_prim_int_ge :: T_Int64 -> T_Int64 -> T_Bool
|
||||
_prim_int_lt :: T_Int64 -> T_Int64 -> T_Bool
|
||||
_prim_int_le :: T_Int64 -> T_Int64 -> T_Bool
|
||||
_prim_word_add :: T_Word64 -> T_Word64 -> T_Word64
|
||||
_prim_word_sub :: T_Word64 -> T_Word64 -> T_Word64
|
||||
_prim_word_mul :: T_Word64 -> T_Word64 -> T_Word64
|
||||
_prim_word_div :: T_Word64 -> T_Word64 -> T_Word64
|
||||
_prim_word_eq :: T_Word64 -> T_Word64 -> T_Bool
|
||||
_prim_word_ne :: T_Word64 -> T_Word64 -> T_Bool
|
||||
_prim_word_gt :: T_Word64 -> T_Word64 -> T_Bool
|
||||
_prim_word_ge :: T_Word64 -> T_Word64 -> T_Bool
|
||||
_prim_word_lt :: T_Word64 -> T_Word64 -> T_Bool
|
||||
_prim_word_le :: T_Word64 -> T_Word64 -> T_Bool
|
||||
_prim_float_add :: T_Float -> T_Float -> T_Float
|
||||
_prim_float_sub :: T_Float -> T_Float -> T_Float
|
||||
_prim_float_mul :: T_Float -> T_Float -> T_Float
|
||||
_prim_float_div :: T_Float -> T_Float -> T_Float
|
||||
_prim_float_eq :: T_Float -> T_Float -> T_Bool
|
||||
_prim_float_ne :: T_Float -> T_Float -> T_Bool
|
||||
_prim_float_gt :: T_Float -> T_Float -> T_Bool
|
||||
_prim_float_ge :: T_Float -> T_Float -> T_Bool
|
||||
_prim_float_lt :: T_Float -> T_Float -> T_Bool
|
||||
_prim_float_le :: T_Float -> T_Float -> T_Bool
|
||||
_prim_bool_eq :: T_Bool -> T_Bool -> T_Bool
|
||||
_prim_bool_ne :: T_Bool -> T_Bool -> T_Bool
|
||||
|
||||
grinMain =
|
||||
idr_Main.main3_val.0 <- pure (C"idr_{U_Main.{main_1}_1}")
|
||||
idr_Main.main3.0 <- store idr_Main.main3_val.0
|
||||
idr_Main.main4_val.0 <- pure (Cidr_Main.Same)
|
||||
idr_Main.main4.0 <- store idr_Main.main4_val.0
|
||||
idr_Main.main1_val.0 <- idr_Prelude.Interactive.printLn' $ idr_Main.main3.0 idr_Main.main4.0
|
||||
idr_Main.main4_val_125.0 <- pure (C"idr_{U_Main.{main_2}_1}")
|
||||
idr_Main.main4_126.0 <- store idr_Main.main4_val_125.0
|
||||
idr_Main.main5.0 <- pure idr_Main.main4.0
|
||||
idr_Main.main2_val_120.0 <- idr_Prelude.Interactive.printLn' $ idr_Main.main4_126.0 idr_Main.main4.0
|
||||
idr_Main.main5_val_133.0 <- pure (C"idr_{U_Main.{main_3}_1}")
|
||||
idr_Main.main5_134.0 <- store idr_Main.main5_val_133.0
|
||||
idr_Main.main6.0 <- pure idr_Main.main4.0
|
||||
idr_Main.main3_val_128.0 <- idr_Prelude.Interactive.printLn' $ idr_Main.main5_134.0 idr_Main.main4.0
|
||||
idr_Main.main6_142.0 <- pure idr_Main.main3.0
|
||||
idr_Main.main7.0 <- pure idr_Main.main4.0
|
||||
idr_Main.main4_val_136.0 <- pure idr_Main.main1_val.0
|
||||
idr_Main.main7_val_149.0 <- pure (C"idr_{U_Main.{main_5}_1}")
|
||||
idr_Main.main7_150.0 <- store idr_Main.main7_val_149.0
|
||||
idr_Main.main11_val.0 <- pure (Cidr_Main.::)
|
||||
idr_Main.main11.0 <- store idr_Main.main11_val.0
|
||||
idr_Main.main9.0.58.0.arity.1 <- pure 2
|
||||
idr_Main.main10.0.58.0.arity.1 <- pure idr_Main.main9.0.58.0.arity.1
|
||||
idr_Main.exactLength4_val.0 <- idr_Main.checkEqNat $ idr_Main.main9.0.58.0.arity.1 idr_Main.main9.0.58.0.arity.1
|
||||
idr_Main.main8_val_151.0 <- case idr_Main.exactLength4_val.0 of
|
||||
(Cidr_Prelude.Maybe.Just idr_Main.exactLength5.0) ->
|
||||
pure (Cidr_Prelude.Maybe.Just idr_Main.main11.0)
|
||||
(Cidr_Prelude.Maybe.Nothing) ->
|
||||
pure (Cidr_Prelude.Maybe.Nothing)
|
||||
idr_Main.main8_val.0 <- case idr_Main.main8_val_151.0 of
|
||||
(Cidr_Prelude.Maybe.Just idr_Main.main9_155.0) ->
|
||||
pure (Cidr_Prelude.Bool.True)
|
||||
(Cidr_Prelude.Maybe.Nothing) ->
|
||||
pure (Cidr_Prelude.Bool.False)
|
||||
idr_Main.main8_156.0 <- store idr_Main.main8_val.0
|
||||
idr_Main.main5_val_144.0 <- idr_Prelude.Interactive.printLn' $ idr_Main.main7_150.0 idr_Main.main8_156.0
|
||||
idr_Main.main8_164.0 <- pure idr_Main.main7_150.0
|
||||
idr_Main.main9_168.49.3.arity.1.0 <- pure 10
|
||||
idr_Main.main10_170.49.3.arity.1.0 <- pure idr_Main.main9_168.49.3.arity.1.0
|
||||
idr_Main.main9_val_166.0 <- idr_Main.checkEqNat2 $ idr_Main.main9_168.49.3.arity.1.0 idr_Main.main9_168.49.3.arity.1.0
|
||||
idr_Main.main9_val_165.0 <- case idr_Main.main9_val_166.0 of
|
||||
(Cidr_Prelude.Maybe.Just idr_Main.main10_173.0) ->
|
||||
pure (Cidr_Prelude.Bool.True)
|
||||
(Cidr_Prelude.Maybe.Nothing) ->
|
||||
pure (Cidr_Prelude.Bool.False)
|
||||
idr_Main.main9_174.0 <- store idr_Main.main9_val_165.0
|
||||
idr_Main.main6_val_158.0 <- idr_Prelude.Interactive.printLn' $ idr_Main.main7_150.0 idr_Main.main9_174.0
|
||||
idr_Main.main9_181.0 <- pure idr_Main.main7_150.0
|
||||
idr_Main.main10_185.49.4.arity.1.0 <- pure idr_Main.main9_168.49.3.arity.1.0
|
||||
idr_Main.main11_187.49.4.arity.1.0 <- pure 9
|
||||
idr_Main.main10_val_183.0 <- idr_Main.checkEqNat2 $ idr_Main.main9_168.49.3.arity.1.0 idr_Main.main11_187.49.4.arity.1.0
|
||||
idr_Main.main10_val_182.0 <- case idr_Main.main10_val_183.0 of
|
||||
(Cidr_Prelude.Maybe.Just idr_Main.main11_190.0) ->
|
||||
pure (Cidr_Prelude.Bool.False)
|
||||
(Cidr_Prelude.Maybe.Nothing) ->
|
||||
pure (Cidr_Prelude.Bool.True)
|
||||
idr_Main.main10_191.0 <- store idr_Main.main10_val_182.0
|
||||
"idr_{runMain_0}0_val.0" <- idr_Prelude.Interactive.printLn' $ idr_Main.main7_150.0 idr_Main.main10_191.0
|
||||
pure ()
|
||||
|
||||
idr_Main.checkEqNat idr_Main.checkEqNat0.49.arity.1 idr_Main.checkEqNat1.49.arity.1 =
|
||||
case idr_Main.checkEqNat1.49.arity.1 of
|
||||
0 ->
|
||||
case idr_Main.checkEqNat0.49.arity.1 of
|
||||
0 ->
|
||||
idr_Main.checkEqNat2_val <- pure (Cidr_Main.Same)
|
||||
idr_Main.checkEqNat2_2 <- store idr_Main.checkEqNat2_val
|
||||
pure (Cidr_Prelude.Maybe.Just idr_Main.checkEqNat2_2)
|
||||
#default ->
|
||||
pure (Cidr_Prelude.Maybe.Nothing)
|
||||
#default ->
|
||||
idr_Main.checkEqNat2_13.40.1.arity.1 <- pure 1
|
||||
idris_int_sub2.1 <- _prim_int_sub $ idr_Main.checkEqNat1.49.arity.1 idr_Main.checkEqNat2_13.40.1.arity.1
|
||||
case idr_Main.checkEqNat0.49.arity.1 of
|
||||
0 ->
|
||||
pure (Cidr_Prelude.Maybe.Nothing)
|
||||
#default ->
|
||||
idr_Main.checkEqNat3.40.2.arity.1 <- pure idr_Main.checkEqNat2_13.40.1.arity.1
|
||||
idris_int_sub2.2 <- _prim_int_sub $ idr_Main.checkEqNat0.49.arity.1 idr_Main.checkEqNat2_13.40.1.arity.1
|
||||
idr_Main.checkEqNat4_val <- idr_Main.checkEqNat $ idris_int_sub2.2 idris_int_sub2.1
|
||||
case idr_Main.checkEqNat4_val of
|
||||
(Cidr_Prelude.Maybe.Just idr_Main.checkEqNat5) ->
|
||||
idr_Main.checkEqNat6_val <- pure (Cidr_Main.Same)
|
||||
idr_Main.checkEqNat6 <- store idr_Main.checkEqNat6_val
|
||||
pure (Cidr_Prelude.Maybe.Just idr_Main.checkEqNat6)
|
||||
(Cidr_Prelude.Maybe.Nothing) ->
|
||||
pure (Cidr_Prelude.Maybe.Nothing)
|
||||
|
||||
idr_Main.checkEqNat2 idr_Main.checkEqNat20.49.arity.1 idr_Main.checkEqNat21.49.arity.1 =
|
||||
case idr_Main.checkEqNat21.49.arity.1 of
|
||||
0 ->
|
||||
case idr_Main.checkEqNat20.49.arity.1 of
|
||||
0 ->
|
||||
idr_Main.checkEqNat22_val <- pure (Cidr_Refl)
|
||||
idr_Main.checkEqNat22 <- store idr_Main.checkEqNat22_val
|
||||
pure (Cidr_Prelude.Maybe.Just idr_Main.checkEqNat22)
|
||||
#default ->
|
||||
pure (Cidr_Prelude.Maybe.Nothing)
|
||||
#default ->
|
||||
idr_Main.checkEqNat22_67.40.4.arity.1 <- pure 1
|
||||
idris_int_sub2.4 <- _prim_int_sub $ idr_Main.checkEqNat21.49.arity.1 idr_Main.checkEqNat22_67.40.4.arity.1
|
||||
case idr_Main.checkEqNat20.49.arity.1 of
|
||||
0 ->
|
||||
pure (Cidr_Prelude.Maybe.Nothing)
|
||||
#default ->
|
||||
idr_Main.checkEqNat23.40.5.arity.1 <- pure idr_Main.checkEqNat22_67.40.4.arity.1
|
||||
idris_int_sub2.5 <- _prim_int_sub $ idr_Main.checkEqNat20.49.arity.1 idr_Main.checkEqNat22_67.40.4.arity.1
|
||||
idr_Main.checkEqNat27_val <- idr_Main.checkEqNat2 $ idris_int_sub2.5 idris_int_sub2.4
|
||||
"idr_Prelude.Functor.Prelude.@Prelude.Functor.Functor$Maybe:!map:03_val.0" <- pure idr_Main.checkEqNat27_val
|
||||
case idr_Main.checkEqNat27_val of
|
||||
(Cidr_Prelude.Maybe.Just "idr_Prelude.Functor.Prelude.@Prelude.Functor.Functor$Maybe:!map:04.0") ->
|
||||
"idr_Prelude.Functor.Prelude.@Prelude.Functor.Functor$Maybe:!map:05_val.0" <- pure (Cidr_Refl)
|
||||
"idr_Prelude.Functor.Prelude.@Prelude.Functor.Functor$Maybe:!map:05.0" <- store "idr_Prelude.Functor.Prelude.@Prelude.Functor.Functor$Maybe:!map:05_val.0"
|
||||
pure (Cidr_Prelude.Maybe.Just "idr_Prelude.Functor.Prelude.@Prelude.Functor.Functor$Maybe:!map:05.0")
|
||||
(Cidr_Prelude.Maybe.Nothing) ->
|
||||
pure idr_Main.checkEqNat27_val
|
||||
|
||||
idr_Prelude.Show.primNumShow.unboxed idr_Prelude.Show.primNumShow3 =
|
||||
(CGrInt idr_prim__toStrBigInt0.40.13.arity.1.0) <- fetch idr_Prelude.Show.primNumShow3
|
||||
idris_int_str2.0 <- _prim_int_str $ idr_prim__toStrBigInt0.40.13.arity.1.0
|
||||
ccp.3 <- pure 0
|
||||
idr_Prelude.Show.primNumShow5_val_194 <- pure (CGrInt ccp.3)
|
||||
idr_Prelude.Show.primNumShow6_val <- pure (CGrInt 5)
|
||||
"idr_Prelude.Interfaces.Prelude.Interfaces.@Prelude.Interfaces.Ord$Integer:!compare:00.40.22.arity.1.0" <- pure ccp.3
|
||||
"idr_Prelude.Interfaces.Prelude.Interfaces.@Prelude.Interfaces.Ord$Integer:!compare:01.40.22.arity.1.0" <- pure 5
|
||||
idris_int_eq2.0 <- _prim_int_eq $ ccp.3 "idr_Prelude.Interfaces.Prelude.Interfaces.@Prelude.Interfaces.Ord$Integer:!compare:01.40.22.arity.1.0"
|
||||
ccp.0.0 <- case idris_int_eq2.0 of
|
||||
#False ->
|
||||
pure ccp.3
|
||||
#True ->
|
||||
pure 1
|
||||
idr_Prelude.Show.primNumShow5_val_193 <- case ccp.0.0 of
|
||||
0 ->
|
||||
idris_int_lt2.0 <- _prim_int_lt $ ccp.3 "idr_Prelude.Interfaces.Prelude.Interfaces.@Prelude.Interfaces.Ord$Integer:!compare:01.40.22.arity.1.0"
|
||||
ccp.1.0 <- case idris_int_lt2.0 of
|
||||
#False ->
|
||||
pure ccp.0.0
|
||||
#True ->
|
||||
pure 1
|
||||
case ccp.1.0 of
|
||||
0 ->
|
||||
pure (Cidr_Prelude.Interfaces.GT)
|
||||
#default ->
|
||||
pure (Cidr_Prelude.Interfaces.LT)
|
||||
#default ->
|
||||
pure (Cidr_Prelude.Interfaces.EQ)
|
||||
idr_Prelude.Show.primNumShow5_val_192 <- case idr_Prelude.Show.primNumShow5_val_193 of
|
||||
(Cidr_Prelude.Interfaces.GT) ->
|
||||
pure (Cidr_Prelude.Bool.True)
|
||||
#default ->
|
||||
ccp.4 <- pure ccp.3
|
||||
idr_Prelude.Show.primNumShow7.40.6.arity.1 <- pure "idr_Prelude.Interfaces.Prelude.Interfaces.@Prelude.Interfaces.Ord$Integer:!compare:01.40.22.arity.1.0"
|
||||
idris_int_eq2.1 <- _prim_int_eq $ ccp.3 idr_Prelude.Show.primNumShow7.40.6.arity.1
|
||||
ccp.0.1 <- case idris_int_eq2.1 of
|
||||
#False ->
|
||||
pure ccp.3
|
||||
#True ->
|
||||
pure 1
|
||||
case ccp.0.1 of
|
||||
0 ->
|
||||
pure (Cidr_Prelude.Bool.False)
|
||||
#default ->
|
||||
pure (Cidr_Prelude.Bool.True)
|
||||
idr_Prelude.Show.primNumShow5_val <- case idr_Prelude.Show.primNumShow5_val_192 of
|
||||
(Cidr_Prelude.Bool.False) ->
|
||||
pure (Cidr_Prelude.Bool.False)
|
||||
(Cidr_Prelude.Bool.True) ->
|
||||
idr_Prelude.Show.primNumShow6_209.40.7.arity.1 <- pure #""
|
||||
idris_str_eq3.0 <- _prim_string_eq $ idris_int_str2.0 idr_Prelude.Show.primNumShow6_209.40.7.arity.1
|
||||
ccp.2.0 <- case idris_str_eq3.0 of
|
||||
#False ->
|
||||
pure ccp.3
|
||||
#True ->
|
||||
pure 1
|
||||
idr_Prelude.Show.primNumShow6_val_206 <- case ccp.2.0 of
|
||||
0 ->
|
||||
pure (Cidr_Prelude.Bool.True)
|
||||
#default ->
|
||||
pure (Cidr_Prelude.Bool.False)
|
||||
idr_Prelude.Show.primNumShow7_val_214 <- pure (Cidr_Prelude.Bool.True)
|
||||
"idr_Decidable.Equality.Decidable.Equality.@Decidable.Equality.DecEq$Bool:!decEq:00_val_246.0" <- pure idr_Prelude.Show.primNumShow6_val_206
|
||||
idr_Prelude.Show.primNumShow6_val_205 <- case idr_Prelude.Show.primNumShow6_val_206 of
|
||||
(Cidr_Prelude.Bool.False) ->
|
||||
pure (Cidr_Prelude.Basics.No)
|
||||
(Cidr_Prelude.Bool.True) ->
|
||||
pure (Cidr_Prelude.Basics.Yes)
|
||||
case idr_Prelude.Show.primNumShow6_val_205 of
|
||||
(Cidr_Prelude.Basics.No) ->
|
||||
pure (Cidr_Prelude.Bool.False)
|
||||
(Cidr_Prelude.Basics.Yes) ->
|
||||
idris_str_head2.0 <- _prim_string_head $ idris_int_str2.0
|
||||
idr_Prelude.Show.primNumShow8.40.10.arity.1 <- pure 45
|
||||
idris_int_eq2.2 <- _prim_int_eq $ idris_str_head2.0 idr_Prelude.Show.primNumShow8.40.10.arity.1
|
||||
ccp.0.2 <- case idris_int_eq2.2 of
|
||||
#False ->
|
||||
pure ccp.3
|
||||
#True ->
|
||||
pure 1
|
||||
case ccp.0.2 of
|
||||
0 ->
|
||||
pure (Cidr_Prelude.Bool.False)
|
||||
#default ->
|
||||
pure idr_Prelude.Show.primNumShow7_val_214
|
||||
case idr_Prelude.Show.primNumShow5_val of
|
||||
(Cidr_Prelude.Bool.False) ->
|
||||
pure idris_int_str2.0
|
||||
(Cidr_Prelude.Bool.True) ->
|
||||
idr_Prelude.Show.primNumShow7_230.40.11.arity.1 <- pure #")"
|
||||
idris_str_concat3.0 <- _prim_string_concat $ idris_int_str2.0 idr_Prelude.Show.primNumShow7_230.40.11.arity.1
|
||||
idr_Prelude.Show.primNumShow6_227.40.12.arity.1 <- pure #"("
|
||||
_prim_string_concat $ idr_Prelude.Show.primNumShow6_227.40.12.arity.1 idris_str_concat3.0
|
||||
|
||||
idr_Prelude.Interactive.printLn' idr_Prelude.Interactive.printLn'2 idr_Prelude.Interactive.printLn'3 =
|
||||
"idr_{APPLY_0}0_val.1" <- fetch idr_Prelude.Interactive.printLn'2
|
||||
ccp.0 <- case "idr_{APPLY_0}0_val.1" of
|
||||
(C"idr_{U_Main.{main_1}_1}") ->
|
||||
"idr_Main.{main_1}3_val.0" <- pure (C"idr_{U_prim__toStrBigInt_1}")
|
||||
"idr_Main.{main_1}3.0" <- store "idr_Main.{main_1}3_val.0"
|
||||
"idr_Main.{main_1}5_val.0" <- pure (CGrInt 4)
|
||||
"idr_Main.{main_1}5.0" <- store "idr_Main.{main_1}5_val.0"
|
||||
unboxed.CGrString.8.0 <- idr_Prelude.Show.primNumShow.unboxed $ "idr_Main.{main_1}5.0"
|
||||
"idr_Main.{main_1}1.40.17.arity.1.0" <- pure #"Same "
|
||||
_prim_string_concat $ "idr_Main.{main_1}1.40.17.arity.1.0" unboxed.CGrString.8.0
|
||||
(C"idr_{U_Main.{main_2}_1}") ->
|
||||
"idr_Main.{main_2}3_val.0" <- pure (C"idr_{U_prim__toStrBigInt_1}")
|
||||
"idr_Main.{main_2}3.0" <- store "idr_Main.{main_2}3_val.0"
|
||||
"idr_Main.{main_2}5_val.0" <- pure (CGrInt 5)
|
||||
"idr_Main.{main_2}5.0" <- store "idr_Main.{main_2}5_val.0"
|
||||
unboxed.CGrString.9.0 <- idr_Prelude.Show.primNumShow.unboxed $ "idr_Main.{main_2}5.0"
|
||||
"idr_Main.{main_2}1.40.19.arity.1.0" <- pure #"Same "
|
||||
_prim_string_concat $ "idr_Main.{main_2}1.40.19.arity.1.0" unboxed.CGrString.9.0
|
||||
(C"idr_{U_Main.{main_3}_1}") ->
|
||||
"idr_Main.{main_3}3_val.0" <- pure (C"idr_{U_prim__toStrBigInt_1}")
|
||||
"idr_Main.{main_3}3.0" <- store "idr_Main.{main_3}3_val.0"
|
||||
"idr_Main.{main_3}5_val.0" <- pure (CGrInt 3)
|
||||
"idr_Main.{main_3}5.0" <- store "idr_Main.{main_3}5_val.0"
|
||||
unboxed.CGrString.10.0 <- idr_Prelude.Show.primNumShow.unboxed $ "idr_Main.{main_3}5.0"
|
||||
"idr_Main.{main_3}1.40.21.arity.1.0" <- pure #"Same "
|
||||
_prim_string_concat $ "idr_Main.{main_3}1.40.21.arity.1.0" unboxed.CGrString.10.0
|
||||
(C"idr_{U_Main.{main_5}_1}") ->
|
||||
"idr_Main.{main_5}0_val.0" <- fetch idr_Prelude.Interactive.printLn'3
|
||||
case "idr_Main.{main_5}0_val.0" of
|
||||
(Cidr_Prelude.Bool.False) ->
|
||||
pure #"False"
|
||||
(Cidr_Prelude.Bool.True) ->
|
||||
pure #"True"
|
||||
idr_Prelude.Interactive.printLn'6.40.14.arity.1 <- pure #"\n"
|
||||
idris_str_concat3.5 <- _prim_string_concat $ ccp.0 idr_Prelude.Interactive.printLn'6.40.14.arity.1
|
||||
_prim_string_print $ idris_str_concat3.5
|
||||
pure (Cidr_MkUnit)
|
16
bugs/cse/bug01/how-to-reproduce.txt
Normal file
16
bugs/cse/bug01/how-to-reproduce.txt
Normal file
@ -0,0 +1,16 @@
|
||||
euler% stack exec grin -- ./bugs/cse/bug01/034.SimpleDeadParameterElimination.binary --load-binary --eval --quiet
|
||||
Same 4
|
||||
Same 5
|
||||
Same 3
|
||||
Same 4
|
||||
True
|
||||
True
|
||||
True
|
||||
euler% stack exec grin -- ./bugs/cse/bug01/034.SimpleDeadParameterElimination.binary --load-binary --hpt --cse --eval --quiet
|
||||
Same 4
|
||||
Same 5
|
||||
Same 3
|
||||
True
|
||||
True
|
||||
True
|
||||
euler%
|
Loading…
Reference in New Issue
Block a user