Skip to content

Instantly share code, notes, and snippets.

@bgamari
Last active August 29, 2015 14:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bgamari/091e3dac9c45ee9accf1 to your computer and use it in GitHub Desktop.
Save bgamari/091e3dac9c45ee9accf1 to your computer and use it in GitHub Desktop.
Main.main_$s$wa [Occ=LoopBreaker]
:: forall r_aRc1.
GHC.Prim.Word#
-> GHC.Prim.Int#
-> (Data.ByteString.Builder.Internal.BufferRange
-> GHC.Types.IO
(Data.ByteString.Builder.Internal.BuildSignal r_aRc1))
-> GHC.Prim.Addr#
-> GHC.Prim.Addr#
-> GHC.Prim.State# GHC.Prim.RealWorld
-> (# GHC.Prim.State# GHC.Prim.RealWorld,
Data.ByteString.Builder.Internal.BuildSignal r_aRc1 #)
[GblId,
Arity=6,
Caf=NoCafRefs,
Str=DmdType <L,U><S,1*U><L,C(C1(U(U,U)))><L,U><L,U><L,U>,
Unf=OtherCon []]
Main.main_$s$wa =
\ (@ r_aRc1)
(sc_s1aqv :: GHC.Prim.Word#)
(sc1_s1aqw [Occ=Once!] :: GHC.Prim.Int#)
(sc2_s1aqx [Occ=OnceL*]
:: Data.ByteString.Builder.Internal.BufferRange
-> GHC.Types.IO
(Data.ByteString.Builder.Internal.BuildSignal r_aRc1))
(sc3_s1aqy :: GHC.Prim.Addr#)
(sc4_s1aqz :: GHC.Prim.Addr#)
(sc5_s1aqA [Occ=Once*, OS=OneShot]
:: GHC.Prim.State# GHC.Prim.RealWorld) ->
case sc1_s1aqw of wild_s1aqB {
__DEFAULT ->
case GHC.Prim.plusWord# sc_s1aqv (__word 15)
of sat_s1aqD { __DEFAULT ->
case GHC.Prim.narrow8Word# sat_s1aqD of a_s1aqC { __DEFAULT ->
case GHC.Prim.plusWord# sc_s1aqv (__word 16)
of sat_s1aqF { __DEFAULT ->
case GHC.Prim.narrow8Word# sat_s1aqF of a1_s1aqE { __DEFAULT ->
case GHC.Prim.-# wild_s1aqB 16 of a2_s1aqG { __DEFAULT ->
case GHC.Prim.minusAddr# sc4_s1aqz sc3_s1aqy
of sat_s1aqH { __DEFAULT ->
case GHC.Prim.<# sat_s1aqH 1 of sat_s1aqI { __DEFAULT ->
case GHC.Prim.tagToEnum# @ GHC.Types.Bool sat_s1aqI
of _ [Occ=Dead] {
GHC.Types.False ->
case GHC.Prim.writeWord8OffAddr#
@ GHC.Prim.RealWorld sc3_s1aqy 0 a_s1aqC sc5_s1aqA
of s2_s1aqK [OS=OneShot] { __DEFAULT ->
case GHC.Prim.plusAddr# sc3_s1aqy 1 of sat_s1aqL { __DEFAULT ->
Main.main_$s$wa
@ r_aRc1 a1_s1aqE a2_s1aqG sc2_s1aqx sat_s1aqL sc4_s1aqz s2_s1aqK
}
};
GHC.Types.True ->
let {
sat_s1aqT [Occ=Once]
:: Data.ByteString.Builder.Internal.BuildStep r_aRc1
[LclId, Str=DmdType]
sat_s1aqT =
(\ (ds_s1aqM [Occ=Once!]
:: Data.ByteString.Builder.Internal.BufferRange)
(eta3_s1aqN [Occ=Once, OS=OneShot]
:: GHC.Prim.State# GHC.Prim.RealWorld) ->
case ds_s1aqM
of _ [Occ=Dead]
{ Data.ByteString.Builder.Internal.BufferRange dt3_s1aqP
dt4_s1aqQ [Occ=Once] ->
case GHC.Prim.writeWord8OffAddr#
@ GHC.Prim.RealWorld dt3_s1aqP 0 a_s1aqC eta3_s1aqN
of s2_s1aqR [OS=OneShot] { __DEFAULT ->
case GHC.Prim.plusAddr# dt3_s1aqP 1 of sat_s1aqS { __DEFAULT ->
Main.main_$s$wa
@ r_aRc1 a1_s1aqE a2_s1aqG sc2_s1aqx sat_s1aqS dt4_s1aqQ s2_s1aqR
}
}
})
`cast` ... } in
let {
sat_s1aqU [Occ=Once]
:: Data.ByteString.Builder.Internal.BuildSignal r_aRc1
[LclId, Str=DmdType]
sat_s1aqU =
Data.ByteString.Builder.Internal.BufferFull
@ r_aRc1 1 sc3_s1aqy sat_s1aqT } in
(# sc5_s1aqA, sat_s1aqU #)
}
}
}
}
}
}
}
};
0 ->
let {
sat_s1aqV [Occ=Once]
:: Data.ByteString.Builder.Internal.BufferRange
[LclId, Str=DmdType]
sat_s1aqV =
Data.ByteString.Builder.Internal.BufferRange
sc3_s1aqy sc4_s1aqz } in
((sc2_s1aqx sat_s1aqV) `cast` ...) sc5_s1aqA
}
end Rec }
Rec {
Main.$wgo1 [InlPrag=[0], Occ=LoopBreaker]
:: GHC.Prim.Int#
-> Data.ByteString.Lazy.Internal.ByteString -> GHC.Prim.Int#
[GblId,
Arity=2,
Caf=NoCafRefs,
Str=DmdType <L,U><S,1*U>,
Unf=OtherCon []]
Main.$wgo1 =
\ (ww_s1aqW [Occ=Once*] :: GHC.Prim.Int#)
(w_s1aqX [Occ=Once!]
:: Data.ByteString.Lazy.Internal.ByteString) ->
case w_s1aqX of _ [Occ=Dead] {
Data.ByteString.Lazy.Internal.Empty -> ww_s1aqW;
Data.ByteString.Lazy.Internal.Chunk _ [Occ=Dead] _ [Occ=Dead]
_ [Occ=Dead] dt3_s1ar2 [Occ=Once] cs1_s1ar3 [Occ=Once] ->
case GHC.Prim.+# ww_s1aqW dt3_s1ar2 of sat_s1ar4 { __DEFAULT ->
Main.$wgo1 sat_s1ar4 cs1_s1ar3
}
}
end Rec }
Main.main5 :: GHC.Types.Int
[GblId, Str=DmdType]
Main.main5 =
case GHC.Real.$wf1 2 28 of ww4_s1ar5 { __DEFAULT ->
GHC.Types.I# ww4_s1ar5
}
Main.main4
:: forall r_aRc1.
Data.ByteString.Builder.Internal.BuildStep r_aRc1
-> Data.ByteString.Builder.Internal.BufferRange
-> GHC.Prim.State# GHC.Prim.RealWorld
-> (# GHC.Prim.State# GHC.Prim.RealWorld,
Data.ByteString.Builder.Internal.BuildSignal r_aRc1 #)
[GblId, Arity=3, Str=DmdType, Unf=OtherCon []]
Main.main4 =
\ (@ r_aRc1)
(w_s1ar6 [Occ=OnceL*]
:: Data.ByteString.Builder.Internal.BuildStep r_aRc1)
(w1_s1ar7 [Occ=Once*]
:: Data.ByteString.Builder.Internal.BufferRange)
(w2_s1ar8 [Occ=Once*, OS=OneShot]
:: GHC.Prim.State# GHC.Prim.RealWorld) ->
case Main.main5
of _ [Occ=Dead] { GHC.Types.I# ww1_s1ara [Occ=Once!] ->
case ww1_s1ara of wild_s1arb {
__DEFAULT ->
case w1_s1ar7
of _ [Occ=Dead]
{ Data.ByteString.Builder.Internal.BufferRange dt_s1ard
dt1_s1are ->
case GHC.Prim.-# wild_s1arb 16 of a_s1arf { __DEFAULT ->
case GHC.Prim.minusAddr# dt1_s1are dt_s1ard
of sat_s1arg { __DEFAULT ->
case GHC.Prim.<# sat_s1arg 1 of sat_s1arh { __DEFAULT ->
case GHC.Prim.tagToEnum# @ GHC.Types.Bool sat_s1arh
of _ [Occ=Dead] {
GHC.Types.False ->
case GHC.Prim.writeWord8OffAddr#
@ GHC.Prim.RealWorld dt_s1ard 0 (__word 15) w2_s1ar8
of s2_s1arj [OS=OneShot] { __DEFAULT ->
case GHC.Prim.plusAddr# dt_s1ard 1 of sat_s1ark { __DEFAULT ->
Main.main_$s$wa
@ r_aRc1 (__word 16) a_s1arf w_s1ar6 sat_s1ark dt1_s1are s2_s1arj
}
};
GHC.Types.True ->
let {
sat_s1ars [Occ=Once]
:: Data.ByteString.Builder.Internal.BuildStep r_aRc1
[LclId, Str=DmdType]
sat_s1ars =
(\ (ds_s1arl [Occ=Once!]
:: Data.ByteString.Builder.Internal.BufferRange)
(eta3_s1arm [Occ=Once, OS=OneShot]
:: GHC.Prim.State# GHC.Prim.RealWorld) ->
case ds_s1arl
of _ [Occ=Dead]
{ Data.ByteString.Builder.Internal.BufferRange dt3_s1aro
dt4_s1arp [Occ=Once] ->
case GHC.Prim.writeWord8OffAddr#
@ GHC.Prim.RealWorld dt3_s1aro 0 (__word 15) eta3_s1arm
of s2_s1arq [OS=OneShot] { __DEFAULT ->
case GHC.Prim.plusAddr# dt3_s1aro 1 of sat_s1arr { __DEFAULT ->
Main.main_$s$wa
@ r_aRc1 (__word 16) a_s1arf w_s1ar6 sat_s1arr dt4_s1arp s2_s1arq
}
}
})
`cast` ... } in
let {
sat_s1art [Occ=Once]
:: Data.ByteString.Builder.Internal.BuildSignal r_aRc1
[LclId, Str=DmdType]
sat_s1art =
Data.ByteString.Builder.Internal.BufferFull
@ r_aRc1 1 dt_s1ard sat_s1ars } in
(# w2_s1ar8, sat_s1art #)
}
}
}
}
};
0 -> ((w_s1ar6 w1_s1ar7) `cast` ...) w2_s1ar8
}
}
Main.main3 :: Data.ByteString.Lazy.Internal.ByteString
[GblId, Str=DmdType]
Main.main3 =
Data.ByteString.Builder.toLazyByteString (Main.main4 `cast` ...)
Main.main2 :: GHC.Base.String
[GblId, Str=DmdType]
Main.main2 =
case Main.$wgo1 0 Main.main3 of ww_s1aru { __DEFAULT ->
case GHC.Show.$wshowSignedInt
0 ww_s1aru (GHC.Types.[] @ GHC.Types.Char)
of _ [Occ=Dead]
{ (# ww5_s1arw [Occ=Once], ww6_s1arx [Occ=Once] #) ->
GHC.Types.: @ GHC.Types.Char ww5_s1arw ww6_s1arx
}
}
Main.main1
:: GHC.Prim.State# GHC.Prim.RealWorld
-> (# GHC.Prim.State# GHC.Prim.RealWorld, () #)
[GblId, Arity=1, Str=DmdType <L,U>, Unf=OtherCon []]
Main.main1 =
\ (eta_s1ary [Occ=Once, OS=OneShot]
:: GHC.Prim.State# GHC.Prim.RealWorld) ->
GHC.IO.Handle.Text.hPutStr2
GHC.IO.Handle.FD.stdout Main.main2 GHC.Types.True eta_s1ary
Main.main :: GHC.Types.IO ()
[GblId, Arity=1, Str=DmdType <L,U>, Unf=OtherCon []]
Main.main =
(\ (eta_B1 [Occ=Once, OS=OneShot]
:: GHC.Prim.State# GHC.Prim.RealWorld) ->
Main.main1 eta_B1)
`cast` ...
Main.main6
:: GHC.Prim.State# GHC.Prim.RealWorld
-> (# GHC.Prim.State# GHC.Prim.RealWorld, () #)
[GblId, Arity=1, Str=DmdType, Unf=OtherCon []]
Main.main6 =
\ (eta_B1 [Occ=Once, OS=OneShot]
:: GHC.Prim.State# GHC.Prim.RealWorld) ->
GHC.TopHandler.runMainIO1 @ () (Main.main1 `cast` ...) eta_B1
:Main.main :: GHC.Types.IO ()
[GblId, Arity=1, Str=DmdType, Unf=OtherCon []]
:Main.main =
(\ (eta_B1 [Occ=Once, OS=OneShot]
:: GHC.Prim.State# GHC.Prim.RealWorld) ->
Main.main6 eta_B1)
`cast` ...
Rec {
Main.$wa [InlPrag=[0], Occ=LoopBreaker]
:: GHC.Prim.Word#
-> GHC.Prim.Int#
-> forall r_aKUt.
Data.ByteString.Builder.Internal.BuildStep r_aKUt
-> Data.ByteString.Builder.Internal.BuildStep r_aKUt
[GblId, Arity=3, Caf=NoCafRefs, Str=DmdType <L,U><S,1*U><L,1*U>]
Main.$wa =
\ (ww_s10YU :: GHC.Prim.Word#)
(ww1_s10YY :: GHC.Prim.Int#)
(@ r_aKUt)
(w_s10YR :: Data.ByteString.Builder.Internal.BuildStep r_aKUt) ->
case ww1_s10YY of wild_XE {
__DEFAULT ->
let {
a_s10Rv :: GHC.Prim.Word#
[LclId, Str=DmdType]
a_s10Rv =
GHC.Prim.narrow8Word#
(GHC.Prim.plusWord# ww_s10YU (__word 15)) } in
let {
eta_XW [Dmd=<L,C(C1(U))>]
:: Data.ByteString.Builder.Internal.BuildStep r_aKUt
[LclId, Str=DmdType]
eta_XW =
Main.$wa
(GHC.Prim.narrow8Word# (GHC.Prim.plusWord# ww_s10YU (__word 16)))
(GHC.Prim.-# wild_XE 16)
@ r_aKUt
w_s10YR } in
let {
lvl_s111m
:: Data.ByteString.Builder.Internal.BufferRange
-> GHC.Prim.State# GHC.Prim.RealWorld
-> (# GHC.Prim.State# GHC.Prim.RealWorld,
Data.ByteString.Builder.Internal.BuildSignal r_aKUt #)
[LclId, Arity=2, Str=DmdType]
lvl_s111m =
\ (ds_dUD0 :: Data.ByteString.Builder.Internal.BufferRange)
(eta3_XI [OS=OneShot] :: GHC.Prim.State# GHC.Prim.RealWorld) ->
case ds_dUD0
of _ [Occ=Dead]
{ Data.ByteString.Builder.Internal.BufferRange dt3_dUDV dt4_dUDW ->
case GHC.Prim.writeWord8OffAddr#
@ GHC.Prim.RealWorld dt3_dUDV 0 a_s10Rv eta3_XI
of s2_a3EB [OS=OneShot] { __DEFAULT ->
((eta_XW
(Data.ByteString.Builder.Internal.BufferRange
(GHC.Prim.plusAddr# dt3_dUDV 1) dt4_dUDW))
`cast` ...)
s2_a3EB
}
} } in
(\ (eta1_X1Q :: Data.ByteString.Builder.Internal.BufferRange)
(eta2_X1R [OS=OneShot] :: GHC.Prim.State# GHC.Prim.RealWorld) ->
case eta1_X1Q
of _ [Occ=Dead]
{ Data.ByteString.Builder.Internal.BufferRange dt_dLDw dt1_dLDx ->
case GHC.Prim.tagToEnum#
@ Bool (GHC.Prim.<# (GHC.Prim.minusAddr# dt1_dLDx dt_dLDw) 1)
of _ [Occ=Dead] {
False ->
case GHC.Prim.writeWord8OffAddr#
@ GHC.Prim.RealWorld dt_dLDw 0 a_s10Rv eta2_X1R
of s2_a3EB [OS=OneShot] { __DEFAULT ->
((eta_XW
(Data.ByteString.Builder.Internal.BufferRange
(GHC.Prim.plusAddr# dt_dLDw 1) dt1_dLDx))
`cast` ...)
s2_a3EB
};
True ->
(# eta2_X1R,
Data.ByteString.Builder.Internal.BufferFull
@ r_aKUt 1 dt_dLDw (lvl_s111m `cast` ...) #)
}
})
`cast` ...;
0 -> w_s10YR
}
end Rec }
Rec {
Main.$wgo1 [InlPrag=[0], Occ=LoopBreaker]
:: GHC.Prim.Int# -> L.ByteString -> GHC.Prim.Int#
[GblId, Arity=2, Caf=NoCafRefs, Str=DmdType <L,U><S,1*U>]
Main.$wgo1 =
\ (ww_s10Z5 :: GHC.Prim.Int#) (w_s10Z2 :: L.ByteString) ->
case w_s10Z2 of _ [Occ=Dead] {
Data.ByteString.Lazy.Internal.Empty -> ww_s10Z5;
Data.ByteString.Lazy.Internal.Chunk dt_dxM2 dt1_dxM3 dt2_dxM4
dt3_dxM5 cs1_axBi ->
Main.$wgo1 (GHC.Prim.+# ww_s10Z5 dt3_dxM5) cs1_axBi
}
end Rec }
Rec {
Main.main_go [Occ=LoopBreaker]
:: Data.ByteString.Builder.Internal.ChunkIOStream ()
-> L.ByteString
[GblId, Arity=1, Str=DmdType <S,1*U>]
Main.main_go =
\ (ds_dLBn :: Data.ByteString.Builder.Internal.ChunkIOStream ()) ->
case ds_dLBn of _ [Occ=Dead] {
Data.ByteString.Builder.Internal.Finished buf_aKVc ds1_dLBo ->
case buf_aKVc
of _ [Occ=Dead]
{ Data.ByteString.Builder.Internal.Buffer dt1_dLEd dt2_dLEe
dt3_dLEf dt4_dLEg ->
let {
dt6_a81N :: GHC.Prim.Int#
[LclId, Str=DmdType]
dt6_a81N = GHC.Prim.minusAddr# dt3_dLEf dt1_dLEd } in
case GHC.Prim.tagToEnum# @ Bool (GHC.Prim.<=# dt6_a81N 0)
of _ [Occ=Dead] {
False ->
case GHC.Prim.tagToEnum#
@ Bool
(GHC.Prim.<#
(GHC.Prim.*# 2 dt6_a81N) (GHC.Prim.minusAddr# dt4_dLEg dt1_dLEd))
of _ [Occ=Dead] {
False ->
Data.ByteString.Lazy.Internal.Chunk
dt1_dLEd dt2_dLEe 0 dt6_a81N Data.ByteString.Lazy.Internal.Empty;
True ->
case Data.ByteString.$wcopy dt1_dLEd dt2_dLEe 0 dt6_a81N
of _ [Occ=Dead]
{ Data.ByteString.Internal.PS dt8_axBZ dt9_axC0 dt10_axC1
dt11_axC2 ->
Data.ByteString.Lazy.Internal.Chunk
dt8_axBZ
dt9_axC0
dt10_axC1
dt11_axC2
Data.ByteString.Lazy.Internal.Empty
}
};
True -> Data.ByteString.Lazy.Internal.Empty
}
};
Data.ByteString.Builder.Internal.Yield1 bs_aKVd io_aKVe ->
case bs_aKVd
of _ [Occ=Dead]
{ Data.ByteString.Internal.PS dt1_axBZ dt2_axC0 dt3_axC1
dt4_axC2 ->
Data.ByteString.Lazy.Internal.Chunk
dt1_axBZ
dt2_axC0
dt3_axC1
dt4_axC2
(GHC.IO.unsafeDupablePerformIO
@ L.ByteString
((\ (s_amvL [OS=OneShot] :: GHC.Prim.State# GHC.Prim.RealWorld) ->
case (io_aKVe `cast` ...) s_amvL
of _ [Occ=Dead] { (# ipv_amvO, ipv1_amvP #) ->
(# ipv_amvO, Main.main_go ipv1_amvP #)
})
`cast` ...))
}
}
end Rec }
Rec {
Main.$wa1 [InlPrag=[0], Occ=LoopBreaker]
:: forall a41_aLoI.
Data.ByteString.Builder.Internal.BuildStep a41_aLoI
-> GHC.Prim.Addr#
-> GHC.ForeignPtr.ForeignPtrContents
-> GHC.Prim.Addr#
-> GHC.Prim.Addr#
-> GHC.Prim.State# GHC.Prim.RealWorld
-> (# GHC.Prim.State# GHC.Prim.RealWorld,
Data.ByteString.Builder.Internal.ChunkIOStream a41_aLoI #)
[GblId, Arity=6, Str=DmdType <S,1*U><L,U><L,U><L,U><L,U><L,U>]
Main.$wa1 =
\ (@ a41_aLoI)
(w_s10Zh :: Data.ByteString.Builder.Internal.BuildStep a41_aLoI)
(ww_s10Zm :: GHC.Prim.Addr#)
(ww1_s10Zn :: GHC.ForeignPtr.ForeignPtrContents)
(ww2_s10Zo :: GHC.Prim.Addr#)
(ww3_s10Zp :: GHC.Prim.Addr#)
(w1_s10Zj [OS=OneShot] :: GHC.Prim.State# GHC.Prim.RealWorld) ->
case ((w_s10Zh
(Data.ByteString.Builder.Internal.BufferRange ww2_s10Zo ww3_s10Zp))
`cast` ...)
w1_s10Zj
of _ [Occ=Dead] { (# ipv_a2qW, ipv1_a2qX #) ->
case ipv1_a2qX of _ [Occ=Dead] {
Data.ByteString.Builder.Internal.Done dt5_dLDs x_aKVz ->
case GHC.Prim.touch#
@ GHC.ForeignPtr.ForeignPtrContents ww1_s10Zn ipv_a2qW
of s'_agbZ [OS=OneShot] { __DEFAULT ->
(# s'_agbZ,
Data.ByteString.Builder.Internal.Finished
@ a41_aLoI
(Data.ByteString.Builder.Internal.Buffer
ww_s10Zm ww1_s10Zn dt5_dLDs ww3_s10Zp)
x_aKVz #)
};
Data.ByteString.Builder.Internal.BufferFull dt5_dLDt dt6_dLDu
nextStep_aKVC ->
let {
a42_sLLv
:: GHC.Prim.State# GHC.Prim.RealWorld
-> (# GHC.Prim.State# GHC.Prim.RealWorld,
Data.ByteString.Builder.Internal.ChunkIOStream a41_aLoI #)
[LclId, Arity=1, Str=DmdType <L,U>]
a42_sLLv =
\ (s1_X2tQ [OS=OneShot] :: GHC.Prim.State# GHC.Prim.RealWorld) ->
let {
$j_s10Vq
:: GHC.Prim.Int#
-> (# GHC.Prim.State# GHC.Prim.RealWorld,
Data.ByteString.Builder.Internal.ChunkIOStream a41_aLoI #)
[LclId, Arity=1, Str=DmdType <L,U>]
$j_s10Vq =
\ (x_ab7p [OS=OneShot] :: GHC.Prim.Int#) ->
case GHC.Prim.tagToEnum# @ Bool (GHC.Prim.<# x_ab7p 0)
of _ [Occ=Dead] {
False ->
case GHC.Prim.newPinnedByteArray#
@ GHC.Prim.RealWorld x_ab7p s1_X2tQ
of _ [Occ=Dead] { (# ipv2_Xb8k, ipv3_Xb8m #) ->
let {
a_s10Uo :: GHC.Prim.Addr#
[LclId, Str=DmdType]
a_s10Uo = GHC.Prim.byteArrayContents# (ipv3_Xb8m `cast` ...) } in
Main.$wa1
@ a41_aLoI
nextStep_aKVC
a_s10Uo
(GHC.ForeignPtr.PlainPtr ipv3_Xb8m)
a_s10Uo
(GHC.Prim.plusAddr# a_s10Uo x_ab7p)
ipv2_Xb8k
};
True ->
case GHC.ForeignPtr.mallocPlainForeignPtrBytes2 of wild_00 { }
} } in
case GHC.Prim.tagToEnum# @ Bool (GHC.Prim.<=# dt5_dLDt 32752)
of _ [Occ=Dead] {
False -> $j_s10Vq dt5_dLDt;
True -> $j_s10Vq 32752
} } in
case GHC.Prim.minusAddr# dt6_dLDu ww_s10Zm of wild3_X2X {
__DEFAULT ->
case GHC.Prim.tagToEnum#
@ Bool
(GHC.Prim.<#
(GHC.Prim.*# 2 wild3_X2X) (GHC.Prim.minusAddr# ww3_s10Zp ww_s10Zm))
of _ [Occ=Dead] {
False ->
case GHC.Prim.touch#
@ GHC.ForeignPtr.ForeignPtrContents ww1_s10Zn ipv_a2qW
of s'_agbZ [OS=OneShot] { __DEFAULT ->
(# s'_agbZ,
Data.ByteString.Builder.Internal.Yield1
@ a41_aLoI
(Data.ByteString.Internal.PS ww_s10Zm ww1_s10Zn 0 wild3_X2X)
(a42_sLLv `cast` ...) #)
};
True ->
case GHC.Prim.tagToEnum# @ Bool (GHC.Prim.<# wild3_X2X 0)
of _ [Occ=Dead] {
False ->
case GHC.Prim.newPinnedByteArray#
@ GHC.Prim.RealWorld wild3_X2X ipv_a2qW
of _ [Occ=Dead] { (# ipv2_Xb8m, ipv3_Xb8o #) ->
let {
a43_sMcA [Dmd=<S,U>] :: GHC.Prim.Addr#
[LclId, Str=DmdType]
a43_sMcA = GHC.Prim.byteArrayContents# (ipv3_Xb8o `cast` ...) } in
case {__pkg_ccall base-4.8.0.0 memcpy Addr#
-> Addr#
-> Word#
-> State# RealWorld
-> (# State# RealWorld, Addr# #)}_amS0
a43_sMcA ww_s10Zm (GHC.Prim.int2Word# wild3_X2X) ipv2_Xb8m
of _ [Occ=Dead] { (# ds4_amS5, ds5_amS6 #) ->
let {
a44_sMcB :: GHC.ForeignPtr.ForeignPtrContents
[LclId, Str=DmdType]
a44_sMcB = GHC.ForeignPtr.PlainPtr ipv3_Xb8o } in
case GHC.Prim.touch#
@ GHC.ForeignPtr.ForeignPtrContents a44_sMcB ds4_amS5
of s'_ab8P [OS=OneShot] { __DEFAULT ->
case GHC.Prim.touch#
@ GHC.ForeignPtr.ForeignPtrContents ww1_s10Zn s'_ab8P
of s'1_agbZ [OS=OneShot] { __DEFAULT ->
(# s'1_agbZ,
Data.ByteString.Builder.Internal.Yield1
@ a41_aLoI
(Data.ByteString.Internal.PS a43_sMcA a44_sMcB 0 wild3_X2X)
(a42_sLLv `cast` ...) #)
}
}
}
};
True ->
case GHC.ForeignPtr.mallocPlainForeignPtrBytes2 of wild_00 { }
}
};
0 ->
case a42_sLLv ipv_a2qW
of _ [Occ=Dead] { (# ipv2_X2vA, ipv3_X2vC #) ->
case GHC.Prim.touch#
@ GHC.ForeignPtr.ForeignPtrContents ww1_s10Zn ipv2_X2vA
of s'_agbZ [OS=OneShot] { __DEFAULT ->
(# s'_agbZ, ipv3_X2vC #)
}
}
};
Data.ByteString.Builder.Internal.InsertChunk dt5_dLDv bs_aKVE
nextStep_aKVF ->
case GHC.Prim.minusAddr# dt5_dLDv ww_s10Zm of wild3_X2X {
__DEFAULT ->
let {
a_s10VH
:: Bool
-> GHC.Prim.State# GHC.Prim.RealWorld
-> (# GHC.Prim.State# GHC.Prim.RealWorld,
Data.ByteString.Builder.Internal.ChunkIOStream a41_aLoI #)
[LclId, Arity=2, Str=DmdType <L,U><L,U>]
a_s10VH =
\ (isEmpty_aKYg [OS=OneShot] :: Bool)
(eta_XF [OS=OneShot] :: GHC.Prim.State# GHC.Prim.RealWorld) ->
case bs_aKVE
of wild1_X6C
{ Data.ByteString.Internal.PS dt6_dlhN dt7_dlhO dt8_dlhP
dt9_dlhQ ->
let {
a1_s10VE
:: GHC.Prim.State# GHC.Prim.RealWorld
-> (# GHC.Prim.State# GHC.Prim.RealWorld,
Data.ByteString.Builder.Internal.ChunkIOStream a41_aLoI #)
[LclId, Arity=1, Str=DmdType <L,U>]
a1_s10VE =
\ (eta1_XH [OS=OneShot] :: GHC.Prim.State# GHC.Prim.RealWorld) ->
case isEmpty_aKYg of _ [Occ=Dead] {
False ->
case GHC.Prim.newPinnedByteArray#
@ GHC.Prim.RealWorld 32752 eta1_XH
of _ [Occ=Dead] { (# ipv2_Xb8v, ipv3_Xb8x #) ->
let {
a2_s10UC :: GHC.Prim.Addr#
[LclId, Str=DmdType]
a2_s10UC = GHC.Prim.byteArrayContents# (ipv3_Xb8x `cast` ...) } in
Main.$wa1
@ a41_aLoI
nextStep_aKVF
a2_s10UC
(GHC.ForeignPtr.PlainPtr ipv3_Xb8x)
a2_s10UC
(GHC.Prim.plusAddr# a2_s10UC 32752)
ipv2_Xb8v
};
True ->
Main.$wa1
@ a41_aLoI
nextStep_aKVF
ww_s10Zm
ww1_s10Zn
ww2_s10Zo
ww3_s10Zp
eta1_XH
} } in
case GHC.Prim.tagToEnum# @ Bool (GHC.Prim.<=# dt9_dlhQ 0)
of _ [Occ=Dead] {
False ->
(# eta_XF,
Data.ByteString.Builder.Internal.Yield1
@ a41_aLoI wild1_X6C (a1_s10VE `cast` ...) #);
True -> a1_s10VE eta_XF
}
} } in
case GHC.Prim.tagToEnum#
@ Bool
(GHC.Prim.<#
(GHC.Prim.*# 2 wild3_X2X) (GHC.Prim.minusAddr# ww3_s10Zp ww_s10Zm))
of _ [Occ=Dead] {
False ->
case GHC.Prim.touch#
@ GHC.ForeignPtr.ForeignPtrContents ww1_s10Zn ipv_a2qW
of s'_agbZ [OS=OneShot] { __DEFAULT ->
(# s'_agbZ,
Data.ByteString.Builder.Internal.Yield1
@ a41_aLoI
(Data.ByteString.Internal.PS ww_s10Zm ww1_s10Zn 0 wild3_X2X)
((a_s10VH GHC.Types.False) `cast` ...) #)
};
True ->
case GHC.Prim.tagToEnum# @ Bool (GHC.Prim.<# wild3_X2X 0)
of _ [Occ=Dead] {
False ->
case GHC.Prim.newPinnedByteArray#
@ GHC.Prim.RealWorld wild3_X2X ipv_a2qW
of _ [Occ=Dead] { (# ipv2_Xb8m, ipv3_Xb8o #) ->
let {
fo_ab8U [Dmd=<S,U>] :: GHC.Prim.Addr#
[LclId, Str=DmdType]
fo_ab8U = GHC.Prim.byteArrayContents# (ipv3_Xb8o `cast` ...) } in
case {__pkg_ccall base-4.8.0.0 memcpy Addr#
-> Addr#
-> Word#
-> State# RealWorld
-> (# State# RealWorld, Addr# #)}_amS0
fo_ab8U ww_s10Zm (GHC.Prim.int2Word# wild3_X2X) ipv2_Xb8m
of _ [Occ=Dead] { (# ds4_amS5, ds5_amS6 #) ->
let {
ds2_ab8V :: GHC.ForeignPtr.ForeignPtrContents
[LclId, Str=DmdType]
ds2_ab8V = GHC.ForeignPtr.PlainPtr ipv3_Xb8o } in
case GHC.Prim.touch#
@ GHC.ForeignPtr.ForeignPtrContents ds2_ab8V ds4_amS5
of s'_ab8P [OS=OneShot] { __DEFAULT ->
case GHC.Prim.touch#
@ GHC.ForeignPtr.ForeignPtrContents ww1_s10Zn s'_ab8P
of s'1_agbZ [OS=OneShot] { __DEFAULT ->
(# s'1_agbZ,
Data.ByteString.Builder.Internal.Yield1
@ a41_aLoI
(Data.ByteString.Internal.PS fo_ab8U ds2_ab8V 0 wild3_X2X)
((a_s10VH GHC.Types.False) `cast` ...) #)
}
}
}
};
True ->
case GHC.ForeignPtr.mallocPlainForeignPtrBytes2 of wild_00 { }
}
};
0 ->
case bs_aKVE
of wild4_X6F
{ Data.ByteString.Internal.PS dt6_dlhN dt7_dlhO dt8_dlhP
dt9_dlhQ ->
case GHC.Prim.tagToEnum# @ Bool (GHC.Prim.<=# dt9_dlhQ 0)
of _ [Occ=Dead] {
False ->
case GHC.Prim.touch#
@ GHC.ForeignPtr.ForeignPtrContents ww1_s10Zn ipv_a2qW
of s'_agbZ [OS=OneShot] { __DEFAULT ->
(# s'_agbZ,
Data.ByteString.Builder.Internal.Yield1
@ a41_aLoI
wild4_X6F
((\ (w2_X110l [OS=OneShot]
:: GHC.Prim.State# GHC.Prim.RealWorld) ->
Main.$wa1
@ a41_aLoI
nextStep_aKVF
ww_s10Zm
ww1_s10Zn
ww2_s10Zo
ww3_s10Zp
w2_X110l)
`cast` ...) #)
};
True ->
case Main.$wa1
@ a41_aLoI
nextStep_aKVF
ww_s10Zm
ww1_s10Zn
ww2_s10Zo
ww3_s10Zp
ipv_a2qW
of _ [Occ=Dead] { (# ipv2_X2vA, ipv3_X2vC #) ->
case GHC.Prim.touch#
@ GHC.ForeignPtr.ForeignPtrContents ww1_s10Zn ipv2_X2vA
of s'_agbZ [OS=OneShot] { __DEFAULT ->
(# s'_agbZ, ipv3_X2vC #)
}
}
}
}
}
}
}
end Rec }
Main.main5
:: GHC.Prim.State# GHC.Prim.RealWorld
-> (# GHC.Prim.State# GHC.Prim.RealWorld,
Data.ByteString.Builder.Internal.ChunkIOStream () #)
[GblId,
Arity=1,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [0] 165 0}]
Main.main5 =
\ (s_a2qT [OS=OneShot] :: GHC.Prim.State# GHC.Prim.RealWorld) ->
case GHC.Prim.newPinnedByteArray# @ GHC.Prim.RealWorld 4080 s_a2qT
of _ [Occ=Dead] { (# ipv_ab7w, ipv1_ab7x #) ->
case GHC.Real.$wf1 2 28 of ww4_a10Se { __DEFAULT ->
let {
a_s10UV :: GHC.Prim.Addr#
[LclId, Str=DmdType]
a_s10UV = GHC.Prim.byteArrayContents# (ipv1_ab7x `cast` ...) } in
Main.$wa1
@ ()
(Main.$wa
(__word 0)
ww4_a10Se
@ ()
Data.ByteString.Builder.Internal.finalBuildStep)
a_s10UV
(GHC.ForeignPtr.PlainPtr ipv1_ab7x)
a_s10UV
(GHC.Prim.plusAddr# a_s10UV 4080)
ipv_ab7w
}
}
Main.main4 :: Data.ByteString.Builder.Internal.ChunkIOStream ()
[GblId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 20 0}]
Main.main4 =
GHC.IO.unsafeDupablePerformIO
@ (Data.ByteString.Builder.Internal.ChunkIOStream ())
(Main.main5 `cast` ...)
Main.main3 :: L.ByteString
[GblId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 20 0}]
Main.main3 = Main.main_go Main.main4
Main.main2 :: String
[GblId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 100 30}]
Main.main2 =
case Main.$wgo1 0 Main.main3 of ww_s10Z9 { __DEFAULT ->
case GHC.Show.$wshowSignedInt 0 ww_s10Z9 (GHC.Types.[] @ Char)
of _ [Occ=Dead] { (# ww5_aAtl, ww6_aAtm #) ->
GHC.Types.: @ Char ww5_aAtl ww6_aAtm
}
}
Main.main1
:: GHC.Prim.State# GHC.Prim.RealWorld
-> (# GHC.Prim.State# GHC.Prim.RealWorld, () #)
[GblId,
Arity=1,
Str=DmdType <L,U>,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [0] 40 0}]
Main.main1 =
\ (eta_a10Ni [OS=OneShot] :: GHC.Prim.State# GHC.Prim.RealWorld) ->
GHC.IO.Handle.Text.hPutStr2
GHC.IO.Handle.FD.stdout Main.main2 GHC.Types.True eta_a10Ni
main :: IO ()
[GblId,
Arity=1,
Str=DmdType <L,U>,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)
Tmpl= Main.main1 `cast` ...}]
main = Main.main1 `cast` ...
Main.main6
:: GHC.Prim.State# GHC.Prim.RealWorld
-> (# GHC.Prim.State# GHC.Prim.RealWorld, () #)
[GblId,
Arity=1,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 20 60}]
Main.main6 = GHC.TopHandler.runMainIO1 @ () (Main.main1 `cast` ...)
:Main.main :: IO ()
[GblId,
Arity=1,
Str=DmdType,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)
Tmpl= Main.main6 `cast` ...}]
:Main.main = Main.main6 `cast` ...
import Data.Monoid
import qualified Data.ByteString.Builder as B
import qualified Data.ByteString.Lazy as L
main = do
let run = L.length . B.toLazyByteString
n = 1 * (2 ^ (28 :: Int)) -- one MB
print $ run $ putWord8N16 n
putWord8N16 :: Int -> B.Builder
putWord8N16 = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = mempty
loop s n =
B.word8 (s+15) <>
loop (s+16) (n-16)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment