Ticket #5859: good.simpl

File good.simpl, 35.4 KB (added by simonpj, 2 years ago)
Line 
1Result size = 858
2
3Main.main_filepath :: GHC.Base.String
4[GblId,
5 Str=DmdType,
6 Unf=Unf{Src=<vanilla>, TopLvl=True, Arity=0, Value=False,
7         ConLike=False, Cheap=False, Expandable=False,
8         Guidance=IF_ARGS [] 60 0}]
9Main.main_filepath = GHC.CString.unpackCString# "T5536.data"
10
11Main.main18 :: [GHC.Types.Char]
12[GblId,
13 Str=DmdType,
14 Unf=Unf{Src=<vanilla>, TopLvl=True, Arity=0, Value=False,
15         ConLike=False, Cheap=False, Expandable=False,
16         Guidance=IF_ARGS [] 50 0}]
17Main.main18 = GHC.CString.unpackCString# "openFile"
18
19Main.main20 :: Foreign.C.Types.CInt
20[GblId,
21 Str=DmdType,
22 Unf=Unf{Src=<vanilla>, TopLvl=True, Arity=0, Value=False,
23         ConLike=False, Cheap=False, Expandable=False,
24         Guidance=IF_ARGS [] 97 110}]
25Main.main20 =
26  case {__pkg_ccall base __hscore_o_noctty GHC.Prim.State#
27                                      GHC.Prim.RealWorld
28                                    -> (# GHC.Prim.State# GHC.Prim.RealWorld, GHC.Prim.Int# #)}
29         GHC.Prim.realWorld#
30  of _ { (# _, ds1 #) ->
31  case {__pkg_ccall base __hscore_o_creat GHC.Prim.State#
32                                     GHC.Prim.RealWorld
33                                   -> (# GHC.Prim.State# GHC.Prim.RealWorld, GHC.Prim.Int# #)}
34         GHC.Prim.realWorld#
35  of _ { (# _, ds3 #) ->
36  case {__pkg_ccall base __hscore_o_wronly GHC.Prim.State#
37                                      GHC.Prim.RealWorld
38                                    -> (# GHC.Prim.State# GHC.Prim.RealWorld, GHC.Prim.Int# #)}
39         GHC.Prim.realWorld#
40  of _ { (# _, ds5 #) ->
41  case {__pkg_ccall base __hscore_o_nonblock GHC.Prim.State#
42                                        GHC.Prim.RealWorld
43                                      -> (# GHC.Prim.State# GHC.Prim.RealWorld, GHC.Prim.Int# #)}
44         GHC.Prim.realWorld#
45  of _ { (# _, ds7 #) ->
46  (GHC.Int.I32#
47     (GHC.Prim.word2Int#
48        (GHC.Prim.or#
49           (GHC.Prim.or#
50              (GHC.Prim.or#
51                 (GHC.Prim.int2Word# (GHC.Prim.narrow32Int# ds1))
52                 (GHC.Prim.int2Word# (GHC.Prim.narrow32Int# ds3)))
53              (GHC.Prim.int2Word# (GHC.Prim.narrow32Int# ds5)))
54           (GHC.Prim.int2Word# (GHC.Prim.narrow32Int# ds7)))))
55  `cast` (Sym (Foreign.C.Types.NTCo:CInt)
56          :: GHC.Int.Int32 ~# Foreign.C.Types.CInt)
57  }
58  }
59  }
60  }
61
62Main.main17 :: GHC.Integer.Type.Integer
63[GblId,
64 Str=DmdType,
65 Unf=Unf{Src=<vanilla>, TopLvl=True, Arity=0, Value=True,
66         ConLike=True, Cheap=True, Expandable=True,
67         Guidance=IF_ARGS [] 100 0}]
68Main.main17 = __integer 0
69
70x :: GHC.Types.Char
71[GblId, Caf=NoCafRefs, Str=DmdType m]
72x = GHC.Types.C# 'a'
73
74lvl :: [GHC.Types.Char]
75[GblId, Caf=NoCafRefs]
76lvl =
77  GHC.Types.: @ GHC.Types.Char x (GHC.Types.[] @ GHC.Types.Char)
78
79Rec {
80Main.main_xs [Occ=LoopBreaker] :: GHC.Prim.Int# -> [GHC.Types.Char]
81[GblId, Arity=1, Caf=NoCafRefs, Str=DmdType L]
82Main.main_xs =
83  \ (m :: GHC.Prim.Int#) ->
84    case GHC.Prim.<=# m 1 of _ {
85      GHC.Types.False ->
86        GHC.Types.: @ GHC.Types.Char x (Main.main_xs (GHC.Prim.-# m 1));
87      GHC.Types.True -> lvl
88    }
89end Rec }
90
91Main.main2 :: [GHC.Types.Char]
92[GblId,
93 Unf=Unf{Src=<vanilla>, TopLvl=True, Arity=0, Value=False,
94         ConLike=False, Cheap=False, Expandable=False,
95         Guidance=IF_ARGS [] 20 0}]
96Main.main2 = Main.main_xs 10000000
97
98Main.main15 :: [GHC.Types.Char]
99[GblId,
100 Unf=Unf{Src=<vanilla>, TopLvl=True, Arity=0, Value=False,
101         ConLike=False, Cheap=False, Expandable=False,
102         Guidance=IF_ARGS [] 50 0}]
103Main.main15 = GHC.CString.unpackCString# "UTF-8"
104
105Main.main14
106  :: GHC.IO.Buffer.Buffer GHC.Word.Word8
107     -> GHC.IO.Buffer.Buffer GHC.Types.Char
108     -> GHC.Prim.State# GHC.Prim.RealWorld
109     -> (# GHC.Prim.State# GHC.Prim.RealWorld,
110           (GHC.IO.Encoding.Types.CodingProgress,
111            GHC.IO.Buffer.Buffer GHC.Word.Word8,
112            GHC.IO.Buffer.Buffer GHC.Types.Char) #)
113[GblId,
114 Arity=3,
115 Caf=NoCafRefs,
116 Unf=Unf{Src=<vanilla>, TopLvl=True, Arity=3, Value=True,
117         ConLike=True, Cheap=True, Expandable=True,
118         Guidance=IF_ARGS [20 20 0] 309 0}]
119Main.main14 =
120  \ (input :: GHC.IO.Buffer.Buffer GHC.Word.Word8)
121    (output :: GHC.IO.Buffer.Buffer GHC.Types.Char)
122    (eta :: GHC.Prim.State# GHC.Prim.RealWorld) ->
123    case input of _ { GHC.IO.Buffer.Buffer rb rb1 ds rb2 rb3 rb4 ->
124    case output of _ { GHC.IO.Buffer.Buffer rb5 rb6 ds1 rb7 rb8 rb9 ->
125    let {
126      lvl1 :: GHC.IO.Buffer.Buffer GHC.Word.Word8
127      [LclId, Str=DmdType m]
128      lvl1 = GHC.IO.Buffer.Buffer @ GHC.Word.Word8 rb rb1 ds rb2 0 0 } in
129    letrec {
130      $wa [Occ=LoopBreaker]
131        :: GHC.Prim.Int#
132           -> GHC.Prim.Int#
133           -> GHC.Prim.State# GHC.Prim.RealWorld
134           -> (# GHC.Prim.State# GHC.Prim.RealWorld,
135                 (GHC.IO.Encoding.Types.CodingProgress,
136                  GHC.IO.Buffer.Buffer GHC.Word.Word8,
137                  GHC.IO.Buffer.Buffer GHC.Types.Char) #)
138      [LclId, Arity=3, Str=DmdType LLL]
139      $wa =
140        \ (ww :: GHC.Prim.Int#)
141          (ww1 :: GHC.Prim.Int#)
142          (w :: GHC.Prim.State# GHC.Prim.RealWorld) ->
143          case GHC.Prim.>=# ww1 rb7 of _ {
144            GHC.Types.False ->
145              case GHC.Prim.>=# ww rb4 of _ {
146                GHC.Types.False ->
147                  case GHC.Prim.readWord8OffAddr#
148                         @ GHC.Prim.RealWorld (GHC.Prim.plusAddr# rb ww) 0 w
149                  of _ { (# s2, x1 #) ->
150                  case GHC.Prim.touch# @ GHC.ForeignPtr.ForeignPtrContents rb1 s2
151                  of s' { __DEFAULT ->
152                  case GHC.Prim.writeWideCharOffAddr#
153                         @ GHC.Prim.RealWorld
154                         rb5
155                         ww1
156                         (GHC.Prim.chr# (GHC.Prim.word2Int# x1))
157                         s'
158                  of s1 { __DEFAULT ->
159                  case GHC.Prim.touch# @ GHC.ForeignPtr.ForeignPtrContents rb6 s1
160                  of s'1 { __DEFAULT ->
161                  $wa (GHC.Prim.+# ww 1) (GHC.Prim.+# ww1 1) s'1
162                  }
163                  }
164                  }
165                  };
166                GHC.Types.True ->
167                  (# w,
168                     (GHC.IO.Encoding.Types.InputUnderflow,
169                      case GHC.Prim.==# ww rb4 of _ {
170                        GHC.Types.False ->
171                          GHC.IO.Buffer.Buffer @ GHC.Word.Word8 rb rb1 ds rb2 ww rb4;
172                        GHC.Types.True -> lvl1
173                      },
174                      GHC.IO.Buffer.Buffer @ GHC.Types.Char rb5 rb6 ds1 rb7 rb8 ww1) #)
175              };
176            GHC.Types.True ->
177              (# w,
178                 (GHC.IO.Encoding.Types.OutputUnderflow,
179                  case GHC.Prim.==# ww rb4 of _ {
180                    GHC.Types.False ->
181                      GHC.IO.Buffer.Buffer @ GHC.Word.Word8 rb rb1 ds rb2 ww rb4;
182                    GHC.Types.True -> lvl1
183                  },
184                  GHC.IO.Buffer.Buffer @ GHC.Types.Char rb5 rb6 ds1 rb7 rb8 ww1) #)
185          }; } in
186    $wa rb3 rb9 eta
187    }
188    }
189
190Main.main13
191  :: GHC.IO.Buffer.Buffer GHC.Word.Word8
192     -> GHC.IO.Buffer.Buffer GHC.Types.Char
193     -> GHC.Prim.State# GHC.Prim.RealWorld
194     -> (# GHC.Prim.State# GHC.Prim.RealWorld,
195           (GHC.IO.Buffer.Buffer GHC.Word.Word8,
196            GHC.IO.Buffer.Buffer GHC.Types.Char) #)
197[GblId, Arity=3, Str=DmdType TTTb]
198Main.main13 =
199  \ _ _ (w2 :: GHC.Prim.State# GHC.Prim.RealWorld) ->
200    ((GHC.IO.Exception.ioException
201        @ (GHC.IO.Buffer.Buffer GHC.Word.Word8,
202           GHC.IO.Buffer.Buffer GHC.Types.Char)
203        GHC.IO.Encoding.Failure.recoverDecode4)
204     `cast` (GHC.Types.NTCo:IO
205               <(GHC.IO.Buffer.Buffer GHC.Word.Word8,
206                 GHC.IO.Buffer.Buffer GHC.Types.Char)>
207             :: GHC.Types.IO
208                  (GHC.IO.Buffer.Buffer GHC.Word.Word8,
209                   GHC.IO.Buffer.Buffer GHC.Types.Char)
210                  ~#
211                (GHC.Prim.State# GHC.Prim.RealWorld
212                 -> (# GHC.Prim.State# GHC.Prim.RealWorld,
213                       (GHC.IO.Buffer.Buffer GHC.Word.Word8,
214                        GHC.IO.Buffer.Buffer GHC.Types.Char) #))))
215      w2
216
217Main.main8
218  :: GHC.Prim.State# GHC.Prim.RealWorld
219     -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #)
220[GblId,
221 Arity=1,
222 Caf=NoCafRefs,
223 Unf=Unf{Src=<vanilla>, TopLvl=True, Arity=1, Value=True,
224         ConLike=True, Cheap=True, Expandable=True,
225         Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}]
226Main.main8 =
227  \ (s :: GHC.Prim.State# GHC.Prim.RealWorld) ->
228    (# s, GHC.Tuple.() #)
229
230Main.main7
231  :: ()
232     -> GHC.Prim.State# GHC.Prim.RealWorld
233     -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #)
234[GblId,
235 Arity=2,
236 Caf=NoCafRefs,
237 Unf=Unf{Src=<vanilla>, TopLvl=True, Arity=2, Value=True,
238         ConLike=True, Cheap=True, Expandable=True,
239         Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}]
240Main.main7 =
241  \ _ (eta :: GHC.Prim.State# GHC.Prim.RealWorld) ->
242    (# eta, GHC.Tuple.() #)
243
244Main.main12
245  :: GHC.IO.Encoding.Types.BufferCodec
246       GHC.Word.Word8 GHC.IO.Buffer.CharBufElem ()
247[GblId,
248 Unf=Unf{Src=<vanilla>, TopLvl=True, Arity=0, Value=True,
249         ConLike=True, Cheap=True, Expandable=True,
250         Guidance=IF_ARGS [] 10 150}]
251Main.main12 =
252  GHC.IO.Encoding.Types.BufferCodec
253    @ GHC.Word.Word8
254    @ GHC.IO.Buffer.CharBufElem
255    @ ()
256    (Main.main14
257     `cast` (<GHC.IO.Buffer.Buffer GHC.Word.Word8>
258             -> <GHC.IO.Buffer.Buffer GHC.Types.Char>
259             -> Sym
260                  (GHC.Types.NTCo:IO
261                     <(GHC.IO.Encoding.Types.CodingProgress,
262                       GHC.IO.Buffer.Buffer GHC.Word.Word8,
263                       GHC.IO.Buffer.Buffer GHC.Types.Char)>)
264             :: (GHC.IO.Buffer.Buffer GHC.Word.Word8
265                 -> GHC.IO.Buffer.Buffer GHC.Types.Char
266                 -> GHC.Prim.State# GHC.Prim.RealWorld
267                 -> (# GHC.Prim.State# GHC.Prim.RealWorld,
268                       (GHC.IO.Encoding.Types.CodingProgress,
269                        GHC.IO.Buffer.Buffer GHC.Word.Word8,
270                        GHC.IO.Buffer.Buffer GHC.Types.Char) #))
271                  ~#
272                (GHC.IO.Buffer.Buffer GHC.Word.Word8
273                 -> GHC.IO.Buffer.Buffer GHC.Types.Char
274                 -> GHC.Types.IO
275                      (GHC.IO.Encoding.Types.CodingProgress,
276                       GHC.IO.Buffer.Buffer GHC.Word.Word8,
277                       GHC.IO.Buffer.Buffer GHC.Types.Char))))
278    (Main.main13
279     `cast` (<GHC.IO.Buffer.Buffer GHC.Word.Word8>
280             -> <GHC.IO.Buffer.Buffer GHC.Types.Char>
281             -> Sym
282                  (GHC.Types.NTCo:IO
283                     <(GHC.IO.Buffer.Buffer GHC.Word.Word8,
284                       GHC.IO.Buffer.Buffer GHC.Types.Char)>)
285             :: (GHC.IO.Buffer.Buffer GHC.Word.Word8
286                 -> GHC.IO.Buffer.Buffer GHC.Types.Char
287                 -> GHC.Prim.State# GHC.Prim.RealWorld
288                 -> (# GHC.Prim.State# GHC.Prim.RealWorld,
289                       (GHC.IO.Buffer.Buffer GHC.Word.Word8,
290                        GHC.IO.Buffer.Buffer GHC.Types.Char) #))
291                  ~#
292                (GHC.IO.Buffer.Buffer GHC.Word.Word8
293                 -> GHC.IO.Buffer.Buffer GHC.Types.Char
294                 -> GHC.Types.IO
295                      (GHC.IO.Buffer.Buffer GHC.Word.Word8,
296                       GHC.IO.Buffer.Buffer GHC.Types.Char))))
297    (Main.main8
298     `cast` (Sym (GHC.Types.NTCo:IO <()>)
299             :: (GHC.Prim.State# GHC.Prim.RealWorld
300                 -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #))
301                  ~#
302                GHC.Types.IO ()))
303    (Main.main8
304     `cast` (Sym (GHC.Types.NTCo:IO <()>)
305             :: (GHC.Prim.State# GHC.Prim.RealWorld
306                 -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #))
307                  ~#
308                GHC.Types.IO ()))
309    (Main.main7
310     `cast` (<()> -> Sym (GHC.Types.NTCo:IO <()>)
311             :: (()
312                 -> GHC.Prim.State# GHC.Prim.RealWorld
313                 -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #))
314                  ~#
315                (() -> GHC.Types.IO ())))
316
317Main.main11
318  :: GHC.Prim.State# GHC.Prim.RealWorld
319     -> (# GHC.Prim.State# GHC.Prim.RealWorld,
320           GHC.IO.Encoding.Types.TextDecoder () #)
321[GblId,
322 Arity=1,
323 Unf=Unf{Src=<vanilla>, TopLvl=True, Arity=1, Value=True,
324         ConLike=True, Cheap=True, Expandable=True,
325         Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}]
326Main.main11 =
327  \ (s :: GHC.Prim.State# GHC.Prim.RealWorld) -> (# s, Main.main12 #)
328
329Main.main10
330  :: GHC.IO.Buffer.Buffer GHC.Types.Char
331     -> GHC.IO.Buffer.Buffer GHC.Word.Word8
332     -> GHC.Prim.State# GHC.Prim.RealWorld
333     -> (# GHC.Prim.State# GHC.Prim.RealWorld,
334           (GHC.IO.Encoding.Types.CodingProgress,
335            GHC.IO.Buffer.Buffer GHC.Types.Char,
336            GHC.IO.Buffer.Buffer GHC.Word.Word8) #)
337[GblId, Arity=3, Caf=NoCafRefs]
338Main.main10 =
339  \ (input :: GHC.IO.Buffer.Buffer GHC.Types.Char)
340    (output :: GHC.IO.Buffer.Buffer GHC.Word.Word8)
341    (eta :: GHC.Prim.State# GHC.Prim.RealWorld) ->
342    case input of _ { GHC.IO.Buffer.Buffer rb rb1 ds rb2 rb3 rb4 ->
343    case output of _ { GHC.IO.Buffer.Buffer rb5 rb6 ds1 rb7 rb8 rb9 ->
344    let {
345      lvl1 :: GHC.IO.Buffer.Buffer GHC.Types.Char
346      [LclId, Str=DmdType m]
347      lvl1 = GHC.IO.Buffer.Buffer @ GHC.Types.Char rb rb1 ds rb2 0 0 } in
348    letrec {
349      $wa [Occ=LoopBreaker]
350        :: GHC.Prim.Int#
351           -> GHC.Prim.Int#
352           -> GHC.Prim.State# GHC.Prim.RealWorld
353           -> (# GHC.Prim.State# GHC.Prim.RealWorld,
354                 (GHC.IO.Encoding.Types.CodingProgress,
355                  GHC.IO.Buffer.Buffer GHC.Types.Char,
356                  GHC.IO.Buffer.Buffer GHC.Word.Word8) #)
357      [LclId, Arity=3, Str=DmdType LLL]
358      $wa =
359        \ (ww :: GHC.Prim.Int#)
360          (ww1 :: GHC.Prim.Int#)
361          (w :: GHC.Prim.State# GHC.Prim.RealWorld) ->
362          case GHC.Prim.>=# ww1 rb7 of _ {
363            GHC.Types.False ->
364              case GHC.Prim.>=# ww rb4 of _ {
365                GHC.Types.False ->
366                  case GHC.Prim.readWideCharOffAddr# @ GHC.Prim.RealWorld rb ww w
367                  of _ { (# s2, x1 #) ->
368                  case GHC.Prim.touch# @ GHC.ForeignPtr.ForeignPtrContents rb1 s2
369                  of s' { __DEFAULT ->
370                  let {
371                    a [Dmd=Just L] :: GHC.Prim.Int#
372                    [LclId, Str=DmdType]
373                    a = GHC.Prim.ord# x1 } in
374                  case GHC.Prim.<=# a 127 of _ {
375                    GHC.Types.False ->
376                      let {
377                        a1 :: GHC.IO.Buffer.Buffer GHC.Types.Char
378                        [LclId]
379                        a1 =
380                          case GHC.Prim.==# ww rb4 of _ {
381                            GHC.Types.False ->
382                              GHC.IO.Buffer.Buffer @ GHC.Types.Char rb rb1 ds rb2 ww rb4;
383                            GHC.Types.True -> lvl1
384                          } } in
385                      let {
386                        a2 :: GHC.IO.Buffer.Buffer GHC.Word.Word8
387                        [LclId]
388                        a2 =
389                          GHC.IO.Buffer.Buffer @ GHC.Word.Word8 rb5 rb6 ds1 rb7 rb8 ww1 } in
390                      let {
391                        lvl2
392                          :: (GHC.IO.Encoding.Types.CodingProgress,
393                              GHC.IO.Buffer.Buffer GHC.Types.Char,
394                              GHC.IO.Buffer.Buffer GHC.Word.Word8)
395                        [LclId]
396                        lvl2 = (GHC.IO.Encoding.Types.InvalidSequence, a1, a2) } in
397                      let {
398                        $w$j
399                          :: GHC.Prim.State# GHC.Prim.RealWorld
400                             -> (# GHC.Prim.State# GHC.Prim.RealWorld,
401                                   (GHC.IO.Encoding.Types.CodingProgress,
402                                    GHC.IO.Buffer.Buffer GHC.Types.Char,
403                                    GHC.IO.Buffer.Buffer GHC.Word.Word8) #)
404                        [LclId, Arity=1, Str=DmdType T]
405                        $w$j =
406                          \ _ ->
407                            case GHC.Prim.<=# 56320 a of _ {
408                              GHC.Types.False ->
409                                case GHC.Prim.<# (GHC.Prim.-# rb7 ww1) 3 of _ {
410                                  GHC.Types.False ->
411                                    case GHC.Prim.writeWord8OffAddr#
412                                           @ GHC.Prim.RealWorld
413                                           (GHC.Prim.plusAddr# rb5 ww1)
414                                           0
415                                           (GHC.Prim.narrow8Word#
416                                              (GHC.Prim.int2Word# (GHC.Prim.+# a 224)))
417                                           s'
418                                    of s1 { __DEFAULT ->
419                                    case GHC.Prim.touch# @ GHC.ForeignPtr.ForeignPtrContents rb6 s1
420                                    of s'1 { __DEFAULT ->
421                                    $wa (GHC.Prim.+# ww 1) (GHC.Prim.+# ww1 3) s'1
422                                    }
423                                    };
424                                  GHC.Types.True ->
425                                    (# s',
426                                       (GHC.IO.Encoding.Types.OutputUnderflow,
427                                        case GHC.Prim.==# ww rb4 of _ {
428                                          GHC.Types.False ->
429                                            GHC.IO.Buffer.Buffer
430                                              @ GHC.Types.Char rb rb1 ds rb2 ww rb4;
431                                          GHC.Types.True -> lvl1
432                                        },
433                                        GHC.IO.Buffer.Buffer
434                                          @ GHC.Word.Word8 rb5 rb6 ds1 rb7 rb8 ww1) #)
435                                };
436                              GHC.Types.True ->
437                                case GHC.Prim.<=# a 57343 of _ {
438                                  GHC.Types.False ->
439                                    case GHC.Prim.<# (GHC.Prim.-# rb7 ww1) 3 of _ {
440                                      GHC.Types.False ->
441                                        case GHC.Prim.writeWord8OffAddr#
442                                               @ GHC.Prim.RealWorld
443                                               (GHC.Prim.plusAddr# rb5 ww1)
444                                               0
445                                               (GHC.Prim.narrow8Word#
446                                                  (GHC.Prim.int2Word# (GHC.Prim.+# a 224)))
447                                               s'
448                                        of s1 { __DEFAULT ->
449                                        case GHC.Prim.touch#
450                                               @ GHC.ForeignPtr.ForeignPtrContents rb6 s1
451                                        of s'1 { __DEFAULT ->
452                                        $wa (GHC.Prim.+# ww 1) (GHC.Prim.+# ww1 3) s'1
453                                        }
454                                        };
455                                      GHC.Types.True ->
456                                        (# s',
457                                           (GHC.IO.Encoding.Types.OutputUnderflow,
458                                            case GHC.Prim.==# ww rb4 of _ {
459                                              GHC.Types.False ->
460                                                GHC.IO.Buffer.Buffer
461                                                  @ GHC.Types.Char rb rb1 ds rb2 ww rb4;
462                                              GHC.Types.True -> lvl1
463                                            },
464                                            GHC.IO.Buffer.Buffer
465                                              @ GHC.Word.Word8 rb5 rb6 ds1 rb7 rb8 ww1) #)
466                                    };
467                                  GHC.Types.True -> (# s', lvl2 #)
468                                }
469                            } } in
470                      case GHC.Prim.<=# 55296 a of _ {
471                        GHC.Types.False -> $w$j GHC.Prim.realWorld#;
472                        GHC.Types.True ->
473                          case GHC.Prim.<=# a 56319 of _ {
474                            GHC.Types.False -> $w$j GHC.Prim.realWorld#;
475                            GHC.Types.True -> (# s', lvl2 #)
476                          }
477                      };
478                    GHC.Types.True ->
479                      case GHC.Prim.writeWord8OffAddr#
480                             @ GHC.Prim.RealWorld
481                             (GHC.Prim.plusAddr# rb5 ww1)
482                             0
483                             (GHC.Prim.narrow8Word# (GHC.Prim.int2Word# a))
484                             s'
485                      of s1 { __DEFAULT ->
486                      case GHC.Prim.touch# @ GHC.ForeignPtr.ForeignPtrContents rb6 s1
487                      of s'1 { __DEFAULT ->
488                      $wa (GHC.Prim.+# ww 1) (GHC.Prim.+# ww1 1) s'1
489                      }
490                      }
491                  }
492                  }
493                  };
494                GHC.Types.True ->
495                  (# w,
496                     (GHC.IO.Encoding.Types.InputUnderflow,
497                      case GHC.Prim.==# ww rb4 of _ {
498                        GHC.Types.False ->
499                          GHC.IO.Buffer.Buffer @ GHC.Types.Char rb rb1 ds rb2 ww rb4;
500                        GHC.Types.True -> lvl1
501                      },
502                      GHC.IO.Buffer.Buffer @ GHC.Word.Word8 rb5 rb6 ds1 rb7 rb8 ww1) #)
503              };
504            GHC.Types.True ->
505              (# w,
506                 (GHC.IO.Encoding.Types.OutputUnderflow,
507                  case GHC.Prim.==# ww rb4 of _ {
508                    GHC.Types.False ->
509                      GHC.IO.Buffer.Buffer @ GHC.Types.Char rb rb1 ds rb2 ww rb4;
510                    GHC.Types.True -> lvl1
511                  },
512                  GHC.IO.Buffer.Buffer @ GHC.Word.Word8 rb5 rb6 ds1 rb7 rb8 ww1) #)
513          }; } in
514    $wa rb3 rb9 eta
515    }
516    }
517
518Main.main9
519  :: GHC.IO.Buffer.Buffer GHC.Types.Char
520     -> GHC.IO.Buffer.Buffer GHC.Word.Word8
521     -> GHC.Prim.State# GHC.Prim.RealWorld
522     -> (# GHC.Prim.State# GHC.Prim.RealWorld,
523           (GHC.IO.Buffer.Buffer GHC.Types.Char,
524            GHC.IO.Buffer.Buffer GHC.Word.Word8) #)
525[GblId, Arity=3, Str=DmdType TTTb]
526Main.main9 =
527  \ (w :: GHC.IO.Buffer.Buffer GHC.Types.Char)
528    (w1 :: GHC.IO.Buffer.Buffer GHC.Word.Word8)
529    (w2 :: GHC.Prim.State# GHC.Prim.RealWorld) ->
530    case w of _ { GHC.IO.Buffer.Buffer ww ww1 ww2 ww3 ww4 ww5 ->
531    case w1 of _ { GHC.IO.Buffer.Buffer rb rb1 ds rb2 rb3 rb4 ->
532    case GHC.Prim.readWideCharOffAddr# @ GHC.Prim.RealWorld ww ww4 w2
533    of _ { (# s2, _ #) ->
534    case GHC.Prim.touch# @ GHC.ForeignPtr.ForeignPtrContents ww1 s2
535    of s' { __DEFAULT ->
536    ((GHC.IO.Exception.ioException
537        @ (GHC.IO.Buffer.Buffer GHC.Types.Char,
538           GHC.IO.Buffer.Buffer GHC.Word.Word8)
539        GHC.IO.Encoding.Failure.recoverEncode2)
540     `cast` (GHC.Types.NTCo:IO
541               <(GHC.IO.Buffer.Buffer GHC.Types.Char,
542                 GHC.IO.Buffer.Buffer GHC.Word.Word8)>
543             :: GHC.Types.IO
544                  (GHC.IO.Buffer.Buffer GHC.Types.Char,
545                   GHC.IO.Buffer.Buffer GHC.Word.Word8)
546                  ~#
547                (GHC.Prim.State# GHC.Prim.RealWorld
548                 -> (# GHC.Prim.State# GHC.Prim.RealWorld,
549                       (GHC.IO.Buffer.Buffer GHC.Types.Char,
550                        GHC.IO.Buffer.Buffer GHC.Word.Word8) #))))
551      s'
552    }
553    }
554    }
555    }
556
557Main.main6
558  :: GHC.IO.Encoding.Types.BufferCodec
559       GHC.IO.Buffer.CharBufElem GHC.Word.Word8 ()
560[GblId,
561 Unf=Unf{Src=<vanilla>, TopLvl=True, Arity=0, Value=True,
562         ConLike=True, Cheap=True, Expandable=True,
563         Guidance=IF_ARGS [] 10 150}]
564Main.main6 =
565  GHC.IO.Encoding.Types.BufferCodec
566    @ GHC.IO.Buffer.CharBufElem
567    @ GHC.Word.Word8
568    @ ()
569    (Main.main10
570     `cast` (<GHC.IO.Buffer.Buffer GHC.Types.Char>
571             -> <GHC.IO.Buffer.Buffer GHC.Word.Word8>
572             -> Sym
573                  (GHC.Types.NTCo:IO
574                     <(GHC.IO.Encoding.Types.CodingProgress,
575                       GHC.IO.Buffer.Buffer GHC.Types.Char,
576                       GHC.IO.Buffer.Buffer GHC.Word.Word8)>)
577             :: (GHC.IO.Buffer.Buffer GHC.Types.Char
578                 -> GHC.IO.Buffer.Buffer GHC.Word.Word8
579                 -> GHC.Prim.State# GHC.Prim.RealWorld
580                 -> (# GHC.Prim.State# GHC.Prim.RealWorld,
581                       (GHC.IO.Encoding.Types.CodingProgress,
582                        GHC.IO.Buffer.Buffer GHC.Types.Char,
583                        GHC.IO.Buffer.Buffer GHC.Word.Word8) #))
584                  ~#
585                (GHC.IO.Buffer.Buffer GHC.Types.Char
586                 -> GHC.IO.Buffer.Buffer GHC.Word.Word8
587                 -> GHC.Types.IO
588                      (GHC.IO.Encoding.Types.CodingProgress,
589                       GHC.IO.Buffer.Buffer GHC.Types.Char,
590                       GHC.IO.Buffer.Buffer GHC.Word.Word8))))
591    (Main.main9
592     `cast` (<GHC.IO.Buffer.Buffer GHC.Types.Char>
593             -> <GHC.IO.Buffer.Buffer GHC.Word.Word8>
594             -> Sym
595                  (GHC.Types.NTCo:IO
596                     <(GHC.IO.Buffer.Buffer GHC.Types.Char,
597                       GHC.IO.Buffer.Buffer GHC.Word.Word8)>)
598             :: (GHC.IO.Buffer.Buffer GHC.Types.Char
599                 -> GHC.IO.Buffer.Buffer GHC.Word.Word8
600                 -> GHC.Prim.State# GHC.Prim.RealWorld
601                 -> (# GHC.Prim.State# GHC.Prim.RealWorld,
602                       (GHC.IO.Buffer.Buffer GHC.Types.Char,
603                        GHC.IO.Buffer.Buffer GHC.Word.Word8) #))
604                  ~#
605                (GHC.IO.Buffer.Buffer GHC.Types.Char
606                 -> GHC.IO.Buffer.Buffer GHC.Word.Word8
607                 -> GHC.Types.IO
608                      (GHC.IO.Buffer.Buffer GHC.Types.Char,
609                       GHC.IO.Buffer.Buffer GHC.Word.Word8))))
610    (Main.main8
611     `cast` (Sym (GHC.Types.NTCo:IO <()>)
612             :: (GHC.Prim.State# GHC.Prim.RealWorld
613                 -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #))
614                  ~#
615                GHC.Types.IO ()))
616    (Main.main8
617     `cast` (Sym (GHC.Types.NTCo:IO <()>)
618             :: (GHC.Prim.State# GHC.Prim.RealWorld
619                 -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #))
620                  ~#
621                GHC.Types.IO ()))
622    (Main.main7
623     `cast` (<()> -> Sym (GHC.Types.NTCo:IO <()>)
624             :: (()
625                 -> GHC.Prim.State# GHC.Prim.RealWorld
626                 -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #))
627                  ~#
628                (() -> GHC.Types.IO ())))
629
630Main.main5
631  :: GHC.Prim.State# GHC.Prim.RealWorld
632     -> (# GHC.Prim.State# GHC.Prim.RealWorld,
633           GHC.IO.Encoding.Types.TextEncoder () #)
634[GblId,
635 Arity=1,
636 Unf=Unf{Src=<vanilla>, TopLvl=True, Arity=1, Value=True,
637         ConLike=True, Cheap=True, Expandable=True,
638         Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}]
639Main.main5 =
640  \ (s :: GHC.Prim.State# GHC.Prim.RealWorld) -> (# s, Main.main6 #)
641
642Main.main4 :: GHC.IO.Encoding.Types.TextEncoding
643[GblId,
644 Unf=Unf{Src=<vanilla>, TopLvl=True, Arity=0, Value=True,
645         ConLike=True, Cheap=True, Expandable=True,
646         Guidance=IF_ARGS [] 10 130}]
647Main.main4 =
648  GHC.IO.Encoding.Types.TextEncoding
649    @ ()
650    @ ()
651    Main.main15
652    (Main.main11
653     `cast` (Sym
654               (GHC.Types.NTCo:IO <GHC.IO.Encoding.Types.TextDecoder ()>)
655             :: (GHC.Prim.State# GHC.Prim.RealWorld
656                 -> (# GHC.Prim.State# GHC.Prim.RealWorld,
657                       GHC.IO.Encoding.Types.TextDecoder () #))
658                  ~#
659                GHC.Types.IO (GHC.IO.Encoding.Types.TextDecoder ())))
660    (Main.main5
661     `cast` (Sym
662               (GHC.Types.NTCo:IO <GHC.IO.Encoding.Types.TextEncoder ()>)
663             :: (GHC.Prim.State# GHC.Prim.RealWorld
664                 -> (# GHC.Prim.State# GHC.Prim.RealWorld,
665                       GHC.IO.Encoding.Types.TextEncoder () #))
666                  ~#
667                GHC.Types.IO (GHC.IO.Encoding.Types.TextEncoder ())))
668
669Main.main3 :: Data.Maybe.Maybe GHC.IO.Encoding.Types.TextEncoding
670[GblId,
671 Unf=Unf{Src=<vanilla>, TopLvl=True, Arity=0, Value=True,
672         ConLike=True, Cheap=True, Expandable=True,
673         Guidance=IF_ARGS [] 10 110}]
674Main.main3 =
675  Data.Maybe.Just @ GHC.IO.Encoding.Types.TextEncoding Main.main4
676
677Main.main19 :: Foreign.C.Types.CInt -> GHC.Types.Bool
678[GblId,
679 Arity=1,
680 Caf=NoCafRefs,
681 Unf=Unf{Src=<vanilla>, TopLvl=True, Arity=1, Value=True,
682         ConLike=True, Cheap=True, Expandable=True,
683         Guidance=IF_ARGS [0] 30 20}]
684Main.main19 =
685  \ (ds1 :: Foreign.C.Types.CInt) ->
686    case ds1
687         `cast` (Foreign.C.Types.NTCo:CInt
688                 :: Foreign.C.Types.CInt ~# GHC.Int.Int32)
689    of _ { GHC.Int.I32# a1 ->
690    case a1 of _ {
691      __DEFAULT -> GHC.Types.False;
692      (-1) -> GHC.Types.True
693    }
694    }
695
696Main.main16
697  :: Foreign.C.String.CString
698     -> GHC.Prim.State# GHC.Prim.RealWorld
699     -> (# GHC.Prim.State# GHC.Prim.RealWorld, GHC.IO.FD.FD #)
700[GblId,
701 Arity=2,
702 Unf=Unf{Src=<vanilla>, TopLvl=True, Arity=2, Value=True,
703         ConLike=True, Cheap=True, Expandable=True,
704         Guidance=IF_ARGS [0 0] 221 30}]
705Main.main16 =
706  \ (f :: Foreign.C.String.CString)
707    (s :: GHC.Prim.State# GHC.Prim.RealWorld) ->
708    case f
709         `cast` (GHC.Ptr.Ptr (Foreign.C.Types.NTCo:CChar)
710                 :: GHC.Ptr.Ptr Foreign.C.Types.CChar ~# GHC.Ptr.Ptr GHC.Int.Int8)
711    of _ { GHC.Ptr.Ptr ds4 ->
712    case Main.main20
713         `cast` (Foreign.C.Types.NTCo:CInt
714                 :: Foreign.C.Types.CInt ~# GHC.Int.Int32)
715    of _ { GHC.Int.I32# ds6 ->
716    case Foreign.C.Error.throwErrnoIfMinus1Retry2
717           @ Foreign.C.Types.CInt
718           Main.main19
719           Main.main18
720           ((\ (ds9 :: GHC.Prim.State# GHC.Prim.RealWorld) ->
721               case {__pkg_ccall base __hscore_open GHC.Prim.Addr#
722                                -> GHC.Prim.Int#
723                                -> GHC.Prim.Word#
724                                -> GHC.Prim.State# GHC.Prim.RealWorld
725                                -> (# GHC.Prim.State# GHC.Prim.RealWorld, GHC.Prim.Int# #)}
726                      ds4 ds6 (__word 438) ds9
727               of _ { (# ds10, ds11 #) ->
728               (# ds10, GHC.Int.I32# (GHC.Prim.narrow32Int# ds11) #)
729               })
730            `cast` (Sym (GHC.Types.NTCo:IO (Foreign.C.Types.NTCo:CInt))
731                    :: (GHC.Prim.State# GHC.Prim.RealWorld
732                        -> (# GHC.Prim.State# GHC.Prim.RealWorld, GHC.Int.Int32 #))
733                         ~#
734                       GHC.Types.IO Foreign.C.Types.CInt))
735           s
736    of _ { (# new_s, a #) ->
737    case a
738         `cast` (Foreign.C.Types.NTCo:CInt
739                 :: Foreign.C.Types.CInt ~# GHC.Int.Int32)
740    of _ { GHC.Int.I32# tpl1 ->
741    case GHC.IO.FD.$wa10 tpl1 Main.main17 new_s
742    of _ { (# new_s1, _ #) ->
743    (# new_s1, GHC.IO.FD.FD tpl1 1 #)
744    }
745    }
746    }
747    }
748    }
749
750Main.main1
751  :: GHC.Prim.State# GHC.Prim.RealWorld
752     -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #)
753[GblId,
754 Arity=1,
755 Str=DmdType L,
756 Unf=Unf{Src=<vanilla>, TopLvl=True, Arity=1, Value=True,
757         ConLike=True, Cheap=True, Expandable=True,
758         Guidance=IF_ARGS [0] 311 0}]
759Main.main1 =
760  \ (eta :: GHC.Prim.State# GHC.Prim.RealWorld) ->
761    case GHC.IO.Encoding.getFileSystemEncoding1
762    of _ { (getFileSystemEncoding12, setFileSystemEncoding1) ->
763    case (getFileSystemEncoding12
764          `cast` (GHC.Types.NTCo:IO <GHC.IO.Encoding.Types.TextEncoding>
765                  :: GHC.Types.IO GHC.IO.Encoding.Types.TextEncoding
766                       ~#
767                     (GHC.Prim.State# GHC.Prim.RealWorld
768                      -> (# GHC.Prim.State# GHC.Prim.RealWorld,
769                            GHC.IO.Encoding.Types.TextEncoding #))))
770           eta
771    of _ { (# new_s, a76 #) ->
772    case GHC.Foreign.charIsRepresentable3
773           @ GHC.IO.FD.FD
774           a76
775           Main.main_filepath
776           (Main.main16
777            `cast` (<Foreign.C.String.CString>
778                    -> Sym (GHC.Types.NTCo:IO <GHC.IO.FD.FD>)
779                    :: (Foreign.C.String.CString
780                        -> GHC.Prim.State# GHC.Prim.RealWorld
781                        -> (# GHC.Prim.State# GHC.Prim.RealWorld, GHC.IO.FD.FD #))
782                         ~#
783                       (Foreign.C.String.CString -> GHC.Types.IO GHC.IO.FD.FD)))
784           new_s
785    of _ { (# new_s1, a #) ->
786    case GHC.IO.Handle.Internals.mkDuplexHandle5
787           @ GHC.IO.FD.FD
788           GHC.IO.FD.$fIODeviceFD
789           GHC.IO.FD.$fBufferedIOFD
790           (GHC.IO.FD.$fTypeableFD_$ctypeOf
791            `cast` (Sym (Data.Typeable.Internal.NTCo:Typeable <GHC.IO.FD.FD>)
792                    :: (GHC.IO.FD.FD -> Data.Typeable.Internal.TypeRep)
793                         ~#
794                       Data.Typeable.Internal.Typeable GHC.IO.FD.FD))
795           a
796           Main.main_filepath
797           GHC.IO.Handle.Types.WriteHandle
798           GHC.Types.True
799           Main.main3
800           GHC.IO.Handle.Types.noNewlineTranslation
801           GHC.IO.Handle.Internals.mkDuplexHandle4
802           (Data.Maybe.Nothing @ (GHC.MVar.MVar GHC.IO.Handle.Types.Handle__))
803           new_s1
804    of _ { (# new_s2, a1 #) ->
805    case GHC.IO.Handle.Text.hPutStr2
806           a1 Main.main2 GHC.Types.False new_s2
807    of _ { (# new_s3, _ #) ->
808    GHC.IO.Handle.hClose1 a1 new_s3
809    }
810    }
811    }
812    }
813    }
814
815Main.main :: GHC.Types.IO ()
816[GblId,
817 Arity=1,
818 Str=DmdType L,
819 Unf=Unf{Src=<vanilla>, TopLvl=True, Arity=0, Value=True,
820         ConLike=True, Cheap=True, Expandable=True,
821         Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}]
822Main.main =
823  Main.main1
824  `cast` (Sym (GHC.Types.NTCo:IO <()>)
825          :: (GHC.Prim.State# GHC.Prim.RealWorld
826              -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #))
827               ~#
828             GHC.Types.IO ())
829
830Main.main21
831  :: GHC.Prim.State# GHC.Prim.RealWorld
832     -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #)
833[GblId,
834 Arity=1,
835 Str=DmdType L,
836 Unf=Unf{Src=<vanilla>, TopLvl=True, Arity=1, Value=True,
837         ConLike=True, Cheap=True, Expandable=True,
838         Guidance=IF_ARGS [0] 30 0}]
839Main.main21 =
840  \ (eta :: GHC.Prim.State# GHC.Prim.RealWorld) ->
841    GHC.TopHandler.runMainIO1
842      @ ()
843      (Main.main1
844       `cast` (Sym (GHC.Types.NTCo:IO <()>)
845               :: (GHC.Prim.State# GHC.Prim.RealWorld
846                   -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #))
847                    ~#
848                  GHC.Types.IO ()))
849      eta
850
851:Main.main :: GHC.Types.IO ()
852[GblId,
853 Arity=1,
854 Str=DmdType L,
855 Unf=Unf{Src=<vanilla>, TopLvl=True, Arity=0, Value=True,
856         ConLike=True, Cheap=True, Expandable=True,
857         Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}]
858:Main.main =
859  Main.main21
860  `cast` (Sym (GHC.Types.NTCo:IO <()>)
861          :: (GHC.Prim.State# GHC.Prim.RealWorld
862              -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #))
863               ~#
864             GHC.Types.IO ())
865
866