Ticket #5522: partial.core.1.z6

File partial.core.1.z6, 15.5 KB (added by igloo, 2 years ago)
Line 
1
2==================== Occurrence analysis ====================
3lvl_scn :: GHC.Types.Int
4[LclId, Str=DmdType m]
5lvl_scn = GHC.Types.I# 1
6
7lvl_scm [Occ=OnceL] :: [GHC.Types.Int]
8[LclId, Str=DmdType]
9lvl_scm =
10  GHC.Types.: @ GHC.Types.Int lvl_scn (GHC.Types.[] @ GHC.Types.Int)
11
12lvl_scp :: GHC.Types.Int
13[LclId, Str=DmdType m]
14lvl_scp = GHC.Types.I# 2
15
16lvl_sco [Occ=OnceL] :: [GHC.Types.Int]
17[LclId, Str=DmdType]
18lvl_sco =
19  GHC.Types.: @ GHC.Types.Int lvl_scp (GHC.Types.[] @ GHC.Types.Int)
20
21lvl_scr :: GHC.Types.Int
22[LclId, Str=DmdType m]
23lvl_scr = GHC.Types.I# 3
24
25lvl_scq [Occ=OnceL] :: [GHC.Types.Int]
26[LclId, Str=DmdType]
27lvl_scq =
28  GHC.Types.: @ GHC.Types.Int lvl_scr (GHC.Types.[] @ GHC.Types.Int)
29
30lvl_sct :: GHC.Types.Int
31[LclId, Str=DmdType m]
32lvl_sct = GHC.Types.I# 4
33
34lvl_scs [Occ=OnceL] :: [GHC.Types.Int]
35[LclId, Str=DmdType]
36lvl_scs =
37  GHC.Types.: @ GHC.Types.Int lvl_sct (GHC.Types.[] @ GHC.Types.Int)
38
39lvl_scv :: GHC.Types.Int
40[LclId, Str=DmdType m]
41lvl_scv = GHC.Types.I# 5
42
43lvl_scu [Occ=OnceL] :: [GHC.Types.Int]
44[LclId, Str=DmdType]
45lvl_scu =
46  GHC.Types.: @ GHC.Types.Int lvl_scv (GHC.Types.[] @ GHC.Types.Int)
47
48Rec {
49go_abJ [Occ=LoopBreaker] :: [GHC.Types.Int] -> [GHC.Types.Int]
50[LclId, Arity=1, Str=DmdType S]
51go_abJ =
52  \ (ds_abK [Occ=Once!] :: [GHC.Types.Int]) ->
53    case ds_abK of _ {
54      [] -> GHC.Types.[] @ GHC.Types.Int;
55      : y_abO [Occ=OnceL!, Dmd=Just D(T)]
56        ys_abP [Occ=Once*, Dmd=Just L] ->
57        case (letrec {
58                go_Xce [Occ=LoopBreaker] :: [GHC.Types.Int] -> [GHC.Types.Int]
59                [LclId, Arity=1, Str=DmdType S]
60                go_Xce =
61                  \ (ds_Xcg [Occ=Once!] :: [GHC.Types.Int]) ->
62                    case ds_Xcg of _ {
63                      [] -> GHC.Types.[] @ GHC.Types.Int;
64                      : y_Xcm [Occ=OnceL!, Dmd=Just D(T)]
65                        ys_Xco [Occ=Once*, Dmd=Just L] ->
66                        case (letrec {
67                                go_XcZ [Occ=LoopBreaker] :: [GHC.Types.Int] -> [GHC.Types.Int]
68                                [LclId, Arity=1, Str=DmdType S]
69                                go_XcZ =
70                                  \ (ds_Xd2 [Occ=Once!] :: [GHC.Types.Int]) ->
71                                    case ds_Xd2 of _ {
72                                      [] -> GHC.Types.[] @ GHC.Types.Int;
73                                      : y_Xcu [Occ=OnceL!, Dmd=Just D(T)]
74                                        ys_Xcw [Occ=Once*, Dmd=Just L] ->
75                                        case (letrec {
76                                                go_Xdb [Occ=LoopBreaker]
77                                                  :: [GHC.Types.Int] -> [GHC.Types.Int]
78                                                [LclId, Arity=1, Str=DmdType S]
79                                                go_Xdb =
80                                                  \ (ds_Xcs [Occ=Once!] :: [GHC.Types.Int]) ->
81                                                    case ds_Xcs of _ {
82                                                      [] -> GHC.Types.[] @ GHC.Types.Int;
83                                                      : y_Xcy [Occ=OnceL!, Dmd=Just D(T)]
84                                                        ys_XcA [Occ=Once*, Dmd=Just L] ->
85                                                        case (letrec {
86                                                                go_Xdn [Occ=LoopBreaker]
87                                                                  :: [GHC.Types.Int]
88                                                                     -> [GHC.Types.Int]
89                                                                [LclId, Arity=1, Str=DmdType S]
90                                                                go_Xdn =
91                                                                  \ (ds_Xdq [Occ=Once!]
92                                                                       :: [GHC.Types.Int]) ->
93                                                                    case ds_Xdq of _ {
94                                                                      [] ->
95                                                                        GHC.Types.[]
96                                                                          @ GHC.Types.Int;
97                                                                      : y_XcC [Occ=Once!,
98                                                                               Dmd=Just D(T)]
99                                                                        ys_XcE [Occ=Once*,
100                                                                                Dmd=Just L] ->
101                                                                        case (let {
102                                                                                lvl_scw [Occ=OnceL,
103                                                                                         Dmd=Just D(T)]
104                                                                                  :: GHC.Types.Int
105                                                                                [LclId, Str=DmdType]
106                                                                                lvl_scw =
107                                                                                  case y_abO
108                                                                                  of _
109                                                                                  { GHC.Types.I# x_abx [Occ=Once,
110                                                                                                        Dmd=Just L] ->
111                                                                                  case y_Xcm
112                                                                                  of _
113                                                                                  { GHC.Types.I# y_abB [Occ=Once,
114                                                                                                        Dmd=Just L] ->
115                                                                                  case y_Xcu
116                                                                                  of _
117                                                                                  { GHC.Types.I# y_Xdr [Occ=Once,
118                                                                                                        Dmd=Just L] ->
119                                                                                  case y_Xcy
120                                                                                  of _
121                                                                                  { GHC.Types.I# y_XcI [Occ=Once,
122                                                                                                        Dmd=Just L] ->
123                                                                                  case y_XcC
124                                                                                  of _
125                                                                                  { GHC.Types.I# y_XcU [Occ=Once,
126                                                                                                        Dmd=Just L] ->
127                                                                                  GHC.Types.I#
128                                                                                    (GHC.Prim.+#
129                                                                                       (GHC.Prim.+#
130                                                                                          (GHC.Prim.+#
131                                                                                             (GHC.Prim.+#
132                                                                                                x_abx
133                                                                                                y_abB)
134                                                                                             y_Xdr)
135                                                                                          y_XcI)
136                                                                                       y_XcU)
137                                                                                  }
138                                                                                  }
139                                                                                  }
140                                                                                  }
141                                                                                  } } in
142                                                                              letrec {
143                                                                                go_Xcx [Occ=LoopBreaker]
144                                                                                  :: [GHC.Types.Int]
145                                                                                     -> [GHC.Types.Int]
146                                                                                [LclId,
147                                                                                 Arity=1,
148                                                                                 Str=DmdType S]
149                                                                                go_Xcx =
150                                                                                  \ (ds_Xcz [Occ=Once!]
151                                                                                       :: [GHC.Types.Int]) ->
152                                                                                    case ds_Xcz
153                                                                                    of _ {
154                                                                                      [] ->
155                                                                                        GHC.Types.[]
156                                                                                          @ GHC.Types.Int;
157                                                                                      : y_XcF [Occ=Once,
158                                                                                               Dmd=Just D(L)]
159                                                                                        ys_XcH [Occ=Once,
160                                                                                                Dmd=Just L] ->
161                                                                                        GHC.Types.:
162                                                                                          @ GHC.Types.Int
163                                                                                          (GHC.Base.plusInt
164                                                                                             lvl_scw
165                                                                                             y_XcF)
166                                                                                          (go_Xcx
167                                                                                             ys_XcH)
168                                                                                    }; } in
169                                                                              go_Xcx)
170                                                                               lvl_scu
171                                                                        of _ {
172                                                                          [] -> go_Xdn ys_XcE;
173                                                                          : x_abV [Occ=Once,
174                                                                                   Dmd=Just L]
175                                                                            xs_abW [Occ=Once,
176                                                                                    Dmd=Just L] ->
177                                                                            GHC.Types.:
178                                                                              @ GHC.Types.Int
179                                                                              x_abV
180                                                                              (GHC.Base.++
181                                                                                 @ GHC.Types.Int
182                                                                                 xs_abW
183                                                                                 (go_Xdn ys_XcE))
184                                                                        }
185                                                                    }; } in
186                                                              go_Xdn)
187                                                               lvl_scs
188                                                        of _ {
189                                                          [] -> go_Xdb ys_XcA;
190                                                          : x_abV [Occ=Once, Dmd=Just L]
191                                                            xs_abW [Occ=Once, Dmd=Just L] ->
192                                                            GHC.Types.:
193                                                              @ GHC.Types.Int
194                                                              x_abV
195                                                              (GHC.Base.++
196                                                                 @ GHC.Types.Int
197                                                                 xs_abW
198                                                                 (go_Xdb ys_XcA))
199                                                        }
200                                                    }; } in
201                                              go_Xdb)
202                                               lvl_scq
203                                        of _ {
204                                          [] -> go_XcZ ys_Xcw;
205                                          : x_abV [Occ=Once, Dmd=Just L]
206                                            xs_abW [Occ=Once, Dmd=Just L] ->
207                                            GHC.Types.:
208                                              @ GHC.Types.Int
209                                              x_abV
210                                              (GHC.Base.++ @ GHC.Types.Int xs_abW (go_XcZ ys_Xcw))
211                                        }
212                                    }; } in
213                              go_XcZ)
214                               lvl_sco
215                        of _ {
216                          [] -> go_Xce ys_Xco;
217                          : x_abV [Occ=Once, Dmd=Just L] xs_abW [Occ=Once, Dmd=Just L] ->
218                            GHC.Types.:
219                              @ GHC.Types.Int
220                              x_abV
221                              (GHC.Base.++ @ GHC.Types.Int xs_abW (go_Xce ys_Xco))
222                        }
223                    }; } in
224              go_Xce)
225               lvl_scm
226        of _ {
227          [] -> go_abJ ys_abP;
228          : x_abV [Occ=Once, Dmd=Just L] xs_abW [Occ=Once, Dmd=Just L] ->
229            GHC.Types.:
230              @ GHC.Types.Int
231              x_abV
232              (GHC.Base.++ @ GHC.Types.Int xs_abW (go_abJ ys_abP))
233        }
234    }
235end Rec }
236
237lvl_sdS [Occ=Once] :: GHC.Types.Int
238[LclId]
239lvl_sdS = GHC.Types.I# 0
240
241lvl_sdR [Occ=Once] :: [GHC.Types.Int]
242[LclId]
243lvl_sdR =
244  GHC.Types.: @ GHC.Types.Int lvl_sdS (GHC.Types.[] @ GHC.Types.Int)
245
246Foo.output :: [GHC.Types.Int]
247[LclIdX, Str=DmdType]
248Foo.output = go_abJ lvl_sdR
249