Ticket #2252: badSimplOpt.txt

File badSimplOpt.txt, 14.4 KB (added by simona, 6 years ago)

simplifier output for BadPerform.hs (with -O)

Line 
1
2==================== Tidy Core ====================
3a_r1aV :: GHC.Num.Integer
4[GlobalId]
5[NoCafRefs
6 Str: DmdType]
7a_r1aV = GHC.Num.S# 8
8
9a1_r1aX :: GHC.Num.Integer
10[GlobalId]
11[NoCafRefs
12 Str: DmdType]
13a1_r1aX = GHC.Num.S# 1
14
15fail_r1aZ :: (Abs.Domain.SparsePolyhedra.Types.DomVar,
16              Abs.Domain.SparsePolyhedra.Types.DomVar,
17              Abs.Domain.SparsePolyhedra.Types.DomVar,
18              Abs.Domain.SparsePolyhedra.Types.DomVar,
19              Abs.Domain.SparsePolyhedra.Types.DomVar,
20              Abs.Domain.SparsePolyhedra.Types.DomVar,
21              Abs.Domain.SparsePolyhedra.Types.DomVar,
22              Abs.Domain.SparsePolyhedra.Types.DomVar)
23[GlobalId]
24[Str: DmdType b]
25fail_r1aZ =
26  GHC.Err.irrefutPatError
27    @ (Abs.Domain.SparsePolyhedra.Types.DomVar,
28       Abs.Domain.SparsePolyhedra.Types.DomVar,
29       Abs.Domain.SparsePolyhedra.Types.DomVar,
30       Abs.Domain.SparsePolyhedra.Types.DomVar,
31       Abs.Domain.SparsePolyhedra.Types.DomVar,
32       Abs.Domain.SparsePolyhedra.Types.DomVar,
33       Abs.Domain.SparsePolyhedra.Types.DomVar,
34       Abs.Domain.SparsePolyhedra.Types.DomVar)
35    "tests/BadPerform.hs:36:0-41|(s : c : sn : u : tn : p : f : vn : _)"
36
37ds_r1b1 :: (Abs.Domain.SparsePolyhedra.Types.DomVar,
38            Abs.Domain.SparsePolyhedra.Types.DomVar,
39            Abs.Domain.SparsePolyhedra.Types.DomVar,
40            Abs.Domain.SparsePolyhedra.Types.DomVar,
41            Abs.Domain.SparsePolyhedra.Types.DomVar,
42            Abs.Domain.SparsePolyhedra.Types.DomVar,
43            Abs.Domain.SparsePolyhedra.Types.DomVar,
44            Abs.Domain.SparsePolyhedra.Types.DomVar)
45[GlobalId]
46[Str: DmdType]
47ds_r1b1 =
48  case GHC.Enum.eftInt 1 9223372036854775807 of wild_Xx {
49    [] -> fail_r1aZ;
50    : s1_XGP ds1_dRK ->
51      case ds1_dRK of wild1_XH {
52        [] -> fail_r1aZ;
53        : c1_XGU ds2_dRL ->
54          case ds2_dRL of wild2_XL {
55            [] -> fail_r1aZ;
56            : sn1_XGZ ds3_dRM ->
57              case ds3_dRM of wild3_XP {
58                [] -> fail_r1aZ;
59                : u1_XH4 ds4_dRN ->
60                  case ds4_dRN of wild4_XT {
61                    [] -> fail_r1aZ;
62                    : tn1_XH9 ds5_dRO ->
63                      case ds5_dRO of wild5_XX {
64                        [] -> fail_r1aZ;
65                        : p1_XHe ds6_dRP ->
66                          case ds6_dRP of wild6_X11 {
67                            [] -> fail_r1aZ;
68                            : f1_XHj ds7_dRQ ->
69                              case ds7_dRQ of wild7_X15 {
70                                [] -> fail_r1aZ;
71                                : vn1_XHo ds8_dRR ->
72                                  (s1_XGP, c1_XGU, sn1_XGZ, u1_XH4, tn1_XH9, p1_XHe, f1_XHj, vn1_XHo)
73                              }
74                          }
75                      }
76                  }
77              }
78          }
79      }
80  }
81
82u_rt5 :: Abs.Domain.SparsePolyhedra.Types.DomVar
83[GlobalId]
84[Str: DmdType]
85u_rt5 =
86  case ds_r1b1
87  of ds1_XSE
88  { (s1_XGQ, c1_XGS, sn1_XGU, u1_XGW, tn1_XGY, p1_XH0, f1_XH2, vn1_XH4) ->
89  u1_XGW
90  }
91
92a2_r1b3 :: (GHC.Num.Integer, Abs.Domain.SparsePolyhedra.Types.DomVar)
93[GlobalId]
94[Str: DmdType m]
95a2_r1b3 = (a1_r1aX, u_rt5)
96
97a3_r1b5 :: [Abs.Domain.SparsePolyhedra.Types.Term]
98[GlobalId]
99[Str: DmdType]
100a3_r1b5 =
101  GHC.Base.:
102    @ Abs.Domain.SparsePolyhedra.Types.Term
103    a2_r1b3
104    (GHC.Base.[] @ Abs.Domain.SparsePolyhedra.Types.Term)
105
106lvl_r1b7 :: [[Abs.Domain.SparsePolyhedra.Types.Term]]
107[GlobalId]
108[]
109lvl_r1b7 =
110  GHC.Base.map
111    @ (GHC.Num.Integer, Abs.Domain.SparsePolyhedra.Types.DomVar)
112    @ [Abs.Domain.SparsePolyhedra.Types.Term]
113    (Data.List.wrap @ Abs.Domain.SparsePolyhedra.Types.Term)
114    a3_r1b5
115
116a4_r1b9 :: [Abs.Domain.SparsePolyhedra.Types.Term]
117[GlobalId]
118[]
119a4_r1b9 =
120  Data.List.mergesort'
121    @ Abs.Domain.SparsePolyhedra.Types.Term Abs.Domain.SparsePolyhedra.lvl1 lvl_r1b7
122
123a5_r1bb :: [Abs.Domain.SparsePolyhedra.Types.Term]
124[GlobalId]
125[]
126a5_r1bb =
127  Data.List.mergesort'
128    @ Abs.Domain.SparsePolyhedra.Types.Term Abs.Domain.SparsePolyhedra.lvl1 lvl_r1b7
129
130lvl1_r1bd :: Abs.Domain.SparsePolyhedra.Types.Constraint
131[GlobalId]
132[]
133lvl1_r1bd =
134  case Abs.Domain.SparsePolyhedra.Constraints.$wsimplify
135         (a5_r1bb
136          `cast` (sym (Abs.Domain.SparsePolyhedra.Types.:CoTerms)
137                  :: [Abs.Domain.SparsePolyhedra.Types.Term]
138                       ~
139                     Abs.Domain.SparsePolyhedra.Types.Terms))
140         a_r1aV
141  of ww_aXX { (# ww1_aXZ, ww2_aY0 #) ->
142  Abs.Domain.SparsePolyhedra.Types.Constraint ww1_aXZ ww2_aY0
143  }
144
145lvl2_r1bf :: [Abs.Domain.SparsePolyhedra.Types.Constraint]
146[GlobalId]
147[]
148lvl2_r1bf =
149  GHC.Base.:
150    @ Abs.Domain.SparsePolyhedra.Types.Constraint
151    lvl1_r1bd
152    (GHC.Base.[] @ Abs.Domain.SparsePolyhedra.Types.Constraint)
153
154Rec {
155$wfixpoint_r1bh :: Abs.Domain.SparsePolyhedra.Poly
156                   -> Abs.Domain.SparsePolyhedra.Poly
157                   -> Abs.Domain.SparsePolyhedra.Poly
158                   -> GHC.Prim.State# GHC.Prim.RealWorld
159                   -> (# GHC.Prim.State# GHC.Prim.RealWorld, Abs.Domain.SparsePolyhedra.Poly #)
160[GlobalId]
161[Arity 4
162 Str: DmdType SSL]
163$wfixpoint_r1bh =
164  \ (w_s18R :: Abs.Domain.SparsePolyhedra.Poly)
165    (w1_s18S :: Abs.Domain.SparsePolyhedra.Poly)
166    (w2_s18T :: Abs.Domain.SparsePolyhedra.Poly)
167    (eta_s19b :: GHC.Prim.State# GHC.Prim.RealWorld) ->
168    let {
169      sR_s19B [ALWAYS Just S] :: Abs.Domain.SparsePolyhedra.Poly
170      [Str: DmdType]
171      sR_s19B = Abs.Domain.SparsePolyhedra.join w_s18R w1_s18S } in
172    let {
173      sV_s19H [ALWAYS Just L] :: Abs.Domain.SparsePolyhedra.Poly
174      [Str: DmdType]
175      sV_s19H =
176        case sR_s19B of wild_aTT {
177          Abs.Domain.SparsePolyhedra.Bottom -> Abs.Domain.SparsePolyhedra.Bottom;
178          Abs.Domain.SparsePolyhedra.Poly n_aTW cons_aTX ->
179            case cons_aTX
180            of w3_aTZ { Abs.Domain.SparsePolyhedra.Types.ConSys ww_aU1 ww1_aU2 ->
181            case Abs.Domain.SparsePolyhedra.Constraints.$waddConstraints
182                   n_aTW ww_aU1 ww1_aU2 lvl2_r1bf
183            of wild1_aU7 {
184              Data.Maybe.Nothing -> Abs.Domain.SparsePolyhedra.Bottom;
185              Data.Maybe.Just cons'_aUa -> Abs.Domain.SparsePolyhedra.Poly n_aTW cons'_aUa
186            }
187            }
188        }
189    } in
190      case sR_s19B of wild_aUe {
191        Abs.Domain.SparsePolyhedra.Bottom -> (# eta_s19b, sV_s19H #);
192        Abs.Domain.SparsePolyhedra.Poly ipv_aUh ipv1_aUi ->
193          let {
194            $w$j_s19M :: GHC.Prim.State# GHC.Prim.RealWorld
195                         -> GHC.Prim.State# GHC.Prim.RealWorld
196                         -> (# GHC.Prim.State# GHC.Prim.RealWorld, Abs.Domain.SparsePolyhedra.Poly #)
197            [Arity 2
198             Str: DmdType A]
199            $w$j_s19M =
200              \ (w3_s18N :: GHC.Prim.State# GHC.Prim.RealWorld)
201                (eta1_s197 :: GHC.Prim.State# GHC.Prim.RealWorld) ->
202                $wfixpoint_r1bh
203                  w_s18R
204                  (case sV_s19H of wild1_aUv {
205                     Abs.Domain.SparsePolyhedra.Bottom -> Abs.Domain.SparsePolyhedra.Bottom;
206                     Abs.Domain.SparsePolyhedra.Poly n_aUy cons_aUz ->
207                       case Abs.Domain.SparsePolyhedra.Constraints.$wsimplify
208                              (a4_r1b9
209                               `cast` (sym (Abs.Domain.SparsePolyhedra.Types.:CoTerms)
210                                       :: [Abs.Domain.SparsePolyhedra.Types.Term]
211                                            ~
212                                          Abs.Domain.SparsePolyhedra.Types.Terms))
213                              a1_r1aX
214                       of ww2_aUI { (# ww3_aUK, ww4_aUL #) ->
215                       case cons_aUz
216                       of w6_aUN { Abs.Domain.SparsePolyhedra.Types.ConSys ww21_aUP ww31_aUQ ->
217                       case Abs.Domain.SparsePolyhedra.Constraints.$wupdateVar
218                              a1_r1aX u_rt5 ww3_aUK ww4_aUL ww21_aUP ww31_aUQ
219                       of wild2_aUS {
220                         Data.Maybe.Nothing -> Abs.Domain.SparsePolyhedra.Bottom;
221                         Data.Maybe.Just cons'_aUV -> Abs.Domain.SparsePolyhedra.Poly n_aUy cons'_aUV
222                       }
223                       }
224                       }
225                   })
226                  wild_aUe
227                  eta1_s197
228          } in
229            case w2_s18T of wild1_aUk {
230              Abs.Domain.SparsePolyhedra.Bottom -> $w$j_s19M GHC.Prim.realWorld# eta_s19b;
231              Abs.Domain.SparsePolyhedra.Poly ipv2_aUo ipv3_aUp ->
232                case ipv1_aUi
233                of w3_aYg { Abs.Domain.SparsePolyhedra.Types.ConSys ww_aYi ww1_aYj ->
234                case ipv3_aUp
235                of w4_aYl { Abs.Domain.SparsePolyhedra.Types.ConSys ww2_aYn ww3_aYo ->
236                case Abs.Domain.SparsePolyhedra.Constraints.$wdefinesSubspace
237                       ipv2_aUo ww_aYi ww1_aYj ww2_aYn ww3_aYo
238                of wild11_B1 {
239                  GHC.Base.False -> $w$j_s19M GHC.Prim.realWorld# eta_s19b;
240                  GHC.Base.True -> (# eta_s19b, sV_s19H #)
241                }
242                }
243                }
244            }
245      }
246end Rec }
247
248lvl3_r1bj :: GHC.Num.Integer
249[GlobalId]
250[NoCafRefs]
251lvl3_r1bj = GHC.Num.S# 0
252
253lvl4_r1bl :: Abs.Domain.SparsePolyhedra.Types.Constraint
254[GlobalId]
255[NoCafRefs]
256lvl4_r1bl =
257  Abs.Domain.SparsePolyhedra.Types.Constraint
258    ((GHC.Base.[] @ Abs.Domain.SparsePolyhedra.Types.Term)
259     `cast` (sym (Abs.Domain.SparsePolyhedra.Types.:CoTerms)
260             :: [Abs.Domain.SparsePolyhedra.Types.Term]
261                  ~
262                Abs.Domain.SparsePolyhedra.Types.Terms))
263    lvl3_r1bj
264
265lvl5_r1bn :: GHC.Base.Int
266[GlobalId]
267[NoCafRefs]
268lvl5_r1bn = GHC.Base.I# 8
269
270lvl6_r1bp :: Abs.Domain.SparsePolyhedra.Poly
271[GlobalId]
272[NoCafRefs]
273lvl6_r1bp =
274  Abs.Domain.SparsePolyhedra.Poly lvl5_r1bn Abs.Domain.SparsePolyhedra.lvl2
275
276initial_r1br :: Abs.Domain.SparsePolyhedra.Poly
277[GlobalId]
278[Str: DmdType]
279initial_r1br =
280  Abs.Domain.SparsePolyhedra.assign
281    Abs.Domain.SparsePolyhedra.lvl u_rt5 lvl4_r1bl lvl6_r1bp
282
283lvl7_r1bt :: [GHC.Base.Char]
284[GlobalId]
285[]
286lvl7_r1bt = GHC.Base.unpackCString# "something's wrong"
287
288$j_r1bv :: GHC.Prim.State# GHC.Prim.RealWorld
289           -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #)
290[GlobalId]
291[Arity 1
292 Str: DmdType L]
293$j_r1bv =
294  \ (new_s_aWs :: GHC.Prim.State# GHC.Prim.RealWorld) ->
295    case $wfixpoint_r1bh
296           initial_r1br
297           Abs.Domain.SparsePolyhedra.Bottom
298           Abs.Domain.SparsePolyhedra.Bottom
299           new_s_aWs
300    of wild_XXG { (# new_s1_XXJ, a103_XXL #) ->
301    case a103_XXL of wild1_aUe {
302      Abs.Domain.SparsePolyhedra.Bottom -> (# new_s1_XXJ, GHC.Base.() #);
303      Abs.Domain.SparsePolyhedra.Poly ipv_aUh ipv1_aUi ->
304        case ipv1_aUi
305        of w_aYg { Abs.Domain.SparsePolyhedra.Types.ConSys ww_aYi ww1_aYj ->
306        case Abs.Domain.SparsePolyhedra.Constraints.$wdefinesSubspace
307               ipv_aUh ww_aYi ww1_aYj ww_aYi ww1_aYj
308        of wild2_aSE {
309          GHC.Base.False ->
310            case GHC.IO.a25 GHC.Handle.stdout lvl7_r1bt new_s1_XXJ
311            of wild3_a144 { (# new_s2_a146, a1031_a147 #) ->
312            GHC.IO.$wa13 GHC.Handle.stdout '\n' new_s2_a146
313            };
314          GHC.Base.True -> (# new_s1_XXJ, GHC.Base.() #)
315        }
316        }
317    }
318    }
319
320a6_r1bx :: Abs.Domain.SparsePolyhedra.Poly
321           -> GHC.Prim.State# GHC.Prim.RealWorld
322           -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #)
323[GlobalId]
324[Arity 2
325 Str: DmdType SL]
326a6_r1bx =
327  \ (res1_atp :: Abs.Domain.SparsePolyhedra.Poly)
328    (eta_s15u :: GHC.Prim.State# GHC.Prim.RealWorld) ->
329    case res1_atp of wild_aUe {
330      Abs.Domain.SparsePolyhedra.Bottom -> $j_r1bv eta_s15u;
331      Abs.Domain.SparsePolyhedra.Poly ipv_aUh ipv1_aUi ->
332        case ipv1_aUi
333        of w_aYg { Abs.Domain.SparsePolyhedra.Types.ConSys ww_aYi ww1_aYj ->
334        case Abs.Domain.SparsePolyhedra.Constraints.$wdefinesSubspace
335               ipv_aUh ww_aYi ww1_aYj ww_aYi ww1_aYj
336        of wild1_aSE {
337          GHC.Base.False ->
338            case GHC.IO.a25 GHC.Handle.stdout lvl7_r1bt eta_s15u
339            of wild2_a144 { (# new_s_a146, a103_a147 #) ->
340            case GHC.IO.$wa13 GHC.Handle.stdout '\n' new_s_a146
341            of wild3_aWq { (# new_s1_aWs, a1031_aWt #) ->
342            $j_r1bv new_s1_aWs
343            }
344            };
345          GHC.Base.True -> $j_r1bv eta_s15u
346        }
347        }
348    }
349
350Rec {
351Main.a7 :: GHC.Prim.Int#
352           -> GHC.Prim.State# GHC.Prim.RealWorld
353           -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #)
354[GlobalId]
355[Arity 2
356 Str: DmdType LL]
357Main.a7 =
358  \ (m_a153 :: GHC.Prim.Int#) (eta_s15J :: GHC.Prim.State# GHC.Prim.RealWorld) ->
359    case GHC.Prim.<=# m_a153 1 of wild_a154 {
360      GHC.Base.False ->
361        case $wfixpoint_r1bh
362               initial_r1br
363               Abs.Domain.SparsePolyhedra.Bottom
364               Abs.Domain.SparsePolyhedra.Bottom
365               eta_s15J
366        of wild1_aWq { (# new_s_aWs, a103_aWt #) ->
367        case a6_r1bx a103_aWt new_s_aWs of wild2_XXQ { (# new_s1_XXT, a1031_XXV #) ->
368        Main.a7 (GHC.Prim.-# m_a153 1) new_s1_XXT
369        }
370        };
371      GHC.Base.True ->
372        case $wfixpoint_r1bh
373               initial_r1br
374               Abs.Domain.SparsePolyhedra.Bottom
375               Abs.Domain.SparsePolyhedra.Bottom
376               eta_s15J
377        of wild1_aWq { (# new_s_aWs, a103_aWt #) ->
378        case a6_r1bx a103_aWt new_s_aWs of wild2_XXH { (# new_s1_XXK, a1031_XXM #) ->
379        (# new_s1_XXK, GHC.Base.() #)
380        }
381        }
382    }
383end Rec }
384
385Main.a8 :: GHC.Prim.State# GHC.Prim.RealWorld
386           -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #)
387[GlobalId]
388[Arity 1
389 Str: DmdType L]
390Main.a8 = Main.a7 1000
391
392Main.main :: GHC.IOBase.IO ()
393[GlobalId]
394[Arity 1
395 Str: DmdType L]
396Main.main =
397  Main.a8
398  `cast` (sym ((GHC.IOBase.:CoIO) ())
399          :: GHC.Prim.State# GHC.Prim.RealWorld
400             -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #)
401               ~
402             GHC.IOBase.IO ())
403
404Main.a9 :: GHC.Prim.State# GHC.Prim.RealWorld
405           -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #)
406[GlobalId]
407[Arity 1
408 Str: DmdType L]
409Main.a9 =
410  GHC.TopHandler.a7
411    @ ()
412    (Main.a8
413     `cast` (sym ((GHC.IOBase.:CoIO) ())
414             :: GHC.Prim.State# GHC.Prim.RealWorld
415                -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #)
416                  ~
417                GHC.IOBase.IO ()))
418
419:Main.main :: GHC.IOBase.IO ()
420[GlobalId]
421[Arity 1
422 Str: DmdType L]
423:Main.main =
424  Main.a9
425  `cast` (sym ((GHC.IOBase.:CoIO) ())
426          :: GHC.Prim.State# GHC.Prim.RealWorld
427             -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #)
428               ~
429             GHC.IOBase.IO ())
430
431
432
433
434==================== Tidy Core Rules ====================
435
436