6.8.1 SpecConstr failures and stream fusion successes
Don Stewart
dons at galois.com
Wed Nov 28 03:10:27 EST 2007
dons:
> ** This is a plea to release ghc 6.8.2 soon, since the SpecConstr
> breakage in ghc 6.8.1 is killing the stream-fusion library **
>
You can see the difference, and why it allocates more, in the attached
before and after core photos. In one, all the Stream constructors are
left lying around in the inner loops, leading to a lot of uneeded
allocation. With SpecConstr on, this disappear into tiny fast unboxed
loops, as hoped. (vimdiff the attached files to see before and after
photos of SpecConstr at work).
Things are working properly in the stable branch.
-- Don
P.S. Stefan, this result is as expected.
-------------- next part --------------
==================== Tidy Core ====================
Main.$WS :: [Main.IR] -> [Main.IR] -> [Main.IR] -> GHC.Base.Int -> Main.S
[DataConWrapper]
[Arity 4
NoCafRefs
Str: DmdType SSSSm]
Main.$WS =
__inline_me (\ (tpl_B1 :: [Main.IR])
(tpl1_B2 :: [Main.IR])
(tpl2_B3 :: [Main.IR])
(tpl3_B4 :: GHC.Base.Int) ->
case tpl_B1 of tpl4_B1 { __DEFAULT ->
case tpl1_B2 of tpl5_B2 { __DEFAULT ->
case tpl2_B3 of tpl6_B3 { __DEFAULT ->
case tpl3_B4 of tpl7_B4 { __DEFAULT -> Main.S tpl4_B1 tpl5_B2 tpl6_B3 tpl7_B4 }
}
}
})
a_r1sV :: GHC.Base.Int
[GlobalId]
[NoCafRefs
Str: DmdType m]
a_r1sV = GHC.Base.I# 31
a1_r1sX :: [GHC.Base.Int]
[GlobalId]
[Str: DmdType]
a1_r1sX = GHC.Enum.eftInt 1 55
lvl_r1sZ :: [GHC.Base.Char]
[GlobalId]
[]
lvl_r1sZ = GHC.Base.unpackCString# "bug"
lvl1_r1t1 :: Main.S
[GlobalId]
[Str: DmdType b]
lvl1_r1t1 = GHC.Err.error @ Main.S lvl_r1sZ
lvl2_r1t3 :: (GHC.Base.Int, [(GHC.Base.Int, GHC.Base.Int)])
[GlobalId]
[Str: DmdType b]
lvl2_r1t3 =
GHC.Err.irrefutPatError
@ (GHC.Base.Int, [(GHC.Base.Int, GHC.Base.Int)])
"A.hs:36:2-34|(best_anti, _) : antis"
Rec {
groups1_r1t5 :: GHC.Base.Int -> [GHC.Base.Int] -> [[GHC.Base.Int]]
[GlobalId]
[Arity 2
NoCafRefs
Str: DmdType LS]
groups1_r1t5 =
\ (ds_dHk :: GHC.Base.Int) (ds1_dHl :: [GHC.Base.Int]) ->
case ds1_dHl of wild_X26 {
[] -> GHC.Base.[] @ [GHC.Base.Int];
: ipv_sIB ipv1_sIC ->
let {
ds2_s1mC :: ([GHC.Base.Int], [GHC.Base.Int])
[Str: DmdType]
ds2_s1mC = Data.List.Stream.splitAt @ GHC.Base.Int ds_dHk wild_X26
} in
GHC.Base.:
@ [GHC.Base.Int]
(case ds2_s1mC of wild1_X3t { (a2_ao0, b_ao2) -> a2_ao0 })
(case ds2_s1mC of wild1_X1e { (a2_ao0, b_ao2) -> groups1_r1t5 ds_dHk b_ao2 })
}
end Rec }
problemN_r9o :: GHC.Base.Int
[GlobalId]
[NoCafRefs
Str: DmdType m]
problemN_r9o = GHC.Base.I# 2000
lit_r1t7 :: GHC.Base.Int
[GlobalId]
[NoCafRefs
Str: DmdType m]
lit_r1t7 = GHC.Base.I# 0
initIR_r9s :: (GHC.Base.Int, GHC.Base.Int)
[GlobalId]
[NoCafRefs
Str: DmdType m]
initIR_r9s = (lit_r1t7, lit_r1t7)
lvl3_r1t9 :: [Main.IR]
[GlobalId]
[NoCafRefs
Str: DmdType]
lvl3_r1t9 = GHC.Base.: @ Main.IR initIR_r9s (GHC.Base.[] @ Main.IR)
tpl_r1tb :: Data.Stream.L GHC.Base.Int
[GlobalId]
[NoCafRefs
Str: DmdType m]
tpl_r1tb = Data.Stream.L @ GHC.Base.Int a_r1sV
tpl1_r1td :: Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
[GlobalId]
[NoCafRefs
Str: DmdType]
tpl1_r1td = Data.Stream.Just @ (Data.Stream.L GHC.Base.Int) tpl_r1tb
lvl4_r1tf :: GHC.Base.Int
[GlobalId]
[]
lvl4_r1tf =
case GHC.Base.modInt# (-9223372036854775808) 1000000
of wild21_aQI { __DEFAULT ->
GHC.Base.I# (GHC.Prim.-# wild21_aQI 500000)
}
lvl5_r1th :: GHC.Base.Int
[GlobalId]
[]
lvl5_r1th =
case GHC.Base.modInt# (-9223372036854775808) 1000000
of wild21_aQI { __DEFAULT ->
GHC.Base.I# (GHC.Prim.-# wild21_aQI 500000)
}
Rec {
tpl2_r1tj :: Data.Stream.L [GHC.Base.Int]
[GlobalId]
[Str: DmdType m]
tpl2_r1tj = Data.Stream.L @ [GHC.Base.Int] $sunfold_unstream7_r1tG
tpl3_r1tH :: Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]
[GlobalId]
[Str: DmdType m]
tpl3_r1tH =
Data.Stream.:!:
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
@ (Data.Stream.L [GHC.Base.Int])
tpl1_r1td
tpl2_r1tj
tpl4_r1tI :: Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int])
[GlobalId]
[Str: DmdType m]
tpl4_r1tI =
Data.Stream.:!:
@ (Data.Stream.L [GHC.Base.Int])
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int])
tpl2_r1tj
tpl3_r1tH
tpl5_r1tJ :: (Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
Data.Stream.:!: Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
[GlobalId]
[Str: DmdType m]
tpl5_r1tJ =
Data.Stream.:!:
@ (Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
tpl4_r1tI
(Data.Stream.Nothing @ (Data.Stream.L GHC.Base.Int))
lvl6_r1tK :: Data.Stream.Either
(Data.Stream.L [GHC.Base.Int])
((Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
Data.Stream.:!: Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
[GlobalId]
[]
lvl6_r1tK =
Data.Stream.Right
@ (Data.Stream.L [GHC.Base.Int])
@ ((Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
Data.Stream.:!: Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
tpl5_r1tJ
$s$j_r1tL :: [GHC.Base.Int]
-> GHC.Base.Int
-> [GHC.Base.Int]
-> Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
-> [GHC.Base.Int]
[GlobalId]
[Arity 4]
$s$j_r1tL =
\ (ds1_X1h6 :: [GHC.Base.Int])
(x_aS6 :: GHC.Base.Int)
(xs_aS7 :: [GHC.Base.Int])
(a2_a1bB :: Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)) ->
case a2_a1bB of wild_a1ga {
Data.Stream.Nothing ->
unfold_unstream_r1tM
(Data.Stream.Right
@ (Data.Stream.L [GHC.Base.Int])
@ ((Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
Data.Stream.:!: Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
(Data.Stream.:!:
@ (Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
(Data.Stream.:!:
@ (Data.Stream.L [GHC.Base.Int])
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int])
(Data.Stream.L @ [GHC.Base.Int] xs_aS7)
(Data.Stream.:!:
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
@ (Data.Stream.L [GHC.Base.Int])
(Data.Stream.Nothing @ (Data.Stream.L GHC.Base.Int))
(Data.Stream.L @ [GHC.Base.Int] ds1_X1h6)))
(Data.Stream.Just
@ (Data.Stream.L GHC.Base.Int) (Data.Stream.L @ GHC.Base.Int x_aS6))));
Data.Stream.Just a3_a1ge ->
case a3_a1ge of wild1_X1hD { Data.Stream.L ds11_X1hb ->
unfold_unstream_r1tM
(Data.Stream.Right
@ (Data.Stream.L [GHC.Base.Int])
@ ((Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
Data.Stream.:!: Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
(Data.Stream.:!:
@ (Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
(Data.Stream.:!:
@ (Data.Stream.L [GHC.Base.Int])
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int])
(Data.Stream.L @ [GHC.Base.Int] xs_aS7)
(Data.Stream.:!:
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
@ (Data.Stream.L [GHC.Base.Int])
wild_a1ga
(Data.Stream.L @ [GHC.Base.Int] ds1_X1h6)))
(Data.Stream.Just
@ (Data.Stream.L GHC.Base.Int) (Data.Stream.L @ GHC.Base.Int x_aS6))))
}
}
$s$j1_r1tN :: GHC.Base.Int -> [GHC.Base.Int] -> [GHC.Base.Int] -> [GHC.Base.Int]
[GlobalId]
[Arity 3]
$s$j1_r1tN =
\ (a2_aU8 :: GHC.Base.Int)
(ipv_s1bh :: [GHC.Base.Int])
(ipv1_s1cb :: [GHC.Base.Int]) ->
unfold_unstream_r1tM
(Data.Stream.Right
@ (Data.Stream.L [GHC.Base.Int])
@ ((Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
Data.Stream.:!: Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
(Data.Stream.:!:
@ (Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
(Data.Stream.:!:
@ (Data.Stream.L [GHC.Base.Int])
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int])
(Data.Stream.L @ [GHC.Base.Int] ipv1_s1cb)
(Data.Stream.:!:
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
@ (Data.Stream.L [GHC.Base.Int])
(Data.Stream.Nothing @ (Data.Stream.L GHC.Base.Int))
(Data.Stream.L @ [GHC.Base.Int] ipv_s1bh)))
(Data.Stream.Just
@ (Data.Stream.L GHC.Base.Int) (Data.Stream.L @ GHC.Base.Int a2_aU8))))
$s$j2_r1tO :: [GHC.Base.Int]
-> GHC.Base.Int
-> [GHC.Base.Int]
-> GHC.Base.Int
-> [GHC.Base.Int]
[GlobalId]
[Arity 4]
$s$j2_r1tO =
\ (xs_aS7 :: [GHC.Base.Int])
(a2_aU8 :: GHC.Base.Int)
(ipv_s1cb :: [GHC.Base.Int])
(sc_s1pf :: GHC.Base.Int) ->
unfold_unstream_r1tM
(Data.Stream.Right
@ (Data.Stream.L [GHC.Base.Int])
@ ((Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
Data.Stream.:!: Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
(Data.Stream.:!:
@ (Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
(Data.Stream.:!:
@ (Data.Stream.L [GHC.Base.Int])
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int])
(Data.Stream.L @ [GHC.Base.Int] ipv_s1cb)
(Data.Stream.:!:
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
@ (Data.Stream.L [GHC.Base.Int])
(Data.Stream.Just
@ (Data.Stream.L GHC.Base.Int) (Data.Stream.L @ GHC.Base.Int sc_s1pf))
(Data.Stream.L @ [GHC.Base.Int] xs_aS7)))
(Data.Stream.Just
@ (Data.Stream.L GHC.Base.Int) (Data.Stream.L @ GHC.Base.Int a2_aU8))))
$s$j3_r1tP :: GHC.Base.Int
-> [GHC.Base.Int]
-> Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
-> Data.Stream.L [GHC.Base.Int]
-> [GHC.Base.Int]
[GlobalId]
[Arity 4]
$s$j3_r1tP =
\ (x_aS6 :: GHC.Base.Int)
(xs_aS7 :: [GHC.Base.Int])
(ipv_s1bP :: Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
(ipv1_s1bQ :: Data.Stream.L [GHC.Base.Int]) ->
case ipv_s1bP of wild_a1ga {
Data.Stream.Nothing ->
case ipv1_s1bQ of wild1_X1h1 { Data.Stream.L ds1_X1h6 ->
unfold_unstream_r1tM
(Data.Stream.Right
@ (Data.Stream.L [GHC.Base.Int])
@ ((Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
Data.Stream.:!: Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
(Data.Stream.:!:
@ (Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
(Data.Stream.:!:
@ (Data.Stream.L [GHC.Base.Int])
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int])
(Data.Stream.L @ [GHC.Base.Int] xs_aS7)
(Data.Stream.:!:
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
@ (Data.Stream.L [GHC.Base.Int])
(Data.Stream.Nothing @ (Data.Stream.L GHC.Base.Int))
wild1_X1h1))
(Data.Stream.Just
@ (Data.Stream.L GHC.Base.Int) (Data.Stream.L @ GHC.Base.Int x_aS6))))
};
Data.Stream.Just a2_a1ge ->
case a2_a1ge of wild1_X1h6 { Data.Stream.L ds1_X1hb ->
case ipv1_s1bQ of wild2_X1h1 { Data.Stream.L ds11_X1jz ->
unfold_unstream_r1tM
(Data.Stream.Right
@ (Data.Stream.L [GHC.Base.Int])
@ ((Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
Data.Stream.:!: Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
(Data.Stream.:!:
@ (Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
(Data.Stream.:!:
@ (Data.Stream.L [GHC.Base.Int])
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int])
(Data.Stream.L @ [GHC.Base.Int] xs_aS7)
(Data.Stream.:!:
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
@ (Data.Stream.L [GHC.Base.Int])
wild_a1ga
wild2_X1h1))
(Data.Stream.Just
@ (Data.Stream.L GHC.Base.Int) (Data.Stream.L @ GHC.Base.Int x_aS6))))
}
}
}
$sunfold_unstream_r1tQ :: GHC.Base.Int
-> GHC.Base.Int
-> [GHC.Base.Int]
-> [GHC.Base.Int]
-> [GHC.Base.Int]
[GlobalId]
[Arity 4]
$sunfold_unstream_r1tQ =
\ (ds1_X1hb :: GHC.Base.Int)
(ds11_X1hn :: GHC.Base.Int)
(ds12_X1jz :: [GHC.Base.Int])
(ds13_a1eN :: [GHC.Base.Int]) ->
case ds1_X1hb of n1_aVg { GHC.Base.I# ipv_aVi ->
case ipv_aVi of wild_X1C {
__DEFAULT ->
case ds12_X1jz of wild1_aS3 {
[] -> GHC.Base.[] @ GHC.Base.Int;
: x_aS6 xs_aS7 ->
$j_r1tR
(Data.Stream.Right
@ (Data.Stream.L [GHC.Base.Int])
@ ((Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
Data.Stream.:!: Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
(Data.Stream.:!:
@ (Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
(Data.Stream.:!:
@ (Data.Stream.L [GHC.Base.Int])
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int])
(Data.Stream.L @ [GHC.Base.Int] ds13_a1eN)
(Data.Stream.:!:
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
@ (Data.Stream.L [GHC.Base.Int])
(Data.Stream.Just
@ (Data.Stream.L GHC.Base.Int)
(Data.Stream.L @ GHC.Base.Int (GHC.Base.I# (GHC.Prim.-# wild_X1C 1))))
(Data.Stream.L @ [GHC.Base.Int] xs_aS7)))
(Data.Stream.Just
@ (Data.Stream.L GHC.Base.Int) (Data.Stream.L @ GHC.Base.Int ds11_X1hn))))
};
0 ->
$j_r1tR
(Data.Stream.Right
@ (Data.Stream.L [GHC.Base.Int])
@ ((Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
Data.Stream.:!: Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
(Data.Stream.:!:
@ (Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
(Data.Stream.:!:
@ (Data.Stream.L [GHC.Base.Int])
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int])
(Data.Stream.L @ [GHC.Base.Int] ds13_a1eN)
(Data.Stream.:!:
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
@ (Data.Stream.L [GHC.Base.Int])
(Data.Stream.Nothing @ (Data.Stream.L GHC.Base.Int))
(Data.Stream.L @ [GHC.Base.Int] ds12_X1jz)))
(Data.Stream.Just
@ (Data.Stream.L GHC.Base.Int) (Data.Stream.L @ GHC.Base.Int ds11_X1hn))))
}
}
$sunfold_unstream1_r1tS :: GHC.Base.Int
-> [GHC.Base.Int]
-> [GHC.Base.Int]
-> [GHC.Base.Int]
[GlobalId]
[Arity 3]
$sunfold_unstream1_r1tS =
\ (ds1_X1hb :: GHC.Base.Int)
(ds11_X1jz :: [GHC.Base.Int])
(ds12_a1eN :: [GHC.Base.Int]) ->
case ds12_a1eN of wild1_aS3 {
[] -> GHC.Base.[] @ GHC.Base.Int;
: x_aS6 xs_aS7 ->
$j_r1tR
(Data.Stream.Right
@ (Data.Stream.L [GHC.Base.Int])
@ ((Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
Data.Stream.:!: Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
(Data.Stream.:!:
@ (Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
(Data.Stream.:!:
@ (Data.Stream.L [GHC.Base.Int])
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int])
(Data.Stream.L @ [GHC.Base.Int] xs_aS7)
(Data.Stream.:!:
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
@ (Data.Stream.L [GHC.Base.Int])
(Data.Stream.Just
@ (Data.Stream.L GHC.Base.Int) (Data.Stream.L @ GHC.Base.Int ds1_X1hb))
(Data.Stream.L @ [GHC.Base.Int] ds11_X1jz)))
(Data.Stream.Just
@ (Data.Stream.L GHC.Base.Int) (Data.Stream.L @ GHC.Base.Int x_aS6))))
}
$s$j4_r1tT :: [GHC.Base.Int] -> [GHC.Base.Int] -> GHC.Base.Int -> [GHC.Base.Int]
[GlobalId]
[Arity 3]
$s$j4_r1tT =
\ (xs_aS7 :: [GHC.Base.Int])
(ipv_s1c4 :: [GHC.Base.Int])
(sc_s1p3 :: GHC.Base.Int) ->
GHC.Base.:
@ GHC.Base.Int
sc_s1p3
(unfold_unstream_r1tM
(Data.Stream.Right
@ (Data.Stream.L [GHC.Base.Int])
@ ((Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
Data.Stream.:!: Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
(Data.Stream.:!:
@ (Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
(Data.Stream.:!:
@ (Data.Stream.L [GHC.Base.Int])
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int])
(Data.Stream.L @ [GHC.Base.Int] ipv_s1c4)
(Data.Stream.:!:
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
@ (Data.Stream.L [GHC.Base.Int])
(Data.Stream.Nothing @ (Data.Stream.L GHC.Base.Int))
(Data.Stream.L @ [GHC.Base.Int] xs_aS7)))
(Data.Stream.Nothing @ (Data.Stream.L GHC.Base.Int)))))
$s$j5_r1tU :: [GHC.Base.Int] -> GHC.Base.Int -> [GHC.Base.Int]
[GlobalId]
[Arity 2]
$s$j5_r1tU =
\ (xs_aS7 :: [GHC.Base.Int]) (sc_s1p1 :: GHC.Base.Int) ->
GHC.Base.:
@ GHC.Base.Int
sc_s1p1
(unfold_unstream_r1tM
(Data.Stream.Left
@ (Data.Stream.L [GHC.Base.Int])
@ ((Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
Data.Stream.:!: Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
(Data.Stream.L @ [GHC.Base.Int] xs_aS7)))
$sunfold_unstream2_r1tV :: [GHC.Base.Int]
-> GHC.Base.Int
-> [GHC.Base.Int]
-> [GHC.Base.Int]
[GlobalId]
[Arity 3]
$sunfold_unstream2_r1tV =
\ (ds1_X1h6 :: [GHC.Base.Int])
(ds11_X1hn :: GHC.Base.Int)
(ds12_a1eN :: [GHC.Base.Int]) ->
case ds1_X1h6 of wild1_aS3 {
[] -> GHC.Base.[] @ GHC.Base.Int;
: x_aS6 xs_aS7 ->
$j1_r1tW
(case ds11_X1hn of wild_aQN { GHC.Base.I# x1_aQP ->
case x_aS6 of wild11_aQR { GHC.Base.I# y_aQT ->
case GHC.Prim.+# x1_aQP y_aQT of wild2_aQF {
__DEFAULT ->
case GHC.Base.modInt# wild2_aQF 1000000 of wild21_aQG { __DEFAULT ->
GHC.Base.I# (GHC.Prim.-# wild21_aQG 500000)
};
(-9223372036854775808) -> lvl4_r1tf
}
}
})
(Data.Stream.Right
@ (Data.Stream.L [GHC.Base.Int])
@ ((Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
Data.Stream.:!: Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
(Data.Stream.:!:
@ (Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
(Data.Stream.:!:
@ (Data.Stream.L [GHC.Base.Int])
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int])
(Data.Stream.L @ [GHC.Base.Int] ds12_a1eN)
(Data.Stream.:!:
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
@ (Data.Stream.L [GHC.Base.Int])
(Data.Stream.Nothing @ (Data.Stream.L GHC.Base.Int))
(Data.Stream.L @ [GHC.Base.Int] xs_aS7)))
(Data.Stream.Nothing @ (Data.Stream.L GHC.Base.Int))))
}
$sunfold_unstream3_r1tX :: [GHC.Base.Int] -> [GHC.Base.Int] -> [GHC.Base.Int]
[GlobalId]
[Arity 2]
$sunfold_unstream3_r1tX =
\ (ds1_X1h6 :: [GHC.Base.Int]) (ds11_a1eN :: [GHC.Base.Int]) ->
case ds11_a1eN of wild1_aS3 {
[] -> GHC.Base.[] @ GHC.Base.Int;
: x_aS6 xs_aS7 ->
$j_r1tR
(Data.Stream.Right
@ (Data.Stream.L [GHC.Base.Int])
@ ((Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
Data.Stream.:!: Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
(Data.Stream.:!:
@ (Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
(Data.Stream.:!:
@ (Data.Stream.L [GHC.Base.Int])
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int])
(Data.Stream.L @ [GHC.Base.Int] xs_aS7)
(Data.Stream.:!:
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
@ (Data.Stream.L [GHC.Base.Int])
(Data.Stream.Nothing @ (Data.Stream.L GHC.Base.Int))
(Data.Stream.L @ [GHC.Base.Int] ds1_X1h6)))
(Data.Stream.Just
@ (Data.Stream.L GHC.Base.Int) (Data.Stream.L @ GHC.Base.Int x_aS6))))
}
$sunfold_unstream4_r1tY :: [GHC.Base.Int]
-> GHC.Base.Int
-> Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
-> [GHC.Base.Int]
-> [GHC.Base.Int]
[GlobalId]
[Arity 4]
$sunfold_unstream4_r1tY =
\ (ds1_X1h6 :: [GHC.Base.Int])
(ds11_X1hn :: GHC.Base.Int)
(a2_a1bB :: Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
(ds12_a1eN :: [GHC.Base.Int]) ->
case a2_a1bB of wild2_aUX {
Data.Stream.Nothing ->
case ds1_X1h6 of wild1_aS3 {
[] -> GHC.Base.[] @ GHC.Base.Int;
: x_aS6 xs_aS7 ->
$j1_r1tW
(case ds11_X1hn of wild_aQN { GHC.Base.I# x1_aQP ->
case x_aS6 of wild11_aQR { GHC.Base.I# y_aQT ->
case GHC.Prim.+# x1_aQP y_aQT of wild21_aQF {
__DEFAULT ->
case GHC.Base.modInt# wild21_aQF 1000000 of wild211_aQG { __DEFAULT ->
GHC.Base.I# (GHC.Prim.-# wild211_aQG 500000)
};
(-9223372036854775808) -> lvl4_r1tf
}
}
})
(Data.Stream.Right
@ (Data.Stream.L [GHC.Base.Int])
@ ((Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
Data.Stream.:!: Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
(Data.Stream.:!:
@ (Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
(Data.Stream.:!:
@ (Data.Stream.L [GHC.Base.Int])
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int])
(Data.Stream.L @ [GHC.Base.Int] ds12_a1eN)
(Data.Stream.:!:
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
@ (Data.Stream.L [GHC.Base.Int])
(Data.Stream.Nothing @ (Data.Stream.L GHC.Base.Int))
(Data.Stream.L @ [GHC.Base.Int] xs_aS7)))
(Data.Stream.Nothing @ (Data.Stream.L GHC.Base.Int))))
};
Data.Stream.Just ds3_aVa ->
case ds3_aVa of wild3_aVc { Data.Stream.L n_aVe ->
case n_aVe of n1_aVg { GHC.Base.I# ipv_aVi ->
case ipv_aVi of wild_X1C {
__DEFAULT ->
case ds1_X1h6 of wild1_aS3 {
[] -> GHC.Base.[] @ GHC.Base.Int;
: x_aS6 xs_aS7 ->
$j_r1tR
(Data.Stream.Right
@ (Data.Stream.L [GHC.Base.Int])
@ ((Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
Data.Stream.:!: Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
(Data.Stream.:!:
@ (Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
(Data.Stream.:!:
@ (Data.Stream.L [GHC.Base.Int])
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int])
(Data.Stream.L @ [GHC.Base.Int] ds12_a1eN)
(Data.Stream.:!:
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
@ (Data.Stream.L [GHC.Base.Int])
(Data.Stream.Just
@ (Data.Stream.L GHC.Base.Int)
(Data.Stream.L @ GHC.Base.Int (GHC.Base.I# (GHC.Prim.-# wild_X1C 1))))
(Data.Stream.L @ [GHC.Base.Int] xs_aS7)))
(Data.Stream.Just
@ (Data.Stream.L GHC.Base.Int) (Data.Stream.L @ GHC.Base.Int ds11_X1hn))))
};
0 ->
$j_r1tR
(Data.Stream.Right
@ (Data.Stream.L [GHC.Base.Int])
@ ((Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
Data.Stream.:!: Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
(Data.Stream.:!:
@ (Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
(Data.Stream.:!:
@ (Data.Stream.L [GHC.Base.Int])
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int])
(Data.Stream.L @ [GHC.Base.Int] ds12_a1eN)
(Data.Stream.:!:
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
@ (Data.Stream.L [GHC.Base.Int])
(Data.Stream.Nothing @ (Data.Stream.L GHC.Base.Int))
(Data.Stream.L @ [GHC.Base.Int] ds1_X1h6)))
(Data.Stream.Just
@ (Data.Stream.L GHC.Base.Int) (Data.Stream.L @ GHC.Base.Int ds11_X1hn))))
}
}
}
}
$sunfold_unstream5_r1tZ :: [GHC.Base.Int]
-> Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
-> [GHC.Base.Int]
-> [GHC.Base.Int]
[GlobalId]
[Arity 3]
$sunfold_unstream5_r1tZ =
\ (ds1_X1h6 :: [GHC.Base.Int])
(a2_a1bB :: Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
(ds11_a1eN :: [GHC.Base.Int]) ->
case ds11_a1eN of wild1_aS3 {
[] -> GHC.Base.[] @ GHC.Base.Int;
: x_aS6 xs_aS7 ->
$j_r1tR
(Data.Stream.Right
@ (Data.Stream.L [GHC.Base.Int])
@ ((Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
Data.Stream.:!: Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
(Data.Stream.:!:
@ (Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
(Data.Stream.:!:
@ (Data.Stream.L [GHC.Base.Int])
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int])
(Data.Stream.L @ [GHC.Base.Int] xs_aS7)
(Data.Stream.:!:
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
@ (Data.Stream.L [GHC.Base.Int])
a2_a1bB
(Data.Stream.L @ [GHC.Base.Int] ds1_X1h6)))
(Data.Stream.Just
@ (Data.Stream.L GHC.Base.Int) (Data.Stream.L @ GHC.Base.Int x_aS6))))
}
$sunfold_unstream6_r1u0 :: [GHC.Base.Int] -> [GHC.Base.Int]
[GlobalId]
[Arity 1]
$sunfold_unstream6_r1u0 =
\ (ds1_a1eN :: [GHC.Base.Int]) ->
case ds1_a1eN of wild1_aS3 {
[] -> lvl7_r1u1;
: x_aS6 xs_aS7 ->
$j1_r1tW
(case x_aS6 of wild11_aMs { GHC.Base.I# y_aMu ->
case GHC.Prim.+#
(GHC.Prim.-# 100003 (GHC.Prim.*# 200003 y_aMu))
(GHC.Prim.*# (GHC.Prim.*# (GHC.Prim.*# 300007 y_aMu) y_aMu) y_aMu)
of wild2_aQF {
__DEFAULT ->
case GHC.Base.modInt# wild2_aQF 1000000 of wild21_aQG { __DEFAULT ->
GHC.Base.I# (GHC.Prim.-# wild21_aQG 500000)
};
(-9223372036854775808) -> lvl5_r1th
}
})
(Data.Stream.Left
@ (Data.Stream.L [GHC.Base.Int])
@ ((Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
Data.Stream.:!: Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
(Data.Stream.L @ [GHC.Base.Int] xs_aS7))
}
$j_r1tR :: Data.Stream.Either
(Data.Stream.L [GHC.Base.Int])
((Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
Data.Stream.:!: Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
-> [GHC.Base.Int]
[GlobalId]
[Arity 1
Str: DmdType S]
$j_r1tR =
\ (s'_aQ2 :: Data.Stream.Either
(Data.Stream.L [GHC.Base.Int])
((Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
Data.Stream.:!: Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))) ->
case s'_aQ2 of wild_a1dt {
Data.Stream.Left a2_a1dv ->
case a2_a1dv of wild1_a1eL { Data.Stream.L ds1_a1eN ->
unfold_unstream_r1tM wild_a1dt
};
Data.Stream.Right b_a1dy ->
case b_a1dy of wild1_a1cv { Data.Stream.:!: a2_a1cx b1_a1cy ->
case a2_a1cx of wild2_a1cI { Data.Stream.:!: a3_a1cK b2_a1cL ->
case a3_a1cK of wild3_a1eL { Data.Stream.L ds1_a1eN ->
case b2_a1cL of wild4_a1bz { Data.Stream.:!: a4_a1bB b3_a1bC ->
case a4_a1bB of wild5_a1ga {
Data.Stream.Nothing ->
case b3_a1bC of wild6_X1h1 { Data.Stream.L ds11_X1h6 ->
case b1_a1cy of wild7_a1gk {
Data.Stream.Nothing -> unfold_unstream_r1tM wild_a1dt;
Data.Stream.Just a5_a1go ->
case a5_a1go of wild8_X1hi { Data.Stream.L ds12_X1hn ->
unfold_unstream_r1tM wild_a1dt
}
}
};
Data.Stream.Just a5_a1ge ->
case a5_a1ge of wild6_X1h6 { Data.Stream.L ds11_X1hb ->
case b3_a1bC of wild7_X1h1 { Data.Stream.L ds12_X1jz ->
case b1_a1cy of wild8_a1gk {
Data.Stream.Nothing -> unfold_unstream_r1tM wild_a1dt;
Data.Stream.Just a6_a1go ->
case a6_a1go of wild9_X1hi { Data.Stream.L ds13_X1hn ->
unfold_unstream_r1tM wild_a1dt
}
}
}
}
}
}
}
}
}
}
$j1_r1tW :: GHC.Base.Int
-> Data.Stream.Either
(Data.Stream.L [GHC.Base.Int])
((Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
Data.Stream.:!: Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
-> [GHC.Base.Int]
[GlobalId]
[Arity 2
Str: DmdType LS]
$j1_r1tW =
\ (x_aPY :: GHC.Base.Int)
(s'_aPZ :: Data.Stream.Either
(Data.Stream.L [GHC.Base.Int])
((Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
Data.Stream.:!: Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))) ->
case s'_aPZ of wild_a1dt {
Data.Stream.Left a2_a1dv ->
case a2_a1dv of wild1_a1eL { Data.Stream.L ds1_a1eN ->
GHC.Base.: @ GHC.Base.Int x_aPY (unfold_unstream_r1tM wild_a1dt)
};
Data.Stream.Right b_a1dy ->
case b_a1dy of wild1_a1cv { Data.Stream.:!: a2_a1cx b1_a1cy ->
case a2_a1cx of wild2_a1cI { Data.Stream.:!: a3_a1cK b2_a1cL ->
case a3_a1cK of wild3_a1eL { Data.Stream.L ds1_a1eN ->
case b2_a1cL of wild4_a1bz { Data.Stream.:!: a4_a1bB b3_a1bC ->
case b3_a1bC of wild5_X1h1 { Data.Stream.L ds11_X1h6 ->
let {
s_s1mE :: [GHC.Base.Int]
[Str: DmdType]
s_s1mE =
case b1_a1cy of wild6_a1gk {
Data.Stream.Nothing ->
GHC.Base.: @ GHC.Base.Int x_aPY (unfold_unstream_r1tM wild_a1dt);
Data.Stream.Just a5_a1go ->
case a5_a1go of wild7_X1hi { Data.Stream.L ds12_X1hn ->
GHC.Base.: @ GHC.Base.Int x_aPY (unfold_unstream_r1tM wild_a1dt)
}
}
} in
case a4_a1bB of wild6_a1ga {
Data.Stream.Nothing -> s_s1mE;
Data.Stream.Just a5_a1ge ->
case a5_a1ge of wild7_X1h7 { Data.Stream.L ds12_X1hc -> s_s1mE }
}
}
}
}
}
}
}
unfold_unstream_r1tM :: Data.Stream.Either
(Data.Stream.L [GHC.Base.Int])
((Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
Data.Stream.:!: Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
-> [GHC.Base.Int]
[GlobalId]
[Arity 1
Str: DmdType S]
unfold_unstream_r1tM =
\ (s_aPx :: Data.Stream.Either
(Data.Stream.L [GHC.Base.Int])
((Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
Data.Stream.:!: Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))) ->
case s_aPx of wild2_a16p {
Data.Stream.Left s1_a16C ->
case s1_a16C of s11_aQh { Data.Stream.L ipv_s1as ->
case ipv_s1as of wild1_aS3 {
[] -> lvl7_r1u1;
: x_aS6 xs_aS7 ->
GHC.Base.:
@ GHC.Base.Int
(case x_aS6 of wild11_aMs { GHC.Base.I# y_aMu ->
case GHC.Prim.+#
(GHC.Prim.-# 100003 (GHC.Prim.*# 200003 y_aMu))
(GHC.Prim.*# (GHC.Prim.*# (GHC.Prim.*# 300007 y_aMu) y_aMu) y_aMu)
of wild21_aQF {
__DEFAULT ->
case GHC.Base.modInt# wild21_aQF 1000000 of wild211_aQG { __DEFAULT ->
GHC.Base.I# (GHC.Prim.-# wild211_aQG 500000)
};
(-9223372036854775808) -> lvl5_r1th
}
})
(unfold_unstream_r1tM
(Data.Stream.Left
@ (Data.Stream.L [GHC.Base.Int])
@ ((Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
Data.Stream.:!: Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
(Data.Stream.L @ [GHC.Base.Int] xs_aS7)))
}
};
Data.Stream.Right s2_a16P ->
case s2_a16P of wild21_aTs { Data.Stream.:!: ds3_aTB ds4_aTC ->
case ds3_aTB of wild3_aTE { Data.Stream.:!: sa_aTG sb_aTH ->
case ds4_aTC of wild4_aTJ {
Data.Stream.Nothing ->
case sa_aTG of wild_aRU { Data.Stream.L ds1_aS1 ->
case ds1_aS1 of wild1_aS3 {
[] -> GHC.Base.[] @ GHC.Base.Int;
: x_aS6 xs_aS7 ->
case sb_aTH of tpl6_X1T { Data.Stream.:!: ipv_s1bP ipv1_s1bQ ->
$s$j3_r1tP x_aS6 xs_aS7 ipv_s1bP ipv1_s1bQ
}
}
};
Data.Stream.Just ds5_aU4 ->
case ds5_aU4 of wild5_aU6 { Data.Stream.L a2_aU8 ->
case sb_aTH of wild1_aUS { Data.Stream.:!: ds2_aUU s1_aUV ->
case ds2_aUU of wild22_aUX {
Data.Stream.Nothing ->
case s1_aUV of wild_aRU { Data.Stream.L ds1_aS1 ->
case ds1_aS1 of wild11_aS3 {
[] -> GHC.Base.[] @ GHC.Base.Int;
: x_aS6 xs_aS7 ->
case sa_aTG of tpl6_X1O { Data.Stream.L ipv_s1c4 ->
$s$j4_r1tT
xs_aS7
ipv_s1c4
(case a2_aU8 of wild12_aQN { GHC.Base.I# x1_aQP ->
case x_aS6 of wild13_aQR { GHC.Base.I# y_aQT ->
case GHC.Prim.+# x1_aQP y_aQT of wild23_aQF {
__DEFAULT ->
case GHC.Base.modInt# wild23_aQF 1000000 of wild211_aQG { __DEFAULT ->
GHC.Base.I# (GHC.Prim.-# wild211_aQG 500000)
};
(-9223372036854775808) -> lvl4_r1tf
}
}
})
}
}
};
Data.Stream.Just ds31_aVa ->
case ds31_aVa of wild31_aVc { Data.Stream.L n_aVe ->
case n_aVe of n1_aVg { GHC.Base.I# ipv_aVi ->
case ipv_aVi of wild_X1C {
__DEFAULT ->
case s1_aUV of wild11_aRU { Data.Stream.L ds1_aS1 ->
case ds1_aS1 of wild12_aS3 {
[] -> GHC.Base.[] @ GHC.Base.Int;
: x_aS6 xs_aS7 ->
case sa_aTG of tpl6_X1N { Data.Stream.L ipv1_s1cb ->
$s$j2_r1tO xs_aS7 a2_aU8 ipv1_s1cb (GHC.Base.I# (GHC.Prim.-# wild_X1C 1))
}
}
};
0 ->
case s1_aUV of tpl6_X3z { Data.Stream.L ipv1_s1bh ->
case sa_aTG of tpl7_X1N { Data.Stream.L ipv2_s1cb ->
$s$j1_r1tN a2_aU8 ipv1_s1bh ipv2_s1cb
}
}
}
}
}
}
}
}
}
}
}
}
lvl7_r1u1 :: [GHC.Base.Int]
[GlobalId]
[]
lvl7_r1u1 = $j_r1tR lvl6_r1tK
$sunfold_unstream7_r1tG :: [GHC.Base.Int]
[GlobalId]
[]
$sunfold_unstream7_r1tG =
case a1_r1sX of wild1_aS3 {
[] -> lvl7_r1u1;
: x_aS6 xs_aS7 ->
GHC.Base.:
@ GHC.Base.Int
(case x_aS6 of wild11_aMs { GHC.Base.I# y_aMu ->
case GHC.Prim.+#
(GHC.Prim.-# 100003 (GHC.Prim.*# 200003 y_aMu))
(GHC.Prim.*# (GHC.Prim.*# (GHC.Prim.*# 300007 y_aMu) y_aMu) y_aMu)
of wild2_aQF {
__DEFAULT ->
case GHC.Base.modInt# wild2_aQF 1000000 of wild21_aQG { __DEFAULT ->
GHC.Base.I# (GHC.Prim.-# wild21_aQG 500000)
};
(-9223372036854775808) -> lvl5_r1th
}
})
($sunfold_unstream6_r1u0 xs_aS7)
}
end Rec }
Rec {
$wloop_foldl'_r1u3 :: [Main.IR]
-> [Main.IR]
-> [Main.IR]
-> GHC.Base.Int
-> GHC.Prim.Int#
-> Data.Stream.L [[GHC.Base.Int]]
-> (# [Main.IR], [Main.IR], [Main.IR], GHC.Base.Int #)
[GlobalId]
[Arity 6
Str: DmdType LLLLLL]
$wloop_foldl'_r1u3 =
\ (ww_s1iJ :: [Main.IR])
(ww1_s1iK :: [Main.IR])
(ww2_s1iL :: [Main.IR])
(ww3_s1iM :: GHC.Base.Int)
(ww4_s1iU :: GHC.Prim.Int#)
(ww5_s1iX :: Data.Stream.L [[GHC.Base.Int]]) ->
case GHC.Prim.<=# ww4_s1iU 0 of wild3_a15N {
GHC.Base.False ->
case ww5_s1iX of wild_aRU { Data.Stream.L ds1_aS1 ->
case ds1_aS1 of wild1_aS3 {
[] -> (# ww_s1iJ, ww1_s1iK, ww2_s1iL, ww3_s1iM #);
: x_aS6 xs_aS7 ->
case ww2_s1iL of wild11_X1u {
[] ->
lvl2_r1t3
`cast` (CoUnsafe
(GHC.Base.Int, [(GHC.Base.Int, GHC.Base.Int)])
(# [Main.IR], [Main.IR], [Main.IR], GHC.Base.Int #)
:: (GHC.Base.Int, [(GHC.Base.Int, GHC.Base.Int)])
~
(# [Main.IR], [Main.IR], [Main.IR], GHC.Base.Int #));
: ds_dHQ antis_aoG ->
case ds_dHQ of wild2_X1y { (best_anti_aoE, ds11_dHR) ->
__letrec {
$wloop_s1mY :: [(GHC.Base.Int, GHC.Base.Int)]
-> [(GHC.Base.Int, GHC.Base.Int)]
-> [(GHC.Base.Int, GHC.Base.Int)]
-> [GHC.Base.Int]
-> GHC.Prim.Int#
-> GHC.Prim.Int#
-> (# [Main.IR], [Main.IR], [Main.IR], GHC.Base.Int #)
[Arity 6
Str: DmdType SSSSLL]
$wloop_s1mY =
\ (w_s1io :: [(GHC.Base.Int, GHC.Base.Int)])
(w1_s1ip :: [(GHC.Base.Int, GHC.Base.Int)])
(w2_s1iq :: [(GHC.Base.Int, GHC.Base.Int)])
(w3_s1ir :: [GHC.Base.Int])
(ww6_s1iw :: GHC.Prim.Int#)
(ww7_s1iA :: GHC.Prim.Int#) ->
case w_s1io of wild31_X1H {
[] ->
case w1_s1ip of wild4_X1J {
[] ->
lvl1_r1t1
`cast` (CoUnsafe Main.S (# [Main.IR], [Main.IR], [Main.IR], GHC.Base.Int #)
:: Main.S ~ (# [Main.IR], [Main.IR], [Main.IR], GHC.Base.Int #));
: c_aft ds2_dHz ->
case w2_s1iq of wild5_X1N {
[] ->
lvl1_r1t1
`cast` (CoUnsafe Main.S (# [Main.IR], [Main.IR], [Main.IR], GHC.Base.Int #)
:: Main.S ~ (# [Main.IR], [Main.IR], [Main.IR], GHC.Base.Int #));
: d_afu ds3_dHA ->
case ds3_dHA of wild6_X1R {
[] ->
lvl1_r1t1
`cast` (CoUnsafe Main.S (# [Main.IR], [Main.IR], [Main.IR], GHC.Base.Int #)
:: Main.S ~ (# [Main.IR], [Main.IR], [Main.IR], GHC.Base.Int #));
: ds4_dHB ds5_dHC ->
case ds4_dHB of wild7_X1V { (best_diag_afv, ds6_dHD) ->
case w3_s1ir of wild8_X1Z {
[] ->
lvl1_r1t1
`cast` (CoUnsafe Main.S (# [Main.IR], [Main.IR], [Main.IR], GHC.Base.Int #)
:: Main.S ~ (# [Main.IR], [Main.IR], [Main.IR], GHC.Base.Int #));
: r_afw ds7_dHE ->
case ww3_s1iM of wild9_aVH { GHC.Base.I# x1_aVJ ->
case r_afw of wild12_aQR { GHC.Base.I# y_aQT ->
let {
y1_aVN [Just L] :: GHC.Prim.Int#
[Str: DmdType]
y1_aVN = GHC.Prim.+# ww7_s1iA y_aQT } in
let {
$w$j_s1n8 :: GHC.Prim.Int#
-> (# [Main.IR], [Main.IR], [Main.IR], GHC.Base.Int #)
[Arity 1
Str: DmdType L]
$w$j_s1n8 =
\ (ww8_s1ii :: GHC.Prim.Int#) ->
let {
$j2_s1n0 :: GHC.Base.Int -> GHC.Prim.Int# -> GHC.Base.Int
[Arity 2
Str: DmdType LL]
$j2_s1n0 =
\ (wild10_XYd :: GHC.Base.Int) (x2_XYg :: GHC.Prim.Int#) ->
case best_anti_aoE of wild13_XYk { GHC.Base.I# y2_XYp ->
case GHC.Prim.<=# x2_XYg y2_XYp of wild21_aVP {
GHC.Base.False ->
case best_diag_afv of wild14_XYj { GHC.Base.I# y3_XYo ->
case GHC.Prim.<=# x2_XYg y3_XYo of wild22_XYa {
GHC.Base.False -> wild10_XYd; GHC.Base.True -> wild14_XYj
}
};
GHC.Base.True ->
case best_diag_afv of wild14_XYj { GHC.Base.I# y3_XYo ->
case GHC.Prim.<=# y2_XYp y3_XYo of wild22_XYa {
GHC.Base.False -> wild13_XYk; GHC.Base.True -> wild14_XYj
}
}
}
}
} in
case case GHC.Prim.<=# x1_aVJ ww8_s1ii of wild21_aVP {
GHC.Base.False -> $j2_s1n0 wild9_aVH x1_aVJ;
GHC.Base.True -> $j2_s1n0 (GHC.Base.I# ww8_s1ii) ww8_s1ii
}
of tpl6_X7p { GHC.Base.I# ipv_s14S ->
(# GHC.Base.:
@ Main.IR
(case c_aft of w4_X1iQ { (ww9_s1hZ, ww10_s1i3) ->
case ww9_s1hZ of ww11_X1iY { GHC.Base.I# ww12_s1i1 ->
case ww10_s1i3 of ww13_X1j7 { GHC.Base.I# ww14_s1i5 ->
let {
y2_XZi [Just L] :: GHC.Prim.Int#
[Str: DmdType]
y2_XZi = GHC.Prim.+# ww14_s1i5 y_aQT
} in
case GHC.Prim.<=# 0 y2_XZi of wild21_aVP {
GHC.Base.False ->
case GHC.Prim.<=# ww12_s1i1 0 of wild22_XWI {
GHC.Base.False -> (ww11_X1iY, lit_r1t7);
GHC.Base.True -> initIR_r9s
};
GHC.Base.True ->
let {
wild13_s1n3 :: GHC.Base.Int
[Str: DmdType m]
wild13_s1n3 = GHC.Base.I# y2_XZi
} in
case GHC.Prim.<=# ww12_s1i1 y2_XZi of wild22_XWJ {
GHC.Base.False -> (ww11_X1iY, wild13_s1n3);
GHC.Base.True -> (wild13_s1n3, wild13_s1n3)
}
}
}
}
})
(GHC.Base.[] @ Main.IR),
GHC.Base.:
@ Main.IR
(case d_afu of w4_X1iQ { (ww9_s1hZ, ww10_s1i3) ->
case ww9_s1hZ of ww11_X1iY { GHC.Base.I# ww12_s1i1 ->
case ww10_s1i3 of ww13_X1j7 { GHC.Base.I# ww14_s1i5 ->
let {
y2_XZi [Just L] :: GHC.Prim.Int#
[Str: DmdType]
y2_XZi = GHC.Prim.+# ww14_s1i5 y_aQT
} in
case GHC.Prim.<=# 0 y2_XZi of wild21_aVP {
GHC.Base.False ->
case GHC.Prim.<=# ww12_s1i1 0 of wild22_XWI {
GHC.Base.False -> (ww11_X1iY, lit_r1t7);
GHC.Base.True -> initIR_r9s
};
GHC.Base.True ->
let {
wild13_s1n6 :: GHC.Base.Int
[Str: DmdType m]
wild13_s1n6 = GHC.Base.I# y2_XZi
} in
case GHC.Prim.<=# ww12_s1i1 y2_XZi of wild22_XWJ {
GHC.Base.False -> (ww11_X1iY, wild13_s1n6);
GHC.Base.True -> (wild13_s1n6, wild13_s1n6)
}
}
}
}
})
(GHC.Base.[] @ Main.IR),
lvl3_r1t9,
tpl6_X7p #)
}
} in
case GHC.Prim.<=# 0 y1_aVN of wild21_aVP {
GHC.Base.False ->
case GHC.Prim.<=# ww6_s1iw 0 of wild22_XWI {
GHC.Base.False -> $w$j_s1n8 ww6_s1iw; GHC.Base.True -> $w$j_s1n8 0
};
GHC.Base.True ->
case GHC.Prim.<=# ww6_s1iw y1_aVN of wild22_XWJ {
GHC.Base.False -> $w$j_s1n8 ww6_s1iw;
GHC.Base.True -> $w$j_s1n8 y1_aVN
}
}
}
}
}
}
}
}
};
: a2_afe as_aff ->
case w1_s1ip of wild4_X1L {
[] ->
lvl1_r1t1
`cast` (CoUnsafe Main.S (# [Main.IR], [Main.IR], [Main.IR], GHC.Base.Int #)
:: Main.S ~ (# [Main.IR], [Main.IR], [Main.IR], GHC.Base.Int #));
: c_afg cs_afh ->
case w2_s1iq of wild5_X1P {
[] ->
lvl1_r1t1
`cast` (CoUnsafe Main.S (# [Main.IR], [Main.IR], [Main.IR], GHC.Base.Int #)
:: Main.S ~ (# [Main.IR], [Main.IR], [Main.IR], GHC.Base.Int #));
: d_afi ds2_afj ->
case w3_s1ir of wild6_X1T {
[] ->
lvl1_r1t1
`cast` (CoUnsafe Main.S (# [Main.IR], [Main.IR], [Main.IR], GHC.Base.Int #)
:: Main.S ~ (# [Main.IR], [Main.IR], [Main.IR], GHC.Base.Int #));
: r_afk rs_afl ->
case c_afg of wild7_X44 { (best_afA, cur_afB) ->
case best_afA of wild8_aVH { GHC.Base.I# x1_aVJ ->
case cur_afB of wild9_aQN { GHC.Base.I# x2_aQP ->
case r_afk of wild12_aQR { GHC.Base.I# y_aQT ->
let {
y1_aVN [Just L] :: GHC.Prim.Int#
[Str: DmdType]
y1_aVN = GHC.Prim.+# x2_aQP y_aQT
} in
case case GHC.Prim.<=# 0 y1_aVN of wild21_aVP {
GHC.Base.False ->
case GHC.Prim.<=# x1_aVJ 0 of wild22_XWI {
GHC.Base.False -> (wild8_aVH, lit_r1t7); GHC.Base.True -> initIR_r9s
};
GHC.Base.True ->
let {
wild13_s1nb :: GHC.Base.Int
[Str: DmdType m]
wild13_s1nb = GHC.Base.I# y1_aVN
} in
case GHC.Prim.<=# x1_aVJ y1_aVN of wild22_XWJ {
GHC.Base.False -> (wild8_aVH, wild13_s1nb);
GHC.Base.True -> (wild13_s1nb, wild13_s1nb)
}
}
of tpl6_X23 { (ipv_s14V, ipv1_s14W) ->
case d_afi of wild10_X1W { (best1_Xhy, cur1_XhA) ->
case best1_Xhy of wild111_XXI { GHC.Base.I# x3_XXN ->
case cur1_XhA of wild121_XST { GHC.Base.I# x4_XSY ->
let {
y2_XY0 [Just L] :: GHC.Prim.Int#
[Str: DmdType]
y2_XY0 = GHC.Prim.+# x4_XSY y_aQT
} in
case case GHC.Prim.<=# 0 y2_XY0 of wild21_aVP {
GHC.Base.False ->
case GHC.Prim.<=# x3_XXN 0 of wild22_XWI {
GHC.Base.False -> (wild111_XXI, lit_r1t7);
GHC.Base.True -> initIR_r9s
};
GHC.Base.True ->
let {
wild13_s1ne :: GHC.Base.Int
[Str: DmdType m]
wild13_s1ne = GHC.Base.I# y2_XY0
} in
case GHC.Prim.<=# x3_XXN y2_XY0 of wild22_XWJ {
GHC.Base.False -> (wild111_XXI, wild13_s1ne);
GHC.Base.True -> (wild13_s1ne, wild13_s1ne)
}
}
of tpl7_X2a { (ipv2_s151, ipv3_s152) ->
case a2_afe of wild13_X2k { (best2_XhW, cur2_XhY) ->
case best2_XhW of wild14_XY6 { GHC.Base.I# x5_XYb ->
case cur2_XhY of wild15_XTh { GHC.Base.I# x6_XTm ->
let {
y3_XYo [Just L] :: GHC.Prim.Int#
[Str: DmdType]
y3_XYo = GHC.Prim.+# x6_XTm y_aQT
} in
case case GHC.Prim.<=# 0 y3_XYo of wild21_aVP {
GHC.Base.False ->
case GHC.Prim.<=# x5_XYb 0 of wild22_XWI {
GHC.Base.False -> (wild14_XY6, lit_r1t7);
GHC.Base.True -> initIR_r9s
};
GHC.Base.True ->
let {
wild131_s1nh :: GHC.Base.Int
[Str: DmdType m]
wild131_s1nh = GHC.Base.I# y3_XYo
} in
case GHC.Prim.<=# x5_XYb y3_XYo of wild22_XWJ {
GHC.Base.False -> (wild14_XY6, wild131_s1nh);
GHC.Base.True -> (wild131_s1nh, wild131_s1nh)
}
}
of tpl8_X2h { (ipv4_s157, ipv5_s158) ->
let {
y4_XZD [Just L] :: GHC.Prim.Int#
[Str: DmdType]
y4_XZD = GHC.Prim.+# ww7_s1iA y_aQT } in
let {
$j2_s1nj :: GHC.Base.Int
-> GHC.Base.Int
-> (# [Main.IR], [Main.IR], [Main.IR], GHC.Base.Int #)
[Arity 2]
$j2_s1nj =
\ (ww8_s1iu :: GHC.Base.Int) (ww9_s1iy :: GHC.Base.Int) ->
case ww8_s1iu of ww10_X1kz { GHC.Base.I# ww11_X1mw ->
case ww9_s1iy of ww12_X1kI { GHC.Base.I# ww13_X1mF ->
case $wloop_s1mY as_aff cs_afh ds2_afj rs_afl ww11_X1mw ww13_X1mF
of ww14_s1jO { (# ww15_s1jQ, ww16_s1jR, ww17_s1jS, ww18_s1jT #) ->
case ww18_s1jT of tpl9_X2z { GHC.Base.I# ipv6_s15d ->
(# GHC.Base.: @ Main.IR tpl6_X23 ww15_s1jQ,
GHC.Base.: @ Main.IR tpl7_X2a ww16_s1jR,
GHC.Base.: @ Main.IR tpl8_X2h ww17_s1jS,
tpl9_X2z #)
}
}
}
}
} in
case GHC.Prim.<=# 0 y4_XZD of wild21_aVP {
GHC.Base.False ->
case GHC.Prim.<=# ww6_s1iw 0 of wild22_XWI {
GHC.Base.False -> $j2_s1nj (GHC.Base.I# ww6_s1iw) lit_r1t7;
GHC.Base.True -> $j2_s1nj lit_r1t7 lit_r1t7
};
GHC.Base.True ->
let {
wild131_s1nl :: GHC.Base.Int
[Str: DmdType m]
wild131_s1nl = GHC.Base.I# y4_XZD
} in
case GHC.Prim.<=# ww6_s1iw y4_XZD of wild22_XWJ {
GHC.Base.False -> $j2_s1nj (GHC.Base.I# ww6_s1iw) wild131_s1nl;
GHC.Base.True -> $j2_s1nj wild131_s1nl wild131_s1nl
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
};
} in
case $wloop_s1mY
antis_aoG
ww_s1iJ
(GHC.Base.: @ (GHC.Base.Int, GHC.Base.Int) initIR_r9s ww1_s1iK)
x_aS6
0
0
of ww6_s1jO { (# ww7_s1jQ, ww8_s1jR, ww9_s1jS, ww10_s1jT #) ->
$wloop_foldl'_r1u3
ww7_s1jQ
ww8_s1jR
ww9_s1jS
ww10_s1jT
(GHC.Prim.-# ww4_s1iU 1)
(Data.Stream.L @ [[GHC.Base.Int]] xs_aS7)
}
}
}
}
};
GHC.Base.True -> (# ww_s1iJ, ww1_s1iK, ww2_s1iL, ww3_s1iM #)
}
end Rec }
lvl8_r1u5 :: [[GHC.Base.Int]]
[GlobalId]
[]
lvl8_r1u5 = groups1_r1t5 problemN_r9o $sunfold_unstream7_r1tG
lvl9_r1u7 :: Data.Stream.L [[GHC.Base.Int]]
[GlobalId]
[]
lvl9_r1u7 = Data.Stream.L @ [[GHC.Base.Int]] lvl8_r1u5
Main.lvl10 :: GHC.Base.String
[GlobalId]
[]
Main.lvl10 =
case Data.List.Stream.$wreplicate @ (GHC.Base.Int, GHC.Base.Int) 2000 initIR_r9s
of tpl6_X1j { __DEFAULT ->
case $wloop_foldl'_r1u3 tpl6_X1j tpl6_X1j tpl6_X1j lit_r1t7 2000 lvl9_r1u7
of ww_s1jG { (# ww1_s1jI, ww2_s1jJ, ww3_s1jK, ww4_s1jL #) ->
case ww4_s1jL of w_X1li { GHC.Base.I# ww5_s1jr ->
let {
tpl7_s1nq :: Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)]
[Str: DmdType m]
tpl7_s1nq = Data.Stream.L @ [(GHC.Base.Int, GHC.Base.Int)] ww2_s1jJ } in
let {
tpl8_s1nu :: Data.Stream.Either
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
[Str: DmdType]
tpl8_s1nu =
Data.Stream.Left
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
tpl7_s1nq } in
let {
tpl9_s1ns :: Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)]
[Str: DmdType m]
tpl9_s1ns = Data.Stream.L @ [(GHC.Base.Int, GHC.Base.Int)] ww3_s1jK } in
let {
a2_s1of :: Data.Stream.Either
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
[]
a2_s1of =
Data.Stream.Right
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
tpl9_s1ns } in
let {
lvl11_s1nY :: Data.Stream.Either
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
(Data.Stream.Either
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)]))
[]
lvl11_s1nY =
Data.Stream.Right
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
@ (Data.Stream.Either
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)]))
a2_s1of } in
let {
lvl12_s1nX :: Data.Stream.Either
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
(Data.Stream.Either
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)]))
[]
lvl12_s1nX =
Data.Stream.Right
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
@ (Data.Stream.Either
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)]))
tpl8_s1nu } in
__letrec {
$s$wloop_foldl'_s1q7 :: GHC.Prim.Int#
-> [(GHC.Base.Int, GHC.Base.Int)]
-> GHC.Prim.Int#
[Arity 2]
$s$wloop_foldl'_s1q7 =
\ (ww6_X1kZ :: GHC.Prim.Int#) (ds1_a1eN :: [(GHC.Base.Int, GHC.Base.Int)]) ->
case ds1_a1eN of wild1_aS3 {
[] -> ww6_X1kZ;
: x_aS6 xs_aS7 ->
case x_aS6 of w1_X1l6 { (ww7_s1j5, ww8_s1j9) ->
case ww7_s1j5 of ww9_X1le { GHC.Base.I# ww10_s1j7 ->
case GHC.Prim.<=# ww6_X1kZ ww10_s1j7 of wild2_aVP {
GHC.Base.False ->
$wloop_foldl'1_s1nw
ww6_X1kZ
(Data.Stream.Right
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
@ (Data.Stream.Either
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)]))
(Data.Stream.Right
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
(Data.Stream.L @ [(GHC.Base.Int, GHC.Base.Int)] xs_aS7)));
GHC.Base.True ->
$wloop_foldl'1_s1nw
ww10_s1j7
(Data.Stream.Right
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
@ (Data.Stream.Either
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)]))
(Data.Stream.Right
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
(Data.Stream.L @ [(GHC.Base.Int, GHC.Base.Int)] xs_aS7)))
}
}
}
};
$s$wloop_foldl'1_s1q5 :: GHC.Prim.Int#
-> [(GHC.Base.Int, GHC.Base.Int)]
-> GHC.Prim.Int#
[Arity 2]
$s$wloop_foldl'1_s1q5 =
\ (ww6_X1kZ :: GHC.Prim.Int#) (ds1_a1eN :: [(GHC.Base.Int, GHC.Base.Int)]) ->
case ds1_a1eN of wild1_aS3 {
[] -> $wloop_foldl'1_s1nw ww6_X1kZ lvl11_s1nY;
: x_aS6 xs_aS7 ->
case x_aS6 of w1_X1l6 { (ww7_s1j5, ww8_s1j9) ->
case ww7_s1j5 of ww9_X1le { GHC.Base.I# ww10_s1j7 ->
case GHC.Prim.<=# ww6_X1kZ ww10_s1j7 of wild2_aVP {
GHC.Base.False ->
$wloop_foldl'1_s1nw
ww6_X1kZ
(Data.Stream.Right
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
@ (Data.Stream.Either
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)]))
(Data.Stream.Left
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
(Data.Stream.L @ [(GHC.Base.Int, GHC.Base.Int)] xs_aS7)));
GHC.Base.True ->
$wloop_foldl'1_s1nw
ww10_s1j7
(Data.Stream.Right
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
@ (Data.Stream.Either
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)]))
(Data.Stream.Left
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
(Data.Stream.L @ [(GHC.Base.Int, GHC.Base.Int)] xs_aS7)))
}
}
}
};
$s$wloop_foldl'2_s1q3 :: GHC.Prim.Int#
-> [(GHC.Base.Int, GHC.Base.Int)]
-> GHC.Prim.Int#
[Arity 2]
$s$wloop_foldl'2_s1q3 =
\ (ww6_X1kZ :: GHC.Prim.Int#) (ds1_a1eN :: [(GHC.Base.Int, GHC.Base.Int)]) ->
case ds1_a1eN of wild1_aS3 {
[] -> $wloop_foldl'1_s1nw ww6_X1kZ lvl12_s1nX;
: x_aS6 xs_aS7 ->
case x_aS6 of w1_X1l6 { (ww7_s1j5, ww8_s1j9) ->
case ww7_s1j5 of ww9_X1le { GHC.Base.I# ww10_s1j7 ->
case GHC.Prim.<=# ww6_X1kZ ww10_s1j7 of wild2_aVP {
GHC.Base.False ->
$wloop_foldl'1_s1nw
ww6_X1kZ
(Data.Stream.Left
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
@ (Data.Stream.Either
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)]))
(Data.Stream.L @ [(GHC.Base.Int, GHC.Base.Int)] xs_aS7));
GHC.Base.True ->
$wloop_foldl'1_s1nw
ww10_s1j7
(Data.Stream.Left
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
@ (Data.Stream.Either
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)]))
(Data.Stream.L @ [(GHC.Base.Int, GHC.Base.Int)] xs_aS7))
}
}
}
};
$s$wloop_foldl'3_s1q1 :: GHC.Prim.Int# -> GHC.Prim.Int#
[Arity 1]
$s$wloop_foldl'3_s1q1 =
\ (ww6_X1kZ :: GHC.Prim.Int#) ->
case ww3_s1jK of wild1_aS3 {
[] -> ww6_X1kZ;
: x_aS6 xs_aS7 ->
case x_aS6 of w1_X1l6 { (ww7_s1j5, ww8_s1j9) ->
case ww7_s1j5 of ww9_X1le { GHC.Base.I# ww10_s1j7 ->
case GHC.Prim.<=# ww6_X1kZ ww10_s1j7 of wild2_aVP {
GHC.Base.False ->
$wloop_foldl'1_s1nw
ww6_X1kZ
(Data.Stream.Right
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
@ (Data.Stream.Either
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)]))
(Data.Stream.Right
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
(Data.Stream.L @ [(GHC.Base.Int, GHC.Base.Int)] xs_aS7)));
GHC.Base.True ->
$wloop_foldl'1_s1nw
ww10_s1j7
(Data.Stream.Right
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
@ (Data.Stream.Either
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)]))
(Data.Stream.Right
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
(Data.Stream.L @ [(GHC.Base.Int, GHC.Base.Int)] xs_aS7)))
}
}
}
};
$s$wloop_foldl'4_s1pZ :: GHC.Prim.Int# -> GHC.Prim.Int#
[Arity 1]
$s$wloop_foldl'4_s1pZ =
\ (ww6_X1kZ :: GHC.Prim.Int#) ->
case ww2_s1jJ of wild1_aS3 {
[] -> $wloop_foldl'1_s1nw ww6_X1kZ lvl11_s1nY;
: x_aS6 xs_aS7 ->
case x_aS6 of w1_X1l6 { (ww7_s1j5, ww8_s1j9) ->
case ww7_s1j5 of ww9_X1le { GHC.Base.I# ww10_s1j7 ->
case GHC.Prim.<=# ww6_X1kZ ww10_s1j7 of wild2_aVP {
GHC.Base.False ->
$wloop_foldl'1_s1nw
ww6_X1kZ
(Data.Stream.Right
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
@ (Data.Stream.Either
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)]))
(Data.Stream.Left
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
(Data.Stream.L @ [(GHC.Base.Int, GHC.Base.Int)] xs_aS7)));
GHC.Base.True ->
$wloop_foldl'1_s1nw
ww10_s1j7
(Data.Stream.Right
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
@ (Data.Stream.Either
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)]))
(Data.Stream.Left
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
(Data.Stream.L @ [(GHC.Base.Int, GHC.Base.Int)] xs_aS7)))
}
}
}
};
$wloop_foldl'1_s1nw :: GHC.Prim.Int#
-> Data.Stream.Either
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
(Data.Stream.Either
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)]))
-> GHC.Prim.Int#
[Arity 2
Str: DmdType LS]
$wloop_foldl'1_s1nw =
\ (ww6_X1kZ :: GHC.Prim.Int#)
(w1_s1jt :: Data.Stream.Either
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
(Data.Stream.Either
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)]))) ->
case w1_s1jt of wild2_a16p {
Data.Stream.Left s1_a16C ->
case s1_a16C of wild_aRU { Data.Stream.L ds1_aS1 ->
case ds1_aS1 of wild1_aS3 {
[] -> $wloop_foldl'1_s1nw ww6_X1kZ lvl12_s1nX;
: x_aS6 xs_aS7 ->
case x_aS6 of w2_X1l6 { (ww7_s1j5, ww8_s1j9) ->
case ww7_s1j5 of ww9_X1le { GHC.Base.I# ww10_s1j7 ->
case GHC.Prim.<=# ww6_X1kZ ww10_s1j7 of wild21_aVP {
GHC.Base.False ->
$wloop_foldl'1_s1nw
ww6_X1kZ
(Data.Stream.Left
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
@ (Data.Stream.Either
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)]))
(Data.Stream.L @ [(GHC.Base.Int, GHC.Base.Int)] xs_aS7));
GHC.Base.True ->
$wloop_foldl'1_s1nw
ww10_s1j7
(Data.Stream.Left
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
@ (Data.Stream.Either
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)]))
(Data.Stream.L @ [(GHC.Base.Int, GHC.Base.Int)] xs_aS7))
}
}
}
}
};
Data.Stream.Right s2_a16P ->
case s2_a16P of wild21_X18W {
Data.Stream.Left s1_a16C ->
case s1_a16C of wild_aRU { Data.Stream.L ds1_aS1 ->
case ds1_aS1 of wild1_aS3 {
[] -> $wloop_foldl'1_s1nw ww6_X1kZ lvl11_s1nY;
: x_aS6 xs_aS7 ->
case x_aS6 of w2_X1l6 { (ww7_s1j5, ww8_s1j9) ->
case ww7_s1j5 of ww9_X1le { GHC.Base.I# ww10_s1j7 ->
case GHC.Prim.<=# ww6_X1kZ ww10_s1j7 of wild22_aVP {
GHC.Base.False ->
$wloop_foldl'1_s1nw
ww6_X1kZ
(Data.Stream.Right
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
@ (Data.Stream.Either
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)]))
(Data.Stream.Left
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
(Data.Stream.L @ [(GHC.Base.Int, GHC.Base.Int)] xs_aS7)));
GHC.Base.True ->
$wloop_foldl'1_s1nw
ww10_s1j7
(Data.Stream.Right
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
@ (Data.Stream.Either
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)]))
(Data.Stream.Left
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
(Data.Stream.L @ [(GHC.Base.Int, GHC.Base.Int)] xs_aS7)))
}
}
}
}
};
Data.Stream.Right s21_X19p ->
case s21_X19p of wild_aRU { Data.Stream.L ds1_aS1 ->
case ds1_aS1 of wild1_aS3 {
[] -> ww6_X1kZ;
: x_aS6 xs_aS7 ->
case x_aS6 of w2_X1l6 { (ww7_s1j5, ww8_s1j9) ->
case ww7_s1j5 of ww9_X1le { GHC.Base.I# ww10_s1j7 ->
case GHC.Prim.<=# ww6_X1kZ ww10_s1j7 of wild22_aVP {
GHC.Base.False ->
$wloop_foldl'1_s1nw
ww6_X1kZ
(Data.Stream.Right
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
@ (Data.Stream.Either
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)]))
(Data.Stream.Right
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
(Data.Stream.L @ [(GHC.Base.Int, GHC.Base.Int)] xs_aS7)));
GHC.Base.True ->
$wloop_foldl'1_s1nw
ww10_s1j7
(Data.Stream.Right
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
@ (Data.Stream.Either
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
(Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)]))
(Data.Stream.Right
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
@ (Data.Stream.L [(GHC.Base.Int, GHC.Base.Int)])
(Data.Stream.L @ [(GHC.Base.Int, GHC.Base.Int)] xs_aS7)))
}
}
}
}
}
}
};
} in
case $s$wloop_foldl'2_s1q3 ww5_s1jr ww1_s1jI of ww6_s1jx { __DEFAULT ->
GHC.Show.$wshowSignedInt 0 ww6_s1jx (GHC.Base.[] @ GHC.Base.Char)
}
}
}
}
Main.lvl11 :: [GHC.Base.Char]
[GlobalId]
[]
Main.lvl11 = GHC.Base.unpackCString# "begin"
Main.a2 :: GHC.Prim.State# GHC.Prim.RealWorld
-> (# GHC.Prim.State# GHC.Prim.RealWorld, () #)
[GlobalId]
[Arity 1
Str: DmdType L]
Main.a2 =
\ (eta_aY2 :: GHC.Prim.State# GHC.Prim.RealWorld) ->
case GHC.IO.a25 GHC.Handle.stdout Main.lvl11 eta_aY2
of wild_a13N { (# new_s_a13P, a104_a13Q #) ->
case GHC.IO.$wa13 GHC.Handle.stdout '\n' new_s_a13P
of wild1_a17t { (# new_s1_a17v, a1041_a17w #) ->
case GHC.IO.a25 GHC.Handle.stdout Main.lvl10 new_s1_a17v
of wild2_a146 { (# new_s2_a148, a1042_a149 #) ->
GHC.IO.$wa13 GHC.Handle.stdout '\n' new_s2_a148
}
}
}
Main.main :: GHC.IOBase.IO ()
[GlobalId]
[Arity 1
Str: DmdType L]
Main.main =
Main.a2
`cast` (sym ((GHC.IOBase.:CoIO) ())
:: GHC.Prim.State# GHC.Prim.RealWorld
-> (# GHC.Prim.State# GHC.Prim.RealWorld, () #)
~
GHC.IOBase.IO ())
Main.a3 :: GHC.Prim.State# GHC.Prim.RealWorld
-> (# GHC.Prim.State# GHC.Prim.RealWorld, () #)
[GlobalId]
[Arity 1
Str: DmdType L]
Main.a3 =
GHC.TopHandler.a7
@ ()
(Main.a2
`cast` (sym ((GHC.IOBase.:CoIO) ())
:: GHC.Prim.State# GHC.Prim.RealWorld
-> (# GHC.Prim.State# GHC.Prim.RealWorld, () #)
~
GHC.IOBase.IO ()))
:Main.main :: GHC.IOBase.IO ()
[GlobalId]
[Arity 1
Str: DmdType L]
:Main.main =
Main.a3
`cast` (sym ((GHC.IOBase.:CoIO) ())
:: GHC.Prim.State# GHC.Prim.RealWorld
-> (# GHC.Prim.State# GHC.Prim.RealWorld, () #)
~
GHC.IOBase.IO ())
==================== Tidy Core Rules ====================
-------------- next part --------------
==================== Tidy Core ====================
Main.$WS :: [Main.IR] -> [Main.IR] -> [Main.IR] -> GHC.Base.Int -> Main.S
[DataConWrapper]
[Arity 4
NoCafRefs
Str: DmdType SSSSm]
Main.$WS =
__inline_me (\ (tpl_B1 :: [Main.IR])
(tpl1_B2 :: [Main.IR])
(tpl2_B3 :: [Main.IR])
(tpl3_B4 :: GHC.Base.Int) ->
case tpl_B1 of tpl4_B1 { __DEFAULT ->
case tpl1_B2 of tpl5_B2 { __DEFAULT ->
case tpl2_B3 of tpl6_B3 { __DEFAULT ->
case tpl3_B4 of tpl7_B4 { __DEFAULT -> Main.S tpl4_B1 tpl5_B2 tpl6_B3 tpl7_B4 }
}
}
})
a_r1n4 :: GHC.Base.Int
[GlobalId]
[NoCafRefs
Str: DmdType m]
a_r1n4 = GHC.Base.I# 31
a1_r1n6 :: [GHC.Base.Int]
[GlobalId]
[Str: DmdType]
a1_r1n6 = GHC.Enum.eftInt 1 55
lvl_r1n8 :: [GHC.Base.Char]
[GlobalId]
[]
lvl_r1n8 = GHC.Base.unpackCString# "bug"
lvl1_r1na :: Main.S
[GlobalId]
[Str: DmdType b]
lvl1_r1na = GHC.Err.error @ Main.S lvl_r1n8
lvl2_r1nc :: (GHC.Base.Int, [(GHC.Base.Int, GHC.Base.Int)])
[GlobalId]
[Str: DmdType b]
lvl2_r1nc =
GHC.Err.irrefutPatError
@ (GHC.Base.Int, [(GHC.Base.Int, GHC.Base.Int)])
"A.hs:36:2-34|(best_anti, _) : antis"
Rec {
groups1_r1ne :: GHC.Base.Int -> [GHC.Base.Int] -> [[GHC.Base.Int]]
[GlobalId]
[Arity 2
NoCafRefs
Str: DmdType LS]
groups1_r1ne =
\ (ds_dBP :: GHC.Base.Int) (ds1_dBQ :: [GHC.Base.Int]) ->
case ds1_dBQ of wild_X26 {
[] -> GHC.Base.[] @ [GHC.Base.Int];
: ipv_sD6 ipv1_sD7 ->
let {
ds2_s1h5 :: ([GHC.Base.Int], [GHC.Base.Int])
[Str: DmdType]
ds2_s1h5 = Data.List.Stream.splitAt @ GHC.Base.Int ds_dBP wild_X26
} in
GHC.Base.:
@ [GHC.Base.Int]
(case ds2_s1h5 of wild1_X3t { (a2_ake, b_akg) -> a2_ake })
(case ds2_s1h5 of wild1_X1e { (a2_ake, b_akg) -> groups1_r1ne ds_dBP b_akg })
}
end Rec }
problemN_r94 :: GHC.Base.Int
[GlobalId]
[NoCafRefs
Str: DmdType m]
problemN_r94 = GHC.Base.I# 2000
lit_r1ng :: GHC.Base.Int
[GlobalId]
[NoCafRefs
Str: DmdType m]
lit_r1ng = GHC.Base.I# 0
initIR_r98 :: (GHC.Base.Int, GHC.Base.Int)
[GlobalId]
[NoCafRefs
Str: DmdType m]
initIR_r98 = (lit_r1ng, lit_r1ng)
lvl3_r1ni :: [Main.IR]
[GlobalId]
[NoCafRefs
Str: DmdType]
lvl3_r1ni = GHC.Base.: @ Main.IR initIR_r98 (GHC.Base.[] @ Main.IR)
tpl_r1nk :: Data.Stream.L GHC.Base.Int
[GlobalId]
[NoCafRefs
Str: DmdType m]
tpl_r1nk = Data.Stream.L @ GHC.Base.Int a_r1n4
tpl1_r1nm :: Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
[GlobalId]
[NoCafRefs
Str: DmdType]
tpl1_r1nm = Data.Stream.Just @ (Data.Stream.L GHC.Base.Int) tpl_r1nk
lvl4_r1no :: GHC.Base.Int
[GlobalId]
[]
lvl4_r1no =
case GHC.Base.modInt# (-9223372036854775808) 1000000
of wild21_aLe { __DEFAULT ->
GHC.Base.I# (GHC.Prim.-# wild21_aLe 500000)
}
lvl5_r1nq :: GHC.Base.Int
[GlobalId]
[]
lvl5_r1nq =
case GHC.Base.modInt# (-9223372036854775808) 1000000
of wild21_aLe { __DEFAULT ->
GHC.Base.I# (GHC.Prim.-# wild21_aLe 500000)
}
Rec {
$sunfold_unstream_r1ns :: [GHC.Base.Int]
-> GHC.Base.Int
-> [GHC.Base.Int]
-> [GHC.Base.Int]
[GlobalId]
[Arity 3]
$sunfold_unstream_r1ns =
\ (ds1_X1bz :: [GHC.Base.Int])
(ds11_X1bQ :: GHC.Base.Int)
(ds12_a19g :: [GHC.Base.Int]) ->
case ds1_X1bz of wild1_aMz {
[] -> GHC.Base.[] @ GHC.Base.Int;
: x_aMC xs_aMD ->
GHC.Base.:
@ GHC.Base.Int
(case ds11_X1bQ of wild_aLj { GHC.Base.I# x1_aLl ->
case x_aMC of wild11_aLn { GHC.Base.I# y_aLp ->
case GHC.Prim.+# x1_aLl y_aLp of wild2_aLb {
__DEFAULT ->
case GHC.Base.modInt# wild2_aLb 1000000 of wild21_aLc { __DEFAULT ->
GHC.Base.I# (GHC.Prim.-# wild21_aLc 500000)
};
(-9223372036854775808) -> lvl4_r1no
}
}
})
($sunfold_unstream1_r1nu xs_aMD ds12_a19g)
}
$sunfold_unstream1_r1nu :: [GHC.Base.Int] -> [GHC.Base.Int] -> [GHC.Base.Int]
[GlobalId]
[Arity 2]
$sunfold_unstream1_r1nu =
\ (ds1_X1bz :: [GHC.Base.Int]) (ds11_a19g :: [GHC.Base.Int]) ->
case ds11_a19g of wild1_aMz {
[] -> GHC.Base.[] @ GHC.Base.Int;
: x_aMC xs_aMD -> $sunfold_unstream_r1ns ds1_X1bz x_aMC xs_aMD
}
end Rec }
Rec {
$sunfold_unstream2_r1nw :: GHC.Base.Int
-> GHC.Base.Int
-> [GHC.Base.Int]
-> [GHC.Base.Int]
-> [GHC.Base.Int]
[GlobalId]
[Arity 4]
$sunfold_unstream2_r1nw =
\ (ds1_X1bE :: GHC.Base.Int)
(ds11_X1bQ :: GHC.Base.Int)
(ds12_X1e2 :: [GHC.Base.Int])
(ds13_a19g :: [GHC.Base.Int]) ->
case ds1_X1bE of n1_aPM { GHC.Base.I# ipv_aPO ->
case ipv_aPO of wild_X1C {
__DEFAULT ->
case ds12_X1e2 of wild1_aMz {
[] -> GHC.Base.[] @ GHC.Base.Int;
: x_aMC xs_aMD ->
$sunfold_unstream2_r1nw
(GHC.Base.I# (GHC.Prim.-# wild_X1C 1)) ds11_X1bQ xs_aMD ds13_a19g
};
0 -> $sunfold_unstream_r1ns ds12_X1e2 ds11_X1bQ ds13_a19g
}
}
end Rec }
$s$j_r1ny :: [GHC.Base.Int]
-> GHC.Base.Int
-> [GHC.Base.Int]
-> GHC.Base.Int
-> [GHC.Base.Int]
[GlobalId]
[Arity 4]
$s$j_r1ny =
\ (xs_aMD :: [GHC.Base.Int])
(a2_aOE :: GHC.Base.Int)
(ipv_s16E :: [GHC.Base.Int])
(sc_s1jI :: GHC.Base.Int) ->
$sunfold_unstream2_r1nw sc_s1jI a2_aOE xs_aMD ipv_s16E
$s$j1_r1nA :: GHC.Base.Int
-> [GHC.Base.Int]
-> Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
-> Data.Stream.L [GHC.Base.Int]
-> [GHC.Base.Int]
[GlobalId]
[Arity 4]
$s$j1_r1nA =
\ (x_aMC :: GHC.Base.Int)
(xs_aMD :: [GHC.Base.Int])
(ipv_s16i :: Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
(ipv1_s16j :: Data.Stream.L [GHC.Base.Int]) ->
case ipv_s16i of wild_a1aD {
Data.Stream.Nothing ->
case ipv1_s16j of wild1_X1bu { Data.Stream.L ds1_X1bz ->
$sunfold_unstream_r1ns ds1_X1bz x_aMC xs_aMD
};
Data.Stream.Just a2_a1aH ->
case a2_a1aH of wild1_X1bz { Data.Stream.L ds1_X1bE ->
case ipv1_s16j of wild2_X1bu { Data.Stream.L ds11_X1e2 ->
$sunfold_unstream2_r1nw ds1_X1bE x_aMC ds11_X1e2 xs_aMD
}
}
}
$s$j2_r1nC :: GHC.Base.Int -> [GHC.Base.Int] -> [GHC.Base.Int] -> [GHC.Base.Int]
[GlobalId]
[Arity 3]
$s$j2_r1nC =
\ (a2_aOE :: GHC.Base.Int)
(ipv_s15K :: [GHC.Base.Int])
(ipv1_s16E :: [GHC.Base.Int]) ->
$sunfold_unstream_r1ns ipv_s15K a2_aOE ipv1_s16E
$s$j3_r1nE :: [GHC.Base.Int]
-> GHC.Base.Int
-> [GHC.Base.Int]
-> Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
-> [GHC.Base.Int]
[GlobalId]
[Arity 4]
$s$j3_r1nE =
\ (ds1_X1bz :: [GHC.Base.Int])
(x_aMC :: GHC.Base.Int)
(xs_aMD :: [GHC.Base.Int])
(a2_a164 :: Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)) ->
case a2_a164 of wild_a1aD {
Data.Stream.Nothing -> $sunfold_unstream_r1ns ds1_X1bz x_aMC xs_aMD;
Data.Stream.Just a3_a1aH ->
case a3_a1aH of wild1_X1c6 { Data.Stream.L ds11_X1bE ->
$sunfold_unstream2_r1nw ds11_X1bE x_aMC ds1_X1bz xs_aMD
}
}
Rec {
tpl2_r1nG :: Data.Stream.L [GHC.Base.Int]
[GlobalId]
[Str: DmdType m]
tpl2_r1nG = Data.Stream.L @ [GHC.Base.Int] $sunfold_unstream4_r1nP
tpl3_r1nQ :: Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]
[GlobalId]
[Str: DmdType m]
tpl3_r1nQ =
Data.Stream.:!:
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
@ (Data.Stream.L [GHC.Base.Int])
tpl1_r1nm
tpl2_r1nG
tpl4_r1nR :: Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int])
[GlobalId]
[Str: DmdType m]
tpl4_r1nR =
Data.Stream.:!:
@ (Data.Stream.L [GHC.Base.Int])
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int])
tpl2_r1nG
tpl3_r1nQ
tpl5_r1nS :: (Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
Data.Stream.:!: Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
[GlobalId]
[Str: DmdType m]
tpl5_r1nS =
Data.Stream.:!:
@ (Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
@ (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
tpl4_r1nR
(Data.Stream.Nothing @ (Data.Stream.L GHC.Base.Int))
lvl6_r1nT :: Data.Stream.Either
(Data.Stream.L [GHC.Base.Int])
((Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
Data.Stream.:!: Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
[GlobalId]
[]
lvl6_r1nT =
Data.Stream.Right
@ (Data.Stream.L [GHC.Base.Int])
@ ((Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
Data.Stream.:!: Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
tpl5_r1nS
$sunfold_unstream3_r1nU :: [GHC.Base.Int] -> [GHC.Base.Int]
[GlobalId]
[Arity 1]
$sunfold_unstream3_r1nU =
\ (ds1_a19g :: [GHC.Base.Int]) ->
case ds1_a19g of wild1_aMz {
[] -> lvl7_r1nV;
: x_aMC xs_aMD ->
GHC.Base.:
@ GHC.Base.Int
(case x_aMC of wild11_aGY { GHC.Base.I# y_aH0 ->
case GHC.Prim.+#
(GHC.Prim.-# 100003 (GHC.Prim.*# 200003 y_aH0))
(GHC.Prim.*# (GHC.Prim.*# (GHC.Prim.*# 300007 y_aH0) y_aH0) y_aH0)
of wild2_aLb {
__DEFAULT ->
case GHC.Base.modInt# wild2_aLb 1000000 of wild21_aLc { __DEFAULT ->
GHC.Base.I# (GHC.Prim.-# wild21_aLc 500000)
};
(-9223372036854775808) -> lvl5_r1nq
}
})
($sunfold_unstream3_r1nU xs_aMD)
}
$j_r1nW :: Data.Stream.Either
(Data.Stream.L [GHC.Base.Int])
((Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
Data.Stream.:!: Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))
-> [GHC.Base.Int]
[GlobalId]
[Arity 1
Str: DmdType S]
$j_r1nW =
\ (s'_aKy :: Data.Stream.Either
(Data.Stream.L [GHC.Base.Int])
((Data.Stream.L [GHC.Base.Int]
Data.Stream.:!: (Data.Stream.Maybe (Data.Stream.L GHC.Base.Int)
Data.Stream.:!: Data.Stream.L [GHC.Base.Int]))
Data.Stream.:!: Data.Stream.Maybe (Data.Stream.L GHC.Base.Int))) ->
case s'_aKy of wild_a17W {
Data.Stream.Left a2_a17Y ->
case a2_a17Y of wild1_a19e { Data.Stream.L ds1_a19g ->
$sunfold_unstream3_r1nU ds1_a19g
};
Data.Stream.Right b_a181 ->
case b_a181 of wild1_a16Y { Data.Stream.:!: a2_a170 b1_a171 ->
case a2_a170 of wild2_a17b { Data.Stream.:!: a3_a17d b2_a17e ->
case a3_a17d of wild3_a19e { Data.Stream.L ds1_a19g ->
case b2_a17e of wild4_a162 { Data.Stream.:!: a4_a164 b3_a165 ->
case a4_a164 of wild5_a1aD {
Data.Stream.Nothing ->
case b3_a165 of wild6_X1bu { Data.Stream.L ds11_X1bz ->
case b1_a171 of wild7_a1aN {
Data.Stream.Nothing -> $sunfold_unstream1_r1nu ds11_X1bz ds1_a19g;
Data.Stream.Just a5_a1aR ->
case a5_a1aR of wild8_X1bL { Data.Stream.L ds12_X1bQ ->
$sunfold_unstream_r1ns ds11_X1bz ds12_X1bQ ds1_a19g
}
}
};
Data.Stream.Just a5_a1aH ->
case a5_a1aH of wild6_X1bz { Data.Stream.L ds11_X1bE ->
case b3_a165 of wild7_X1bu { Data.Stream.L ds12_X1e2 ->
case b1_a171 of wild8_a1aN {
Data.Stream.Nothing ->
case ds1_a19g of wild11_aMz {
[] -> GHC.Base.[] @ GHC.Base.Int;
: x_aMC xs_aMD -> $sunfold_unstream2_r1nw ds11_X1bE x_aMC ds12_X1e2 xs_aMD
};
Data.Stream.Just a6_a1aR ->
case a6_a1aR of wild9_X1bL { Data.Stream.L ds13_X1bQ ->
$sunfold_unstream2_r1nw ds11_X1bE ds13_X1bQ ds12_X1e2 ds1_a19g
}
}
}
}
}
}
}
}
}
}
lvl7_r1nV :: [GHC.Base.Int]
[GlobalId]
[]
lvl7_r1nV = $j_r1nW lvl6_r1nT
$sunfold_unstream4_r1nP :: [GHC.Base.Int]
[GlobalId]
[]
$sunfold_unstream4_r1nP =
case a1_r1n6 of wild1_aMz {
[] -> lvl7_r1nV;
: x_aMC xs_aMD ->
GHC.Base.:
@ GHC.Base.Int
(case x_aMC of wild11_aGY { GHC.Base.I# y_aH0 ->
case GHC.Prim.+#
(GHC.Prim.-# 100003 (GHC.Prim.*# 200003 y_aH0))
(GHC.Prim.*# (GHC.Prim.*# (GHC.Prim.*# 300007 y_aH0) y_aH0) y_aH0)
of wild2_aLb {
__DEFAULT ->
case GHC.Base.modInt# wild2_aLb 1000000 of wild21_aLc { __DEFAULT ->
GHC.Base.I# (GHC.Prim.-# wild21_aLc 500000)
};
(-9223372036854775808) -> lvl5_r1nq
}
})
($sunfold_unstream3_r1nU xs_aMD)
}
end Rec }
Rec {
$wloop_foldl'_r1nY :: [Main.IR]
-> [Main.IR]
-> [Main.IR]
-> GHC.Base.Int
-> GHC.Prim.Int#
-> Data.Stream.L [[GHC.Base.Int]]
-> (# [Main.IR], [Main.IR], [Main.IR], GHC.Base.Int #)
[GlobalId]
[Arity 6
Str: DmdType LLLLLL]
$wloop_foldl'_r1nY =
\ (ww_s1dc :: [Main.IR])
(ww1_s1dd :: [Main.IR])
(ww2_s1de :: [Main.IR])
(ww3_s1df :: GHC.Base.Int)
(ww4_s1dn :: GHC.Prim.Int#)
(ww5_s1dq :: Data.Stream.L [[GHC.Base.Int]]) ->
case GHC.Prim.<=# ww4_s1dn 0 of wild3_a10g {
GHC.Base.False ->
case ww5_s1dq of wild_aMq { Data.Stream.L ds1_aMx ->
case ds1_aMx of wild1_aMz {
[] -> (# ww_s1dc, ww1_s1dd, ww2_s1de, ww3_s1df #);
: x_aMC xs_aMD ->
case ww2_s1de of wild11_X1u {
[] ->
lvl2_r1nc
`cast` (CoUnsafe
(GHC.Base.Int, [(GHC.Base.Int, GHC.Base.Int)])
(# [Main.IR], [Main.IR], [Main.IR], GHC.Base.Int #)
:: (GHC.Base.Int, [(GHC.Base.Int, GHC.Base.Int)])
~
(# [Main.IR], [Main.IR], [Main.IR], GHC.Base.Int #));
: ds_dCl antis_akU ->
case ds_dCl of wild2_X1y { (best_anti_akS, ds11_dCm) ->
__letrec {
$wloop_s1hr :: [(GHC.Base.Int, GHC.Base.Int)]
-> [(GHC.Base.Int, GHC.Base.Int)]
-> [(GHC.Base.Int, GHC.Base.Int)]
-> [GHC.Base.Int]
-> GHC.Prim.Int#
-> GHC.Prim.Int#
-> (# [Main.IR], [Main.IR], [Main.IR], GHC.Base.Int #)
[Arity 6
Str: DmdType SSSSLL]
$wloop_s1hr =
\ (w_s1cR :: [(GHC.Base.Int, GHC.Base.Int)])
(w1_s1cS :: [(GHC.Base.Int, GHC.Base.Int)])
(w2_s1cT :: [(GHC.Base.Int, GHC.Base.Int)])
(w3_s1cU :: [GHC.Base.Int])
(ww6_s1cZ :: GHC.Prim.Int#)
(ww7_s1d3 :: GHC.Prim.Int#) ->
case w_s1cR of wild31_X1H {
[] ->
case w1_s1cS of wild4_X1J {
[] ->
lvl1_r1na
`cast` (CoUnsafe Main.S (# [Main.IR], [Main.IR], [Main.IR], GHC.Base.Int #)
:: Main.S ~ (# [Main.IR], [Main.IR], [Main.IR], GHC.Base.Int #));
: c_afo ds2_dC4 ->
case w2_s1cT of wild5_X1N {
[] ->
lvl1_r1na
`cast` (CoUnsafe Main.S (# [Main.IR], [Main.IR], [Main.IR], GHC.Base.Int #)
:: Main.S ~ (# [Main.IR], [Main.IR], [Main.IR], GHC.Base.Int #));
: d_afp ds3_dC5 ->
case ds3_dC5 of wild6_X1R {
[] ->
lvl1_r1na
`cast` (CoUnsafe Main.S (# [Main.IR], [Main.IR], [Main.IR], GHC.Base.Int #)
:: Main.S ~ (# [Main.IR], [Main.IR], [Main.IR], GHC.Base.Int #));
: ds4_dC6 ds5_dC7 ->
case ds4_dC6 of wild7_X1V { (best_diag_afq, ds6_dC8) ->
case w3_s1cU of wild8_X1Z {
[] ->
lvl1_r1na
`cast` (CoUnsafe Main.S (# [Main.IR], [Main.IR], [Main.IR], GHC.Base.Int #)
:: Main.S ~ (# [Main.IR], [Main.IR], [Main.IR], GHC.Base.Int #));
: r_afr ds7_dC9 ->
case ww3_s1df of wild9_aQd { GHC.Base.I# x1_aQf ->
case r_afr of wild12_aLn { GHC.Base.I# y_aLp ->
let {
y1_aQj [ALWAYS Just L] :: GHC.Prim.Int#
[Str: DmdType]
y1_aQj = GHC.Prim.+# ww7_s1d3 y_aLp } in
let {
$w$j_s1hB :: GHC.Prim.Int#
-> (# [Main.IR], [Main.IR], [Main.IR], GHC.Base.Int #)
[Arity 1
Str: DmdType L]
$w$j_s1hB =
\ (ww8_s1cL :: GHC.Prim.Int#) ->
let {
$j1_s1ht :: GHC.Base.Int -> GHC.Prim.Int# -> GHC.Base.Int
[Arity 2
Str: DmdType LL]
$j1_s1ht =
\ (wild10_XSJ :: GHC.Base.Int) (x2_XSM :: GHC.Prim.Int#) ->
case best_anti_akS of wild13_XSQ { GHC.Base.I# y2_XSV ->
case GHC.Prim.<=# x2_XSM y2_XSV of wild21_aQl {
GHC.Base.False ->
case best_diag_afq of wild14_XSP { GHC.Base.I# y3_XSU ->
case GHC.Prim.<=# x2_XSM y3_XSU of wild22_XSG {
GHC.Base.False -> wild10_XSJ; GHC.Base.True -> wild14_XSP
}
};
GHC.Base.True ->
case best_diag_afq of wild14_XSP { GHC.Base.I# y3_XSU ->
case GHC.Prim.<=# y2_XSV y3_XSU of wild22_XSG {
GHC.Base.False -> wild13_XSQ; GHC.Base.True -> wild14_XSP
}
}
}
}
} in
case case GHC.Prim.<=# x1_aQf ww8_s1cL of wild21_aQl {
GHC.Base.False -> $j1_s1ht wild9_aQd x1_aQf;
GHC.Base.True -> $j1_s1ht (GHC.Base.I# ww8_s1cL) ww8_s1cL
}
of tpl6_X7p { GHC.Base.I# ipv_sZl ->
(# GHC.Base.:
@ Main.IR
(case c_afo of w4_X1dj { (ww9_s1cs, ww10_s1cw) ->
case ww9_s1cs of ww11_X1dr { GHC.Base.I# ww12_s1cu ->
case ww10_s1cw of ww13_X1dA { GHC.Base.I# ww14_s1cy ->
let {
y2_XTO [ALWAYS Just L] :: GHC.Prim.Int#
[Str: DmdType]
y2_XTO = GHC.Prim.+# ww14_s1cy y_aLp
} in
case GHC.Prim.<=# 0 y2_XTO of wild21_aQl {
GHC.Base.False ->
case GHC.Prim.<=# ww12_s1cu 0 of wild22_XRe {
GHC.Base.False -> (ww11_X1dr, lit_r1ng);
GHC.Base.True -> initIR_r98
};
GHC.Base.True ->
let {
wild13_s1hw :: GHC.Base.Int
[Str: DmdType m]
wild13_s1hw = GHC.Base.I# y2_XTO
} in
case GHC.Prim.<=# ww12_s1cu y2_XTO of wild22_XRf {
GHC.Base.False -> (ww11_X1dr, wild13_s1hw);
GHC.Base.True -> (wild13_s1hw, wild13_s1hw)
}
}
}
}
})
(GHC.Base.[] @ Main.IR),
GHC.Base.:
@ Main.IR
(case d_afp of w4_X1dj { (ww9_s1cs, ww10_s1cw) ->
case ww9_s1cs of ww11_X1dr { GHC.Base.I# ww12_s1cu ->
case ww10_s1cw of ww13_X1dA { GHC.Base.I# ww14_s1cy ->
let {
y2_XTO [ALWAYS Just L] :: GHC.Prim.Int#
[Str: DmdType]
y2_XTO = GHC.Prim.+# ww14_s1cy y_aLp
} in
case GHC.Prim.<=# 0 y2_XTO of wild21_aQl {
GHC.Base.False ->
case GHC.Prim.<=# ww12_s1cu 0 of wild22_XRe {
GHC.Base.False -> (ww11_X1dr, lit_r1ng);
GHC.Base.True -> initIR_r98
};
GHC.Base.True ->
let {
wild13_s1hz :: GHC.Base.Int
[Str: DmdType m]
wild13_s1hz = GHC.Base.I# y2_XTO
} in
case GHC.Prim.<=# ww12_s1cu y2_XTO of wild22_XRf {
GHC.Base.False -> (ww11_X1dr, wild13_s1hz);
GHC.Base.True -> (wild13_s1hz, wild13_s1hz)
}
}
}
}
})
(GHC.Base.[] @ Main.IR),
lvl3_r1ni,
tpl6_X7p #)
}
} in
case GHC.Prim.<=# 0 y1_aQj of wild21_aQl {
GHC.Base.False ->
case GHC.Prim.<=# ww6_s1cZ 0 of wild22_XRe {
GHC.Base.False -> $w$j_s1hB ww6_s1cZ; GHC.Base.True -> $w$j_s1hB 0
};
GHC.Base.True ->
case GHC.Prim.<=# ww6_s1cZ y1_aQj of wild22_XRf {
GHC.Base.False -> $w$j_s1hB ww6_s1cZ;
GHC.Base.True -> $w$j_s1hB y1_aQj
}
}
}
}
}
}
}
}
};
: a2_af9 as_afa ->
case w1_s1cS of wild4_X1L {
[] ->
lvl1_r1na
`cast` (CoUnsafe Main.S (# [Main.IR], [Main.IR], [Main.IR], GHC.Base.Int #)
:: Main.S ~ (# [Main.IR], [Main.IR], [Main.IR], GHC.Base.Int #));
: c_afb cs_afc ->
case w2_s1cT of wild5_X1P {
[] ->
lvl1_r1na
`cast` (CoUnsafe Main.S (# [Main.IR], [Main.IR], [Main.IR], GHC.Base.Int #)
:: Main.S ~ (# [Main.IR], [Main.IR], [Main.IR], GHC.Base.Int #));
: d_afd ds2_afe ->
case w3_s1cU of wild6_X1T {
[] ->
lvl1_r1na
`cast` (CoUnsafe Main.S (# [Main.IR], [Main.IR], [Main.IR], GHC.Base.Int #)
:: Main.S ~ (# [Main.IR], [Main.IR], [Main.IR], GHC.Base.Int #));
: r_aff rs_afg ->
case c_afb of wild7_X44 { (best_afv, cur_afw) ->
case best_afv of wild8_aQd { GHC.Base.I# x1_aQf ->
case cur_afw of wild9_aLj { GHC.Base.I# x2_aLl ->
case r_aff of wild12_aLn { GHC.Base.I# y_aLp ->
let {
y1_aQj [ALWAYS Just L] :: GHC.Prim.Int#
[Str: DmdType]
y1_aQj = GHC.Prim.+# x2_aLl y_aLp
} in
case case GHC.Prim.<=# 0 y1_aQj of wild21_aQl {
GHC.Base.False ->
case GHC.Prim.<=# x1_aQf 0 of wild22_XRe {
GHC.Base.False -> (wild8_aQd, lit_r1ng); GHC.Base.True -> initIR_r98
};
GHC.Base.True ->
let {
wild13_s1hE :: GHC.Base.Int
[Str: DmdType m]
wild13_s1hE = GHC.Base.I# y1_aQj
} in
case GHC.Prim.<=# x1_aQf y1_aQj of wild22_XRf {
GHC.Base.False -> (wild8_aQd, wild13_s1hE);
GHC.Base.True -> (wild13_s1hE, wild13_s1hE)
}
}
of tpl6_X23 { (ipv_sZo, ipv1_sZp) ->
case d_afd of wild10_X1W { (best1_Xht, cur1_Xhv) ->
case best1_Xht of wild111_XSe { GHC.Base.I# x3_XSj ->
case cur1_Xhv of wild121_XNp { GHC.Base.I# x4_XNu ->
let {
y2_XSw [ALWAYS Just L] :: GHC.Prim.Int#
[Str: DmdType]
y2_XSw = GHC.Prim.+# x4_XNu y_aLp
} in
case case GHC.Prim.<=# 0 y2_XSw of wild21_aQl {
GHC.Base.False ->
case GHC.Prim.<=# x3_XSj 0 of wild22_XRe {
GHC.Base.False -> (wild111_XSe, lit_r1ng);
GHC.Base.True -> initIR_r98
};
GHC.Base.True ->
let {
wild13_s1hH :: GHC.Base.Int
[Str: DmdType m]
wild13_s1hH = GHC.Base.I# y2_XSw
} in
case GHC.Prim.<=# x3_XSj y2_XSw of wild22_XRf {
GHC.Base.False -> (wild111_XSe, wild13_s1hH);
GHC.Base.True -> (wild13_s1hH, wild13_s1hH)
}
}
of tpl7_X2a { (ipv2_sZu, ipv3_sZv) ->
case a2_af9 of wild13_X2k { (best2_XhR, cur2_XhT) ->
case best2_XhR of wild14_XSC { GHC.Base.I# x5_XSH ->
case cur2_XhT of wild15_XNN { GHC.Base.I# x6_XNS ->
let {
y3_XSU [ALWAYS Just L] :: GHC.Prim.Int#
[Str: DmdType]
y3_XSU = GHC.Prim.+# x6_XNS y_aLp
} in
case case GHC.Prim.<=# 0 y3_XSU of wild21_aQl {
GHC.Base.False ->
case GHC.Prim.<=# x5_XSH 0 of wild22_XRe {
GHC.Base.False -> (wild14_XSC, lit_r1ng);
GHC.Base.True -> initIR_r98
};
GHC.Base.True ->
let {
wild131_s1hK :: GHC.Base.Int
[Str: DmdType m]
wild131_s1hK = GHC.Base.I# y3_XSU
} in
case GHC.Prim.<=# x5_XSH y3_XSU of wild22_XRf {
GHC.Base.False -> (wild14_XSC, wild131_s1hK);
GHC.Base.True -> (wild131_s1hK, wild131_s1hK)
}
}
of tpl8_X2h { (ipv4_sZA, ipv5_sZB) ->
let {
y4_XU9 [ALWAYS Just L] :: GHC.Prim.Int#
[Str: DmdType]
y4_XU9 = GHC.Prim.+# ww7_s1d3 y_aLp } in
let {
$j1_s1hM :: GHC.Base.Int
-> GHC.Base.Int
-> (# [Main.IR], [Main.IR], [Main.IR], GHC.Base.Int #)
[Arity 2]
$j1_s1hM =
\ (ww8_s1cX :: GHC.Base.Int) (ww9_s1d1 :: GHC.Base.Int) ->
case ww8_s1cX of ww10_X1f2 { GHC.Base.I# ww11_X1gZ ->
case ww9_s1d1 of ww12_X1fb { GHC.Base.I# ww13_X1h8 ->
case $wloop_s1hr as_afa cs_afc ds2_afe rs_afg ww11_X1gZ ww13_X1h8
of ww14_s1eh { (# ww15_s1ej, ww16_s1ek, ww17_s1el, ww18_s1em #) ->
case ww18_s1em of tpl9_X2z { GHC.Base.I# ipv6_sZG ->
(# GHC.Base.: @ Main.IR tpl6_X23 ww15_s1ej,
GHC.Base.: @ Main.IR tpl7_X2a ww16_s1ek,
GHC.Base.: @ Main.IR tpl8_X2h ww17_s1el,
tpl9_X2z #)
}
}
}
}
} in
case GHC.Prim.<=# 0 y4_XU9 of wild21_aQl {
GHC.Base.False ->
case GHC.Prim.<=# ww6_s1cZ 0 of wild22_XRe {
GHC.Base.False -> $j1_s1hM (GHC.Base.I# ww6_s1cZ) lit_r1ng;
GHC.Base.True -> $j1_s1hM lit_r1ng lit_r1ng
};
GHC.Base.True ->
let {
wild131_s1hO :: GHC.Base.Int
[Str: DmdType m]
wild131_s1hO = GHC.Base.I# y4_XU9
} in
case GHC.Prim.<=# ww6_s1cZ y4_XU9 of wild22_XRf {
GHC.Base.False -> $j1_s1hM (GHC.Base.I# ww6_s1cZ) wild131_s1hO;
GHC.Base.True -> $j1_s1hM wild131_s1hO wild131_s1hO
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
};
} in
case $wloop_s1hr
antis_akU
ww_s1dc
(GHC.Base.: @ (GHC.Base.Int, GHC.Base.Int) initIR_r98 ww1_s1dd)
x_aMC
0
0
of ww6_s1eh { (# ww7_s1ej, ww8_s1ek, ww9_s1el, ww10_s1em #) ->
$wloop_foldl'_r1nY
ww7_s1ej
ww8_s1ek
ww9_s1el
ww10_s1em
(GHC.Prim.-# ww4_s1dn 1)
(Data.Stream.L @ [[GHC.Base.Int]] xs_aMD)
}
}
}
}
};
GHC.Base.True -> (# ww_s1dc, ww1_s1dd, ww2_s1de, ww3_s1df #)
}
end Rec }
lvl8_r1o0 :: [[GHC.Base.Int]]
[GlobalId]
[]
lvl8_r1o0 = groups1_r1ne problemN_r94 $sunfold_unstream4_r1nP
lvl9_r1o2 :: Data.Stream.L [[GHC.Base.Int]]
[GlobalId]
[]
lvl9_r1o2 = Data.Stream.L @ [[GHC.Base.Int]] lvl8_r1o0
Main.lvl10 :: GHC.Base.String
[GlobalId]
[]
Main.lvl10 =
case Data.List.Stream.$wreplicate @ (GHC.Base.Int, GHC.Base.Int) 2000 initIR_r98
of tpl6_X1j { __DEFAULT ->
case $wloop_foldl'_r1nY tpl6_X1j tpl6_X1j tpl6_X1j lit_r1ng 2000 lvl9_r1o2
of ww_s1e9 { (# ww1_s1eb, ww2_s1ec, ww3_s1ed, ww4_s1ee #) ->
case ww4_s1ee of w_X1fL { GHC.Base.I# ww5_s1dU ->
__letrec {
$s$wloop_foldl'_s1kA :: GHC.Prim.Int#
-> [(GHC.Base.Int, GHC.Base.Int)]
-> GHC.Prim.Int#
[Arity 2]
$s$wloop_foldl'_s1kA =
\ (ww6_X1fs :: GHC.Prim.Int#) (ds1_a19g :: [(GHC.Base.Int, GHC.Base.Int)]) ->
case ds1_a19g of wild1_aMz {
[] -> ww6_X1fs;
: x_aMC xs_aMD ->
case x_aMC of w1_X1fz { (ww7_s1dy, ww8_s1dC) ->
case ww7_s1dy of ww9_X1fH { GHC.Base.I# ww10_s1dA ->
case GHC.Prim.<=# ww6_X1fs ww10_s1dA of wild2_aQl {
GHC.Base.False -> $s$wloop_foldl'_s1kA ww6_X1fs xs_aMD;
GHC.Base.True -> $s$wloop_foldl'_s1kA ww10_s1dA xs_aMD
}
}
}
};
} in
let {
$s$wloop_foldl'1_s1ku :: GHC.Prim.Int# -> GHC.Prim.Int#
[Arity 1]
$s$wloop_foldl'1_s1ku =
\ (ww6_X1fs :: GHC.Prim.Int#) ->
case ww3_s1ed of wild1_aMz {
[] -> ww6_X1fs;
: x_aMC xs_aMD ->
case x_aMC of w1_X1fz { (ww7_s1dy, ww8_s1dC) ->
case ww7_s1dy of ww9_X1fH { GHC.Base.I# ww10_s1dA ->
case GHC.Prim.<=# ww6_X1fs ww10_s1dA of wild2_aQl {
GHC.Base.False -> $s$wloop_foldl'_s1kA ww6_X1fs xs_aMD;
GHC.Base.True -> $s$wloop_foldl'_s1kA ww10_s1dA xs_aMD
}
}
}
} } in
__letrec {
$s$wloop_foldl'2_s1ky :: GHC.Prim.Int#
-> [(GHC.Base.Int, GHC.Base.Int)]
-> GHC.Prim.Int#
[Arity 2]
$s$wloop_foldl'2_s1ky =
\ (ww6_X1fs :: GHC.Prim.Int#) (ds1_a19g :: [(GHC.Base.Int, GHC.Base.Int)]) ->
case ds1_a19g of wild1_aMz {
[] -> $s$wloop_foldl'1_s1ku ww6_X1fs;
: x_aMC xs_aMD ->
case x_aMC of w1_X1fz { (ww7_s1dy, ww8_s1dC) ->
case ww7_s1dy of ww9_X1fH { GHC.Base.I# ww10_s1dA ->
case GHC.Prim.<=# ww6_X1fs ww10_s1dA of wild2_aQl {
GHC.Base.False -> $s$wloop_foldl'2_s1ky ww6_X1fs xs_aMD;
GHC.Base.True -> $s$wloop_foldl'2_s1ky ww10_s1dA xs_aMD
}
}
}
};
} in
__letrec {
$s$wloop_foldl'3_s1kw :: GHC.Prim.Int#
-> [(GHC.Base.Int, GHC.Base.Int)]
-> GHC.Prim.Int#
[Arity 2]
$s$wloop_foldl'3_s1kw =
\ (ww6_X1fs :: GHC.Prim.Int#) (ds1_a19g :: [(GHC.Base.Int, GHC.Base.Int)]) ->
case ds1_a19g of wild1_aMz {
[] ->
case ww2_s1ec of wild11_XOd {
[] -> $s$wloop_foldl'1_s1ku ww6_X1fs;
: x_aMC xs_aMD ->
case x_aMC of w1_X1fz { (ww7_s1dy, ww8_s1dC) ->
case ww7_s1dy of ww9_X1fH { GHC.Base.I# ww10_s1dA ->
case GHC.Prim.<=# ww6_X1fs ww10_s1dA of wild2_aQl {
GHC.Base.False -> $s$wloop_foldl'2_s1ky ww6_X1fs xs_aMD;
GHC.Base.True -> $s$wloop_foldl'2_s1ky ww10_s1dA xs_aMD
}
}
}
};
: x_aMC xs_aMD ->
case x_aMC of w1_X1fz { (ww7_s1dy, ww8_s1dC) ->
case ww7_s1dy of ww9_X1fH { GHC.Base.I# ww10_s1dA ->
case GHC.Prim.<=# ww6_X1fs ww10_s1dA of wild2_aQl {
GHC.Base.False -> $s$wloop_foldl'3_s1kw ww6_X1fs xs_aMD;
GHC.Base.True -> $s$wloop_foldl'3_s1kw ww10_s1dA xs_aMD
}
}
}
};
} in
case $s$wloop_foldl'3_s1kw ww5_s1dU ww1_s1eb of ww6_s1e0 { __DEFAULT ->
GHC.Show.$wshowSignedInt 0 ww6_s1e0 (GHC.Base.[] @ GHC.Base.Char)
}
}
}
}
Main.lvl11 :: [GHC.Base.Char]
[GlobalId]
[]
Main.lvl11 = GHC.Base.unpackCString# "begin"
Main.a2 :: GHC.Prim.State# GHC.Prim.RealWorld
-> (# GHC.Prim.State# GHC.Prim.RealWorld, () #)
[GlobalId]
[Arity 1
Str: DmdType L]
Main.a2 =
\ (eta_aSy :: GHC.Prim.State# GHC.Prim.RealWorld) ->
case GHC.IO.a24 GHC.Handle.stdout Main.lvl11 eta_aSy
of wild_aYg { (# new_s_aYi, a59_aYj #) ->
case GHC.IO.$wa9 GHC.Handle.stdout '\n' new_s_aYi
of wild1_a11W { (# new_s1_a11Y, a591_a11Z #) ->
case GHC.IO.a24 GHC.Handle.stdout Main.lvl10 new_s1_a11Y
of wild2_aYz { (# new_s2_aYB, a592_aYC #) ->
GHC.IO.$wa9 GHC.Handle.stdout '\n' new_s2_aYB
}
}
}
Main.main :: GHC.IOBase.IO ()
[GlobalId]
[Arity 1
Str: DmdType L]
Main.main =
Main.a2
`cast` (sym ((GHC.IOBase.:CoIO) ())
:: GHC.Prim.State# GHC.Prim.RealWorld
-> (# GHC.Prim.State# GHC.Prim.RealWorld, () #)
~
GHC.IOBase.IO ())
Main.a3 :: GHC.Prim.State# GHC.Prim.RealWorld
-> (# GHC.Prim.State# GHC.Prim.RealWorld, () #)
[GlobalId]
[Arity 1
Str: DmdType L]
Main.a3 =
GHC.TopHandler.a7
@ ()
(Main.a2
`cast` (sym ((GHC.IOBase.:CoIO) ())
:: GHC.Prim.State# GHC.Prim.RealWorld
-> (# GHC.Prim.State# GHC.Prim.RealWorld, () #)
~
GHC.IOBase.IO ()))
:Main.main :: GHC.IOBase.IO ()
[GlobalId]
[Arity 1
Str: DmdType L]
:Main.main =
Main.a3
`cast` (sym ((GHC.IOBase.:CoIO) ())
:: GHC.Prim.State# GHC.Prim.RealWorld
-> (# GHC.Prim.State# GHC.Prim.RealWorld, () #)
~
GHC.IOBase.IO ())
==================== Tidy Core Rules ====================
More information about the Cvs-ghc
mailing list