Ticket #3138: Inf.ddump-simpl

File Inf.ddump-simpl, 33.8 KB (added by simonpj, 5 years ago)

ghc -O Inf.hs -package cmonad-0.1.1.1 -ddump-simpl

Line 
1
2==================== Tidy Core ====================
3lvl_r1m6 :: GHC.Types.Double
4[GlobalId]
5[NoCafRefs]
6lvl_r1m6 = GHC.Types.D# 1.0
7
8a_r1m8 :: GHC.Prim.State# GHC.Prim.RealWorld
9          -> (# GHC.Prim.State# GHC.Prim.RealWorld, GHC.Types.Double #)
10[GlobalId]
11[Arity 1
12 NoCafRefs
13 Str: DmdType L]
14a_r1m8 =
15  \ (s_aRf :: GHC.Prim.State# GHC.Prim.RealWorld) ->
16    (# s_aRf, lvl_r1m6 #)
17
18a1_r1ma :: GHC.Types.Double
19           Language.CMonad.CPrelude.:TEq GHC.Bool.Bool
20[GlobalId]
21[NoCafRefs
22 Str: DmdType]
23a1_r1ma =
24  Language.CMonad.CPrelude.:DEq
25    @ GHC.Types.Double
26    @ GHC.Bool.Bool
27    Language.CMonad.CPrelude.$f5
28    GHC.Float.==1
29    GHC.Float.a14
30
31a2_r1mc :: GHC.Integer.Internals.Integer
32[GlobalId]
33[NoCafRefs
34 Str: DmdType]
35a2_r1mc = GHC.Integer.Internals.S# 1
36
37a3_r1me :: GHC.Integer.Internals.Integer
38[GlobalId]
39[NoCafRefs
40 Str: DmdType]
41a3_r1me = GHC.Integer.Internals.S# 1000
42
43lvl1_r1mg :: Language.CMonad.CPrelude.Ord
44               GHC.Types.Double GHC.Bool.Bool
45[GlobalId]
46[NoCafRefs
47 Str: DmdType]
48lvl1_r1mg =
49  Language.CMonad.CPrelude.:DOrd
50    @ GHC.Types.Double
51    @ GHC.Bool.Bool
52    a1_r1ma
53    GHC.Float.<1
54    GHC.Float.>=1
55    GHC.Float.>1
56    GHC.Float.<=1
57
58lit_r1mi :: Language.CMonad.Prim.E GHC.IOBase.IO GHC.Types.Double
59[GlobalId]
60[NoCafRefs
61 Str: DmdType]
62lit_r1mi =
63  Language.CMonad.Prim.E
64    @ Language.CMonad.Prim.RValue
65    @ GHC.IOBase.IO
66    @ GHC.Types.Double
67    @ Language.CMonad.Prim.RValue
68    (a_r1m8
69     `cast` (sym ((GHC.IOBase.:CoIO) GHC.Types.Double)
70             :: GHC.Prim.State# GHC.Prim.RealWorld
71                -> (# GHC.Prim.State# GHC.Prim.RealWorld, GHC.Types.Double #)
72                  ~
73                GHC.IOBase.IO GHC.Types.Double))
74
75+=_r1mk :: (forall v_arR.
76            Language.CMonad.Prim.E' v_arR GHC.IOBase.IO GHC.Types.Double)
77           -> Language.CMonad.Prim.E GHC.IOBase.IO GHC.Types.Double
78           -> Language.CMonad.Prim.E GHC.IOBase.IO GHC.Types.Double
79[GlobalId]
80[Arity 2
81 NoCafRefs
82 Str: DmdType SL]
83+=_r1mk =
84  \ (v_aLJ :: forall v_aLK.
85              Language.CMonad.Prim.E' v_aLK GHC.IOBase.IO GHC.Types.Double)
86    (x_aLL :: Language.CMonad.Prim.E GHC.IOBase.IO GHC.Types.Double) ->
87    case v_aLJ @ Language.CMonad.Prim.LValue
88    of wild_aLU { Language.CMonad.Prim.V ds1_aLW asg_aLX ->
89    Language.CMonad.Prim.E
90      @ Language.CMonad.Prim.RValue
91      @ GHC.IOBase.IO
92      @ GHC.Types.Double
93      @ Language.CMonad.Prim.RValue
94      ((\ (s_aRJ :: GHC.Prim.State# GHC.Prim.RealWorld) ->
95          case v_aLJ @ Language.CMonad.Prim.RValue of wild1_aMo {
96            Language.CMonad.Prim.E @ $co$_aMq t_aMr ->
97              case (t_aMr
98                    `cast` ((GHC.IOBase.:CoIO) GHC.Types.Double
99                            :: GHC.IOBase.IO GHC.Types.Double
100                                 ~
101                               GHC.Prim.State# GHC.Prim.RealWorld
102                               -> (# GHC.Prim.State# GHC.Prim.RealWorld, GHC.Types.Double #)))
103                     s_aRJ
104              of wild2_aRK { (# new_s_aRM, a89_aRN #) ->
105              case x_aLL of wild3_XN5 {
106                Language.CMonad.Prim.E @ $co$1_XNa t1_XNc ->
107                  case (t1_XNc
108                        `cast` ((GHC.IOBase.:CoIO) GHC.Types.Double
109                                :: GHC.IOBase.IO GHC.Types.Double
110                                     ~
111                                   GHC.Prim.State# GHC.Prim.RealWorld
112                                   -> (# GHC.Prim.State# GHC.Prim.RealWorld, GHC.Types.Double #)))
113                         new_s_aRM
114                  of wild4_XST { (# new_s1_XSW, a891_XSY #) ->
115                  let {
116                    a892_s1kE [ALWAYS Just L] :: GHC.Types.Double
117                    [Str: DmdType]
118                    a892_s1kE = GHC.Float.plusDouble a89_aRN a891_XSY } in
119                  case ((asg_aLX a892_s1kE)
120                        `cast` ((GHC.IOBase.:CoIO) ()
121                                :: GHC.IOBase.IO ()
122                                     ~
123                                   GHC.Prim.State# GHC.Prim.RealWorld
124                                   -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #)))
125                         new_s1_XSW
126                  of wild5_XSt { (# new_s2_XTi, a893_XSy #) ->
127                  (# new_s2_XTi, a892_s1kE #)
128                  }
129                  };
130                Language.CMonad.Prim.V t1_aMu ds11_aMv ->
131                  case (t1_aMu
132                        `cast` ((GHC.IOBase.:CoIO) GHC.Types.Double
133                                :: GHC.IOBase.IO GHC.Types.Double
134                                     ~
135                                   GHC.Prim.State# GHC.Prim.RealWorld
136                                   -> (# GHC.Prim.State# GHC.Prim.RealWorld, GHC.Types.Double #)))
137                         new_s_aRM
138                  of wild4_XST { (# new_s1_XSW, a891_XSY #) ->
139                  let {
140                    a892_s1kF [ALWAYS Just L] :: GHC.Types.Double
141                    [Str: DmdType]
142                    a892_s1kF = GHC.Float.plusDouble a89_aRN a891_XSY } in
143                  case ((asg_aLX a892_s1kF)
144                        `cast` ((GHC.IOBase.:CoIO) ()
145                                :: GHC.IOBase.IO ()
146                                     ~
147                                   GHC.Prim.State# GHC.Prim.RealWorld
148                                   -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #)))
149                         new_s1_XSW
150                  of wild5_XSt { (# new_s2_XTi, a893_XSy #) ->
151                  (# new_s2_XTi, a892_s1kF #)
152                  }
153                  }
154              }
155              };
156            Language.CMonad.Prim.V t_aMu ds11_aMv ->
157              case (t_aMu
158                    `cast` ((GHC.IOBase.:CoIO) GHC.Types.Double
159                            :: GHC.IOBase.IO GHC.Types.Double
160                                 ~
161                               GHC.Prim.State# GHC.Prim.RealWorld
162                               -> (# GHC.Prim.State# GHC.Prim.RealWorld, GHC.Types.Double #)))
163                     s_aRJ
164              of wild2_aRK { (# new_s_aRM, a89_aRN #) ->
165              case x_aLL of wild3_XN5 {
166                Language.CMonad.Prim.E @ $co$_aMq t1_aMr ->
167                  case (t1_aMr
168                        `cast` ((GHC.IOBase.:CoIO) GHC.Types.Double
169                                :: GHC.IOBase.IO GHC.Types.Double
170                                     ~
171                                   GHC.Prim.State# GHC.Prim.RealWorld
172                                   -> (# GHC.Prim.State# GHC.Prim.RealWorld, GHC.Types.Double #)))
173                         new_s_aRM
174                  of wild4_XST { (# new_s1_XSW, a891_XSY #) ->
175                  let {
176                    a892_s1kG [ALWAYS Just L] :: GHC.Types.Double
177                    [Str: DmdType]
178                    a892_s1kG = GHC.Float.plusDouble a89_aRN a891_XSY } in
179                  case ((asg_aLX a892_s1kG)
180                        `cast` ((GHC.IOBase.:CoIO) ()
181                                :: GHC.IOBase.IO ()
182                                     ~
183                                   GHC.Prim.State# GHC.Prim.RealWorld
184                                   -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #)))
185                         new_s1_XSW
186                  of wild5_XSt { (# new_s2_XTi, a893_XSy #) ->
187                  (# new_s2_XTi, a892_s1kG #)
188                  }
189                  };
190                Language.CMonad.Prim.V t1_XNe ds12_XNg ->
191                  case (t1_XNe
192                        `cast` ((GHC.IOBase.:CoIO) GHC.Types.Double
193                                :: GHC.IOBase.IO GHC.Types.Double
194                                     ~
195                                   GHC.Prim.State# GHC.Prim.RealWorld
196                                   -> (# GHC.Prim.State# GHC.Prim.RealWorld, GHC.Types.Double #)))
197                         new_s_aRM
198                  of wild4_XST { (# new_s1_XSW, a891_XSY #) ->
199                  let {
200                    a892_s1kH [ALWAYS Just L] :: GHC.Types.Double
201                    [Str: DmdType]
202                    a892_s1kH = GHC.Float.plusDouble a89_aRN a891_XSY } in
203                  case ((asg_aLX a892_s1kH)
204                        `cast` ((GHC.IOBase.:CoIO) ()
205                                :: GHC.IOBase.IO ()
206                                     ~
207                                   GHC.Prim.State# GHC.Prim.RealWorld
208                                   -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #)))
209                         new_s1_XSW
210                  of wild5_XSt { (# new_s2_XTi, a893_XSy #) ->
211                  (# new_s2_XTi, a892_s1kH #)
212                  }
213                  }
214              }
215              }
216          })
217       `cast` (sym ((GHC.IOBase.:CoIO) GHC.Types.Double)
218               :: GHC.Prim.State# GHC.Prim.RealWorld
219                  -> (# GHC.Prim.State# GHC.Prim.RealWorld, GHC.Types.Double #)
220                    ~
221                  GHC.IOBase.IO GHC.Types.Double))
222    }
223
224lvl2_r1mm :: GHC.Types.Double
225[GlobalId]
226[]
227lvl2_r1mm = GHC.Float.$wfromRat1 a3_r1me a2_r1mc
228
229a4_r1mo :: GHC.Prim.State# GHC.Prim.RealWorld
230           -> (# GHC.Prim.State# GHC.Prim.RealWorld, GHC.Types.Double #)
231[GlobalId]
232[Arity 1]
233a4_r1mo =
234  \ (s_aRf :: GHC.Prim.State# GHC.Prim.RealWorld) ->
235    (# s_aRf, lvl2_r1mm #)
236
237lvl3_r1mq :: Language.CMonad.Prim.E'
238               Language.CMonad.Prim.RValue GHC.IOBase.IO GHC.Types.Double
239[GlobalId]
240[]
241lvl3_r1mq =
242  Language.CMonad.Prim.E
243    @ Language.CMonad.Prim.RValue
244    @ GHC.IOBase.IO
245    @ GHC.Types.Double
246    @ Language.CMonad.Prim.RValue
247    (a4_r1mo
248     `cast` (sym ((GHC.IOBase.:CoIO) GHC.Types.Double)
249             :: GHC.Prim.State# GHC.Prim.RealWorld
250                -> (# GHC.Prim.State# GHC.Prim.RealWorld, GHC.Types.Double #)
251                  ~
252                GHC.IOBase.IO GHC.Types.Double))
253
254lvl4_r1ms :: GHC.Types.Double
255[GlobalId]
256[NoCafRefs]
257lvl4_r1ms = GHC.Types.D# 0.0
258
259Inf.a5 :: GHC.Prim.State# GHC.Prim.RealWorld
260          -> (# GHC.Prim.State# GHC.Prim.RealWorld, GHC.Types.Double #)
261[GlobalId]
262[Arity 1
263 Str: DmdType L]
264Inf.a5 =
265  \ (s_aRJ :: GHC.Prim.State# GHC.Prim.RealWorld) ->
266    case GHC.Prim.newMutVar#
267           @ GHC.Types.Double @ GHC.Prim.RealWorld lvl4_r1ms s_aRJ
268    of wild_aYQ { (# s2#_aYS, var#_aYT #) ->
269    case GHC.Prim.newMutVar#
270           @ GHC.Types.Double @ GHC.Prim.RealWorld lvl4_r1ms s2#_aYS
271    of wild1_X105 { (# s2#1_X108, var#1_X10a #) ->
272    case GHC.Prim.writeMutVar#
273           @ GHC.Prim.RealWorld
274           @ GHC.Types.Double
275           var#1_X10a
276           lvl_r1m6
277           s2#1_X108
278    of s2#2_aZg { __DEFAULT ->
279    let {
280      a6_s1jQ :: GHC.Types.Double
281                 -> GHC.Prim.State# GHC.Prim.RealWorld
282                 -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #)
283      [Arity 2
284       Str: DmdType LL]
285      a6_s1jQ =
286        \ (v_aZa :: GHC.Types.Double)
287          (eta_aZb :: GHC.Prim.State# GHC.Prim.RealWorld) ->
288          case GHC.Prim.writeMutVar#
289                 @ GHC.Prim.RealWorld @ GHC.Types.Double var#1_X10a v_aZa eta_aZb
290          of s2#3_XZY { __DEFAULT ->
291          (# s2#3_XZY, GHC.Unit.() #)
292          } } in
293    let {
294      a7_s1jO :: GHC.Prim.State# GHC.Prim.RealWorld
295                 -> (# GHC.Prim.State# GHC.Prim.RealWorld, GHC.Types.Double #)
296      [Arity 1
297       Str: DmdType L]
298      a7_s1jO =
299        \ (eta_aZ0 :: GHC.Prim.State# GHC.Prim.RealWorld) ->
300          GHC.Prim.readMutVar#
301            @ GHC.Prim.RealWorld @ GHC.Types.Double var#1_X10a eta_aZ0 } in
302    let {
303      a89_s1jT :: forall v_amZ.
304                  Language.CMonad.Prim.E' v_amZ GHC.IOBase.IO GHC.Types.Double
305      [Str: DmdType]
306      a89_s1jT =
307        \ (@ v_aMf) ->
308          Language.CMonad.Prim.V
309            @ v_aMf
310            @ GHC.IOBase.IO
311            @ GHC.Types.Double
312            (a7_s1jO
313             `cast` (trans
314                       (sym (GHC.Prim.RealWorld GHC.ST.:CoST GHC.Types.Double))
315                       (trans
316                          (GHC.Prim.RealWorld GHC.ST.:CoST GHC.Types.Double)
317                          (sym ((GHC.IOBase.:CoIO) GHC.Types.Double)))
318                     :: GHC.ST.STRep GHC.Prim.RealWorld GHC.Types.Double
319                          ~
320                        GHC.IOBase.IO GHC.Types.Double))
321            (a6_s1jQ
322             `cast` (GHC.Types.Double
323                     -> trans
324                          (sym (GHC.Prim.RealWorld GHC.ST.:CoST ()))
325                          (trans
326                             (GHC.Prim.RealWorld GHC.ST.:CoST ()) (sym ((GHC.IOBase.:CoIO) ())))
327                     :: GHC.Types.Double -> GHC.ST.STRep GHC.Prim.RealWorld ()
328                          ~
329                        GHC.Types.Double -> GHC.IOBase.IO ())) } in
330    case Language.CMonad.Ops.while
331           @ GHC.IOBase.IO
332           @ GHC.Types.Double
333           GHC.IOBase.$f25
334           (Language.CMonad.Ops.<=
335              @ GHC.IOBase.IO
336              @ GHC.Types.Double
337              GHC.IOBase.$f25
338              lvl1_r1mg
339              (a89_s1jT @ Language.CMonad.Prim.RValue)
340              lvl3_r1mq)
341           (Language.CMonad.Prim.E
342              @ Language.CMonad.Prim.RValue
343              @ GHC.IOBase.IO
344              @ GHC.Types.Double
345              @ Language.CMonad.Prim.RValue
346              ((\ (s1_XU6 :: GHC.Prim.State# GHC.Prim.RealWorld) ->
347                  case +=_r1mk
348                         (\ (@ v_aMf) ->
349                            Language.CMonad.Prim.V
350                              @ v_aMf
351                              @ GHC.IOBase.IO
352                              @ GHC.Types.Double
353                              ((\ (eta_aZ0 :: GHC.Prim.State# GHC.Prim.RealWorld) ->
354                                  GHC.Prim.readMutVar#
355                                    @ GHC.Prim.RealWorld @ GHC.Types.Double var#_aYT eta_aZ0)
356                               `cast` (trans
357                                         (sym (GHC.Prim.RealWorld GHC.ST.:CoST GHC.Types.Double))
358                                         (trans
359                                            (GHC.Prim.RealWorld GHC.ST.:CoST GHC.Types.Double)
360                                            (sym ((GHC.IOBase.:CoIO) GHC.Types.Double)))
361                                       :: GHC.ST.STRep GHC.Prim.RealWorld GHC.Types.Double
362                                            ~
363                                          GHC.IOBase.IO GHC.Types.Double))
364                              ((\ (v_aZa :: GHC.Types.Double)
365                                  (eta_aZb :: GHC.Prim.State# GHC.Prim.RealWorld) ->
366                                  case GHC.Prim.writeMutVar#
367                                         @ GHC.Prim.RealWorld
368                                         @ GHC.Types.Double
369                                         var#_aYT
370                                         v_aZa
371                                         eta_aZb
372                                  of s2#3_XZY { __DEFAULT ->
373                                  (# s2#3_XZY, GHC.Unit.() #)
374                                  })
375                               `cast` (GHC.Types.Double
376                                       -> trans
377                                            (sym (GHC.Prim.RealWorld GHC.ST.:CoST ()))
378                                            (trans
379                                               (GHC.Prim.RealWorld GHC.ST.:CoST ())
380                                               (sym ((GHC.IOBase.:CoIO) ())))
381                                       :: GHC.Types.Double -> GHC.ST.STRep GHC.Prim.RealWorld ()
382                                            ~
383                                          GHC.Types.Double -> GHC.IOBase.IO ())))
384                         (Language.CMonad.Ops./
385                            @ GHC.IOBase.IO
386                            @ GHC.Types.Double
387                            GHC.IOBase.$f25
388                            GHC.Float.$f7
389                            lit_r1mi
390                            (a89_s1jT @ Language.CMonad.Prim.RValue))
391                  of wild2_aMo {
392                    Language.CMonad.Prim.E @ $co$_aMq t_aMr ->
393                      case (t_aMr
394                            `cast` ((GHC.IOBase.:CoIO) GHC.Types.Double
395                                    :: GHC.IOBase.IO GHC.Types.Double
396                                         ~
397                                       GHC.Prim.State# GHC.Prim.RealWorld
398                                       -> (# GHC.Prim.State# GHC.Prim.RealWorld,
399                                             GHC.Types.Double #)))
400                             s1_XU6
401                      of wild3_XTa { (# new_s_XUl, a891_XTf #) ->
402                      case +=_r1mk a89_s1jT lit_r1mi of wild4_XSH {
403                        Language.CMonad.Prim.E @ $co$1_aRy t1_XSM ->
404                          (t1_XSM
405                           `cast` ((GHC.IOBase.:CoIO) GHC.Types.Double
406                                   :: GHC.IOBase.IO GHC.Types.Double
407                                        ~
408                                      GHC.Prim.State# GHC.Prim.RealWorld
409                                      -> (# GHC.Prim.State# GHC.Prim.RealWorld,
410                                            GHC.Types.Double #)))
411                            new_s_XUl;
412                        Language.CMonad.Prim.V t1_aRC ds_aRD ->
413                          (t1_aRC
414                           `cast` ((GHC.IOBase.:CoIO) GHC.Types.Double
415                                   :: GHC.IOBase.IO GHC.Types.Double
416                                        ~
417                                      GHC.Prim.State# GHC.Prim.RealWorld
418                                      -> (# GHC.Prim.State# GHC.Prim.RealWorld,
419                                            GHC.Types.Double #)))
420                            new_s_XUl
421                      }
422                      };
423                    Language.CMonad.Prim.V t_aMu ds1_aMv ->
424                      case (t_aMu
425                            `cast` ((GHC.IOBase.:CoIO) GHC.Types.Double
426                                    :: GHC.IOBase.IO GHC.Types.Double
427                                         ~
428                                       GHC.Prim.State# GHC.Prim.RealWorld
429                                       -> (# GHC.Prim.State# GHC.Prim.RealWorld,
430                                             GHC.Types.Double #)))
431                             s1_XU6
432                      of wild3_XTa { (# new_s_XUl, a891_XTf #) ->
433                      case +=_r1mk a89_s1jT lit_r1mi of wild4_XSH {
434                        Language.CMonad.Prim.E @ $co$_aRy t1_XSM ->
435                          (t1_XSM
436                           `cast` ((GHC.IOBase.:CoIO) GHC.Types.Double
437                                   :: GHC.IOBase.IO GHC.Types.Double
438                                        ~
439                                      GHC.Prim.State# GHC.Prim.RealWorld
440                                      -> (# GHC.Prim.State# GHC.Prim.RealWorld,
441                                            GHC.Types.Double #)))
442                            new_s_XUl;
443                        Language.CMonad.Prim.V t1_aRC ds_aRD ->
444                          (t1_aRC
445                           `cast` ((GHC.IOBase.:CoIO) GHC.Types.Double
446                                   :: GHC.IOBase.IO GHC.Types.Double
447                                        ~
448                                      GHC.Prim.State# GHC.Prim.RealWorld
449                                      -> (# GHC.Prim.State# GHC.Prim.RealWorld,
450                                            GHC.Types.Double #)))
451                            new_s_XUl
452                      }
453                      }
454                  })
455               `cast` (sym ((GHC.IOBase.:CoIO) GHC.Types.Double)
456                       :: GHC.Prim.State# GHC.Prim.RealWorld
457                          -> (# GHC.Prim.State# GHC.Prim.RealWorld, GHC.Types.Double #)
458                            ~
459                          GHC.IOBase.IO GHC.Types.Double)))
460    of wild2_XSy {
461      Language.CMonad.Prim.E @ $co$_aRy t_XSD ->
462        case (t_XSD
463              `cast` ((GHC.IOBase.:CoIO) ()
464                      :: GHC.IOBase.IO ()
465                           ~
466                         GHC.Prim.State# GHC.Prim.RealWorld
467                         -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #)))
468               s2#2_aZg
469        of wild3_XSo { (# new_s_XSr, a891_XSA #) ->
470        GHC.Prim.readMutVar#
471          @ GHC.Prim.RealWorld @ GHC.Types.Double var#_aYT new_s_XSr
472        };
473      Language.CMonad.Prim.V t_aRC ds_aRD ->
474        case (t_aRC
475              `cast` ((GHC.IOBase.:CoIO) ()
476                      :: GHC.IOBase.IO ()
477                           ~
478                         GHC.Prim.State# GHC.Prim.RealWorld
479                         -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #)))
480               s2#2_aZg
481        of wild3_XSo { (# new_s_XSr, a891_XSA #) ->
482        GHC.Prim.readMutVar#
483          @ GHC.Prim.RealWorld @ GHC.Types.Double var#_aYT new_s_XSr
484        }
485    }
486    }
487    }
488    }
489
490Inf.a6 :: GHC.Prim.State# GHC.Prim.RealWorld
491          -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #)
492[GlobalId]
493[Arity 1
494 Str: DmdType L]
495Inf.a6 =
496  \ (s_aRJ :: GHC.Prim.State# GHC.Prim.RealWorld) ->
497    case Inf.a5 s_aRJ of wild_aRK { (# new_s_aRM, a89_aRN #) ->
498    case GHC.IO.a30
499           GHC.Handle.stdout
500           (GHC.Base.unpackAppendCString#
501              "Almost infinity is " (GHC.Float.a19 a89_aRN))
502           new_s_aRM
503    of wild1_a1d2 { (# new_s1_a1d4, a891_a1d5 #) ->
504    GHC.IO.$wa10 GHC.Handle.stdout '\n' new_s1_a1d4
505    }
506    }
507
508Inf.main :: GHC.IOBase.IO ()
509[GlobalId]
510[Arity 1
511 Str: DmdType L]
512Inf.main =
513  Inf.a6
514  `cast` (sym ((GHC.IOBase.:CoIO) ())
515          :: GHC.Prim.State# GHC.Prim.RealWorld
516             -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #)
517               ~
518             GHC.IOBase.IO ())
519
520Inf.inf :: forall (m_ahR :: * -> *) (r_ahS :: * -> *).
521           (Language.CMonad.MonadRef.MonadRef m_ahR r_ahS) =>
522           m_ahR GHC.Types.Double
523[GlobalId]
524[Arity 1
525 Str: DmdType S]
526Inf.inf =
527  \ (@ m_ams)
528    (@ r_amt)
529    ($dMonadRef_ase :: Language.CMonad.MonadRef.MonadRef
530                         m_ams r_amt) ->
531    case $dMonadRef_ase
532    of tpl_X5
533    { Language.CMonad.MonadRef.:DMonadRef tpl1_X2D
534                                          tpl2_X2F
535                                          tpl3_X2H
536                                          tpl4_X2J ->
537    case tpl1_X2D
538    of tpl5_aRo
539    { GHC.Base.:DMonad tpl11_aRq tpl21_aRr tpl31_aRs tpl41_aRt ->
540    let {
541      a7_s1k8 [ALWAYS Just L] :: m_ams GHC.Types.Double
542      [Str: DmdType]
543      a7_s1k8 = tpl31_aRs @ GHC.Types.Double lvl4_r1ms } in
544    tpl11_aRq
545      @ (forall v_amZ.
546         Language.CMonad.Prim.E' v_amZ m_ams GHC.Types.Double)
547      @ GHC.Types.Double
548      (tpl11_aRq
549         @ GHC.Types.Double
550         @ (forall v_aMa.
551            Language.CMonad.Prim.E' v_aMa m_ams GHC.Types.Double)
552         a7_s1k8
553         (let {
554            lvl5_s1kZ :: r_amt GHC.Types.Double
555                         -> m_ams (forall v_aMe.
556                                   Language.CMonad.Prim.E' v_aMe m_ams GHC.Types.Double)
557            [Arity 1]
558            lvl5_s1kZ =
559              \ (r_aMd :: r_amt GHC.Types.Double) ->
560                tpl31_aRs
561                  @ (forall v_aMe.
562                     Language.CMonad.Prim.E' v_aMe m_ams GHC.Types.Double)
563                  (\ (@ v_aMf) ->
564                     Language.CMonad.Prim.V
565                       @ v_aMf
566                       @ m_ams
567                       @ GHC.Types.Double
568                       (tpl3_X2H @ GHC.Types.Double r_aMd)
569                       (tpl4_X2J @ GHC.Types.Double r_aMd)) } in
570          \ (x'_aMb :: GHC.Types.Double) ->
571            tpl11_aRq
572              @ (r_amt GHC.Types.Double)
573              @ (forall v_aMc.
574                 Language.CMonad.Prim.E' v_aMc m_ams GHC.Types.Double)
575              (tpl2_X2F @ GHC.Types.Double x'_aMb)
576              lvl5_s1kZ))
577      (let {
578         while1_s1kr [ALWAYS Just L] :: Language.CMonad.Prim.E
579                                          m_ams GHC.Bool.Bool
580                                        -> Language.CMonad.Prim.E m_ams GHC.Types.Double
581                                        -> Language.CMonad.Prim.E m_ams ()
582         [Str: DmdType]
583         while1_s1kr =
584           Language.CMonad.Ops.while @ m_ams @ GHC.Types.Double tpl5_aRo } in
585       let {
586         =:_s1kp :: Language.CMonad.Prim.V m_ams GHC.Types.Double
587                    -> Language.CMonad.Prim.E m_ams GHC.Types.Double
588                    -> Language.CMonad.Prim.E m_ams GHC.Types.Double
589         [Arity 2
590          Str: DmdType SL]
591         =:_s1kp =
592           \ (ds_XPL :: Language.CMonad.Prim.E'
593                          Language.CMonad.Prim.LValue m_ams GHC.Types.Double)
594             (e_XPN :: Language.CMonad.Prim.E m_ams GHC.Types.Double) ->
595             case ds_XPL of wild_aLU { Language.CMonad.Prim.V ds1_aLW asg_aLX ->
596             Language.CMonad.Prim.E
597               @ Language.CMonad.Prim.RValue
598               @ m_ams
599               @ GHC.Types.Double
600               @ Language.CMonad.Prim.RValue
601               (tpl11_aRq
602                  @ GHC.Types.Double
603                  @ GHC.Types.Double
604                  (Language.CMonad.Prim.runE
605                     @ Language.CMonad.Prim.RValue @ m_ams @ GHC.Types.Double e_XPN)
606                  (\ (x'_aRv :: GHC.Types.Double) ->
607                     tpl11_aRq
608                       @ ()
609                       @ GHC.Types.Double
610                       (asg_aLX x'_aRv)
611                       (let {
612                          a8_s1kn [ALWAYS Just L] :: m_ams GHC.Types.Double
613                          [Str: DmdType]
614                          a8_s1kn = tpl31_aRs @ GHC.Types.Double x'_aRv } in
615                        \ (x'1_XSP :: ()) -> a8_s1kn)))
616             } } in
617       let {
618         a8_s1kj [ALWAYS Just L] :: m_ams GHC.Types.Double
619         [Str: DmdType]
620         a8_s1kj = tpl31_aRs @ GHC.Types.Double lvl2_r1mm } in
621       let {
622         lit1_s1kl :: Language.CMonad.Prim.E m_ams GHC.Types.Double
623         [Str: DmdType]
624         lit1_s1kl =
625           Language.CMonad.Prim.E
626             @ Language.CMonad.Prim.RValue
627             @ m_ams
628             @ GHC.Types.Double
629             @ Language.CMonad.Prim.RValue
630             a8_s1kj } in
631       let {
632         a9_s1ke [ALWAYS Just L] :: m_ams GHC.Types.Double
633         [Str: DmdType]
634         a9_s1ke = tpl31_aRs @ GHC.Types.Double lvl_r1m6 } in
635       let {
636         lit2_s1kg :: Language.CMonad.Prim.E m_ams GHC.Types.Double
637         [Str: DmdType]
638         lit2_s1kg =
639           Language.CMonad.Prim.E
640             @ Language.CMonad.Prim.RValue
641             @ m_ams
642             @ GHC.Types.Double
643             @ Language.CMonad.Prim.RValue
644             a9_s1ke } in
645       let {
646         a10_s1kb [ALWAYS Just L] :: m_ams (forall v_aMa.
647                                            Language.CMonad.Prim.E' v_aMa m_ams GHC.Types.Double)
648         [Str: DmdType]
649         a10_s1kb =
650           tpl11_aRq
651             @ GHC.Types.Double
652             @ (forall v_aMa.
653                Language.CMonad.Prim.E' v_aMa m_ams GHC.Types.Double)
654             a7_s1k8
655             (let {
656                lvl5_s1kW :: r_amt GHC.Types.Double
657                             -> m_ams (forall v_aMe.
658                                       Language.CMonad.Prim.E' v_aMe m_ams GHC.Types.Double)
659                [Arity 1]
660                lvl5_s1kW =
661                  \ (r_aMd :: r_amt GHC.Types.Double) ->
662                    tpl31_aRs
663                      @ (forall v_aMe.
664                         Language.CMonad.Prim.E' v_aMe m_ams GHC.Types.Double)
665                      (\ (@ v_aMf) ->
666                         Language.CMonad.Prim.V
667                           @ v_aMf
668                           @ m_ams
669                           @ GHC.Types.Double
670                           (tpl3_X2H @ GHC.Types.Double r_aMd)
671                           (tpl4_X2J @ GHC.Types.Double r_aMd)) } in
672              \ (x'_aMb :: GHC.Types.Double) ->
673                tpl11_aRq
674                  @ (r_amt GHC.Types.Double)
675                  @ (forall v_aMc.
676                     Language.CMonad.Prim.E' v_aMc m_ams GHC.Types.Double)
677                  (tpl2_X2F @ GHC.Types.Double x'_aMb)
678                  lvl5_s1kW) } in
679       \ (x'_aRv :: forall v_amZ.
680                    Language.CMonad.Prim.E' v_amZ m_ams GHC.Types.Double) ->
681         tpl11_aRq
682           @ (forall v_amZ.
683              Language.CMonad.Prim.E' v_amZ m_ams GHC.Types.Double)
684           @ GHC.Types.Double
685           a10_s1kb
686           (let {
687              lvl5_s1l3 :: m_ams GHC.Types.Double
688              []
689              lvl5_s1l3 =
690                case x'_aRv @ Language.CMonad.Prim.RValue of wild_aRw {
691                  Language.CMonad.Prim.E @ $co$_aRy t_aRz -> t_aRz;
692                  Language.CMonad.Prim.V t_aRC ds_aRD -> t_aRC
693                } } in
694            let {
695              lvl6_s1l2 :: () -> m_ams GHC.Types.Double
696              [Arity 1]
697              lvl6_s1l2 = \ (x'1_XSM :: ()) -> lvl5_s1l3 } in
698            \ (x'1_XTZ :: forall v_amZ.
699                          Language.CMonad.Prim.E' v_amZ m_ams GHC.Types.Double) ->
700              tpl11_aRq
701                @ ()
702                @ GHC.Types.Double
703                (tpl11_aRq
704                   @ GHC.Types.Double
705                   @ ()
706                   (case x'1_XTZ @ Language.CMonad.Prim.LValue
707                    of wild_aLU { Language.CMonad.Prim.V ds1_aLW asg_aLX ->
708                    tpl11_aRq
709                      @ GHC.Types.Double
710                      @ GHC.Types.Double
711                      a9_s1ke
712                      (\ (x'2_XUf :: GHC.Types.Double) ->
713                         tpl11_aRq
714                           @ ()
715                           @ GHC.Types.Double
716                           (asg_aLX x'2_XUf)
717                           (let {
718                              a11_s1kz [ALWAYS Just L] :: m_ams GHC.Types.Double
719                              [Str: DmdType]
720                              a11_s1kz = tpl31_aRs @ GHC.Types.Double x'2_XUf } in
721                            \ (x'3_XTf :: ()) -> a11_s1kz))
722                    })
723                   (let {
724                      lvl7_s1l1 :: m_ams ()
725                      []
726                      lvl7_s1l1 =
727                        case while1_s1kr
728                               (Language.CMonad.Ops.<=
729                                  @ m_ams
730                                  @ GHC.Types.Double
731                                  tpl5_aRo
732                                  lvl1_r1mg
733                                  (x'1_XTZ @ Language.CMonad.Prim.RValue)
734                                  lit1_s1kl)
735                               (Language.CMonad.Prim.E
736                                  @ Language.CMonad.Prim.RValue
737                                  @ m_ams
738                                  @ GHC.Types.Double
739                                  @ Language.CMonad.Prim.RValue
740                                  (tpl11_aRq
741                                     @ GHC.Types.Double
742                                     @ GHC.Types.Double
743                                     (case =:_s1kp
744                                             (x'_aRv @ Language.CMonad.Prim.LValue)
745                                             (Language.CMonad.Ops.+
746                                                @ m_ams
747                                                @ GHC.Types.Double
748                                                tpl5_aRo
749                                                GHC.Float.$f9
750                                                (x'_aRv @ Language.CMonad.Prim.RValue)
751                                                (Language.CMonad.Ops./
752                                                   @ m_ams
753                                                   @ GHC.Types.Double
754                                                   tpl5_aRo
755                                                   GHC.Float.$f7
756                                                   lit2_s1kg
757                                                   (x'1_XTZ @ Language.CMonad.Prim.RValue)))
758                                      of wild_aMo {
759                                        Language.CMonad.Prim.E @ $co$_aMq t_aMr -> t_aMr;
760                                        Language.CMonad.Prim.V t_aMu ds1_aMv -> t_aMu
761                                      })
762                                     (let {
763                                        lvl8_s1l0 :: m_ams GHC.Types.Double
764                                        []
765                                        lvl8_s1l0 =
766                                          case =:_s1kp
767                                                 (x'1_XTZ @ Language.CMonad.Prim.LValue)
768                                                 (Language.CMonad.Ops.+
769                                                    @ m_ams
770                                                    @ GHC.Types.Double
771                                                    tpl5_aRo
772                                                    GHC.Float.$f9
773                                                    (x'1_XTZ @ Language.CMonad.Prim.RValue)
774                                                    lit2_s1kg)
775                                          of wild_aRw {
776                                            Language.CMonad.Prim.E @ $co$_aRy t_aRz -> t_aRz;
777                                            Language.CMonad.Prim.V t_aRC ds_aRD -> t_aRC
778                                          } } in
779                                      \ (x'2_XSZ :: GHC.Types.Double) -> lvl8_s1l0)))
780                        of wild_aRw {
781                          Language.CMonad.Prim.E @ $co$_aRy t_aRz -> t_aRz;
782                          Language.CMonad.Prim.V t_aRC ds_aRD -> t_aRC
783                        } } in
784                    \ (x'2_XSY :: GHC.Types.Double) -> lvl7_s1l1))
785                lvl6_s1l2))
786    }
787    }
788
789
790
791
792==================== Tidy Core Rules ====================
793"SPEC Inf.inf [GHC.IOBase.IO, GHC.IOBase.IORef]" ALWAYS
794    forall {$dMonadRef_sNh :: Language.CMonad.MonadRef.MonadRef
795                                GHC.IOBase.IO GHC.IOBase.IORef}
796      Inf.inf @ GHC.IOBase.IO @ GHC.IOBase.IORef $dMonadRef_sNh
797      = Inf.a5
798        `cast` (sym ((GHC.IOBase.:CoIO) GHC.Types.Double)
799                :: GHC.Prim.State# GHC.Prim.RealWorld
800                   -> (# GHC.Prim.State# GHC.Prim.RealWorld, GHC.Types.Double #)
801                     ~
802                   GHC.IOBase.IO GHC.Types.Double)
803
804