1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
|
==================== Tidy Core ====================
Result size of Tidy Core = {terms: 98, types: 40, coercions: 5, joins: 0/0}
-- RHS size: {terms: 2, types: 1, coercions: 0, joins: 0/0}
T18078.unN1 :: N -> N
[GblId,
Arity=1,
Str=<S,1*U>,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=True)
Tmpl= \ (ds [Occ=Once] :: N) -> ds}]
T18078.unN1 = \ (ds :: N) -> ds
-- RHS size: {terms: 1, types: 0, coercions: 3, joins: 0/0}
unN :: N -> Int -> Int
[GblId[[RecSel]],
Arity=1,
Str=<S,1*U>,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)
Tmpl= T18078.unN1 `cast` (<N>_R ->_R T18078.N:N[0] :: (N -> N) ~R# (N -> Int -> Int))}]
unN = T18078.unN1 `cast` (<N>_R ->_R T18078.N:N[0] :: (N -> N) ~R# (N -> Int -> Int))
-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
T18078.$trModule4 :: GHC.Prim.Addr#
[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 0}]
T18078.$trModule4 = "main"#
-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
T18078.$trModule3 :: GHC.Types.TrName
[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
T18078.$trModule3 = GHC.Types.TrNameS T18078.$trModule4
-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
T18078.$trModule2 :: GHC.Prim.Addr#
[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 30 0}]
T18078.$trModule2 = "T18078"#
-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
T18078.$trModule1 :: GHC.Types.TrName
[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
T18078.$trModule1 = GHC.Types.TrNameS T18078.$trModule2
-- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0}
T18078.$trModule :: GHC.Types.Module
[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
T18078.$trModule = GHC.Types.Module T18078.$trModule3 T18078.$trModule1
-- RHS size: {terms: 3, types: 1, coercions: 0, joins: 0/0}
$krep :: GHC.Types.KindRep
[GblId, Cpr=m1, Unf=OtherCon []]
$krep = GHC.Types.KindRepTyConApp GHC.Types.$tcInt (GHC.Types.[] @GHC.Types.KindRep)
-- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0}
$krep1 :: GHC.Types.KindRep
[GblId, Cpr=m4, Unf=OtherCon []]
$krep1 = GHC.Types.KindRepFun $krep $krep
-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
T18078.$tcN2 :: GHC.Prim.Addr#
[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 0}]
T18078.$tcN2 = "N"#
-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
T18078.$tcN1 :: GHC.Types.TrName
[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
T18078.$tcN1 = GHC.Types.TrNameS T18078.$tcN2
-- RHS size: {terms: 7, types: 0, coercions: 0, joins: 0/0}
T18078.$tcN :: GHC.Types.TyCon
[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 70}]
T18078.$tcN = GHC.Types.TyCon 8242209344145137716## 16993518540698548720## T18078.$trModule T18078.$tcN1 0# GHC.Types.krep$*
-- RHS size: {terms: 3, types: 1, coercions: 0, joins: 0/0}
$krep2 :: GHC.Types.KindRep
[GblId, Cpr=m1, Unf=OtherCon []]
$krep2 = GHC.Types.KindRepTyConApp T18078.$tcN (GHC.Types.[] @GHC.Types.KindRep)
-- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0}
T18078.$tc'N1 [InlPrag=NOUSERINLINE[~]] :: GHC.Types.KindRep
[GblId, Cpr=m4, Unf=OtherCon []]
T18078.$tc'N1 = GHC.Types.KindRepFun $krep1 $krep2
-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
T18078.$tc'N3 :: GHC.Prim.Addr#
[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 0}]
T18078.$tc'N3 = "'N"#
-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
T18078.$tc'N2 :: GHC.Types.TrName
[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
T18078.$tc'N2 = GHC.Types.TrNameS T18078.$tc'N3
-- RHS size: {terms: 7, types: 0, coercions: 0, joins: 0/0}
T18078.$tc'N :: GHC.Types.TyCon
[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 70}]
T18078.$tc'N = GHC.Types.TyCon 15484649745433776318## 6635095266531093649## T18078.$trModule T18078.$tc'N2 0# T18078.$tc'N1
Rec {
-- RHS size: {terms: 10, types: 2, coercions: 0, joins: 0/0}
T18078.$wf [InlPrag=NOINLINE, Occ=LoopBreaker] :: GHC.Prim.Int# -> GHC.Prim.Int#
[GblId, Arity=1, Str=<S,1*U>, Unf=OtherCon []]
T18078.$wf
= \ (ww :: GHC.Prim.Int#) ->
case ww of wild {
__DEFAULT -> T18078.$wf (GHC.Prim.-# wild 1#);
0# -> 0#
}
end Rec }
-- RHS size: {terms: 10, types: 4, coercions: 0, joins: 0/0}
T18078.f1 [InlPrag=NOUSERINLINE[-1]] :: Int -> Int
[GblId,
Arity=1,
Str=<S(S),1*U(1*U)>,
Cpr=m1,
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=Once!] :: Int) -> case w of { GHC.Types.I# ww1 [Occ=Once] -> case T18078.$wf ww1 of ww2 [Occ=Once] { __DEFAULT -> GHC.Types.I# ww2 } }}]
T18078.f1 = \ (w :: Int) -> case w of { GHC.Types.I# ww1 -> case T18078.$wf ww1 of ww2 { __DEFAULT -> GHC.Types.I# ww2 } }
-- RHS size: {terms: 1, types: 0, coercions: 2, joins: 0/0}
f [InlPrag=NOUSERINLINE[-1]] :: N
[GblId,
Arity=1,
Str=<S(S),1*U(1*U)>,
Cpr=m1,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)
Tmpl= T18078.f1 `cast` (Sym (T18078.N:N[0]) :: (Int -> Int) ~R# N)}]
f = T18078.f1 `cast` (Sym (T18078.N:N[0]) :: (Int -> Int) ~R# N)
-- RHS size: {terms: 12, types: 4, coercions: 0, joins: 0/0}
g :: Int -> Int
[GblId,
Arity=1,
Str=<S,1*U(U)>,
Cpr=m1,
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= \ (x [Occ=Once!] :: Int) -> case x of { GHC.Types.I# x1 [Occ=Once] -> T18078.f1 (GHC.Types.I# (GHC.Prim.+# x1 1#)) }}]
g = \ (x :: Int) -> case x of { GHC.Types.I# x1 -> case T18078.$wf (GHC.Prim.+# x1 1#) of ww { __DEFAULT -> GHC.Types.I# ww } }
|