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
|
==================== Exitification transformation ====================
Result size of Exitification transformation
= {terms: 51, types: 23, coercions: 0, joins: 2/2}
-- RHS size: {terms: 25, types: 10, coercions: 0, joins: 2/2}
$wsmall [InlPrag=[2]] :: GHC.Prim.Int# -> GHC.Prim.Int#
[LclId[StrictWorker([])],
Arity=1,
Str=<SL>,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [0] 35 0}]
$wsmall
= \ (ww [Dmd=SL] :: GHC.Prim.Int#) ->
join {
exit :: GHC.Prim.Int# -> GHC.Prim.Int#
[LclId[JoinId(1)(Nothing)]]
exit (ww :: GHC.Prim.Int#) = GHC.Prim.*# ww ww } in
joinrec {
$wgo [InlPrag=[2], Occ=LoopBreaker]
:: GHC.Prim.Int# -> GHC.Prim.Int# -> GHC.Prim.Int#
[LclId[JoinId(2)(Just [])],
Arity=2,
Str=<L><SL>,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=2,unsat_ok=True,boring_ok=True)}]
$wgo (ww :: GHC.Prim.Int#) (ww [Dmd=SL] :: GHC.Prim.Int#)
= case ww of ds {
__DEFAULT -> jump $wgo (GHC.Prim.+# ww ds) (GHC.Prim.-# ds 1#);
0# -> jump exit ww
}; } in
jump $wgo 0# ww
-- RHS size: {terms: 10, types: 4, coercions: 0, joins: 0/0}
small [InlPrag=[2]] :: Int -> Int
[LclIdX,
Arity=1,
Str=<S!P(SL)>,
Cpr=1,
Unf=Unf{Src=StableSystem, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=False)
Tmpl= \ (x [Occ=Once1!, Dmd=S!P(SL)] :: Int) ->
case x of { GHC.Types.I# ww [Occ=Once1, Dmd=SL] ->
case $wsmall ww of ww [Occ=Once1] { __DEFAULT -> GHC.Types.I# ww }
}}]
small
= \ (x [Dmd=S!P(SL)] :: Int) ->
case x of { GHC.Types.I# ww [Dmd=SL] ->
case $wsmall ww of ww { __DEFAULT -> GHC.Types.I# ww }
}
-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
$trModule :: GHC.Prim.Addr#
[LclId,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 0}]
$trModule = "main"#
-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
$trModule :: GHC.Types.TrName
[LclId,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 10}]
$trModule = GHC.Types.TrNameS $trModule
-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
$trModule :: GHC.Prim.Addr#
[LclId,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 30 0}]
$trModule = "T20510"#
-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
$trModule :: GHC.Types.TrName
[LclId,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 10}]
$trModule = GHC.Types.TrNameS $trModule
-- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0}
T20510.$trModule :: GHC.Types.Module
[LclIdX,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 30 10}]
T20510.$trModule = GHC.Types.Module $trModule $trModule
|