summaryrefslogtreecommitdiff
path: root/testsuite/tests/arityanal/should_compile/Arity14.stderr
blob: 5a395e13433b451fa65068b03bd80b903919febf (plain)
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

==================== Tidy Core ====================
Result size of Tidy Core = {terms: 56, types: 87, coercions: 0, joins: 0/3}

-- RHS size: {terms: 3, types: 3, coercions: 0, joins: 0/0}
F14.f1 :: forall {t}. t -> t
[GblId,
 Arity=1,
 Str=<1L>,
 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= \ (@t) (y [Occ=Once1] :: t) -> y}]
F14.f1 = \ (@t) (y :: t) -> y

-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
F14.f2 :: Integer
[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}]
F14.f2 = 1

-- RHS size: {terms: 35, types: 24, coercions: 0, joins: 0/3}
F14.$wf14 [InlPrag=[2]] :: forall {t}. (t -> t -> Bool) -> Num t => t -> t -> t -> t
[GblId, Arity=4, Str=<SCS(C1(L))><LP(LCL(C1(L)),M,M,M,M,M,MCM(L))><L><L>, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 90 0 0] 300 0}]
F14.$wf14
  = \ (@t) (ww :: t -> t -> Bool) (w :: Num t) (w1 :: t) (w2 :: t) ->
      let {
        lvl :: t
        [LclId]
        lvl = fromInteger @t w F14.f2 } in
      letrec {
        f3 [Occ=LoopBreaker, Dmd=SCS(C1(L))] :: t -> t -> t -> t
        [LclId, Arity=2, Str=<L><L>, Unf=OtherCon []]
        f3
          = \ (n :: t) (x :: t) ->
              case ww x n of {
                False -> F14.f1 @t;
                True ->
                  let {
                    v :: t -> t
                    [LclId]
                    v = f3 n (+ @t w x lvl) } in
                  \ (y :: t) -> v (+ @t w x y)
              }; } in
      f3 w1 w2

-- RHS size: {terms: 13, types: 34, coercions: 0, joins: 0/0}
f14 [InlPrag=[2]] :: forall {t}. (Ord t, Num t) => t -> t -> t -> t
[GblId,
 Arity=4,
 Str=<1P(A,A,SCS(C1(L)),A,A,A,A,A)><LP(LCL(C1(L)),L,L,L,L,L,L)><L><L>,
 Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=4,unsat_ok=True,boring_ok=False)
         Tmpl= \ (@t) (w [Occ=Once1!] :: Ord t) (w1 [Occ=Once1] :: Num t) (w2 [Occ=Once1] :: t) (w3 [Occ=Once1] :: t) -> case w of { GHC.Classes.C:Ord _ [Occ=Dead] _ [Occ=Dead] ww2 [Occ=Once1] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> F14.$wf14 @t ww2 w1 w2 w3 }}]
f14 = \ (@t) (w :: Ord t) (w1 :: Num t) (w2 :: t) (w3 :: t) -> case w of { GHC.Classes.C:Ord ww ww1 ww2 ww3 ww4 ww5 ww6 ww7 -> F14.$wf14 @t ww2 w1 w2 w3 }