Ticket #2252: badSimpl.txt

File badSimpl.txt, 15.7 KB (added by simona, 6 years ago)

simplifier output for GoodPerform?.hs

Line 
1
2==================== Tidy Core ====================
3Fake.csEquals :: Fake.ConSys -> [Fake.Constraint]
4[RecSel]
5[Arity 1
6 NoCafRefs
7 Str: DmdType U(SA)]
8Fake.csEquals =
9  \ (tpl_B1 :: Fake.ConSys) ->
10    case tpl_B1 of tpl1_B2 { Fake.ConSys ipv_B3 ipv1_B4 -> ipv_B3 }
11
12Fake.csIneqs :: Fake.ConSys -> [Fake.Constraint]
13[RecSel]
14[Arity 1
15 NoCafRefs
16 Str: DmdType U(AS)]
17Fake.csIneqs =
18  \ (tpl_B1 :: Fake.ConSys) ->
19    case tpl_B1 of tpl1_B2 { Fake.ConSys ipv_B3 ipv1_B4 -> ipv1_B4 }
20
21Fake.terms :: Fake.Constraint -> Fake.Terms
22[RecSel]
23[Arity 1
24 NoCafRefs
25 Str: DmdType U(SA)]
26Fake.terms =
27  \ (tpl_B1 :: Fake.Constraint) ->
28    case tpl_B1 of tpl1_B2 { Fake.Constraint ipv_B3 ipv1_B4 -> ipv_B3 }
29
30Fake.coeff :: Fake.Constraint -> GHC.Num.Integer
31[RecSel]
32[Arity 1
33 NoCafRefs
34 Str: DmdType U(AS)]
35Fake.coeff =
36  \ (tpl_B1 :: Fake.Constraint) ->
37    case tpl_B1 of tpl1_B2 { Fake.Constraint ipv_B3 ipv1_B4 -> ipv1_B4 }
38
39Fake.noOfVars :: Fake.Poly -> GHC.Base.Int
40[RecSel]
41[Arity 1
42 Str: DmdType S]
43Fake.noOfVars =
44  \ (tpl_B1 :: Fake.Poly) ->
45    case tpl_B1 of tpl1_B2 {
46      __DEFAULT ->
47        GHC.Err.recSelError @ GHC.Base.Int "No match in record selector Fake.noOfVars";
48      Fake.Poly ipv_B3 ipv1_B4 -> ipv_B3
49    }
50
51Fake.conSys :: Fake.Poly -> Fake.ConSys
52[RecSel]
53[Arity 1
54 Str: DmdType S]
55Fake.conSys =
56  \ (tpl_B1 :: Fake.Poly) ->
57    case tpl_B1 of tpl1_B2 {
58      __DEFAULT ->
59        GHC.Err.recSelError @ Fake.ConSys "No match in record selector Fake.conSys";
60      Fake.Poly ipv_B3 ipv1_B4 -> ipv1_B4
61    }
62
63Fake.set :: Fake.DomVar -> GHC.Num.Integer -> Fake.Poly -> Fake.Poly
64[GlobalId]
65[Arity 3
66 NoCafRefs]
67Fake.set =
68  \ (v_a6F :: Fake.DomVar) (rhs_a6G :: GHC.Num.Integer) (p_a6H :: Fake.Poly) ->
69    p_a6H
70
71Fake.join :: Fake.Poly -> Fake.Poly -> Fake.Poly
72[GlobalId]
73[Arity 2]
74Fake.join =
75  \ (ds_ddu :: Fake.Poly) (p_a6B :: Fake.Poly) ->
76    case ds_ddu of wild_B1 {
77      Fake.Bottom -> p_a6B;
78      Fake.Poly ipv_sdY ipv1_sdZ ->
79        case p_a6B of wild1_XG {
80          Fake.Bottom -> wild_B1;
81          Fake.Poly ipv2_se2 ipv3_se3 ->
82            GHC.Err.patError @ Fake.Poly "tests/Fake.hs:(55,0)-(56,16)|function join"
83        }
84    }
85
86Fake.meetAsym :: [Fake.Constraint] -> Fake.Poly -> Fake.Poly
87[GlobalId]
88[Arity 2
89 NoCafRefs]
90Fake.meetAsym =
91  \ (ds_ddz :: [Fake.Constraint]) (ds1_ddA :: Fake.Poly) ->
92    case ds1_ddA of wild_B1 {
93      Fake.Bottom -> Fake.Bottom;
94      Fake.Poly ipv_se7 ipv1_se8 ->
95        case ds_ddz of wild1_XI {
96          [] -> Fake.Bottom;
97          : ds2_ddB ds3_ddC ->
98            case ds3_ddC of wild2_XO { [] -> wild_B1; : ipv2_sed ipv3_see -> Fake.Bottom }
99        }
100    }
101
102Fake.bottom :: Fake.Poly
103[GlobalId]
104[NoCafRefs]
105Fake.bottom = Fake.Bottom
106
107Fake.top :: GHC.Base.Int -> Fake.Poly
108[GlobalId]
109[Arity 1
110 NoCafRefs]
111Fake.top =
112  \ (n_a6t :: GHC.Base.Int) ->
113    Fake.Poly
114      n_a6t
115      (Fake.ConSys (GHC.Base.[] @ Fake.Constraint) (GHC.Base.[] @ Fake.Constraint))
116
117$dEq_rez :: GHC.Base.Eq (GHC.Num.Integer, Fake.DomVar)
118[GlobalId]
119[]
120$dEq_rez =
121  Data.Tuple.$f27 @ GHC.Num.Integer @ GHC.Base.Int GHC.Num.$f5 GHC.Base.$f2
122
123$dEq1_reB :: GHC.Base.Eq [Fake.Term]
124[GlobalId]
125[]
126$dEq1_reB = GHC.Base.$f10 @ (GHC.Num.Integer, Fake.DomVar) $dEq_rez
127
128Fake.$f1 :: GHC.Base.Eq Fake.Terms
129[GlobalId]
130[]
131Fake.$f1 =
132  $dEq1_reB
133  `cast` ((GHC.Base.:TEq) (sym (Fake.:CoTerms))
134          :: (GHC.Base.:TEq) [Fake.Term] ~ (GHC.Base.:TEq) Fake.Terms)
135
136==_reD :: Fake.Constraint -> Fake.Constraint -> GHC.Base.Bool
137[GlobalId]
138[Arity 2]
139==_reD =
140  \ (ds_ddP :: Fake.Constraint) (ds1_ddQ :: Fake.Constraint) ->
141    case ds_ddP of wild_B1 { Fake.Constraint a1_acR a2_acS ->
142    case ds1_ddQ of wild1_XN { Fake.Constraint b1_acT b2_acU ->
143    GHC.Base.&&
144      (case $dEq1_reB
145            `cast` ((GHC.Base.:TEq) (sym (Fake.:CoTerms))
146                    :: (GHC.Base.:TEq) [Fake.Term] ~ (GHC.Base.:TEq) Fake.Terms)
147       of tpl_XT { GHC.Base.:DEq tpl1_B2 tpl2_B3 ->
148       tpl1_B2 a1_acR b1_acT
149       })
150      (case GHC.Num.$f5 of tpl_XT { GHC.Base.:DEq tpl1_B2 tpl2_B3 ->
151       tpl1_B2 a2_acS b2_acU
152       })
153    }
154    }
155
156/=_reF :: Fake.Constraint -> Fake.Constraint -> GHC.Base.Bool
157[GlobalId]
158[Arity 2]
159/=_reF =
160  \ (a_acW :: Fake.Constraint) (b_acX :: Fake.Constraint) ->
161    GHC.Base.not (==_reD a_acW b_acX)
162
163Fake.$f2 :: GHC.Base.Eq Fake.Constraint
164[GlobalId]
165[]
166Fake.$f2 = GHC.Base.:DEq @ Fake.Constraint ==_reD /=_reF
167
168Fake.subset :: Fake.Poly -> Fake.Poly -> GHC.Base.Bool
169[GlobalId]
170[Arity 2]
171Fake.subset =
172  \ (ds_ddI :: Fake.Poly) (ds1_ddJ :: Fake.Poly) ->
173    let {
174      fail_ddM :: GHC.Base.Bool
175      []
176      fail_ddM =
177        GHC.Err.patError @ GHC.Base.Bool "tests/Fake.hs:3:0-64|function subset"
178    } in
179      case ds_ddI of wild_B1 {
180        Fake.Bottom -> fail_ddM;
181        Fake.Poly n1_a6q ds2_ddK ->
182          case ds1_ddJ of wild1_XS {
183            Fake.Bottom -> fail_ddM;
184            Fake.Poly n2_a6r ds3_ddL ->
185              case GHC.Base.$f2 of tpl_XY { GHC.Base.:DEq tpl1_B2 tpl2_B3 ->
186              tpl1_B2 n1_a6q n2_a6r
187              }
188          }
189      }
190
191
192
193
194==================== Tidy Core Rules ====================
195
196
197
198==================== Tidy Core ====================
199fail_rYJ :: (Fake.DomVar,
200             Fake.DomVar,
201             Fake.DomVar,
202             Fake.DomVar,
203             Fake.DomVar,
204             Fake.DomVar,
205             Fake.DomVar,
206             Fake.DomVar)
207[GlobalId]
208[]
209fail_rYJ =
210  GHC.Err.irrefutPatError
211    @ (Fake.DomVar,
212       Fake.DomVar,
213       Fake.DomVar,
214       Fake.DomVar,
215       Fake.DomVar,
216       Fake.DomVar,
217       Fake.DomVar,
218       Fake.DomVar)
219    "tests/BadPerform.hs:38:0-41|(s : c : sn : u : tn : p : f : vn : _)"
220
221ds_rYL :: (Fake.DomVar,
222           Fake.DomVar,
223           Fake.DomVar,
224           Fake.DomVar,
225           Fake.DomVar,
226           Fake.DomVar,
227           Fake.DomVar,
228           Fake.DomVar)
229[GlobalId]
230[]
231ds_rYL =
232  case GHC.Enum.$f1
233  of tpl_B1
234  { GHC.Enum.:DEnum tpl1_B2
235                    tpl2_B3
236                    tpl3_B4
237                    tpl4_B5
238                    tpl5_B6
239                    tpl6_B7
240                    tpl7_B8
241                    tpl8_B9 ->
242  case tpl5_B6 (GHC.Base.I# 1) of wild_X17 {
243    [] -> fail_rYJ;
244    : s1_XLj ds1_dXx ->
245      case ds1_dXx of wild1_X1b {
246        [] -> fail_rYJ;
247        : c1_XLq ds2_dXy ->
248          case ds2_dXy of wild2_X1h {
249            [] -> fail_rYJ;
250            : sn1_XLx ds3_dXz ->
251              case ds3_dXz of wild3_X1n {
252                [] -> fail_rYJ;
253                : u1_XLE ds4_dXA ->
254                  case ds4_dXA of wild4_X1t {
255                    [] -> fail_rYJ;
256                    : tn1_XLL ds5_dXB ->
257                      case ds5_dXB of wild5_X1z {
258                        [] -> fail_rYJ;
259                        : p1_XLS ds6_dXC ->
260                          case ds6_dXC of wild6_X1F {
261                            [] -> fail_rYJ;
262                            : f1_XLZ ds7_dXD ->
263                              case ds7_dXD of wild7_X1L {
264                                [] -> fail_rYJ;
265                                : vn1_XM6 ds8_dXE ->
266                                  (s1_XLj, c1_XLq, sn1_XLx, u1_XLE, tn1_XLL, p1_XLS, f1_XLZ, vn1_XM6)
267                              }
268                          }
269                      }
270                  }
271              }
272          }
273      }
274  }
275  }
276
277u_ryj :: Fake.DomVar
278[GlobalId]
279[]
280u_ryj =
281  case ds_rYL
282  of ds1_XYM
283  { (s1_XLd, c1_XLf, sn1_XLh, u1_XLj, tn1_XLl, p1_XLn, f1_XLp, vn1_XLr) ->
284  u1_XLj
285  }
286
287vn_ryr :: Fake.DomVar
288[GlobalId]
289[]
290vn_ryr =
291  case ds_rYL
292  of ds1_XYQ
293  { (s1_XLh, c1_XLj, sn1_XLl, u1_XLn, tn1_XLp, p1_XLr, f1_XLt, vn1_XLv) ->
294  vn1_XLv
295  }
296
297unless_rYN :: GHC.Base.Bool -> GHC.IOBase.IO () -> GHC.IOBase.IO ()
298[GlobalId]
299[]
300unless_rYN = Control.Monad.unless @ GHC.IOBase.IO GHC.IOBase.$f16
301
302replicateM__rYP :: GHC.Base.Int -> GHC.IOBase.IO () -> GHC.IOBase.IO ()
303[GlobalId]
304[]
305replicateM__rYP = Control.Monad.replicateM_ @ GHC.IOBase.IO @ () GHC.IOBase.$f16
306
307lit_rYR :: GHC.Base.Int
308[GlobalId]
309[NoCafRefs]
310lit_rYR = GHC.Base.I# 8
311
312lit1_rYT :: GHC.Num.Integer
313[GlobalId]
314[]
315lit1_rYT =
316  case GHC.Num.$f3
317  of tpl_B1
318  { GHC.Num.:DNum tpl1_B2
319                  tpl2_B3
320                  tpl3_B4
321                  tpl4_B5
322                  tpl5_B6
323                  tpl6_B7
324                  tpl7_B8
325                  tpl8_B9
326                  tpl9_Ba ->
327  tpl9_Ba (GHC.Num.S# 3)
328  }
329
330minimum_rYV :: [GHC.Num.Integer] -> GHC.Num.Integer
331[GlobalId]
332[]
333minimum_rYV = Data.List.minimum @ GHC.Num.Integer GHC.Num.$f4
334
335lit2_rYX :: GHC.Num.Integer
336[GlobalId]
337[]
338lit2_rYX =
339  case GHC.Num.$f3
340  of tpl_B1
341  { GHC.Num.:DNum tpl1_B2
342                  tpl2_B3
343                  tpl3_B4
344                  tpl4_B5
345                  tpl5_B6
346                  tpl6_B7
347                  tpl7_B8
348                  tpl8_B9
349                  tpl9_Ba ->
350  tpl9_Ba (GHC.Num.S# 100)
351  }
352
353lit3_rYZ :: GHC.Num.Integer
354[GlobalId]
355[]
356lit3_rYZ =
357  case GHC.Num.$f3
358  of tpl_B1
359  { GHC.Num.:DNum tpl1_B2
360                  tpl2_B3
361                  tpl3_B4
362                  tpl4_B5
363                  tpl5_B6
364                  tpl6_B7
365                  tpl7_B8
366                  tpl8_B9
367                  tpl9_Ba ->
368  tpl9_Ba (GHC.Num.S# 1)
369  }
370
371fixpoint_ryv :: Fake.Poly
372                -> Fake.Poly
373                -> Fake.Poly
374                -> Fake.DomVar
375                -> GHC.Num.Integer
376                -> GHC.IOBase.IO Fake.Poly
377[GlobalId]
378[Arity 5]
379fixpoint_ryv =
380  \ (sU_ayH :: Fake.Poly)
381    (sT_ayI :: Fake.Poly)
382    (oldR_ayJ :: Fake.Poly)
383    (sn1_ayK :: Fake.DomVar)
384    (fval_ayL :: GHC.Num.Integer) ->
385    let {
386      sR_ayN :: Fake.Poly
387      []
388      sR_ayN = Fake.join sU_ayH sT_ayI
389    } in
390      case GHC.Base.&&
391             (case GHC.Num.$f4
392              of tpl_B1
393              { GHC.Base.:DOrd tpl1_B2
394                               tpl2_B3
395                               tpl3_B4
396                               tpl4_B5
397                               tpl5_B6
398                               tpl6_B7
399                               tpl7_B8
400                               tpl8_B9 ->
401              tpl3_B4
402                (minimum_rYV
403                   (__letrec {
404                      ds1_dXP :: [GHC.Num.Integer] -> [GHC.Num.Integer]
405                      [Arity 1]
406                      ds1_dXP =
407                        \ (ds2_dXQ :: [GHC.Num.Integer]) ->
408                          case ds2_dXQ of ds3_XZq {
409                            [] -> GHC.Base.[] @ GHC.Num.Integer;
410                            : ds4_dXR ds5_dXS ->
411                              __letrec {
412                                ds6_dXT :: [GHC.Num.Integer] -> [GHC.Num.Integer]
413                                [Arity 1]
414                                ds6_dXT =
415                                  \ (ds7_dXU :: [GHC.Num.Integer]) ->
416                                    case ds7_dXU of ds8_XZD {
417                                      [] -> ds1_dXP ds5_dXS;
418                                      : ds9_dXV ds10_dXW ->
419                                        GHC.Base.:
420                                          @ GHC.Num.Integer
421                                          (case GHC.Num.$f3
422                                           of tpl9_X1Q
423                                           { GHC.Num.:DNum tpl10_X1U
424                                                           tpl11_X1W
425                                                           tpl12_X1Y
426                                                           tpl13_X20
427                                                           tpl14_X22
428                                                           tpl15_X24
429                                                           tpl16_X26
430                                                           tpl17_X28
431                                                           tpl18_Ba ->
432                                           tpl12_X1Y ds4_dXR ds9_dXV
433                                           })
434                                          (ds6_dXT ds10_dXW)
435                                    };
436                              } in
437                                ds6_dXT
438                                  (case GHC.Num.$f2
439                                   of tpl9_X1K
440                                   { GHC.Enum.:DEnum tpl10_X1O
441                                                     tpl11_X1Q
442                                                     tpl12_X1S
443                                                     tpl13_X1U
444                                                     tpl14_X1W
445                                                     tpl15_X1Y
446                                                     tpl16_X20
447                                                     tpl17_X22 ->
448                                   tpl16_X20 lit3_rYZ lit2_rYX
449                                   })
450                          };
451                    } in
452                      ds1_dXP
453                        (case GHC.Num.$f2
454                         of tpl9_X1B
455                         { GHC.Enum.:DEnum tpl10_X1F
456                                           tpl11_X1H
457                                           tpl12_X1J
458                                           tpl13_X1L
459                                           tpl14_X1N
460                                           tpl15_X1P
461                                           tpl16_X1R
462                                           tpl17_X1T ->
463                         tpl16_X1R lit3_rYZ lit2_rYX
464                         })))
465                lit1_rYT
466              })
467             (Fake.subset sR_ayN sR_ayN)
468      of wild_B1 {
469        GHC.Base.False ->
470          GHC.Err.error
471            @ (GHC.IOBase.IO Fake.Poly) (GHC.Base.unpackCString# "not reached");
472        GHC.Base.True ->
473          case GHC.IOBase.$f16
474          of tpl_X1p { GHC.Base.:DMonad tpl1_B2 tpl2_B3 tpl3_B4 tpl4_B5 ->
475          tpl3_B4
476            @ Fake.Poly
477            (Fake.meetAsym
478               (GHC.Base.:
479                  @ Fake.Constraint
480                  (Fake.Constraint
481                     ((GHC.Base.: @ Fake.Term (GHC.Num.S# 1, u_ryj) (GHC.Base.[] @ Fake.Term))
482                      `cast` (sym (Fake.:CoTerms) :: [Fake.Term] ~ Fake.Terms))
483                     (GHC.Num.S# 8))
484                  (GHC.Base.[] @ Fake.Constraint))
485               sR_ayN)
486          }
487      }
488
489initial_rZ1 :: Fake.Poly
490[GlobalId]
491[]
492initial_rZ1 =
493  GHC.Base.$
494    @ Fake.Poly @ Fake.Poly (Fake.set u_ryj (GHC.Num.S# 0)) (Fake.top lit_rYR)
495
496Main.main :: GHC.IOBase.IO ()
497[GlobalId]
498[]
499Main.main =
500  GHC.Base.$
501    @ (GHC.IOBase.IO ())
502    @ (GHC.IOBase.IO ())
503    (replicateM__rYP (GHC.Base.I# 1000))
504    (case GHC.IOBase.$f16
505     of tpl_B1 { GHC.Base.:DMonad tpl1_B2 tpl2_B3 tpl3_B4 tpl4_B5 ->
506     tpl1_B2
507       @ Fake.Poly
508       @ ()
509       (fixpoint_ryv initial_rZ1 Fake.bottom Fake.bottom vn_ryr (GHC.Num.S# 1))
510       (\ (res1_ayD :: Fake.Poly) ->
511          case GHC.IOBase.$f16
512          of tpl5_X1r { GHC.Base.:DMonad tpl6_X1v tpl7_X1x tpl8_X1z tpl9_X1B ->
513          tpl7_X1x
514            @ ()
515            @ ()
516            (GHC.Base.$
517               @ (GHC.IOBase.IO ())
518               @ (GHC.IOBase.IO ())
519               (unless_rYN (Fake.subset res1_ayD res1_ayD))
520               (System.IO.putStrLn (GHC.Base.unpackCString# "something's wrong")))
521            (case GHC.IOBase.$f16
522             of tpl10_X37 { GHC.Base.:DMonad tpl11_X1D tpl12_X1F tpl13_X1H tpl14_X1J ->
523             tpl11_X1D
524               @ Fake.Poly
525               @ ()
526               (fixpoint_ryv initial_rZ1 Fake.bottom Fake.bottom vn_ryr (GHC.Num.S# 1))
527               (\ (res2_ayF :: Fake.Poly) ->
528                  GHC.Base.$
529                    @ (GHC.IOBase.IO ())
530                    @ (GHC.IOBase.IO ())
531                    (unless_rYN (Fake.subset res2_ayF res2_ayF))
532                    (System.IO.putStrLn (GHC.Base.unpackCString# "something's wrong")))
533             })
534          })
535     })
536
537:Main.main :: GHC.IOBase.IO ()
538[GlobalId]
539[]
540:Main.main = GHC.TopHandler.runMainIO @ () Main.main
541
542
543
544
545==================== Tidy Core Rules ====================
546
547