diff options
Diffstat (limited to 'testsuite/tests/stranal/should_compile')
-rw-r--r-- | testsuite/tests/stranal/should_compile/T10482.hs | 2 | ||||
-rw-r--r-- | testsuite/tests/stranal/should_compile/T10482.stderr | 153 | ||||
-rw-r--r-- | testsuite/tests/stranal/should_compile/T10482a.stderr | 257 | ||||
-rw-r--r-- | testsuite/tests/stranal/should_compile/T10694.stderr | 24 | ||||
-rw-r--r-- | testsuite/tests/stranal/should_compile/T18894.stderr | 121 | ||||
-rw-r--r-- | testsuite/tests/stranal/should_compile/T18903.stderr | 65 |
6 files changed, 308 insertions, 314 deletions
diff --git a/testsuite/tests/stranal/should_compile/T10482.hs b/testsuite/tests/stranal/should_compile/T10482.hs index ef7c29c4be..d9bbe8bd8b 100644 --- a/testsuite/tests/stranal/should_compile/T10482.hs +++ b/testsuite/tests/stranal/should_compile/T10482.hs @@ -11,4 +11,4 @@ foo !f k = if k == 0 then 0 else if even k then foo f (k-1) else case f of - FooPair (FooPair (Foo n) _) _ -> n + FooPair (FooPair (Foo n) _) _ -> n+1 -- +1 so that we'll unbox diff --git a/testsuite/tests/stranal/should_compile/T10482.stderr b/testsuite/tests/stranal/should_compile/T10482.stderr index 387fca39de..ae512dcbe1 100644 --- a/testsuite/tests/stranal/should_compile/T10482.stderr +++ b/testsuite/tests/stranal/should_compile/T10482.stderr @@ -1,27 +1,27 @@ ==================== Tidy Core ==================== -Result size of Tidy Core = {terms: 167, types: 116, coercions: 15, joins: 0/0} +Result size of Tidy Core = {terms: 171, types: 112, coercions: 15, joins: 0/0} --- RHS size: {terms: 13, types: 14, coercions: 4, joins: 0/0} +-- RHS size: {terms: 13, types: 12, coercions: 4, joins: 0/0} T10482.$WFooPair [InlPrag=INLINE[final] CONLIKE] :: forall a b. Foo a %1 -> Foo b %1 -> Foo (a, b) [GblId[DataConWrapper], Arity=2, Caf=NoCafRefs, - Str=<S,U><S,U>, - Cpr=m1, + Str=<SL><SL>, + Cpr=1, Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=2,unsat_ok=True,boring_ok=False) - Tmpl= \ (@a_atI) (@b_atJ) (dt_aSX [Occ=Once1] :: Foo a_atI) (dt_aSY [Occ=Once1] :: Foo b_atJ) -> - (case dt_aSX of dt_X0 [Occ=Once1] { __DEFAULT -> - case dt_aSY of dt_X1 [Occ=Once1] { __DEFAULT -> T10482.FooPair @a_atI @b_atJ dt_X0 dt_X1 } + Tmpl= \ (@a_au1) (@b_au2) (dt_aTh [Occ=Once1] :: Foo a_au1) (dt_aTi [Occ=Once1] :: Foo b_au2) -> + (case dt_aTh of dt_X0 [Occ=Once1] { __DEFAULT -> + case dt_aTi of dt_X1 [Occ=Once1] { __DEFAULT -> T10482.FooPair @a_au1 @b_au2 dt_X0 dt_X1 } }) - `cast` (Sym (T10482.D:R:Foo(,)0[0] <a_atI>_N <b_atJ>_N) :: T10482.R:Foo(,) a_atI b_atJ ~R# Foo (a_atI, b_atJ))}] + `cast` (Sym (T10482.D:R:Foo(,)0[0] <a_au1>_N <b_au2>_N) :: T10482.R:Foo(,) a_au1 b_au2 ~R# Foo (a_au1, b_au2))}] T10482.$WFooPair - = \ (@a_atI) (@b_atJ) (dt_aSX [Occ=Once1] :: Foo a_atI) (dt_aSY [Occ=Once1] :: Foo b_atJ) -> - (case dt_aSX of dt_X0 [Occ=Once1] { __DEFAULT -> - case dt_aSY of dt_X1 [Occ=Once1] { __DEFAULT -> T10482.FooPair @a_atI @b_atJ dt_X0 dt_X1 } + = \ (@a_au1) (@b_au2) (dt_aTh [Occ=Once1] :: Foo a_au1) (dt_aTi [Occ=Once1] :: Foo b_au2) -> + (case dt_aTh of dt_X0 [Occ=Once1] { __DEFAULT -> + case dt_aTi of dt_X1 [Occ=Once1] { __DEFAULT -> T10482.FooPair @a_au1 @b_au2 dt_X0 dt_X1 } }) - `cast` (Sym (T10482.D:R:Foo(,)0[0] <a_atI>_N <b_atJ>_N) :: T10482.R:Foo(,) a_atI b_atJ ~R# Foo (a_atI, b_atJ)) + `cast` (Sym (T10482.D:R:Foo(,)0[0] <a_au1>_N <b_au2>_N) :: T10482.R:Foo(,) a_au1 b_au2 ~R# Foo (a_au1, b_au2)) -- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} T10482.$trModule4 :: GHC.Prim.Addr# @@ -49,34 +49,34 @@ T10482.$trModule :: GHC.Types.Module T10482.$trModule = GHC.Types.Module T10482.$trModule3 T10482.$trModule1 -- RHS size: {terms: 3, types: 1, coercions: 0, joins: 0/0} -$krep_r12A :: GHC.Types.KindRep +$krep_r11Y :: GHC.Types.KindRep [GblId, Unf=OtherCon []] -$krep_r12A = GHC.Types.KindRepTyConApp GHC.Types.$tcInt (GHC.Types.[] @GHC.Types.KindRep) +$krep_r11Y = GHC.Types.KindRepTyConApp GHC.Types.$tcInt (GHC.Types.[] @GHC.Types.KindRep) -- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0} -$krep1_r12B :: GHC.Types.KindRep +$krep1_r11Z :: GHC.Types.KindRep [GblId, Unf=OtherCon []] -$krep1_r12B = GHC.Types.KindRepVar 1# +$krep1_r11Z = GHC.Types.KindRepVar 1# -- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0} -$krep2_r12C :: GHC.Types.KindRep +$krep2_r120 :: GHC.Types.KindRep [GblId, Unf=OtherCon []] -$krep2_r12C = GHC.Types.KindRepVar 0# +$krep2_r120 = GHC.Types.KindRepVar 0# -- RHS size: {terms: 3, types: 2, coercions: 0, joins: 0/0} -$krep3_r12D :: [GHC.Types.KindRep] +$krep3_r121 :: [GHC.Types.KindRep] [GblId, Unf=OtherCon []] -$krep3_r12D = GHC.Types.: @GHC.Types.KindRep $krep1_r12B (GHC.Types.[] @GHC.Types.KindRep) +$krep3_r121 = GHC.Types.: @GHC.Types.KindRep $krep1_r11Z (GHC.Types.[] @GHC.Types.KindRep) -- RHS size: {terms: 3, types: 1, coercions: 0, joins: 0/0} -$krep4_r12E :: [GHC.Types.KindRep] +$krep4_r122 :: [GHC.Types.KindRep] [GblId, Unf=OtherCon []] -$krep4_r12E = GHC.Types.: @GHC.Types.KindRep $krep2_r12C $krep3_r12D +$krep4_r122 = GHC.Types.: @GHC.Types.KindRep $krep2_r120 $krep3_r121 -- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0} -$krep5_r12F :: GHC.Types.KindRep +$krep5_r123 :: GHC.Types.KindRep [GblId, Unf=OtherCon []] -$krep5_r12F = GHC.Types.KindRepTyConApp GHC.Tuple.$tc(,) $krep4_r12E +$krep5_r123 = GHC.Types.KindRepTyConApp GHC.Tuple.$tc(,) $krep4_r122 -- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} T10482.$tcFoo2 :: GHC.Prim.Addr# @@ -94,54 +94,54 @@ T10482.$tcFoo :: GHC.Types.TyCon T10482.$tcFoo = GHC.Types.TyCon 3311038889639791302## 7944995683507700778## T10482.$trModule T10482.$tcFoo1 0# GHC.Types.krep$*Arr* -- RHS size: {terms: 3, types: 2, coercions: 0, joins: 0/0} -$krep6_r12G :: [GHC.Types.KindRep] +$krep6_r124 :: [GHC.Types.KindRep] [GblId, Unf=OtherCon []] -$krep6_r12G = GHC.Types.: @GHC.Types.KindRep $krep2_r12C (GHC.Types.[] @GHC.Types.KindRep) +$krep6_r124 = GHC.Types.: @GHC.Types.KindRep $krep2_r120 (GHC.Types.[] @GHC.Types.KindRep) -- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0} -$krep7_r12H :: GHC.Types.KindRep +$krep7_r125 :: GHC.Types.KindRep [GblId, Unf=OtherCon []] -$krep7_r12H = GHC.Types.KindRepTyConApp T10482.$tcFoo $krep6_r12G +$krep7_r125 = GHC.Types.KindRepTyConApp T10482.$tcFoo $krep6_r124 -- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0} -$krep8_r12I :: GHC.Types.KindRep +$krep8_r126 :: GHC.Types.KindRep [GblId, Unf=OtherCon []] -$krep8_r12I = GHC.Types.KindRepTyConApp T10482.$tcFoo $krep3_r12D +$krep8_r126 = GHC.Types.KindRepTyConApp T10482.$tcFoo $krep3_r121 -- RHS size: {terms: 3, types: 2, coercions: 0, joins: 0/0} -$krep9_r12J :: [GHC.Types.KindRep] +$krep9_r127 :: [GHC.Types.KindRep] [GblId, Unf=OtherCon []] -$krep9_r12J = GHC.Types.: @GHC.Types.KindRep $krep5_r12F (GHC.Types.[] @GHC.Types.KindRep) +$krep9_r127 = GHC.Types.: @GHC.Types.KindRep $krep5_r123 (GHC.Types.[] @GHC.Types.KindRep) -- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0} -$krep10_r12K :: GHC.Types.KindRep +$krep10_r128 :: GHC.Types.KindRep [GblId, Unf=OtherCon []] -$krep10_r12K = GHC.Types.KindRepTyConApp T10482.$tcFoo $krep9_r12J +$krep10_r128 = GHC.Types.KindRepTyConApp T10482.$tcFoo $krep9_r127 -- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0} -$krep11_r12L :: GHC.Types.KindRep +$krep11_r129 :: GHC.Types.KindRep [GblId, Unf=OtherCon []] -$krep11_r12L = GHC.Types.KindRepFun $krep8_r12I $krep10_r12K +$krep11_r129 = GHC.Types.KindRepFun $krep8_r126 $krep10_r128 -- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0} T10482.$tc'FooPair1 [InlPrag=[~]] :: GHC.Types.KindRep [GblId, Unf=OtherCon []] -T10482.$tc'FooPair1 = GHC.Types.KindRepFun $krep7_r12H $krep11_r12L +T10482.$tc'FooPair1 = GHC.Types.KindRepFun $krep7_r125 $krep11_r129 -- RHS size: {terms: 3, types: 2, coercions: 0, joins: 0/0} -$krep12_r12M :: [GHC.Types.KindRep] +$krep12_r12a :: [GHC.Types.KindRep] [GblId, Unf=OtherCon []] -$krep12_r12M = GHC.Types.: @GHC.Types.KindRep $krep_r12A (GHC.Types.[] @GHC.Types.KindRep) +$krep12_r12a = GHC.Types.: @GHC.Types.KindRep $krep_r11Y (GHC.Types.[] @GHC.Types.KindRep) -- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0} -$krep13_r12N :: GHC.Types.KindRep +$krep13_r12b :: GHC.Types.KindRep [GblId, Unf=OtherCon []] -$krep13_r12N = GHC.Types.KindRepTyConApp T10482.$tcFoo $krep12_r12M +$krep13_r12b = GHC.Types.KindRepTyConApp T10482.$tcFoo $krep12_r12a -- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0} T10482.$tc'Foo1 [InlPrag=[~]] :: GHC.Types.KindRep [GblId, Unf=OtherCon []] -T10482.$tc'Foo1 = GHC.Types.KindRepFun $krep_r12A $krep13_r12N +T10482.$tc'Foo1 = GHC.Types.KindRepFun $krep_r11Y $krep13_r12b -- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} T10482.$tc'FooPair3 :: GHC.Prim.Addr# @@ -174,52 +174,61 @@ T10482.$tc'Foo :: GHC.Types.TyCon [GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 10}] T10482.$tc'Foo = GHC.Types.TyCon 5096937192618987042## 15136671864408054946## T10482.$trModule T10482.$tc'Foo2 0# T10482.$tc'Foo1 --- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0} -lvl_r12O :: Int -[GblId, Unf=OtherCon []] -lvl_r12O = GHC.Types.I# 0# - Rec { --- RHS size: {terms: 19, types: 5, coercions: 3, joins: 0/0} -T10482.$wfoo [InlPrag=[2], Occ=LoopBreaker] :: Foo Int -> GHC.Prim.Int# -> Int -[GblId, Arity=2, Str=<L,1*U><S,1*U>, Unf=OtherCon []] +-- RHS size: {terms: 19, types: 4, coercions: 0, joins: 0/0} +T10482.$wfoo [InlPrag=[2], Occ=LoopBreaker] :: GHC.Prim.Int# -> GHC.Prim.Int# -> GHC.Prim.Int# +[GblId, Arity=2, Str=<ML><1L>, Unf=OtherCon []] T10482.$wfoo - = \ (ww_s11H - :: Foo Int - Unf=OtherCon []) - (ww1_s11O :: GHC.Prim.Int#) -> - case ww1_s11O of wild_X1 { + = \ (ww_s11f :: GHC.Prim.Int#) (ww1_s11s :: GHC.Prim.Int#) -> + case ww1_s11s of wild_X1 { __DEFAULT -> case GHC.Prim.remInt# wild_X1 2# of { - __DEFAULT -> ww_s11H `cast` (T10482.D:R:FooInt0[0] ; T10482.N:R:FooInt[0] :: Foo Int ~R# Int); - 0# -> T10482.$wfoo ww_s11H (GHC.Prim.-# wild_X1 1#) + __DEFAULT -> ww_s11f; + 0# -> T10482.$wfoo ww_s11f (GHC.Prim.-# wild_X1 1#) }; - 0# -> lvl_r12O + 0# -> 0# } end Rec } --- RHS size: {terms: 14, types: 27, coercions: 8, joins: 0/0} +-- RHS size: {terms: 21, types: 30, coercions: 11, joins: 0/0} foo [InlPrag=[2]] :: Foo ((Int, Int), Int) -> Int -> Int [GblId, Arity=2, - Str=<S(SL),1*U(1*U(1*U,A),A)><S(S),1*U(1*U)>, + Str=<1!P(1!P(1!P(ML),1!A),1!A)><1!P(1L)>, + Cpr=1, Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=2,unsat_ok=True,boring_ok=False) - Tmpl= \ (w_s11A [Occ=Once1!] :: Foo ((Int, Int), Int)) (w1_s11B [Occ=Once1!] :: Int) -> - case w_s11A `cast` (T10482.D:R:Foo(,)0[0] <(Int, Int)>_N <Int>_N :: Foo ((Int, Int), Int) ~R# T10482.R:Foo(,) (Int, Int) Int) of - { FooPair ww1_s11E [Occ=Once1!] _ [Occ=Dead] -> - case ww1_s11E `cast` (T10482.D:R:Foo(,)0[0] <Int>_N <Int>_N :: Foo (Int, Int) ~R# T10482.R:Foo(,) Int Int) of - { FooPair ww4_s11H [Occ=Once1] _ [Occ=Dead] -> - case w1_s11B of { GHC.Types.I# ww7_s11O [Occ=Once1] -> T10482.$wfoo ww4_s11H ww7_s11O } + Tmpl= \ (w_s118 [Occ=Once1!] :: Foo ((Int, Int), Int)) (w1_s119 [Occ=Once1!] :: Int) -> + case w_s118 `cast` (T10482.D:R:Foo(,)0[0] <(Int, Int)>_N <Int>_N :: Foo ((Int, Int), Int) ~R# T10482.R:Foo(,) (Int, Int) Int) of + { FooPair ww_s11b [Occ=Once1!] _ [Occ=Dead] -> + case ww_s11b `cast` (T10482.D:R:Foo(,)0[0] <Int>_N <Int>_N :: Foo (Int, Int) ~R# T10482.R:Foo(,) Int Int) of + { FooPair ww2_s11d [Occ=Once1!] _ [Occ=Dead] -> + case ww2_s11d + `cast` (T10482.D:R:FooInt0[0] + ; T10482.N:R:FooInt[0] + :: Foo Int ~R# Int) + of + { GHC.Types.I# ww4_s11f [Occ=Once1] -> + case w1_s119 of { GHC.Types.I# ww5_s11s [Occ=Once1] -> + case T10482.$wfoo ww4_s11f ww5_s11s of ww6_s11x [Occ=Once1] { __DEFAULT -> GHC.Types.I# ww6_s11x } + } + } } }}] foo - = \ (w_s11A :: Foo ((Int, Int), Int)) (w1_s11B :: Int) -> - case w_s11A `cast` (T10482.D:R:Foo(,)0[0] <(Int, Int)>_N <Int>_N :: Foo ((Int, Int), Int) ~R# T10482.R:Foo(,) (Int, Int) Int) of - { FooPair ww1_s11E ww2_s11K -> - case ww1_s11E `cast` (T10482.D:R:Foo(,)0[0] <Int>_N <Int>_N :: Foo (Int, Int) ~R# T10482.R:Foo(,) Int Int) of - { FooPair ww4_s12d ww5_s12e -> - case w1_s11B of { GHC.Types.I# ww7_s11O -> T10482.$wfoo ww4_s12d ww7_s11O } + = \ (w_s118 :: Foo ((Int, Int), Int)) (w1_s119 :: Int) -> + case w_s118 `cast` (T10482.D:R:Foo(,)0[0] <(Int, Int)>_N <Int>_N :: Foo ((Int, Int), Int) ~R# T10482.R:Foo(,) (Int, Int) Int) of + { FooPair ww_s11b ww1_s11m -> + case ww_s11b `cast` (T10482.D:R:Foo(,)0[0] <Int>_N <Int>_N :: Foo (Int, Int) ~R# T10482.R:Foo(,) Int Int) of + { FooPair ww2_s11G ww3_s11H -> + case ww2_s11G + `cast` (T10482.D:R:FooInt0[0] + ; T10482.N:R:FooInt[0] + :: Foo Int ~R# Int) + of + { GHC.Types.I# ww4_s11K -> + case w1_s119 of { GHC.Types.I# ww5_s11s -> case T10482.$wfoo ww4_s11K ww5_s11s of ww6_s11x { __DEFAULT -> GHC.Types.I# ww6_s11x } } + } } } diff --git a/testsuite/tests/stranal/should_compile/T10482a.stderr b/testsuite/tests/stranal/should_compile/T10482a.stderr index 51b13f3a3f..e23cb95b72 100644 --- a/testsuite/tests/stranal/should_compile/T10482a.stderr +++ b/testsuite/tests/stranal/should_compile/T10482a.stderr @@ -1,36 +1,36 @@ ==================== Tidy Core ==================== -Result size of Tidy Core = {terms: 342, types: 152, coercions: 3, joins: 0/0} +Result size of Tidy Core = {terms: 353, types: 153, coercions: 3, joins: 0/0} --- RHS size: {terms: 9, types: 8, coercions: 0, joins: 0/0} +-- RHS size: {terms: 9, types: 7, coercions: 0, joins: 0/0} Foo.$WMkT4 [InlPrag=INLINE[final] CONLIKE] :: forall a. Foo a %1 -> Int %1 -> T4 a [GblId[DataConWrapper], Arity=2, Caf=NoCafRefs, - Str=<S,U><L,U>, - Cpr=m1, + Str=<SL><L>, + Cpr=1, Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=2,unsat_ok=True,boring_ok=False) - Tmpl= \ (@a_agp) (dt_aJ1 [Occ=Once1] :: Foo a_agp) (dt_aJ2 [Occ=Once1] :: Int) -> - case dt_aJ1 of dt_X0 [Occ=Once1] { __DEFAULT -> Foo.MkT4 @a_agp dt_X0 dt_aJ2 }}] + Tmpl= \ (@a_agn) (dt_aJ6 [Occ=Once1] :: Foo a_agn) (dt_aJ7 [Occ=Once1] :: Int) -> + case dt_aJ6 of dt_X0 [Occ=Once1] { __DEFAULT -> Foo.MkT4 @a_agn dt_X0 dt_aJ7 }}] Foo.$WMkT4 - = \ (@a_agp) (dt_aJ1 [Occ=Once1] :: Foo a_agp) (dt_aJ2 [Occ=Once1] :: Int) -> - case dt_aJ1 of dt_X0 [Occ=Once1] { __DEFAULT -> Foo.MkT4 @a_agp dt_X0 dt_aJ2 } + = \ (@a_agn) (dt_aJ6 [Occ=Once1] :: Foo a_agn) (dt_aJ7 [Occ=Once1] :: Int) -> + case dt_aJ6 of dt_X0 [Occ=Once1] { __DEFAULT -> Foo.MkT4 @a_agn dt_X0 dt_aJ7 } -- RHS size: {terms: 8, types: 3, coercions: 0, joins: 0/0} Foo.$WMkT2 [InlPrag=INLINE[final] CONLIKE] :: Int %1 -> Int %1 -> T2 [GblId[DataConWrapper], Arity=2, Caf=NoCafRefs, - Str=<S,U><L,U>, - Cpr=m1, + Str=<SL><L>, + Cpr=1, Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=2,unsat_ok=True,boring_ok=False) - Tmpl= \ (dt_aIj [Occ=Once1] :: Int) (dt_aIk [Occ=Once1] :: Int) -> - case dt_aIj of dt_X0 [Occ=Once1] { __DEFAULT -> Foo.MkT2 dt_X0 dt_aIk }}] + Tmpl= \ (dt_aIl [Occ=Once1] :: Int) (dt_aIm [Occ=Once1] :: Int) -> + case dt_aIl of dt_X0 [Occ=Once1] { __DEFAULT -> Foo.MkT2 dt_X0 dt_aIm }}] Foo.$WMkT2 - = \ (dt_aIj [Occ=Once1] :: Int) (dt_aIk [Occ=Once1] :: Int) -> - case dt_aIj of dt_X0 [Occ=Once1] { __DEFAULT -> Foo.MkT2 dt_X0 dt_aIk } + = \ (dt_aIl [Occ=Once1] :: Int) (dt_aIm [Occ=Once1] :: Int) -> + case dt_aIl of dt_X0 [Occ=Once1] { __DEFAULT -> Foo.MkT2 dt_X0 dt_aIm } -- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} Foo.$trModule4 :: GHC.Prim.Addr# @@ -58,14 +58,14 @@ Foo.$trModule :: GHC.Types.Module Foo.$trModule = GHC.Types.Module Foo.$trModule3 Foo.$trModule1 -- RHS size: {terms: 3, types: 1, coercions: 0, joins: 0/0} -$krep_rSS :: GHC.Types.KindRep +$krep_rPk :: GHC.Types.KindRep [GblId, Unf=OtherCon []] -$krep_rSS = GHC.Types.KindRepTyConApp GHC.Types.$tcInt (GHC.Types.[] @GHC.Types.KindRep) +$krep_rPk = GHC.Types.KindRepTyConApp GHC.Types.$tcInt (GHC.Types.[] @GHC.Types.KindRep) -- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0} -$krep1_rST :: GHC.Types.KindRep +$krep1_rPl :: GHC.Types.KindRep [GblId, Unf=OtherCon []] -$krep1_rST = GHC.Types.KindRepVar 0# +$krep1_rPl = GHC.Types.KindRepVar 0# -- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} Foo.$tcT5 :: GHC.Prim.Addr# @@ -83,19 +83,19 @@ Foo.$tcT2 :: GHC.Types.TyCon Foo.$tcT2 = GHC.Types.TyCon 12492463661685256209## 1082997131366389398## Foo.$trModule Foo.$tcT1 0# GHC.Types.krep$* -- RHS size: {terms: 3, types: 1, coercions: 0, joins: 0/0} -$krep2_rSU :: GHC.Types.KindRep +$krep2_rPm :: GHC.Types.KindRep [GblId, Unf=OtherCon []] -$krep2_rSU = GHC.Types.KindRepTyConApp Foo.$tcT2 (GHC.Types.[] @GHC.Types.KindRep) +$krep2_rPm = GHC.Types.KindRepTyConApp Foo.$tcT2 (GHC.Types.[] @GHC.Types.KindRep) -- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0} -$krep3_rSV :: GHC.Types.KindRep +$krep3_rPn :: GHC.Types.KindRep [GblId, Unf=OtherCon []] -$krep3_rSV = GHC.Types.KindRepFun $krep_rSS $krep2_rSU +$krep3_rPn = GHC.Types.KindRepFun $krep_rPk $krep2_rPm -- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0} Foo.$tc'MkT1 [InlPrag=[~]] :: GHC.Types.KindRep [GblId, Unf=OtherCon []] -Foo.$tc'MkT1 = GHC.Types.KindRepFun $krep_rSS $krep3_rSV +Foo.$tc'MkT1 = GHC.Types.KindRepFun $krep_rPk $krep3_rPn -- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} Foo.$tc'MkT6 :: GHC.Prim.Addr# @@ -128,19 +128,19 @@ Foo.$tcT3 :: GHC.Types.TyCon Foo.$tcT3 = GHC.Types.TyCon 8915518733037212359## 16476420519216613869## Foo.$trModule Foo.$tcT6 0# GHC.Types.krep$* -- RHS size: {terms: 3, types: 1, coercions: 0, joins: 0/0} -$krep4_rSW :: GHC.Types.KindRep +$krep4_rPo :: GHC.Types.KindRep [GblId, Unf=OtherCon []] -$krep4_rSW = GHC.Types.KindRepTyConApp Foo.$tcT3 (GHC.Types.[] @GHC.Types.KindRep) +$krep4_rPo = GHC.Types.KindRepTyConApp Foo.$tcT3 (GHC.Types.[] @GHC.Types.KindRep) -- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0} -$krep5_rSX :: GHC.Types.KindRep +$krep5_rPp :: GHC.Types.KindRep [GblId, Unf=OtherCon []] -$krep5_rSX = GHC.Types.KindRepFun $krep_rSS $krep4_rSW +$krep5_rPp = GHC.Types.KindRepFun $krep_rPk $krep4_rPo -- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0} Foo.$tc'MkT7 [InlPrag=[~]] :: GHC.Types.KindRep [GblId, Unf=OtherCon []] -Foo.$tc'MkT7 = GHC.Types.KindRepFun $krep_rSS $krep5_rSX +Foo.$tc'MkT7 = GHC.Types.KindRepFun $krep_rPk $krep5_rPp -- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} Foo.$tc'MkT9 :: GHC.Prim.Addr# @@ -163,29 +163,29 @@ Foo.$tcFoo :: GHC.Types.TyCon Foo.$tcFoo = GHC.Types.TyCon 11236787750777559483## 2472662601374496863## Foo.$trModule Foo.$trModule1 0# GHC.Types.krep$*Arr* -- RHS size: {terms: 3, types: 2, coercions: 0, joins: 0/0} -$krep6_rSY :: [GHC.Types.KindRep] +$krep6_rPq :: [GHC.Types.KindRep] [GblId, Unf=OtherCon []] -$krep6_rSY = GHC.Types.: @GHC.Types.KindRep $krep1_rST (GHC.Types.[] @GHC.Types.KindRep) +$krep6_rPq = GHC.Types.: @GHC.Types.KindRep $krep1_rPl (GHC.Types.[] @GHC.Types.KindRep) -- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0} -$krep7_rSZ :: GHC.Types.KindRep +$krep7_rPr :: GHC.Types.KindRep [GblId, Unf=OtherCon []] -$krep7_rSZ = GHC.Types.KindRepTyConApp Foo.$tcFoo $krep6_rSY +$krep7_rPr = GHC.Types.KindRepTyConApp Foo.$tcFoo $krep6_rPq -- RHS size: {terms: 3, types: 2, coercions: 0, joins: 0/0} -$krep8_rT0 :: [GHC.Types.KindRep] +$krep8_rPs :: [GHC.Types.KindRep] [GblId, Unf=OtherCon []] -$krep8_rT0 = GHC.Types.: @GHC.Types.KindRep $krep_rSS (GHC.Types.[] @GHC.Types.KindRep) +$krep8_rPs = GHC.Types.: @GHC.Types.KindRep $krep_rPk (GHC.Types.[] @GHC.Types.KindRep) -- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0} -$krep9_rT1 :: GHC.Types.KindRep +$krep9_rPt :: GHC.Types.KindRep [GblId, Unf=OtherCon []] -$krep9_rT1 = GHC.Types.KindRepTyConApp Foo.$tcFoo $krep8_rT0 +$krep9_rPt = GHC.Types.KindRepTyConApp Foo.$tcFoo $krep8_rPs -- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0} Foo.$tc'Foo1 [InlPrag=[~]] :: GHC.Types.KindRep [GblId, Unf=OtherCon []] -Foo.$tc'Foo1 = GHC.Types.KindRepFun $krep_rSS $krep9_rT1 +Foo.$tc'Foo1 = GHC.Types.KindRepFun $krep_rPk $krep9_rPt -- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} Foo.$tc'Foo3 :: GHC.Prim.Addr# @@ -218,19 +218,19 @@ Foo.$tcT4 :: GHC.Types.TyCon Foo.$tcT4 = GHC.Types.TyCon 15961711399118996930## 13694522307176382499## Foo.$trModule Foo.$tcT8 0# GHC.Types.krep$*Arr* -- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0} -$krep10_rT2 :: GHC.Types.KindRep +$krep10_rPu :: GHC.Types.KindRep [GblId, Unf=OtherCon []] -$krep10_rT2 = GHC.Types.KindRepTyConApp Foo.$tcT4 $krep6_rSY +$krep10_rPu = GHC.Types.KindRepTyConApp Foo.$tcT4 $krep6_rPq -- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0} -$krep11_rT3 :: GHC.Types.KindRep +$krep11_rPv :: GHC.Types.KindRep [GblId, Unf=OtherCon []] -$krep11_rT3 = GHC.Types.KindRepFun $krep_rSS $krep10_rT2 +$krep11_rPv = GHC.Types.KindRepFun $krep_rPk $krep10_rPu -- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0} Foo.$tc'MkT10 [InlPrag=[~]] :: GHC.Types.KindRep [GblId, Unf=OtherCon []] -Foo.$tc'MkT10 = GHC.Types.KindRepFun $krep7_rSZ $krep11_rT3 +Foo.$tc'MkT10 = GHC.Types.KindRepFun $krep7_rPr $krep11_rPv -- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} Foo.$tc'MkT12 :: GHC.Prim.Addr# @@ -248,82 +248,100 @@ Foo.$tc'MkT4 :: GHC.Types.TyCon Foo.$tc'MkT4 = GHC.Types.TyCon 6077781708614236332## 14823286043222481570## Foo.$trModule Foo.$tc'MkT11 1# Foo.$tc'MkT10 Rec { --- RHS size: {terms: 14, types: 4, coercions: 3, joins: 0/0} -Foo.$wf4 [InlPrag=[2], Occ=LoopBreaker] :: Foo Int -> GHC.Prim.Int# -> Int -[GblId, Arity=2, Str=<S,1*U><L,U>, Unf=OtherCon []] +-- RHS size: {terms: 14, types: 3, coercions: 0, joins: 0/0} +Foo.$wf4 [InlPrag=[2], Occ=LoopBreaker] :: GHC.Prim.Int# -> GHC.Prim.Int# -> GHC.Prim.Int# +[GblId, Arity=2, Str=<1L><L>, Unf=OtherCon []] Foo.$wf4 - = \ (ww_sPs - :: Foo Int - Unf=OtherCon []) - (ww1_sPw :: GHC.Prim.Int#) -> - case GHC.Prim.># ww1_sPw 0# of { - __DEFAULT -> ww_sPs `cast` (Foo.D:R:FooInt0[0] ; Foo.N:R:FooInt[0] :: Foo Int ~R# Int); - 1# -> Foo.$wf4 ww_sPs (GHC.Prim.-# ww1_sPw 1#) + = \ (ww_sNE :: GHC.Prim.Int#) (ww1_sNI :: GHC.Prim.Int#) -> + case GHC.Prim.># ww1_sNI 0# of { + __DEFAULT -> ww_sNE; + 1# -> Foo.$wf4 ww_sNE (GHC.Prim.-# ww1_sNI 1#) } end Rec } --- RHS size: {terms: 10, types: 9, coercions: 0, joins: 0/0} +-- RHS size: {terms: 17, types: 12, coercions: 3, joins: 0/0} f4 [InlPrag=[2]] :: T4 Int -> Int [GblId, Arity=1, - Str=<S(SS),1*U(1*U,1*U(U))>, + Str=<1!P(1!P(1L),1!P(L))>, + Cpr=1, Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=False) - Tmpl= \ (w_sPp [Occ=Once1!] :: T4 Int) -> - case w_sPp of { MkT4 ww1_sPs [Occ=Once1] ww2_sPt [Occ=Once1!] -> - case ww2_sPt of { GHC.Types.I# ww4_sPw [Occ=Once1] -> Foo.$wf4 ww1_sPs ww4_sPw } + Tmpl= \ (w_sNA [Occ=Once1!] :: T4 Int) -> + case w_sNA of { MkT4 ww_sNC [Occ=Once1!] ww1_sNG [Occ=Once1!] -> + case ww_sNC + `cast` (Foo.D:R:FooInt0[0] + ; Foo.N:R:FooInt[0] + :: Foo Int ~R# Int) + of + { GHC.Types.I# ww2_sNE [Occ=Once1] -> + case ww1_sNG of { GHC.Types.I# ww3_sNI [Occ=Once1] -> + case Foo.$wf4 ww2_sNE ww3_sNI of ww4_sOx [Occ=Once1] { __DEFAULT -> GHC.Types.I# ww4_sOx } + } + } }}] f4 - = \ (w_sPp :: T4 Int) -> - case w_sPp of { MkT4 ww1_sPs ww2_sPt -> case ww2_sPt of { GHC.Types.I# ww4_sPw -> Foo.$wf4 ww1_sPs ww4_sPw } } - --- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0} -lvl_rT4 :: Int -[GblId, Unf=OtherCon []] -lvl_rT4 = GHC.Types.I# 1# + = \ (w_sNA :: T4 Int) -> + case w_sNA of { MkT4 ww_sNC ww1_sNG -> + case ww_sNC + `cast` (Foo.D:R:FooInt0[0] + ; Foo.N:R:FooInt[0] + :: Foo Int ~R# Int) + of + { GHC.Types.I# ww2_sOP -> + case ww1_sNG of { GHC.Types.I# ww3_sNI -> case Foo.$wf4 ww2_sOP ww3_sNI of ww4_sOx { __DEFAULT -> GHC.Types.I# ww4_sOx } } + } + } Rec { -- RHS size: {terms: 21, types: 4, coercions: 0, joins: 0/0} -Foo.$wf2 [InlPrag=[2], Occ=LoopBreaker] :: Int -> GHC.Prim.Int# -> Int -[GblId, Arity=2, Str=<L,1*U><L,U>, Unf=OtherCon []] +Foo.$wf2 [InlPrag=[2], Occ=LoopBreaker] :: GHC.Prim.Int# -> GHC.Prim.Int# -> GHC.Prim.Int# +[GblId, Arity=2, Str=<ML><L>, Unf=OtherCon []] Foo.$wf2 - = \ (ww_sPD - :: Int - Unf=OtherCon []) - (ww1_sPH :: GHC.Prim.Int#) -> - case GHC.Prim.># ww1_sPH 0# of { + = \ (ww_sNS :: GHC.Prim.Int#) (ww1_sNW :: GHC.Prim.Int#) -> + case GHC.Prim.># ww1_sNW 0# of { __DEFAULT -> - case GHC.Prim.># ww1_sPH 1# of { - __DEFAULT -> ww_sPD; - 1# -> lvl_rT4 + case GHC.Prim.># ww1_sNW 1# of { + __DEFAULT -> ww_sNS; + 1# -> 1# }; - 1# -> Foo.$wf2 ww_sPD (GHC.Prim.-# ww1_sPH 1#) + 1# -> Foo.$wf2 ww_sNS (GHC.Prim.-# ww1_sNW 1#) } end Rec } --- RHS size: {terms: 10, types: 6, coercions: 0, joins: 0/0} +-- RHS size: {terms: 17, types: 9, coercions: 0, joins: 0/0} f2 [InlPrag=[2]] :: T2 -> Int [GblId, Arity=1, - Str=<S(LS),1*U(1*U,1*U(U))>, + Str=<1!P(1!P(ML),1!P(L))>, + Cpr=1, Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=False) - Tmpl= \ (w_sPA [Occ=Once1!] :: T2) -> - case w_sPA of { MkT2 ww1_sPD [Occ=Once1] ww2_sPE [Occ=Once1!] -> - case ww2_sPE of { GHC.Types.I# ww4_sPH [Occ=Once1] -> Foo.$wf2 ww1_sPD ww4_sPH } + Tmpl= \ (w_sNO [Occ=Once1!] :: T2) -> + case w_sNO of { MkT2 ww_sNQ [Occ=Once1!] ww1_sNU [Occ=Once1!] -> + case ww_sNQ of { GHC.Types.I# ww2_sNS [Occ=Once1] -> + case ww1_sNU of { GHC.Types.I# ww3_sNW [Occ=Once1] -> + case Foo.$wf2 ww2_sNS ww3_sNW of ww4_sOz [Occ=Once1] { __DEFAULT -> GHC.Types.I# ww4_sOz } + } + } }}] f2 - = \ (w_sPA :: T2) -> case w_sPA of { MkT2 ww1_sPD ww2_sPE -> case ww2_sPE of { GHC.Types.I# ww4_sPH -> Foo.$wf2 ww1_sPD ww4_sPH } } + = \ (w_sNO :: T2) -> + case w_sNO of { MkT2 ww_sNQ ww1_sNU -> + case ww_sNQ of { GHC.Types.I# ww2_sOS -> + case ww1_sNU of { GHC.Types.I# ww3_sNW -> case Foo.$wf2 ww2_sOS ww3_sNW of ww4_sOz { __DEFAULT -> GHC.Types.I# ww4_sOz } } + } + } Rec { -- RHS size: {terms: 15, types: 4, coercions: 0, joins: 0/0} Foo.$wh [InlPrag=[2], Occ=LoopBreaker] :: GHC.Prim.Int# -> GHC.Prim.Int# -> Bool -[GblId, Arity=2, Str=<S,1*U><L,U>, Unf=OtherCon []] +[GblId, Arity=2, Str=<1L><L>, Unf=OtherCon []] Foo.$wh - = \ (ww_sPP :: GHC.Prim.Int#) (ww1_sPT :: GHC.Prim.Int#) -> - case ww_sPP of ds_X2 { - __DEFAULT -> Foo.$wh (GHC.Prim.-# ds_X2 1#) ww1_sPT; - 0# -> GHC.Prim.tagToEnum# @Bool (GHC.Prim.># ww1_sPT 0#) + = \ (ww_sO5 :: GHC.Prim.Int#) (ww1_sO8 :: GHC.Prim.Int#) -> + case ww_sO5 of ds_X2 { + __DEFAULT -> Foo.$wh (GHC.Prim.-# ds_X2 1#) ww1_sO8; + 0# -> GHC.Prim.tagToEnum# @Bool (GHC.Prim.># ww1_sO8 0#) } end Rec } @@ -331,25 +349,23 @@ end Rec } h [InlPrag=[2]] :: Int -> Int -> Bool [GblId, Arity=2, - Str=<S(S),1*U(1*U)><S,1*U(U)>, + Str=<1!P(1L)><1!P(L)>, Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=2,unsat_ok=True,boring_ok=False) - Tmpl= \ (w_sPL [Occ=Once1!] :: Int) (w1_sPM [Occ=Once1!] :: Int) -> - case w_sPL of { GHC.Types.I# ww1_sPP [Occ=Once1] -> - case w1_sPM of { GHC.Types.I# ww3_sPT [Occ=Once1] -> Foo.$wh ww1_sPP ww3_sPT } - }}] -h = \ (w_sPL :: Int) (w1_sPM :: Int) -> - case w_sPL of { GHC.Types.I# ww1_sPP -> case w1_sPM of { GHC.Types.I# ww3_sPT -> Foo.$wh ww1_sPP ww3_sPT } } + Tmpl= \ (w_sO2 [Occ=Once1!] :: Int) (w1_sO3 [Occ=Once1!] :: Int) -> + case w_sO2 of { GHC.Types.I# ww_sO5 [Occ=Once1] -> case w1_sO3 of { GHC.Types.I# ww1_sO8 [Occ=Once1] -> Foo.$wh ww_sO5 ww1_sO8 } }}] +h = \ (w_sO2 :: Int) (w1_sO3 :: Int) -> + case w_sO2 of { GHC.Types.I# ww_sO5 -> case w1_sO3 of { GHC.Types.I# ww1_sO8 -> Foo.$wh ww_sO5 ww1_sO8 } } Rec { -- RHS size: {terms: 12, types: 2, coercions: 0, joins: 0/0} Foo.$wf1 [InlPrag=[2], Occ=LoopBreaker] :: GHC.Prim.Int# -> GHC.Prim.Int# -[GblId, Arity=1, Str=<S,U>, Unf=OtherCon []] +[GblId, Arity=1, Str=<SL>, Unf=OtherCon []] Foo.$wf1 - = \ (ww_sPZ :: GHC.Prim.Int#) -> - case Foo.$wh ww_sPZ ww_sPZ of { - False -> Foo.$wf1 (GHC.Prim.-# ww_sPZ 1#); - True -> ww_sPZ + = \ (ww_sOe :: GHC.Prim.Int#) -> + case Foo.$wh ww_sOe ww_sOe of { + False -> Foo.$wf1 (GHC.Prim.-# ww_sOe 1#); + True -> ww_sOe } end Rec } @@ -357,27 +373,26 @@ end Rec } f1 [InlPrag=[2]] :: Int -> Int [GblId, Arity=1, - Str=<S(S),1*U(U)>, - Cpr=m1, + Str=<1!P(SL)>, + Cpr=1, Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=False) - Tmpl= \ (w_sPW [Occ=Once1!] :: Int) -> - case w_sPW of { GHC.Types.I# ww1_sPZ [Occ=Once1] -> - case Foo.$wf1 ww1_sPZ of ww2_sQ3 [Occ=Once1] { __DEFAULT -> GHC.Types.I# ww2_sQ3 } + Tmpl= \ (w_sOc [Occ=Once1!] :: Int) -> + case w_sOc of { GHC.Types.I# ww_sOe [Occ=Once1] -> + case Foo.$wf1 ww_sOe of ww1_sOB [Occ=Once1] { __DEFAULT -> GHC.Types.I# ww1_sOB } }}] f1 - = \ (w_sPW :: Int) -> - case w_sPW of { GHC.Types.I# ww1_sPZ -> case Foo.$wf1 ww1_sPZ of ww2_sQ3 { __DEFAULT -> GHC.Types.I# ww2_sQ3 } } + = \ (w_sOc :: Int) -> case w_sOc of { GHC.Types.I# ww_sOe -> case Foo.$wf1 ww_sOe of ww1_sOB { __DEFAULT -> GHC.Types.I# ww1_sOB } } Rec { -- RHS size: {terms: 14, types: 3, coercions: 0, joins: 0/0} Foo.$wf3 [InlPrag=[2], Occ=LoopBreaker] :: GHC.Prim.Int# -> GHC.Prim.Int# -> GHC.Prim.Int# -[GblId, Arity=2, Str=<S,U><L,U>, Unf=OtherCon []] +[GblId, Arity=2, Str=<SL><L>, Unf=OtherCon []] Foo.$wf3 - = \ (ww_sQb :: GHC.Prim.Int#) (ww1_sQg :: GHC.Prim.Int#) -> - case Foo.$wh ww_sQb ww1_sQg of { - False -> ww_sQb; - True -> Foo.$wf3 ww_sQb (GHC.Prim.-# ww1_sQg 1#) + = \ (ww_sOn :: GHC.Prim.Int#) (ww1_sOr :: GHC.Prim.Int#) -> + case Foo.$wh ww_sOn ww1_sOr of { + False -> ww_sOn; + True -> Foo.$wf3 ww_sOn (GHC.Prim.-# ww1_sOr 1#) } end Rec } @@ -385,23 +400,23 @@ end Rec } f3 [InlPrag=[2]] :: T3 -> Int [GblId, Arity=1, - Str=<S(S(S)S),1*U(1*U(U),1*U(U))>, - Cpr=m1, + Str=<1!P(1!P(SL),1!P(L))>, + Cpr=1, Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=False) - Tmpl= \ (w_sQ5 [Occ=Once1!] :: T3) -> - case w_sQ5 of { MkT3 ww1_sQ8 [Occ=Once1!] ww2_sQd [Occ=Once1!] -> - case ww1_sQ8 of { GHC.Types.I# ww4_sQb [Occ=Once1] -> - case ww2_sQd of { GHC.Types.I# ww6_sQg [Occ=Once1] -> - case Foo.$wf3 ww4_sQb ww6_sQg of ww7_sQl [Occ=Once1] { __DEFAULT -> GHC.Types.I# ww7_sQl } + Tmpl= \ (w_sOj [Occ=Once1!] :: T3) -> + case w_sOj of { MkT3 ww_sOl [Occ=Once1!] ww1_sOp [Occ=Once1!] -> + case ww_sOl of { GHC.Types.I# ww2_sOn [Occ=Once1] -> + case ww1_sOp of { GHC.Types.I# ww3_sOr [Occ=Once1] -> + case Foo.$wf3 ww2_sOn ww3_sOr of ww4_sOD [Occ=Once1] { __DEFAULT -> GHC.Types.I# ww4_sOD } } } }}] f3 - = \ (w_sQ5 :: T3) -> - case w_sQ5 of { MkT3 ww1_sQ8 ww2_sQd -> - case ww1_sQ8 of { GHC.Types.I# ww4_sQb -> - case ww2_sQd of { GHC.Types.I# ww6_sQg -> case Foo.$wf3 ww4_sQb ww6_sQg of ww7_sQl { __DEFAULT -> GHC.Types.I# ww7_sQl } } + = \ (w_sOj :: T3) -> + case w_sOj of { MkT3 ww_sOl ww1_sOp -> + case ww_sOl of { GHC.Types.I# ww2_sOn -> + case ww1_sOp of { GHC.Types.I# ww3_sOr -> case Foo.$wf3 ww2_sOn ww3_sOr of ww4_sOD { __DEFAULT -> GHC.Types.I# ww4_sOD } } } } diff --git a/testsuite/tests/stranal/should_compile/T10694.stderr b/testsuite/tests/stranal/should_compile/T10694.stderr index 481c350fc2..e809998142 100644 --- a/testsuite/tests/stranal/should_compile/T10694.stderr +++ b/testsuite/tests/stranal/should_compile/T10694.stderr @@ -4,17 +4,17 @@ Result size of Tidy Core = {terms: 74, types: 65, coercions: 0, joins: 0/4} -- RHS size: {terms: 39, types: 25, coercions: 0, joins: 0/4} T10694.$wpm [InlPrag=NOINLINE] :: Int -> Int -> (# Int, Int #) -[GblId, Arity=2, Str=<LP(L)><LP(L)>, Unf=OtherCon []] +[GblId, Arity=2, Str=<L><L>, Unf=OtherCon []] T10694.$wpm - = \ (w :: Int) (w1 :: Int) -> + = \ (x :: Int) (y :: Int) -> let { l :: Int [LclId] - l = case w of { GHC.Types.I# x -> case w1 of { GHC.Types.I# y -> GHC.Types.I# (GHC.Prim.+# x y) } } } in + l = case x of { GHC.Types.I# x1 -> case y of { GHC.Types.I# y1 -> GHC.Types.I# (GHC.Prim.+# x1 y1) } } } in let { l1 :: Int [LclId] - l1 = case w of { GHC.Types.I# x -> case w1 of { GHC.Types.I# y -> GHC.Types.I# (GHC.Prim.-# x y) } } } in + l1 = case x of { GHC.Types.I# x1 -> case y of { GHC.Types.I# y1 -> GHC.Types.I# (GHC.Prim.-# x1 y1) } } } in let { l2 :: [Int] [LclId, Unf=OtherCon []] @@ -29,23 +29,21 @@ T10694.$wpm pm [InlPrag=[final]] :: Int -> Int -> (Int, Int) [GblId, Arity=2, - Str=<LP(L)><LP(L)>, + Str=<L><L>, Cpr=1, Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=2,unsat_ok=True,boring_ok=False) - Tmpl= \ (w [Occ=Once1] :: Int) (w1 [Occ=Once1] :: Int) -> - case T10694.$wpm w w1 of { (# ww1 [Occ=Once1], ww2 [Occ=Once1] #) -> (ww1, ww2) }}] -pm = \ (w :: Int) (w1 :: Int) -> case T10694.$wpm w w1 of { (# ww1, ww2 #) -> (ww1, ww2) } + Tmpl= \ (x [Occ=Once1] :: Int) (y [Occ=Once1] :: Int) -> + case T10694.$wpm x y of { (# ww [Occ=Once1], ww1 [Occ=Once1] #) -> (ww, ww1) }}] +pm = \ (x :: Int) (y :: Int) -> case T10694.$wpm x y of { (# ww, ww1 #) -> (ww, ww1) } -- RHS size: {terms: 8, types: 9, coercions: 0, joins: 0/0} m :: Int -> Int -> Int [GblId, Arity=2, - Str=<LP(L)><LP(L)>, - Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, - Guidance=ALWAYS_IF(arity=2,unsat_ok=True,boring_ok=False) - Tmpl= \ (x [Occ=Once1] :: Int) (y [Occ=Once1] :: Int) -> case pm x y of { (_ [Occ=Dead], mr [Occ=Once1]) -> mr }}] -m = \ (x :: Int) (y :: Int) -> case T10694.$wpm x y of { (# ww1, ww2 #) -> ww2 } + Str=<L><L>, + Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0] 40 0}] +m = \ (x :: Int) (y :: Int) -> case T10694.$wpm x y of { (# ww, ww1 #) -> ww1 } -- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} T10694.$trModule4 :: GHC.Prim.Addr# diff --git a/testsuite/tests/stranal/should_compile/T18894.stderr b/testsuite/tests/stranal/should_compile/T18894.stderr index 3d3ff81440..55fbd59939 100644 --- a/testsuite/tests/stranal/should_compile/T18894.stderr +++ b/testsuite/tests/stranal/should_compile/T18894.stderr @@ -1,7 +1,7 @@ ==================== Demand analysis ==================== Result size of Demand analysis - = {terms: 195, types: 95, coercions: 0, joins: 0/2} + = {terms: 189, types: 95, coercions: 0, joins: 0/2} -- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} $trModule :: GHC.Prim.Addr# @@ -45,18 +45,18 @@ lvl :: Int WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 10}] lvl = GHC.Types.I# 0# --- RHS size: {terms: 45, types: 15, coercions: 0, joins: 0/1} -g2 [InlPrag=NOINLINE, Dmd=LCL(C1(P(MP(L),1P(L))))] +-- RHS size: {terms: 42, types: 15, coercions: 0, joins: 0/1} +g2 [InlPrag=NOINLINE, Dmd=LCL(C1(!P(M!L,1!L)))] :: Int -> Int -> (Int, Int) [LclId, Arity=2, - Str=<LP(L)><1P(1L)>, + Str=<L><1!P(1L)>, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, - WorkFree=True, Expandable=True, Guidance=IF_ARGS [20 20] 126 20}] + WorkFree=True, Expandable=True, Guidance=IF_ARGS [20 20] 106 20}] g2 - = \ (m [Dmd=LP(L)] :: Int) (ds [Dmd=1P(1L)] :: Int) -> + = \ (m :: Int) (ds [Dmd=1!P(1L)] :: Int) -> case ds of { GHC.Types.I# ds [Dmd=1L] -> - case ds of ds [Dmd=ML] { + case ds of ds [Dmd=M!L] { __DEFAULT -> (case m of { GHC.Types.I# y -> GHC.Types.I# (GHC.Prim.*# 2# y) }, case ds of wild { @@ -71,7 +71,6 @@ g2 { __DEFAULT -> GHC.Types.I# (GHC.Prim.-# wild c1#) }; - -1# -> GHC.Types.I# -2#; 0# -> GHC.Real.divZeroError @Int }); 1# -> (m, lvl) @@ -103,19 +102,19 @@ lvl = GHC.Types.I# 0# h2 :: Int -> Int [LclIdX, Arity=1, - Str=<1P(SL)>, + Str=<1!P(SL)>, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [20] 162 10}] h2 - = \ (ds [Dmd=1P(SL)] :: Int) -> - case ds of wild [Dmd=LP(L)] { GHC.Types.I# ds [Dmd=SL] -> - case ds of ds { + = \ (ds [Dmd=1!P(SL)] :: Int) -> + case ds of wild [Dmd=L!L] { GHC.Types.I# ds [Dmd=SL] -> + case ds of ds [Dmd=L!L] { __DEFAULT -> case GHC.Prim.remInt# ds 2# of { __DEFAULT -> - case g2 wild lvl of { (ds1 [Dmd=A], y [Dmd=1L]) -> y }; + case g2 wild lvl of { (ds1 [Dmd=A], y [Dmd=1!L]) -> y }; 0# -> - case g2 lvl wild of { (x [Dmd=1P(L)], ds [Dmd=1P(L)]) -> + case g2 lvl wild of { (x [Dmd=1!L], ds [Dmd=1!L]) -> case x of { GHC.Types.I# x -> case ds of { GHC.Types.I# y -> GHC.Types.I# (GHC.Prim.+# x y) } } @@ -146,17 +145,17 @@ lvl :: (Int, Int) WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 10}] lvl = (lvl, lvl) --- RHS size: {terms: 39, types: 10, coercions: 0, joins: 0/1} -g1 [InlPrag=NOINLINE, Dmd=LCL(P(LP(L),LP(L)))] :: Int -> (Int, Int) +-- RHS size: {terms: 36, types: 10, coercions: 0, joins: 0/1} +g1 [InlPrag=NOINLINE, Dmd=LCL(!P(L!L,L!L))] :: Int -> (Int, Int) [LclId, Arity=1, - Str=<1P(1L)>, + Str=<1!P(1L)>, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, - WorkFree=True, Expandable=True, Guidance=IF_ARGS [20] 106 10}] + WorkFree=True, Expandable=True, Guidance=IF_ARGS [20] 86 10}] g1 - = \ (ds [Dmd=1P(1L)] :: Int) -> + = \ (ds [Dmd=1!P(1L)] :: Int) -> case ds of { GHC.Types.I# ds [Dmd=1L] -> - case ds of ds { + case ds of ds [Dmd=L!L] { __DEFAULT -> (GHC.Types.I# (GHC.Prim.*# 2# ds), case ds of wild { @@ -171,7 +170,6 @@ g1 { __DEFAULT -> GHC.Types.I# (GHC.Prim.-# wild c1#) }; - -1# -> GHC.Types.I# -2#; 0# -> GHC.Real.divZeroError @Int }); 1# -> lvl @@ -196,21 +194,21 @@ lvl = g1 (GHC.Types.I# 2#) h1 :: Int -> Int [LclIdX, Arity=1, - Str=<1P(SL)>, + Str=<1!P(SL)>, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [20] 111 10}] h1 - = \ (ds [Dmd=1P(SL)] :: Int) -> - case ds of wild [Dmd=MP(ML)] { GHC.Types.I# ds [Dmd=SL] -> + = \ (ds [Dmd=1!P(SL)] :: Int) -> + case ds of wild [Dmd=M!P(M!L)] { GHC.Types.I# ds [Dmd=SL] -> case ds of { __DEFAULT -> - case g1 wild of { (x [Dmd=1P(L)], ds [Dmd=1P(L)]) -> + case g1 wild of { (x [Dmd=1!L], ds [Dmd=1!L]) -> case x of { GHC.Types.I# x -> case ds of { GHC.Types.I# y -> GHC.Types.I# (GHC.Prim.+# x y) } } }; 1# -> lvl; - 2# -> case lvl of { (ds1 [Dmd=A], y [Dmd=1L]) -> y } + 2# -> case lvl of { (ds1 [Dmd=A], y [Dmd=1!L]) -> y } } } @@ -219,7 +217,7 @@ h1 ==================== Demand analysis ==================== Result size of Demand analysis - = {terms: 183, types: 115, coercions: 0, joins: 0/2} + = {terms: 176, types: 114, coercions: 0, joins: 0/2} -- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} $trModule :: GHC.Prim.Addr# @@ -263,26 +261,19 @@ lvl :: Int WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 10}] lvl = GHC.Types.I# 0# --- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0} -lvl :: Int -[LclId, - Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, - WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 10}] -lvl = GHC.Types.I# -2# - --- RHS size: {terms: 41, types: 17, coercions: 0, joins: 0/1} -$wg2 [InlPrag=NOINLINE, Dmd=LCL(C1(P(MP(L),1P(L))))] +-- RHS size: {terms: 39, types: 17, coercions: 0, joins: 0/1} +$wg2 [InlPrag=NOINLINE, Dmd=LCL(C1(!P(M!L,1!L)))] :: Int -> GHC.Prim.Int# -> (# Int, Int #) [LclId, Arity=2, - Str=<LP(L)><1L>, + Str=<L><1L>, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, - WorkFree=True, Expandable=True, Guidance=IF_ARGS [20 30] 86 20}] + WorkFree=True, Expandable=True, Guidance=IF_ARGS [20 30] 76 20}] $wg2 - = \ (w [Dmd=LP(L)] :: Int) (ww [Dmd=1L] :: GHC.Prim.Int#) -> - case ww of ds [Dmd=ML] { + = \ (m :: Int) (ww [Dmd=1L] :: GHC.Prim.Int#) -> + case ww of ds [Dmd=M!L] { __DEFAULT -> - (# case w of { GHC.Types.I# y -> GHC.Types.I# (GHC.Prim.*# 2# y) }, + (# case m of { GHC.Types.I# y -> GHC.Types.I# (GHC.Prim.*# 2# y) }, case ds of wild { __DEFAULT -> let { @@ -295,10 +286,9 @@ $wg2 { __DEFAULT -> GHC.Types.I# (GHC.Prim.-# wild c1#) }; - -1# -> lvl; 0# -> GHC.Real.divZeroError @Int } #); - 1# -> (# w, lvl #) + 1# -> (# m, lvl #) } -- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0} @@ -309,7 +299,7 @@ lvl :: Int lvl = GHC.Types.I# 2# -- RHS size: {terms: 34, types: 21, coercions: 0, joins: 0/0} -$wh2 [InlPrag=[2]] :: GHC.Prim.Int# -> Int +$wh2 [InlPrag=[2], Dmd=LCL(!L)] :: GHC.Prim.Int# -> Int [LclId, Arity=1, Str=<1L>, @@ -317,16 +307,16 @@ $wh2 [InlPrag=[2]] :: GHC.Prim.Int# -> Int WorkFree=True, Expandable=True, Guidance=IF_ARGS [30] 162 10}] $wh2 = \ (ww [Dmd=1L] :: GHC.Prim.Int#) -> - case ww of ds { + case ww of ds [Dmd=L!L] { __DEFAULT -> case GHC.Prim.remInt# ds 2# of { __DEFAULT -> case $wg2 (GHC.Types.I# ds) 2# of - { (# ww [Dmd=A], ww [Dmd=1L] #) -> + { (# ww [Dmd=A], ww [Dmd=1!L] #) -> ww }; 0# -> - case $wg2 lvl ds of { (# ww [Dmd=1P(L)], ww [Dmd=1P(L)] #) -> + case $wg2 lvl ds of { (# ww [Dmd=1!L], ww [Dmd=1!L] #) -> case ww of { GHC.Types.I# x -> case ww of { GHC.Types.I# y -> GHC.Types.I# (GHC.Prim.+# x y) } } @@ -339,27 +329,27 @@ $wh2 h2 [InlPrag=[2]] :: Int -> Int [LclIdX, Arity=1, - Str=<1P(1L)>, + Str=<1!P(1L)>, Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=False) - Tmpl= \ (w [Occ=Once1!, Dmd=1P(SL)] :: Int) -> - case w of { GHC.Types.I# ww [Occ=Once1, Dmd=SL] -> $wh2 ww }}] + Tmpl= \ (ds [Occ=Once1!, Dmd=S!P(SL)] :: Int) -> + case ds of { GHC.Types.I# ww [Occ=Once1, Dmd=SL] -> $wh2 ww }}] h2 - = \ (w [Dmd=1P(1L)] :: Int) -> - case w of { GHC.Types.I# ww [Dmd=1L] -> $wh2 ww } + = \ (ds [Dmd=1!P(1L)] :: Int) -> + case ds of { GHC.Types.I# ww [Dmd=1L] -> $wh2 ww } --- RHS size: {terms: 36, types: 14, coercions: 0, joins: 0/1} -$wg1 [InlPrag=NOINLINE, Dmd=LCL(P(L,LP(L)))] +-- RHS size: {terms: 34, types: 14, coercions: 0, joins: 0/1} +$wg1 [InlPrag=NOINLINE, Dmd=LCL(!P(L,L!L))] :: GHC.Prim.Int# -> (# GHC.Prim.Int#, Int #) [LclId, Arity=1, Str=<1L>, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, - WorkFree=True, Expandable=True, Guidance=IF_ARGS [30] 66 20}] + WorkFree=True, Expandable=True, Guidance=IF_ARGS [30] 56 20}] $wg1 = \ (ww [Dmd=1L] :: GHC.Prim.Int#) -> - case ww of ds { + case ww of ds [Dmd=L!L] { __DEFAULT -> (# GHC.Prim.*# 2# ds, case ds of wild { @@ -374,7 +364,6 @@ $wg1 { __DEFAULT -> GHC.Types.I# (GHC.Prim.-# wild c1#) }; - -1# -> lvl; 0# -> GHC.Real.divZeroError @Int } #); 1# -> (# 15#, lvl #) @@ -388,7 +377,7 @@ lvl :: (Int, Int) lvl = case $wg1 2# of { (# ww, ww #) -> (GHC.Types.I# ww, ww) } -- RHS size: {terms: 22, types: 16, coercions: 0, joins: 0/0} -$wh1 [InlPrag=[2]] :: GHC.Prim.Int# -> Int +$wh1 [InlPrag=[2], Dmd=LCL(!L)] :: GHC.Prim.Int# -> Int [LclId, Arity=1, Str=<1L>, @@ -396,28 +385,28 @@ $wh1 [InlPrag=[2]] :: GHC.Prim.Int# -> Int WorkFree=True, Expandable=True, Guidance=IF_ARGS [50] 91 10}] $wh1 = \ (ww [Dmd=1L] :: GHC.Prim.Int#) -> - case ww of ds [Dmd=ML] { + case ww of ds [Dmd=M!L] { __DEFAULT -> - case $wg1 ds of { (# ww, ww [Dmd=1P(L)] #) -> + case $wg1 ds of { (# ww, ww [Dmd=1!L] #) -> case ww of { GHC.Types.I# y -> GHC.Types.I# (GHC.Prim.+# ww y) } }; 1# -> lvl; - 2# -> case lvl of { (ds1 [Dmd=A], y [Dmd=1L]) -> y } + 2# -> case lvl of { (ds1 [Dmd=A], y [Dmd=1!L]) -> y } } -- RHS size: {terms: 6, types: 3, coercions: 0, joins: 0/0} h1 [InlPrag=[2]] :: Int -> Int [LclIdX, Arity=1, - Str=<1P(1L)>, + Str=<1!P(1L)>, Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=False) - Tmpl= \ (w [Occ=Once1!, Dmd=1P(SL)] :: Int) -> - case w of { GHC.Types.I# ww [Occ=Once1, Dmd=SL] -> $wh1 ww }}] + Tmpl= \ (ds [Occ=Once1!, Dmd=S!P(SL)] :: Int) -> + case ds of { GHC.Types.I# ww [Occ=Once1, Dmd=SL] -> $wh1 ww }}] h1 - = \ (w [Dmd=1P(1L)] :: Int) -> - case w of { GHC.Types.I# ww [Dmd=1L] -> $wh1 ww } + = \ (ds [Dmd=1!P(1L)] :: Int) -> + case ds of { GHC.Types.I# ww [Dmd=1L] -> $wh1 ww } diff --git a/testsuite/tests/stranal/should_compile/T18903.stderr b/testsuite/tests/stranal/should_compile/T18903.stderr index 63e95ea124..8c0427b235 100644 --- a/testsuite/tests/stranal/should_compile/T18903.stderr +++ b/testsuite/tests/stranal/should_compile/T18903.stderr @@ -1,7 +1,7 @@ ==================== Tidy Core ==================== Result size of Tidy Core - = {terms: 88, types: 52, coercions: 0, joins: 0/2} + = {terms: 83, types: 50, coercions: 0, joins: 0/2} -- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} T18903.$trModule4 :: GHC.Prim.Addr# @@ -46,66 +46,49 @@ T18903.h1 :: Int WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 10}] T18903.h1 = GHC.Types.I# 0# --- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0} -T18903.h2 :: Int -[GblId, - Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, - WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 10}] -T18903.h2 = GHC.Types.I# -2# - --- RHS size: {terms: 60, types: 38, coercions: 0, joins: 0/2} -T18903.$wh [InlPrag=[2]] :: GHC.Prim.Int# -> Int +-- RHS size: {terms: 65, types: 42, coercions: 0, joins: 0/2} +h :: Int -> Int [GblId, Arity=1, - Str=<SL>, + Str=<1!P(SL)>, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, - WorkFree=True, Expandable=True, Guidance=IF_ARGS [70] 197 10}] -T18903.$wh - = \ (ww :: GHC.Prim.Int#) -> + WorkFree=True, Expandable=True, Guidance=IF_ARGS [20] 217 10}] +h = \ (m :: Int) -> + case m of wild { GHC.Types.I# ds -> let { - $wg [InlPrag=NOINLINE, Dmd=MCM(P(L,1P(L)))] - :: GHC.Prim.Int# -> (# GHC.Prim.Int#, Int #) + $wg [InlPrag=NOINLINE, Dmd=MCM(!P(M!L,1!L))] + :: GHC.Prim.Int# -> (# Int, Int #) [LclId, Arity=1, Str=<1L>, Unf=OtherCon []] $wg - = \ (ww1 [OS=OneShot] :: GHC.Prim.Int#) -> - case ww1 of ds { + = \ (ww [OS=OneShot] :: GHC.Prim.Int#) -> + case ww of ds1 { __DEFAULT -> - (# GHC.Prim.*# 2# ds, - case ds of wild { + (# GHC.Types.I# (GHC.Prim.*# 2# ds1), + case ds1 of wild1 { __DEFAULT -> let { c1# :: GHC.Prim.Int# [LclId] - c1# = GHC.Prim.andI# 1# (GHC.Prim.<# wild 0#) } in - case GHC.Prim.quotInt# (GHC.Prim.-# 2# c1#) wild of wild1 + c1# = GHC.Prim.andI# 1# (GHC.Prim.<# wild1 0#) } in + case GHC.Prim.quotInt# (GHC.Prim.-# 2# c1#) wild1 of wild2 { __DEFAULT -> - GHC.Types.I# (GHC.Prim.-# wild1 c1#) + GHC.Types.I# (GHC.Prim.-# wild2 c1#) }; - -1# -> T18903.h2; 0# -> GHC.Real.divZeroError @Int } #); - 1# -> (# ww, T18903.h1 #) + 1# -> (# wild, T18903.h1 #) } } in - case ww of ds { + case ds of ds1 { __DEFAULT -> - case $wg ds of { (# ww1, ww2 #) -> - case ww2 of { GHC.Types.I# y -> GHC.Types.I# (GHC.Prim.+# ww1 y) } + case $wg ds1 of { (# ww, ww1 #) -> + case ww of { GHC.Types.I# x -> + case ww1 of { GHC.Types.I# y -> GHC.Types.I# (GHC.Prim.+# x y) } + } }; 1# -> T18903.h1; - 2# -> case $wg 2# of { (# ww1, ww2 #) -> ww2 } + 2# -> case $wg 2# of { (# ww, ww1 #) -> ww1 } + } } - --- RHS size: {terms: 6, types: 3, coercions: 0, joins: 0/0} -h [InlPrag=[2]] :: Int -> Int -[GblId, - Arity=1, - Str=<1P(SL)>, - Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, - WorkFree=True, Expandable=True, - Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=False) - Tmpl= \ (w [Occ=Once1!] :: Int) -> - case w of { GHC.Types.I# ww [Occ=Once1] -> T18903.$wh ww }}] -h = \ (w :: Int) -> case w of { GHC.Types.I# ww -> T18903.$wh ww } |