==================== Tidy Core ==================== Result size of Tidy Core = {terms: 71, types: 41, coercions: 0, joins: 0/0} Rec { -- RHS size: {terms: 4, types: 3, coercions: 0, joins: 0/0} T13143.$wf [InlPrag=NOINLINE, Occ=LoopBreaker] :: (# #) -> forall {a}. a [GblId, Arity=1, Str=b, Cpr=b, Unf=OtherCon []] T13143.$wf = \ _ [Occ=Dead] (@a) -> T13143.$wf GHC.Prim.(##) @a end Rec } -- RHS size: {terms: 4, types: 3, coercions: 0, joins: 0/0} f [InlPrag=NOINLINE[final]] :: forall a. Int -> a [GblId, Arity=1, Str=b, Cpr=b, Unf=Unf{Src=StableSystem, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=True) Tmpl= \ (@a) _ [Occ=Dead] -> T13143.$wf GHC.Prim.(##) @a}] f = \ (@a) _ [Occ=Dead] -> T13143.$wf GHC.Prim.(##) @a -- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} T13143.$trModule4 :: GHC.Prim.Addr# [GblId, Unf=Unf{Src=, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 0}] T13143.$trModule4 = "main"# -- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0} T13143.$trModule3 :: GHC.Types.TrName [GblId, Unf=Unf{Src=, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 10}] T13143.$trModule3 = GHC.Types.TrNameS T13143.$trModule4 -- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} T13143.$trModule2 :: GHC.Prim.Addr# [GblId, Unf=Unf{Src=, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 30 0}] T13143.$trModule2 = "T13143"# -- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0} T13143.$trModule1 :: GHC.Types.TrName [GblId, Unf=Unf{Src=, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 10}] T13143.$trModule1 = GHC.Types.TrNameS T13143.$trModule2 -- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0} T13143.$trModule :: GHC.Types.Module [GblId, Unf=Unf{Src=, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 10}] T13143.$trModule = GHC.Types.Module T13143.$trModule3 T13143.$trModule1 -- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0} lvl :: forall {a}. a [GblId, Str=b, Cpr=b] lvl = T13143.$wf GHC.Prim.(##) Rec { -- RHS size: {terms: 28, types: 8, coercions: 0, joins: 0/0} T13143.$wg [InlPrag=[2], Occ=LoopBreaker] :: Bool -> Bool -> GHC.Prim.Int# -> GHC.Prim.Int# [GblId[StrictWorker([!, !])], Arity=3, Str=<1L><1L>, Unf=OtherCon []] T13143.$wg = \ (ds :: Bool) (ds1 :: Bool) (ww :: GHC.Prim.Int#) -> case ds of { False -> case ds1 of { False -> T13143.$wg GHC.Types.False GHC.Types.True ww; True -> GHC.Prim.+# ww 1# }; True -> case ds1 of { False -> T13143.$wg GHC.Types.True GHC.Types.True ww; True -> case lvl of wild2 { } } } end Rec } -- RHS size: {terms: 14, types: 6, coercions: 0, joins: 0/0} g [InlPrag=[2]] :: Bool -> Bool -> Int -> Int [GblId, Arity=3, Str=<1L><1L><1!P(L)>, Cpr=1, Unf=Unf{Src=StableSystem, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=3,unsat_ok=True,boring_ok=False) Tmpl= \ (ds [Occ=Once1] :: Bool) (ds1 [Occ=Once1] :: Bool) (p [Occ=Once1!] :: Int) -> case p of { GHC.Types.I# ww [Occ=Once1] -> case T13143.$wg ds ds1 ww of ww1 [Occ=Once1] { __DEFAULT -> GHC.Types.I# ww1 } }}] g = \ (ds :: Bool) (ds1 :: Bool) (p :: Int) -> case p of { GHC.Types.I# ww -> case T13143.$wg ds ds1 ww of ww1 { __DEFAULT -> GHC.Types.I# ww1 } }