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
|
==================== Tidy Core ====================
Result size of Tidy Core
= {terms: 88, types: 52, coercions: 0, joins: 0/2}
-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
T18903.$trModule4 :: GHC.Prim.Addr#
[GblId,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 0}]
T18903.$trModule4 = "main"#
-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
T18903.$trModule3 :: GHC.Types.TrName
[GblId,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 10}]
T18903.$trModule3 = GHC.Types.TrNameS T18903.$trModule4
-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
T18903.$trModule2 :: GHC.Prim.Addr#
[GblId,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 30 0}]
T18903.$trModule2 = "T18903"#
-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
T18903.$trModule1 :: GHC.Types.TrName
[GblId,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 10}]
T18903.$trModule1 = GHC.Types.TrNameS T18903.$trModule2
-- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0}
T18903.$trModule :: GHC.Types.Module
[GblId,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 10}]
T18903.$trModule
= GHC.Types.Module T18903.$trModule3 T18903.$trModule1
-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
T18903.h1 :: Int
[GblId,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
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
[GblId,
Arity=1,
Str=<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#) ->
let {
$wg [InlPrag=NOINLINE, Dmd=MCM(P(L,1P(L)))]
:: GHC.Prim.Int# -> (# GHC.Prim.Int#, Int #)
[LclId, Arity=1, Str=<1L>, Unf=OtherCon []]
$wg
= \ (ww1 [OS=OneShot] :: GHC.Prim.Int#) ->
case ww1 of ds {
__DEFAULT ->
(# GHC.Prim.*# 2# ds,
case ds of wild {
__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
{ __DEFAULT ->
GHC.Types.I# (GHC.Prim.-# wild1 c1#)
};
-1# -> T18903.h2;
0# -> GHC.Real.divZeroError @Int
} #);
1# -> (# ww, T18903.h1 #)
} } in
case ww of ds {
__DEFAULT ->
case $wg ds of { (# ww1, ww2 #) ->
case ww2 of { GHC.Types.I# y -> GHC.Types.I# (GHC.Prim.+# ww1 y) }
};
1# -> T18903.h1;
2# -> case $wg 2# of { (# ww1, ww2 #) -> ww2 }
}
-- 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 }
|