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
|
==================== Tidy Core ====================
Result size of Tidy Core = {terms: 64, types: 41, coercions: 0}
-- RHS size: {terms: 2, types: 0, coercions: 0}
T4908.$trModule2 :: TrName
[GblId,
Caf=NoCafRefs,
Str=DmdType m1,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 30 20}]
T4908.$trModule2 = TrNameS "main"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
T4908.$trModule1 :: TrName
[GblId,
Caf=NoCafRefs,
Str=DmdType m1,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 40 20}]
T4908.$trModule1 = TrNameS "T4908"#
-- RHS size: {terms: 3, types: 0, coercions: 0}
T4908.$trModule :: Module
[GblId[ReflectionId],
Caf=NoCafRefs,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
T4908.$trModule = Module T4908.$trModule2 T4908.$trModule1
Rec {
-- RHS size: {terms: 19, types: 5, coercions: 0}
T4908.f_$s$wf [Occ=LoopBreaker] :: Int# -> Int -> Int# -> Bool
[GblId, Arity=3, Caf=NoCafRefs, Str=DmdType <S,1*U><L,A><L,U>]
T4908.f_$s$wf =
\ (sc :: Int#) (sc1 :: Int) (sc2 :: Int#) ->
case sc of ds {
__DEFAULT ->
case sc2 of ds1 {
__DEFAULT -> T4908.f_$s$wf (-# ds 1#) sc1 ds1;
0# -> True
};
0# -> True
}
end Rec }
-- RHS size: {terms: 24, types: 13, coercions: 0}
T4908.$wf [InlPrag=[0]] :: Int# -> (Int, Int) -> Bool
[GblId,
Arity=2,
Caf=NoCafRefs,
Str=DmdType <S,1*U><L,1*U(A,U(U))>,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [30 20] 101 20}]
T4908.$wf =
\ (ww :: Int#) (w :: (Int, Int)) ->
case ww of ds {
__DEFAULT ->
case w of _ [Occ=Dead] { (a, b) ->
case b of _ [Occ=Dead] { I# ds1 ->
case ds1 of ds2 {
__DEFAULT -> T4908.f_$s$wf (-# ds 1#) a ds2;
0# -> True
}
}
};
0# -> True
}
-- RHS size: {terms: 8, types: 6, coercions: 0}
f [InlPrag=INLINE[0]] :: Int -> (Int, Int) -> Bool
[GblId,
Arity=2,
Caf=NoCafRefs,
Str=DmdType <S(S),1*U(1*U)><L,1*U(A,U(U))>,
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=Once!] :: Int) (w1 [Occ=Once] :: (Int, Int)) ->
case w of _ [Occ=Dead] { I# ww1 [Occ=Once] -> T4908.$wf ww1 w1 }}]
f =
\ (w :: Int) (w1 :: (Int, Int)) ->
case w of _ [Occ=Dead] { I# ww1 -> T4908.$wf ww1 w1 }
------ Local rules for imported ids --------
"SC:$wf0" [0]
forall (sc :: Int#) (sc1 :: Int) (sc2 :: Int#).
T4908.$wf sc (sc1, I# sc2)
= T4908.f_$s$wf sc sc1 sc2
|