Skip to content

Instantly share code, notes, and snippets.

@phma
Created August 30, 2023 07:02
Show Gist options
  • Save phma/04d8a493eb1d96e68739e4d989e51042 to your computer and use it in GitHub Desktop.
Save phma/04d8a493eb1d96e68739e4d989e51042 to your computer and use it in GitHub Desktop.
Core compiled from RotBitcount.hs
==================== Tidy Core ====================
Result size of Tidy Core
= {terms: 603, types: 295, coercions: 12, joins: 10/28}
-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
lvl_r2J5 :: Integer
[GblId, Unf=OtherCon []]
lvl_r2J5 = GHC.Num.Integer.IS 1#
-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
lvl1_r2J6 :: Integer
[GblId, Unf=OtherCon []]
lvl1_r2J6 = GHC.Num.Integer.IS 8#
-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
lvl2_r2J7 :: Int
[GblId, Unf=OtherCon []]
lvl2_r2J7 = ghc-prim:GHC.Types.I# -3#
-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
lvl3_r2J8 :: Integer
[GblId, Unf=OtherCon []]
lvl3_r2J8 = GHC.Num.Integer.IS 7#
-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
lvl4_r2J9 :: ghc-prim:GHC.Prim.Addr#
[GblId, Unf=OtherCon []]
lvl4_r2J9 = "error"#
-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
lvl5_r2Ja :: [Char]
[GblId]
lvl5_r2Ja = ghc-prim:GHC.CString.unpackCString# lvl4_r2J9
-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
lvl6_r2Jb :: ghc-prim:GHC.Prim.Addr#
[GblId, Unf=OtherCon []]
lvl6_r2Jb = "array-0.5.4.0"#
-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
lvl7_r2Jc :: [Char]
[GblId]
lvl7_r2Jc = ghc-prim:GHC.CString.unpackCString# lvl6_r2Jb
-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
lvl8_r2Jd :: ghc-prim:GHC.Prim.Addr#
[GblId, Unf=OtherCon []]
lvl8_r2Jd = "Data.Array.Base"#
-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
lvl9_r2Je :: [Char]
[GblId]
lvl9_r2Je = ghc-prim:GHC.CString.unpackCString# lvl8_r2Jd
-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
lvl10_r2Jf :: ghc-prim:GHC.Prim.Addr#
[GblId, Unf=OtherCon []]
lvl10_r2Jf = "libraries/array/Data/Array/Base.hs"#
-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
lvl11_r2Jg :: [Char]
[GblId]
lvl11_r2Jg = ghc-prim:GHC.CString.unpackCString# lvl10_r2Jf
-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
lvl12_r2Jh :: Int
[GblId, Unf=OtherCon []]
lvl12_r2Jh = ghc-prim:GHC.Types.I# 87#
-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
lvl13_r2Ji :: Int
[GblId, Unf=OtherCon []]
lvl13_r2Ji = ghc-prim:GHC.Types.I# 40#
-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
lvl14_r2Jj :: Int
[GblId, Unf=OtherCon []]
lvl14_r2Jj = ghc-prim:GHC.Types.I# 45#
-- RHS size: {terms: 8, types: 0, coercions: 0, joins: 0/0}
lvl15_r2Jk :: GHC.Stack.Types.SrcLoc
[GblId, Unf=OtherCon []]
lvl15_r2Jk
= GHC.Stack.Types.SrcLoc
lvl7_r2Jc
lvl9_r2Je
lvl11_r2Jg
lvl12_r2Jh
lvl13_r2Ji
lvl12_r2Jh
lvl14_r2Jj
-- RHS size: {terms: 4, types: 0, coercions: 0, joins: 0/0}
lvl16_r2Jl :: GHC.Stack.Types.CallStack
[GblId, Unf=OtherCon []]
lvl16_r2Jl
= GHC.Stack.Types.PushCallStack
lvl5_r2Ja lvl15_r2Jk GHC.Stack.Types.EmptyCallStack
-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
lvl17_r2Jm :: ghc-prim:GHC.Prim.Addr#
[GblId, Unf=OtherCon []]
lvl17_r2Jm = "Negative range size"#
-- RHS size: {terms: 4, types: 2, coercions: 4, joins: 0/0}
lvl18_r2Jn :: Int
[GblId, Str=b, Cpr=b]
lvl18_r2Jn
= error
@ghc-prim:GHC.Types.LiftedRep
@Int
(lvl16_r2Jl
`cast` (Sym (ghc-prim:GHC.Classes.N:IP[0]
<"callStack">_N <GHC.Stack.Types.CallStack>_N)
:: GHC.Stack.Types.CallStack
~R# (?callStack::GHC.Stack.Types.CallStack)))
(ghc-prim:GHC.CString.unpackCString# lvl17_r2Jm)
-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
lvl19_r2Jo :: Int
[GblId, Unf=OtherCon []]
lvl19_r2Jo = ghc-prim:GHC.Types.I# 95#
-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
lvl20_r2Jp :: Int
[GblId, Unf=OtherCon []]
lvl20_r2Jp = ghc-prim:GHC.Types.I# 31#
-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
lvl21_r2Jq :: Int
[GblId, Unf=OtherCon []]
lvl21_r2Jq = ghc-prim:GHC.Types.I# 36#
-- RHS size: {terms: 8, types: 0, coercions: 0, joins: 0/0}
lvl22_r2Jr :: GHC.Stack.Types.SrcLoc
[GblId, Unf=OtherCon []]
lvl22_r2Jr
= GHC.Stack.Types.SrcLoc
lvl7_r2Jc
lvl9_r2Je
lvl11_r2Jg
lvl19_r2Jo
lvl20_r2Jp
lvl19_r2Jo
lvl21_r2Jq
-- RHS size: {terms: 4, types: 0, coercions: 0, joins: 0/0}
lvl23_r2Js :: GHC.Stack.Types.CallStack
[GblId, Unf=OtherCon []]
lvl23_r2Js
= GHC.Stack.Types.PushCallStack
lvl5_r2Ja lvl22_r2Jr GHC.Stack.Types.EmptyCallStack
-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
lvl24_r2Jt :: ghc-prim:GHC.Prim.Addr#
[GblId, Unf=OtherCon []]
lvl24_r2Jt = "Error in array index; "#
-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
lvl25_r2Ju :: ghc-prim:GHC.Prim.Addr#
[GblId, Unf=OtherCon []]
lvl25_r2Ju = " not in range [0.."#
-- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
lvl26_r2Jv :: ghc-prim:GHC.Prim.Addr#
[GblId, Unf=OtherCon []]
lvl26_r2Jv = ")"#
-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
lvl27_r2Jw :: Integer
[GblId, Unf=OtherCon []]
lvl27_r2Jw = GHC.Num.Integer.IS 0#
-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
lvl28_r2Jx :: [Char]
[GblId]
lvl28_r2Jx = ghc-prim:GHC.CString.unpackCString# lvl26_r2Jv
-- RHS size: {terms: 17, types: 8, coercions: 4, joins: 0/0}
lvl29_r2Jy
:: ghc-prim:GHC.Prim.Int# -> ghc-prim:GHC.Prim.Int# -> Int
[GblId, Arity=2, Str=<S!S><S!S>b, Cpr=b, Unf=OtherCon []]
lvl29_r2Jy
= \ (y_X4 :: ghc-prim:GHC.Prim.Int#)
(bx_i2lA :: ghc-prim:GHC.Prim.Int#) ->
error
@ghc-prim:GHC.Types.LiftedRep
@Int
(lvl23_r2Js
`cast` (Sym (ghc-prim:GHC.Classes.N:IP[0]
<"callStack">_N <GHC.Stack.Types.CallStack>_N)
:: GHC.Stack.Types.CallStack
~R# (?callStack::GHC.Stack.Types.CallStack)))
(ghc-prim:GHC.CString.unpackAppendCString#
lvl24_r2Jt
(++
@Char
(GHC.Show.itos y_X4 (ghc-prim:GHC.Types.[] @Char))
(ghc-prim:GHC.CString.unpackAppendCString#
lvl25_r2Ju
(++
@Char
(GHC.Show.itos bx_i2lA (ghc-prim:GHC.Types.[] @Char))
lvl28_r2Jx))))
-- RHS size: {terms: 20, types: 10, coercions: 4, joins: 0/0}
lvl30_r2Jz :: ghc-prim:GHC.Prim.Int# -> Int -> Int
[GblId, Arity=2, Str=<S!S><1!S>b, Cpr=b, Unf=OtherCon []]
lvl30_r2Jz
= \ (y_i2GM :: ghc-prim:GHC.Prim.Int#) (n_s2Dn :: Int) ->
error
@ghc-prim:GHC.Types.LiftedRep
@Int
(lvl23_r2Js
`cast` (Sym (ghc-prim:GHC.Classes.N:IP[0]
<"callStack">_N <GHC.Stack.Types.CallStack>_N)
:: GHC.Stack.Types.CallStack
~R# (?callStack::GHC.Stack.Types.CallStack)))
(ghc-prim:GHC.CString.unpackAppendCString#
lvl24_r2Jt
(++
@Char
(GHC.Show.itos y_i2GM (ghc-prim:GHC.Types.[] @Char))
(ghc-prim:GHC.CString.unpackAppendCString#
lvl25_r2Ju
(case n_s2Dn of { ghc-prim:GHC.Types.I# n4_i2sO ->
++
@Char
(GHC.Show.itos n4_i2sO (ghc-prim:GHC.Types.[] @Char))
lvl28_r2Jx
}))))
-- RHS size: {terms: 452, types: 216, coercions: 0, joins: 10/28}
rotBitcount
:: forall a.
(Integral a, Ix a, Bits a) =>
UArray a Word8 -> a -> UArray a Word8
[GblId,
Arity=3,
Str=<LP(MP(MP(LCL(C1(L)),LCL(C1(L)),LCL(C1(L)),A,A,A,L),A,A),MP(A,A,A,A,A,A,LCL(C1(L)),A),A,A,A,LCL(C1(L)),A,A,L)><LP(A,A,LCL(C1(L)),A,A,L,A)><LP(A,LCL(C1(L)),A,A,A,LCL(C1(L)),A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A)>,
Unf=OtherCon []]
rotBitcount
= \ (@a_a2gt)
($dIntegral_a2gu :: Integral a_a2gt)
($dIx_a2gv :: Ix a_a2gt)
($dBits_a2gw :: Bits a_a2gt) ->
let {
$dNum_s2J4 [Dmd=MP(MP(LCL(C1(L)),LCL(C1(L)),LCL(C1(L)),A,A,A,L),A,A)]
:: Real a_a2gt
[LclId]
$dNum_s2J4 = GHC.Real.$p1Integral @a_a2gt $dIntegral_a2gu } in
let {
$dNum1_s2Dt [Dmd=LP(LCL(C1(L)),LCL(C1(L)),LCL(C1(L)),A,A,A,L)]
:: Num a_a2gt
[LclId]
$dNum1_s2Dt = GHC.Real.$p1Real @a_a2gt $dNum_s2J4 } in
let {
lvl31_s2Fz :: a_a2gt
[LclId]
lvl31_s2Fz = fromInteger @a_a2gt $dNum1_s2Dt lvl_r2J5 } in
let {
lvl32_s2DW :: a_a2gt
[LclId]
lvl32_s2DW = fromInteger @a_a2gt $dNum1_s2Dt lvl1_r2J6 } in
let {
lvl33_s2DZ :: a_a2gt
[LclId]
lvl33_s2DZ = fromInteger @a_a2gt $dNum1_s2Dt lvl3_r2J8 } in
let {
lvl34_s2Fx :: a_a2gt
[LclId]
lvl34_s2Fx = fromInteger @a_a2gt $dNum1_s2Dt lvl27_r2Jw } in
let {
$dEnum_s2Dv [Dmd=LP(A,A,A,A,A,A,LCL(C1(L)),A)] :: Enum a_a2gt
[LclId]
$dEnum_s2Dv = GHC.Real.$p2Integral @a_a2gt $dIntegral_a2gu } in
\ (src_a1Wv :: UArray a_a2gt Word8) (mult_a1Ww :: a_a2gt) ->
case src_a1Wv of
{ Data.Array.Base.UArray l_i2ly u_i2lz bx_i2lA ds2_i2lB ->
ghc-prim:GHC.Magic.runRW#
@ghc-prim:GHC.Types.LiftedRep
@(UArray a_a2gt Word8)
(\ (s_i2zN [OS=OneShot]
:: ghc-prim:GHC.Prim.State# ghc-prim:GHC.Prim.RealWorld) ->
let {
lvl35_s2J3 :: (a_a2gt, a_a2gt)
[LclId, Unf=OtherCon []]
lvl35_s2J3 = (l_i2ly, u_i2lz) } in
case rangeSize @a_a2gt $dIx_a2gv lvl35_s2J3 of wild1_i2zS
{ ghc-prim:GHC.Types.I# n#_i2zT ->
case ghc-prim:GHC.Prim.newByteArray#
@ghc-prim:GHC.Prim.RealWorld n#_i2zT s_i2zN
of
{ (# ipv_i2zX, ipv1_i2zY #) ->
case ghc-prim:GHC.Prim.<# n#_i2zT 0# of {
__DEFAULT ->
let {
y_i2GZ :: ghc-prim:GHC.Prim.Int#
[LclId]
y_i2GZ = ghc-prim:GHC.Prim.-# n#_i2zT 1# } in
join {
$w$j_s2I9 [InlPrag=[2], Dmd=SCS(L)]
:: ghc-prim:GHC.Prim.State# ghc-prim:GHC.Prim.RealWorld
-> UArray a_a2gt Word8
[LclId[JoinId(1)(Nothing)], Arity=1, Str=<L>]
$w$j_s2I9 (ipv2_s2I6 [OS=OneShot]
:: ghc-prim:GHC.Prim.State# ghc-prim:GHC.Prim.RealWorld)
= let {
n_s2Dn :: Int
[LclId]
n_s2Dn
= case ghc-prim:GHC.Prim.<# n#_i2zT 0# of {
__DEFAULT -> wild1_i2zS;
1# -> lvl18_r2Jn
} } in
let {
len_s2Dr :: a_a2gt
[LclId]
len_s2Dr = + @a_a2gt $dNum1_s2Dt u_i2lz lvl31_s2Fz } in
let {
rotcount_s2Dq :: a_a2gt
[LclId]
rotcount_s2Dq
= mod
@a_a2gt
$dIntegral_a2gu
(* @a_a2gt
$dNum1_s2Dt
(fromInteger
@a_a2gt
$dNum1_s2Dt
(let {
y1_X6 :: ghc-prim:GHC.Prim.Int#
[LclId]
y1_X6 = ghc-prim:GHC.Prim.-# bx_i2lA 1# } in
case ghc-prim:GHC.Prim.># 0# y1_X6 of {
__DEFAULT ->
join {
exit_X7 [Dmd=SCS(C1(L))]
:: ghc-prim:GHC.Prim.Int#
-> ghc-prim:GHC.Prim.Int# -> Integer
[LclId[JoinId(2)(Nothing)], Arity=2, Str=<L><L>]
exit_X7 (x_s2HG [OS=OneShot] :: ghc-prim:GHC.Prim.Int#)
(ww_s2HJ [OS=OneShot] :: ghc-prim:GHC.Prim.Int#)
= case ghc-prim:GHC.Prim.indexWord8Array#
ds2_i2lB x_s2HG
of wild2_i2rH
{ __DEFAULT ->
GHC.Num.Integer.IS
(ghc-prim:GHC.Prim.+#
ww_s2HJ
(ghc-prim:GHC.Prim.word2Int#
(ghc-prim:GHC.Prim.popCnt8#
(ghc-prim:GHC.Prim.word8ToWord#
wild2_i2rH))))
} } in
joinrec {
$wgo3_s2HM [InlPrag=[2],
Occ=LoopBreaker,
Dmd=SCS(C1(L))]
:: ghc-prim:GHC.Prim.Int#
-> ghc-prim:GHC.Prim.Int# -> Integer
[LclId[JoinId(2)(Nothing)],
Arity=2,
Str=<L><L>,
Unf=OtherCon []]
$wgo3_s2HM (x_s2HG :: ghc-prim:GHC.Prim.Int#)
(ww_s2HJ :: ghc-prim:GHC.Prim.Int#)
= case ghc-prim:GHC.Prim.==# x_s2HG y1_X6 of {
__DEFAULT ->
case ghc-prim:GHC.Prim.indexWord8Array#
ds2_i2lB x_s2HG
of wild2_i2rH
{ __DEFAULT ->
jump $wgo3_s2HM
(ghc-prim:GHC.Prim.+# x_s2HG 1#)
(ghc-prim:GHC.Prim.+#
ww_s2HJ
(ghc-prim:GHC.Prim.word2Int#
(ghc-prim:GHC.Prim.popCnt8#
(ghc-prim:GHC.Prim.word8ToWord#
wild2_i2rH))))
};
1# -> jump exit_X7 x_s2HG ww_s2HJ
}; } in
jump $wgo3_s2HM 0# 0#;
1# -> lvl27_r2Jw
}))
(mod
@a_a2gt
$dIntegral_a2gu
mult_a1Ww
(* @a_a2gt $dNum1_s2Dt len_s2Dr lvl32_s2DW)))
(* @a_a2gt $dNum1_s2Dt len_s2Dr lvl32_s2DW) } in
let {
byte_s2Dp :: a_a2gt
[LclId]
byte_s2Dp = shift @a_a2gt $dBits_a2gw rotcount_s2Dq lvl2_r2J7 } in
let {
bit_s2Do :: Int
[LclId]
bit_s2Do
= case GHC.Num.Integer.integerToInt#
(toInteger
@a_a2gt
$dIntegral_a2gu
(.&. @a_a2gt $dBits_a2gw rotcount_s2Dq lvl33_s2DZ))
of wild2_i2mE
{ __DEFAULT ->
ghc-prim:GHC.Types.I# wild2_i2mE
} } in
join {
exit_X1 [Dmd=SCS(L)]
:: ghc-prim:GHC.Prim.State# ghc-prim:GHC.Prim.RealWorld
-> UArray a_a2gt Word8
[LclId[JoinId(1)(Nothing)], Arity=1, Str=<L>]
exit_X1 (eta_B0 [OS=OneShot]
:: ghc-prim:GHC.Prim.State# ghc-prim:GHC.Prim.RealWorld)
= case ghc-prim:GHC.Prim.unsafeFreezeByteArray#
@ghc-prim:GHC.Prim.RealWorld ipv1_i2zY eta_B0
of
{ (# ipv6_i2BF, ipv7_i2BG #) ->
Data.Array.Base.UArray
@a_a2gt @Word8 l_i2ly u_i2lz n#_i2zT ipv7_i2BG
} } in
join {
exit1_X2 :: ghc-prim:GHC.Prim.Int# -> UArray a_a2gt Word8
[LclId[JoinId(1)(Nothing)], Arity=1, Str=<S!S>b]
exit1_X2 (y1_i2GM [OS=OneShot] :: ghc-prim:GHC.Prim.Int#)
= case lvl30_r2Jz y1_i2GM n_s2Dn of wild2_00 { } } in
join {
exit2_X3 :: ghc-prim:GHC.Prim.Int# -> UArray a_a2gt Word8
[LclId[JoinId(1)(Nothing)], Arity=1, Str=<S!S>b]
exit2_X3 (y1_X4 [OS=OneShot] :: ghc-prim:GHC.Prim.Int#)
= case lvl29_r2Jy y1_X4 bx_i2lA of wild2_00 { } } in
join {
exit3_X5 :: ghc-prim:GHC.Prim.Int# -> UArray a_a2gt Word8
[LclId[JoinId(1)(Nothing)], Arity=1, Str=<S!S>b]
exit3_X5 (y1_X4 [OS=OneShot] :: ghc-prim:GHC.Prim.Int#)
= case lvl29_r2Jy y1_X4 bx_i2lA of wild2_00 { } } in
joinrec {
go1_s2Hv [Occ=LoopBreaker, Dmd=SCS(C1(L))]
:: [a_a2gt]
-> ghc-prim:GHC.Prim.State# ghc-prim:GHC.Prim.RealWorld
-> UArray a_a2gt Word8
[LclId[JoinId(2)(Just [!])], Arity=2, Str=<1L><L>, Unf=OtherCon []]
go1_s2Hv (ds_i2Ho :: [a_a2gt])
(eta_B0 [OS=OneShot]
:: ghc-prim:GHC.Prim.State# ghc-prim:GHC.Prim.RealWorld)
= case ds_i2Ho of {
[] -> jump exit_X1 eta_B0;
: y1_i2Hr ys_i2Hs ->
case index @a_a2gt $dIx_a2gv lvl35_s2J3 y1_i2Hr of
{ ghc-prim:GHC.Types.I# y2_i2GM ->
case ghc-prim:GHC.Prim.<=# 0# y2_i2GM of {
__DEFAULT -> jump exit1_X2 y2_i2GM;
1# ->
case n_s2Dn of { ghc-prim:GHC.Types.I# y3_i2Gp ->
case ghc-prim:GHC.Prim.<# y2_i2GM y3_i2Gp of {
__DEFAULT -> jump exit1_X2 y2_i2GM;
1# ->
case index
@a_a2gt
$dIx_a2gv
lvl35_s2J3
(mod
@a_a2gt
$dIntegral_a2gu
(- @a_a2gt
$dNum1_s2Dt
(+ @a_a2gt $dNum1_s2Dt y1_i2Hr len_s2Dr)
byte_s2Dp)
len_s2Dr)
of
{ ghc-prim:GHC.Types.I# y4_X7 ->
case ghc-prim:GHC.Prim.<=# 0# y4_X7 of {
__DEFAULT -> jump exit2_X3 y4_X7;
1# ->
case ghc-prim:GHC.Prim.<# y4_X7 bx_i2lA of {
__DEFAULT -> jump exit2_X3 y4_X7;
1# ->
case ghc-prim:GHC.Prim.indexWord8Array#
ds2_i2lB y4_X7
of wild6_i2rH
{ __DEFAULT ->
case bit_s2Do of { ghc-prim:GHC.Types.I# i#_i2Ci ->
join {
$j_s2FX [Dmd=1C1(L)]
:: ghc-prim:GHC.Prim.Word8#
-> UArray a_a2gt Word8
[LclId[JoinId(1)(Nothing)],
Arity=1,
Str=<L>,
Unf=OtherCon []]
$j_s2FX (x#_i2C7 [OS=OneShot]
:: ghc-prim:GHC.Prim.Word8#)
= case index
@a_a2gt
$dIx_a2gv
lvl35_s2J3
(mod
@a_a2gt
$dIntegral_a2gu
(- @a_a2gt
$dNum1_s2Dt
(- @a_a2gt
$dNum1_s2Dt
(+ @a_a2gt
$dNum1_s2Dt
y1_i2Hr
len_s2Dr)
byte_s2Dp)
lvl31_s2Fz)
len_s2Dr)
of
{ ghc-prim:GHC.Types.I# y5_X4 ->
case ghc-prim:GHC.Prim.<=# 0# y5_X4 of {
__DEFAULT -> jump exit3_X5 y5_X4;
1# ->
case ghc-prim:GHC.Prim.<# y5_X4 bx_i2lA
of {
__DEFAULT -> jump exit3_X5 y5_X4;
1# ->
case ghc-prim:GHC.Prim.indexWord8Array#
ds2_i2lB y5_X4
of wild9_Xj
{ __DEFAULT ->
let {
i#1_s2DJ :: ghc-prim:GHC.Prim.Int#
[LclId]
i#1_s2DJ
= ghc-prim:GHC.Prim.-#
i#_i2Ci 8# } in
case ghc-prim:GHC.Prim.>=#
i#1_s2DJ 0#
of {
__DEFAULT ->
let {
b_s2DI
:: ghc-prim:GHC.Prim.Int#
[LclId]
b_s2DI
= ghc-prim:GHC.Prim.negateInt#
i#1_s2DJ } in
case ghc-prim:GHC.Prim.writeWord8Array#
@ghc-prim:GHC.Prim.RealWorld
ipv1_i2zY
y2_i2GM
(ghc-prim:GHC.Prim.wordToWord8#
(ghc-prim:GHC.Prim.or#
(ghc-prim:GHC.Prim.word8ToWord#
x#_i2C7)
(ghc-prim:GHC.Prim.and#
(ghc-prim:GHC.Prim.and#
(ghc-prim:GHC.Prim.uncheckedShiftRL#
(ghc-prim:GHC.Prim.word8ToWord#
wild9_Xj)
b_s2DI)
(ghc-prim:GHC.Prim.int2Word#
(ghc-prim:GHC.Prim.negateInt#
(ghc-prim:GHC.Prim.<#
b_s2DI
64#))))
255##)))
eta_B0
of s2#_i2Bw
{ __DEFAULT ->
jump go1_s2Hv ys_i2Hs s2#_i2Bw
};
1# ->
case ghc-prim:GHC.Prim.writeWord8Array#
@ghc-prim:GHC.Prim.RealWorld
ipv1_i2zY
y2_i2GM
(ghc-prim:GHC.Prim.wordToWord8#
(ghc-prim:GHC.Prim.or#
(ghc-prim:GHC.Prim.word8ToWord#
x#_i2C7)
(ghc-prim:GHC.Prim.and#
(ghc-prim:GHC.Prim.and#
(ghc-prim:GHC.Prim.uncheckedShiftL#
(ghc-prim:GHC.Prim.word8ToWord#
wild9_Xj)
i#1_s2DJ)
(ghc-prim:GHC.Prim.int2Word#
(ghc-prim:GHC.Prim.negateInt#
(ghc-prim:GHC.Prim.<#
i#1_s2DJ
64#))))
255##)))
eta_B0
of s2#_i2Bw
{ __DEFAULT ->
jump go1_s2Hv ys_i2Hs s2#_i2Bw
}
}
}
}
}
} } in
case ghc-prim:GHC.Prim.>=# i#_i2Ci 0# of {
__DEFAULT ->
let {
b_s2DB :: ghc-prim:GHC.Prim.Int#
[LclId]
b_s2DB
= ghc-prim:GHC.Prim.negateInt# i#_i2Ci } in
jump $j_s2FX
(ghc-prim:GHC.Prim.wordToWord8#
(ghc-prim:GHC.Prim.and#
(ghc-prim:GHC.Prim.uncheckedShiftRL#
(ghc-prim:GHC.Prim.word8ToWord#
wild6_i2rH)
b_s2DB)
(ghc-prim:GHC.Prim.int2Word#
(ghc-prim:GHC.Prim.negateInt#
(ghc-prim:GHC.Prim.<#
b_s2DB 64#)))));
1# ->
jump $j_s2FX
(ghc-prim:GHC.Prim.wordToWord8#
(ghc-prim:GHC.Prim.and#
(ghc-prim:GHC.Prim.uncheckedShiftL#
(ghc-prim:GHC.Prim.word8ToWord#
wild6_i2rH)
i#_i2Ci)
(ghc-prim:GHC.Prim.int2Word#
(ghc-prim:GHC.Prim.negateInt#
(ghc-prim:GHC.Prim.<#
i#_i2Ci 64#)))))
}
}
}
}
}
}
}
}
}
}
}; } in
jump go1_s2Hv
(enumFromTo
@a_a2gt
$dEnum_s2Dv
lvl34_s2Fx
(- @a_a2gt $dNum1_s2Dt len_s2Dr lvl31_s2Fz))
ipv2_s2I6 } in
case ghc-prim:GHC.Prim.># 0# y_i2GZ of {
__DEFAULT ->
joinrec {
go3_s2Hx [Occ=LoopBreaker, Dmd=SCS(C1(L))]
:: ghc-prim:GHC.Prim.Int#
-> ghc-prim:GHC.Prim.State# ghc-prim:GHC.Prim.RealWorld
-> UArray a_a2gt Word8
[LclId[JoinId(2)(Nothing)], Arity=2, Str=<L><L>, Unf=OtherCon []]
go3_s2Hx (x_i2H2 :: ghc-prim:GHC.Prim.Int#)
(s1_i2AY :: ghc-prim:GHC.Prim.State# ghc-prim:GHC.Prim.RealWorld)
= case ghc-prim:GHC.Prim.writeWord8Array#
@ghc-prim:GHC.Prim.RealWorld ipv1_i2zY x_i2H2 0##8 s1_i2AY
of s2#_i2B9
{ __DEFAULT ->
case ghc-prim:GHC.Prim.==# x_i2H2 y_i2GZ of {
__DEFAULT ->
jump go3_s2Hx (ghc-prim:GHC.Prim.+# x_i2H2 1#) s2#_i2B9;
1# -> jump $w$j_s2I9 s2#_i2B9
}
}; } in
jump go3_s2Hx 0# ipv_i2zX;
1# -> jump $w$j_s2I9 ipv_i2zX
};
1# -> case lvl18_r2Jn of wild2_00 { }
}
}
})
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment