Ticket #2465: plzoptimize.core

File plzoptimize.core, 23.7 KB (added by ryani, 7 years ago)

ghc6.8.2 -ddump-simpl output

Line 
1
2==================== Tidy Core ====================
3lvl_r1gK :: [GHC.Base.Char]
4[GlobalId]
5[]
6lvl_r1gK = GHC.Base.unpackCString# "unreachable"
7
8lvl1_r1gM :: PlzOptimize.D
9[GlobalId]
10[Str: DmdType b]
11lvl1_r1gM = GHC.Err.error @ PlzOptimize.D lvl_r1gK
12
13Rec {
14$s$woptConstsWorker_r1gO :: GHC.Prim.Addr#
15                            -> GHC.ForeignPtr.ForeignPtrContents
16                            -> GHC.Prim.Int#
17                            -> GHC.Prim.Int#
18                            -> [Data.ByteString.Internal.ByteString]
19                            -> GHC.Prim.Int#
20                            -> GHC.Prim.Int#
21                            -> GHC.Prim.Int#
22                            -> GHC.Base.Int
23[GlobalId]
24[Arity 8
25 NoCafRefs]
26$s$woptConstsWorker_r1gO =
27  \ (rb_XQl :: GHC.Prim.Addr#)
28    (rb1_XQn :: GHC.ForeignPtr.ForeignPtrContents)
29    (rb2_XQp :: GHC.Prim.Int#)
30    (rb3_XQr :: GHC.Prim.Int#)
31    (ds2_as1 :: [Data.ByteString.Internal.ByteString])
32    (a_s1au :: GHC.Prim.Int#)
33    (sc_s1eE :: GHC.Prim.Int#)
34    (sc1_s1eF :: GHC.Prim.Int#) ->
35    case GHC.Prim.readWord8OffAddr#
36           @ GHC.Prim.RealWorld (GHC.Prim.plusAddr# rb_XQl sc1_s1eF) 0 GHC.Prim.realWorld#
37    of wild2_a17v { (# s2_a17x, x_a17y #) ->
38    case GHC.Prim.touch# @ GHC.ForeignPtr.ForeignPtrContents rb1_XQn s2_a17x
39    of s_a17i { __DEFAULT ->
40    case GHC.Prim.chr# (GHC.Prim.word2Int# x_a17y) of ds_XNi {
41      __DEFAULT -> GHC.Base.I# sc_s1eE;
42      'C' ->
43        let {
44          a1_s19w [ALWAYS Just L] :: GHC.Prim.Int#
45          [Str: DmdType]
46          a1_s19w = GHC.Prim.-# a_s1au 1
47        } in
48          case GHC.Prim.<=# a1_s19w 0 of wild_X1c {
49            GHC.Base.False ->
50              $s$woptConstsWorker_r1gO
51                rb_XQl
52                rb1_XQn
53                rb2_XQp
54                rb3_XQr
55                ds2_as1
56                a1_s19w
57                (GHC.Prim.+# sc_s1eE 1)
58                (GHC.Prim.+# sc1_s1eF 1);
59            GHC.Base.True ->
60              PlzOptimize.$s$woptConstsWorker1
61                rb3_XQr rb_XQl rb1_XQn ds2_as1 (GHC.Prim.+# sc_s1eE 1) rb2_XQp
62          };
63      'F' ->
64        let {
65          a1_s19I [ALWAYS Just L] :: GHC.Prim.Int#
66          [Str: DmdType]
67          a1_s19I = GHC.Prim.-# a_s1au 1
68        } in
69          case GHC.Prim.<=# a1_s19I 0 of wild_X1c {
70            GHC.Base.False ->
71              $s$woptConstsWorker_r1gO
72                rb_XQl
73                rb1_XQn
74                rb2_XQp
75                rb3_XQr
76                ds2_as1
77                a1_s19I
78                (GHC.Prim.+# sc_s1eE 1)
79                (GHC.Prim.+# sc1_s1eF 1);
80            GHC.Base.True ->
81              PlzOptimize.$s$woptConstsWorker1
82                rb3_XQr rb_XQl rb1_XQn ds2_as1 (GHC.Prim.+# sc_s1eE 1) rb2_XQp
83          };
84      'I' ->
85        let {
86          a1_s19U [ALWAYS Just L] :: GHC.Prim.Int#
87          [Str: DmdType]
88          a1_s19U = GHC.Prim.-# a_s1au 1
89        } in
90          case GHC.Prim.<=# a1_s19U 0 of wild_X1c {
91            GHC.Base.False ->
92              let {
93                a2_s19S [ALWAYS Just L] :: GHC.Prim.Int#
94                [Str: DmdType]
95                a2_s19S = GHC.Prim.+# sc1_s1eF 1
96              } in
97                case GHC.Prim.readWord8OffAddr#
98                       @ GHC.Prim.RealWorld (GHC.Prim.plusAddr# rb_XQl a2_s19S) 0 GHC.Prim.realWorld#
99                of wild21_X19L { (# s21_X19O, x1_X19Q #) ->
100                case GHC.Prim.touch# @ GHC.ForeignPtr.ForeignPtrContents rb1_XQn s21_X19O
101                of s1_X19J { __DEFAULT ->
102                case GHC.Prim.chr# (GHC.Prim.word2Int# x1_X19Q) of ds1_XNm {
103                  __DEFAULT -> GHC.Base.I# sc_s1eE;
104                  'C' ->
105                    let {
106                      a3_s1aa [ALWAYS Just L] :: GHC.Prim.Int#
107                      [Str: DmdType]
108                      a3_s1aa = GHC.Prim.-# a1_s19U 1
109                    } in
110                      case GHC.Prim.<=# a3_s1aa 0 of wild1_X1l {
111                        GHC.Base.False ->
112                          $s$woptConstsWorker_r1gO
113                            rb_XQl
114                            rb1_XQn
115                            rb2_XQp
116                            rb3_XQr
117                            ds2_as1
118                            a3_s1aa
119                            (GHC.Prim.+# sc_s1eE 2)
120                            (GHC.Prim.+# a2_s19S 1);
121                        GHC.Base.True ->
122                          PlzOptimize.$s$woptConstsWorker1
123                            rb3_XQr rb_XQl rb1_XQn ds2_as1 (GHC.Prim.+# sc_s1eE 2) rb2_XQp
124                      }
125                }
126                }
127                };
128            GHC.Base.True ->
129              case GHC.Prim.readWord8OffAddr#
130                     @ GHC.Prim.RealWorld (GHC.Prim.plusAddr# rb_XQl rb2_XQp) 0 GHC.Prim.realWorld#
131              of wild21_X19U { (# s21_X19X, x1_X19Z #) ->
132              case GHC.Prim.touch# @ GHC.ForeignPtr.ForeignPtrContents rb1_XQn s21_X19X
133              of s1_X19S { __DEFAULT ->
134              case GHC.Prim.chr# (GHC.Prim.word2Int# x1_X19Z) of ds1_XOC {
135                __DEFAULT -> GHC.Base.I# sc_s1eE;
136                'C' ->
137                  let {
138                    a2_X1aS [ALWAYS Just L] :: GHC.Prim.Int#
139                    [Str: DmdType]
140                    a2_X1aS = GHC.Prim.-# rb3_XQr 1
141                  } in
142                    case GHC.Prim.<=# a2_X1aS 0 of wild1_X1p {
143                      GHC.Base.False ->
144                        $s$woptConstsWorker_r1gO
145                          rb_XQl
146                          rb1_XQn
147                          rb2_XQp
148                          rb3_XQr
149                          ds2_as1
150                          a2_X1aS
151                          (GHC.Prim.+# sc_s1eE 2)
152                          (GHC.Prim.+# rb2_XQp 1);
153                      GHC.Base.True ->
154                        PlzOptimize.$s$woptConstsWorker1
155                          rb3_XQr rb_XQl rb1_XQn ds2_as1 (GHC.Prim.+# sc_s1eE 2) rb2_XQp
156                    }
157              }
158              }
159              }
160          };
161      'P' ->
162        let {
163          a1_s1aG [ALWAYS Just L] :: GHC.Prim.Int#
164          [Str: DmdType]
165          a1_s1aG = GHC.Prim.-# a_s1au 1
166        } in
167          case GHC.Prim.<=# a1_s1aG 0 of wild_X1c {
168            GHC.Base.False ->
169              $s$woptConstsWorker_r1gO
170                rb_XQl
171                rb1_XQn
172                rb2_XQp
173                rb3_XQr
174                ds2_as1
175                a1_s1aG
176                (GHC.Prim.+# sc_s1eE 1)
177                (GHC.Prim.+# sc1_s1eF 1);
178            GHC.Base.True ->
179              PlzOptimize.$s$woptConstsWorker1
180                rb3_XQr rb_XQl rb1_XQn ds2_as1 (GHC.Prim.+# sc_s1eE 1) rb2_XQp
181          }
182    }
183    }
184    }
185PlzOptimize.$s$woptConstsWorker1 :: GHC.Prim.Int#
186                                    -> GHC.Prim.Addr#
187                                    -> GHC.ForeignPtr.ForeignPtrContents
188                                    -> [Data.ByteString.Internal.ByteString]
189                                    -> GHC.Prim.Int#
190                                    -> GHC.Prim.Int#
191                                    -> GHC.Base.Int
192[GlobalId]
193[Arity 6
194 NoCafRefs]
195PlzOptimize.$s$woptConstsWorker1 =
196  \ (a_s19w :: GHC.Prim.Int#)
197    (ww_s1ck :: GHC.Prim.Addr#)
198    (ww1_s1cl :: GHC.ForeignPtr.ForeignPtrContents)
199    (w_s1cp :: [Data.ByteString.Internal.ByteString])
200    (sc_s1eu :: GHC.Prim.Int#)
201    (sc1_s1ev :: GHC.Prim.Int#) ->
202    case GHC.Prim.readWord8OffAddr#
203           @ GHC.Prim.RealWorld (GHC.Prim.plusAddr# ww_s1ck sc1_s1ev) 0 GHC.Prim.realWorld#
204    of wild2_a17v { (# s2_a17x, x_a17y #) ->
205    case GHC.Prim.touch# @ GHC.ForeignPtr.ForeignPtrContents ww1_s1cl s2_a17x
206    of s_a17i { __DEFAULT ->
207    case GHC.Prim.chr# (GHC.Prim.word2Int# x_a17y) of ds_XNi {
208      __DEFAULT -> GHC.Base.I# sc_s1eu;
209      'C' ->
210        let {
211          a1_X19L [ALWAYS Just L] :: GHC.Prim.Int#
212          [Str: DmdType]
213          a1_X19L = GHC.Prim.-# a_s19w 1
214        } in
215          case GHC.Prim.<=# a1_X19L 0 of wild_X1c {
216            GHC.Base.False ->
217              PlzOptimize.$s$woptConstsWorker1
218                a1_X19L
219                ww_s1ck
220                ww1_s1cl
221                w_s1cp
222                (GHC.Prim.+# sc_s1eu 1)
223                (GHC.Prim.+# sc1_s1ev 1);
224            GHC.Base.True ->
225              case w_s1cp of wild1_X2m {
226                [] -> GHC.Base.I# (GHC.Prim.+# sc_s1eu 1);
227                : d_arF ds1_arG ->
228                  case d_arF
229                  of w1_X1cE { Data.ByteString.Internal.PS ww2_X1dh ww3_X1dj ww4_X1dl ww5_X1dn ->
230                  PlzOptimize.$s$woptConstsWorker1
231                    ww5_X1dn ww2_X1dh ww3_X1dj ds1_arG (GHC.Prim.+# sc_s1eu 1) ww4_X1dl
232                  }
233              }
234          };
235      'F' ->
236        let {
237          a1_s19I [ALWAYS Just L] :: GHC.Prim.Int#
238          [Str: DmdType]
239          a1_s19I = GHC.Prim.-# a_s19w 1
240        } in
241          case GHC.Prim.<=# a1_s19I 0 of wild_X1c {
242            GHC.Base.False ->
243              PlzOptimize.$s$woptConstsWorker1
244                a1_s19I
245                ww_s1ck
246                ww1_s1cl
247                w_s1cp
248                (GHC.Prim.+# sc_s1eu 1)
249                (GHC.Prim.+# sc1_s1ev 1);
250            GHC.Base.True ->
251              case w_s1cp of wild1_X2m {
252                [] -> GHC.Base.I# (GHC.Prim.+# sc_s1eu 1);
253                : d_arF ds1_arG ->
254                  case d_arF
255                  of w1_X1cE { Data.ByteString.Internal.PS ww2_X1dh ww3_X1dj ww4_X1dl ww5_X1dn ->
256                  PlzOptimize.$s$woptConstsWorker1
257                    ww5_X1dn ww2_X1dh ww3_X1dj ds1_arG (GHC.Prim.+# sc_s1eu 1) ww4_X1dl
258                  }
259              }
260          };
261      'I' ->
262        let {
263          a1_s19U [ALWAYS Just L] :: GHC.Prim.Int#
264          [Str: DmdType]
265          a1_s19U = GHC.Prim.-# a_s19w 1
266        } in
267          case GHC.Prim.<=# a1_s19U 0 of wild_X1c {
268            GHC.Base.False ->
269              let {
270                a2_s19S [ALWAYS Just L] :: GHC.Prim.Int#
271                [Str: DmdType]
272                a2_s19S = GHC.Prim.+# sc1_s1ev 1
273              } in
274                case GHC.Prim.readWord8OffAddr#
275                       @ GHC.Prim.RealWorld (GHC.Prim.plusAddr# ww_s1ck a2_s19S) 0 GHC.Prim.realWorld#
276                of wild21_X19L { (# s21_X19O, x1_X19Q #) ->
277                case GHC.Prim.touch# @ GHC.ForeignPtr.ForeignPtrContents ww1_s1cl s21_X19O
278                of s1_X19J { __DEFAULT ->
279                case GHC.Prim.chr# (GHC.Prim.word2Int# x1_X19Q) of ds1_XNm {
280                  __DEFAULT -> GHC.Base.I# sc_s1eu;
281                  'C' ->
282                    let {
283                      a3_s1aa [ALWAYS Just L] :: GHC.Prim.Int#
284                      [Str: DmdType]
285                      a3_s1aa = GHC.Prim.-# a1_s19U 1
286                    } in
287                      case GHC.Prim.<=# a3_s1aa 0 of wild1_X1l {
288                        GHC.Base.False ->
289                          PlzOptimize.$s$woptConstsWorker1
290                            a3_s1aa ww_s1ck ww1_s1cl w_s1cp (GHC.Prim.+# sc_s1eu 2) (GHC.Prim.+# a2_s19S 1);
291                        GHC.Base.True ->
292                          case w_s1cp of wild22_X3I {
293                            [] -> GHC.Base.I# (GHC.Prim.+# sc_s1eu 2);
294                            : d_arF ds2_arG ->
295                              case d_arF
296                              of w1_X1cE { Data.ByteString.Internal.PS ww2_X1dv ww3_X1dx ww4_X1dz ww5_X1dB ->
297                              PlzOptimize.$s$woptConstsWorker1
298                                ww5_X1dB ww2_X1dv ww3_X1dx ds2_arG (GHC.Prim.+# sc_s1eu 2) ww4_X1dz
299                              }
300                          }
301                      }
302                }
303                }
304                };
305            GHC.Base.True ->
306              case w_s1cp of wild1_X1e {
307                [] -> GHC.Base.I# sc_s1eu;
308                : d2_as0 ds2_as1 ->
309                  case d2_as0
310                  of wild21_XQg { Data.ByteString.Internal.PS rb_XQl rb1_XQn rb2_XQp rb3_XQr ->
311                  case GHC.Prim.readWord8OffAddr#
312                         @ GHC.Prim.RealWorld (GHC.Prim.plusAddr# rb_XQl rb2_XQp) 0 GHC.Prim.realWorld#
313                  of wild22_X19U { (# s21_X19X, x1_X19Z #) ->
314                  case GHC.Prim.touch# @ GHC.ForeignPtr.ForeignPtrContents rb1_XQn s21_X19X
315                  of s1_X19S { __DEFAULT ->
316                  case GHC.Prim.chr# (GHC.Prim.word2Int# x1_X19Z) of ds1_XOC {
317                    __DEFAULT -> GHC.Base.I# sc_s1eu;
318                    'C' ->
319                      let {
320                        a2_s1au [ALWAYS Just L] :: GHC.Prim.Int#
321                        [Str: DmdType]
322                        a2_s1au = GHC.Prim.-# rb3_XQr 1
323                      } in
324                        case GHC.Prim.<=# a2_s1au 0 of wild3_X1p {
325                          GHC.Base.False ->
326                            $s$woptConstsWorker_r1gO
327                              rb_XQl
328                              rb1_XQn
329                              rb2_XQp
330                              rb3_XQr
331                              ds2_as1
332                              a2_s1au
333                              (GHC.Prim.+# sc_s1eu 2)
334                              (GHC.Prim.+# rb2_XQp 1);
335                          GHC.Base.True ->
336                            PlzOptimize.$s$woptConstsWorker1
337                              rb3_XQr rb_XQl rb1_XQn ds2_as1 (GHC.Prim.+# sc_s1eu 2) rb2_XQp
338                        }
339                  }
340                  }
341                  }
342                  }
343              }
344          };
345      'P' ->
346        let {
347          a1_s1aG [ALWAYS Just L] :: GHC.Prim.Int#
348          [Str: DmdType]
349          a1_s1aG = GHC.Prim.-# a_s19w 1
350        } in
351          case GHC.Prim.<=# a1_s1aG 0 of wild_X1c {
352            GHC.Base.False ->
353              PlzOptimize.$s$woptConstsWorker1
354                a1_s1aG
355                ww_s1ck
356                ww1_s1cl
357                w_s1cp
358                (GHC.Prim.+# sc_s1eu 1)
359                (GHC.Prim.+# sc1_s1ev 1);
360            GHC.Base.True ->
361              case w_s1cp of wild1_X2m {
362                [] -> GHC.Base.I# (GHC.Prim.+# sc_s1eu 1);
363                : d_arF ds1_arG ->
364                  case d_arF
365                  of w1_X1cE { Data.ByteString.Internal.PS ww2_X1dh ww3_X1dj ww4_X1dl ww5_X1dn ->
366                  PlzOptimize.$s$woptConstsWorker1
367                    ww5_X1dn ww2_X1dh ww3_X1dj ds1_arG (GHC.Prim.+# sc_s1eu 1) ww4_X1dl
368                  }
369              }
370          }
371    }
372    }
373    }
374end Rec }
375
376Rec {
377PlzOptimize.$wconsts' :: [PlzOptimize.D] -> GHC.Prim.Int# -> GHC.Prim.Int#
378[GlobalId]
379[Arity 2
380 NoCafRefs
381 Str: DmdType SL]
382PlzOptimize.$wconsts' =
383  \ (w_s1c2 :: [PlzOptimize.D]) (ww_s1c5 :: GHC.Prim.Int#) ->
384    case w_s1c2 of wild_B1 {
385      [] -> ww_s1c5;
386      : ds_dMu d_arh ->
387        case ds_dMu of wild1_XK {
388          PlzOptimize.I ->
389            case d_arh of wild2_XM {
390              [] -> ww_s1c5;
391              : ds1_dMv d1_arq ->
392                case ds1_dMv of wild3_XQ {
393                  __DEFAULT -> ww_s1c5;
394                  PlzOptimize.C -> PlzOptimize.$wconsts' d1_arq (GHC.Prim.+# ww_s1c5 2)
395                }
396            };
397          PlzOptimize.C -> PlzOptimize.$wconsts' d_arh (GHC.Prim.+# ww_s1c5 1);
398          PlzOptimize.F -> PlzOptimize.$wconsts' d_arh (GHC.Prim.+# ww_s1c5 1);
399          PlzOptimize.P -> PlzOptimize.$wconsts' d_arh (GHC.Prim.+# ww_s1c5 1)
400        }
401    }
402end Rec }
403
404Rec {
405PlzOptimize.$wdnaDrop :: GHC.Prim.Int#
406                         -> PlzOptimize.DNA
407                         -> [PlzOptimize.DNABlock]
408[GlobalId]
409[Arity 2
410 NoCafRefs
411 Str: DmdType LS]
412PlzOptimize.$wdnaDrop =
413  \ (ww_s1bW :: GHC.Prim.Int#) (w_s1bY :: PlzOptimize.DNA) ->
414    case ww_s1bW of ds_XMe {
415      __DEFAULT ->
416        case w_s1bY of wild_XF {
417          [] -> GHC.Base.[] @ PlzOptimize.DNABlock;
418          : d_ara ds1_arb ->
419            case d_ara
420            of wild1_a13Q
421            { Data.ByteString.Internal.PS rb_a13S rb1_a13T rb2_a13U rb3_a13V ->
422            case GHC.Prim.<# ds_XMe rb3_a13V of wild2_XJ {
423              GHC.Base.False -> PlzOptimize.$wdnaDrop (GHC.Prim.-# ds_XMe rb3_a13V) ds1_arb;
424              GHC.Base.True ->
425                GHC.Base.:
426                  @ PlzOptimize.DNABlock
427                  (Data.ByteString.Internal.PS
428                     rb_a13S rb1_a13T (GHC.Prim.+# rb2_a13U ds_XMe) (GHC.Prim.-# rb3_a13V ds_XMe))
429                  ds1_arb
430            }
431            }
432        };
433      0 -> w_s1bY
434    }
435end Rec }
436
437Rec {
438PlzOptimize.$wdnaTake :: GHC.Prim.Int#
439                         -> PlzOptimize.DNA
440                         -> [PlzOptimize.DNABlock]
441[GlobalId]
442[Arity 2
443 NoCafRefs
444 Str: DmdType LS]
445PlzOptimize.$wdnaTake =
446  \ (ww_s1bO :: GHC.Prim.Int#) (w_s1bQ :: PlzOptimize.DNA) ->
447    case w_s1bQ of tpl_XA { __DEFAULT ->
448    case ww_s1bO of ds_XMk {
449      __DEFAULT ->
450        case tpl_XA of wild_XE {
451          [] -> GHC.Base.[] @ PlzOptimize.DNABlock;
452          : d_apJ ds1_apK ->
453            case d_apJ
454            of wild1_a13Q
455            { Data.ByteString.Internal.PS rb_a13S rb1_a13T rb2_a13U rb3_a13V ->
456            case GHC.Prim.<# rb3_a13V ds_XMk of wild2_XI {
457              GHC.Base.False ->
458                GHC.Base.:
459                  @ PlzOptimize.DNABlock
460                  (Data.ByteString.Internal.PS rb_a13S rb1_a13T rb2_a13U ds_XMk)
461                  (GHC.Base.[] @ PlzOptimize.DNABlock);
462              GHC.Base.True ->
463                GHC.Base.:
464                  @ PlzOptimize.DNABlock
465                  wild1_a13Q
466                  (PlzOptimize.$wdnaTake (GHC.Prim.-# ds_XMk rb3_a13V) ds1_apK)
467            }
468            }
469        };
470      0 -> GHC.Base.[] @ PlzOptimize.DNABlock
471    }
472    }
473end Rec }
474
475Rec {
476PlzOptimize.$sdnaView :: [PlzOptimize.DNABlock]
477                         -> GHC.Prim.Addr#
478                         -> GHC.ForeignPtr.ForeignPtrContents
479                         -> GHC.Prim.Int#
480                         -> GHC.Prim.Int#
481                         -> [PlzOptimize.D]
482[GlobalId]
483[Arity 5]
484PlzOptimize.$sdnaView =
485  \ (ds_apw :: [PlzOptimize.DNABlock])
486    (rb_aNW :: GHC.Prim.Addr#)
487    (rb1_aNX :: GHC.ForeignPtr.ForeignPtrContents)
488    (sc_s1fR :: GHC.Prim.Int#)
489    (sc1_s1fS :: GHC.Prim.Int#) ->
490    GHC.Base.:
491      @ PlzOptimize.D
492      (case GHC.Prim.readWord8OffAddr#
493              @ GHC.Prim.RealWorld (GHC.Prim.plusAddr# rb_aNW sc1_s1fS) 0 GHC.Prim.realWorld#
494       of wild2_a17v { (# s2_a17x, x_a17y #) ->
495       case GHC.Prim.touch# @ GHC.ForeignPtr.ForeignPtrContents rb1_aNX s2_a17x
496       of s_a17i { __DEFAULT ->
497       case GHC.Prim.chr# (GHC.Prim.word2Int# x_a17y) of ds1_XMQ {
498         __DEFAULT -> lvl1_r1gM;
499         'C' -> PlzOptimize.C;
500         'F' -> PlzOptimize.F;
501         'I' -> PlzOptimize.I;
502         'P' -> PlzOptimize.P
503       }
504       }
505       })
506      (case GHC.Prim.<=# sc_s1fR 0 of wild_XA {
507         GHC.Base.False ->
508           PlzOptimize.$sdnaView
509             ds_apw rb_aNW rb1_aNX (GHC.Prim.-# sc_s1fR 1) (GHC.Prim.+# sc1_s1fS 1);
510         GHC.Base.True -> PlzOptimize.dnaView ds_apw
511       })
512PlzOptimize.dnaView :: PlzOptimize.DNA -> [PlzOptimize.D]
513[GlobalId]
514[Arity 1
515 Str: DmdType S]
516PlzOptimize.dnaView =
517  \ (ds_dMp :: [PlzOptimize.DNABlock]) ->
518    case ds_dMp of wild_B1 {
519      [] -> GHC.Base.[] @ PlzOptimize.D;
520      : d_apv ds1_apw ->
521        GHC.Base.:
522          @ PlzOptimize.D
523          (case d_apv
524           of wild1_aOa { Data.ByteString.Internal.PS rb_aOc rb1_aOd rb2_aOe rb3_aOf ->
525           case GHC.Prim.readWord8OffAddr#
526                  @ GHC.Prim.RealWorld (GHC.Prim.plusAddr# rb_aOc rb2_aOe) 0 GHC.Prim.realWorld#
527           of wild2_a17v { (# s2_a17x, x_a17y #) ->
528           case GHC.Prim.touch# @ GHC.ForeignPtr.ForeignPtrContents rb1_aOd s2_a17x
529           of s_a17i { __DEFAULT ->
530           case GHC.Prim.chr# (GHC.Prim.word2Int# x_a17y) of ds2_XMQ {
531             __DEFAULT -> lvl1_r1gM;
532             'C' -> PlzOptimize.C;
533             'F' -> PlzOptimize.F;
534             'I' -> PlzOptimize.I;
535             'P' -> PlzOptimize.P
536           }
537           }
538           }
539           })
540          (case d_apv
541           of wild1_aNU { Data.ByteString.Internal.PS rb_aNW rb1_aNX rb2_aNY rb3_aNZ ->
542           case GHC.Prim.<=# rb3_aNZ 0 of wild2_XA {
543             GHC.Base.False ->
544               PlzOptimize.$sdnaView
545                 ds1_apw rb_aNW rb1_aNX (GHC.Prim.-# rb3_aNZ 1) (GHC.Prim.+# rb2_aNY 1);
546             GHC.Base.True -> PlzOptimize.dnaView ds1_apw
547           }
548           })
549    }
550end Rec }
551
552PlzOptimize.$wconsts :: PlzOptimize.DNA
553                        -> (# PlzOptimize.DNA, PlzOptimize.DNA #)
554[GlobalId]
555[Arity 1
556 Str: DmdType L]
557PlzOptimize.$wconsts =
558  \ (w_s1cd :: PlzOptimize.DNA) ->
559    let {
560      len_s1dV [ALWAYS Just D(L)] :: GHC.Base.Int
561      [Str: DmdType]
562      len_s1dV =
563        case PlzOptimize.$wconsts' (PlzOptimize.dnaView w_s1cd) 0
564        of ww_s1ca { __DEFAULT ->
565        GHC.Base.I# ww_s1ca
566        }
567    } in
568      (# case len_s1dV of w1_X1cd { GHC.Base.I# ww_s1bO ->
569         PlzOptimize.$wdnaTake ww_s1bO w_s1cd
570         },
571         case len_s1dV of w1_X1cj { GHC.Base.I# ww_s1bW ->
572         PlzOptimize.$wdnaDrop ww_s1bW w_s1cd
573         } #)
574
575PlzOptimize.consts :: PlzOptimize.DNA -> (PlzOptimize.DNA, PlzOptimize.DNA)
576[GlobalId]
577[Arity 1
578 Worker PlzOptimize.$wconsts
579 Str: DmdType Lm]
580PlzOptimize.consts =
581  __inline_me (\ (w_s1cd :: PlzOptimize.DNA) ->
582                 case PlzOptimize.$wconsts w_s1cd of ww_s1cC { (# ww1_s1cE, ww2_s1cF #) ->
583                 (ww1_s1cE, ww2_s1cF)
584                 })
585
586PlzOptimize.lit :: GHC.Base.Int
587[GlobalId]
588[NoCafRefs
589 Str: DmdType m]
590PlzOptimize.lit = GHC.Base.I# 0
591
592PlzOptimize.$woptConsts :: PlzOptimize.DNA
593                           -> (# PlzOptimize.DNA, PlzOptimize.DNA #)
594[GlobalId]
595[Arity 1
596 NoCafRefs
597 Str: DmdType L]
598PlzOptimize.$woptConsts =
599  \ (w_s1cu :: PlzOptimize.DNA) ->
600    let {
601      len_s1dX [ALWAYS Just D(L)] :: GHC.Base.Int
602      [Str: DmdType]
603      len_s1dX =
604        case w_s1cu of wild_B1 {
605          [] -> PlzOptimize.lit;
606          : d_arF ds_arG ->
607            case d_arF
608            of w1_X1cE { Data.ByteString.Internal.PS ww_s1ck ww1_s1cl ww2_s1cm ww3_s1cn ->
609            PlzOptimize.$s$woptConstsWorker1 ww3_s1cn ww_s1ck ww1_s1cl ds_arG 0 ww2_s1cm
610            }
611        }
612    } in
613      (# case len_s1dX of w1_X1cd { GHC.Base.I# ww_s1bO ->
614         PlzOptimize.$wdnaTake ww_s1bO w_s1cu
615         },
616         case len_s1dX of w1_X1cj { GHC.Base.I# ww_s1bW ->
617         PlzOptimize.$wdnaDrop ww_s1bW w_s1cu
618         } #)
619
620PlzOptimize.optConsts :: PlzOptimize.DNA -> (PlzOptimize.DNA, PlzOptimize.DNA)
621[GlobalId]
622[Arity 1
623 Worker PlzOptimize.$woptConsts
624 NoCafRefs
625 Str: DmdType Lm]
626PlzOptimize.optConsts =
627  __inline_me (\ (w_s1cu :: PlzOptimize.DNA) ->
628                 case PlzOptimize.$woptConsts w_s1cu of ww_s1cJ { (# ww1_s1cL, ww2_s1cM #) ->
629                 (ww1_s1cL, ww2_s1cM)
630                 })
631
632
633
634
635==================== Tidy Core Rules ====================
636"SC:PlzOptimize.dnaView0" [0]
637    forall {ds_apw :: [PlzOptimize.DNABlock]
638            rb_aNW :: GHC.Prim.Addr#
639            rb1_aNX :: GHC.ForeignPtr.ForeignPtrContents
640            sc_s1fR :: GHC.Prim.Int#
641            sc1_s1fS :: GHC.Prim.Int#}
642      PlzOptimize.dnaView (GHC.Base.:
643                             @ PlzOptimize.DNABlock
644                             (Data.ByteString.Internal.PS rb_aNW rb1_aNX sc1_s1fS sc_s1fR)
645                             ds_apw)
646      = PlzOptimize.$sdnaView ds_apw rb_aNW rb1_aNX sc_s1fR sc1_s1fS
647
648