[1 of 1] Compiling Main ( digitsV2.hs, digitsV2.o )
==================== Tidy Core ====================
Result size of Tidy Core = {terms: 57, types: 64, coercions: 12}
lvl_r1xl :: Integer
[GblId, Caf=NoCafRefs, Str=DmdType]
lvl_r1xl = __integer 10
Rec {
Main.$wgo [InlPrag=[0], Occ=LoopBreaker]
:: Integer -> [Int] -> (# Int, [Int] #)
[GblId, Arity=2, Str=DmdType <S,U><L,U>]
Main.$wgo =
\ (w_s1wh :: Integer) (w1_s1wi :: [Int]) ->
case integer-gmp-1.0.0.0:GHC.Integer.Type.ltInteger#
w_s1wh lvl_r1xl
of wild_a1dp { __DEFAULT ->
case GHC.Prim.tagToEnum# @ Bool wild_a1dp of _ [Occ=Dead] {
False ->
case integer-gmp-1.0.0.0:GHC.Integer.Type.quotRemInteger
w_s1wh lvl_r1xl
of _ [Occ=Dead] { (# ipv_a1dB, ipv1_a1dC #) ->
Main.$wgo
ipv_a1dB
(GHC.Types.:
@ Int
(case integer-gmp-1.0.0.0:GHC.Integer.Type.integerToInt ipv1_a1dC
of wild2_a1ea { __DEFAULT ->
GHC.Types.I# wild2_a1ea
})
w1_s1wi)
};
True -> (# GHC.Num.$fNumInt_$cfromInteger w_s1wh, w1_s1wi #)
}
}
end Rec }
Main.main3 :: Integer
[GblId,
Caf=NoCafRefs,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}]
Main.main3 = __integer 1
Main.main2 :: [Int]
[GblId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 30}]
Main.main2 =
case Main.$wgo Main.main3 (GHC.Types.[] @ Int)
of _ [Occ=Dead] { (# ww1_s1wo, ww2_s1wp #) ->
GHC.Types.: @ Int ww1_s1wo ww2_s1wp
}
Main.main1
:: GHC.Prim.State# GHC.Prim.RealWorld
-> (# GHC.Prim.State# GHC.Prim.RealWorld, [Int] #)
[GblId,
Arity=1,
Str=DmdType <L,U>,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=True)}]
Main.main1 =
\ (s_a1eo [OS=OneShot] :: GHC.Prim.State# GHC.Prim.RealWorld) ->
(# s_a1eo, Main.main2 #)
main :: IO [Int]
[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` (Sym (GHC.Types.NTCo:IO[0] <[Int]>_R)
:: (GHC.Prim.State# GHC.Prim.RealWorld
-> (# GHC.Prim.State# GHC.Prim.RealWorld, [Int] #))
~R# IO [Int])}]
main =
Main.main1
`cast` (Sym (GHC.Types.NTCo:IO[0] <[Int]>_R)
:: (GHC.Prim.State# GHC.Prim.RealWorld
-> (# GHC.Prim.State# GHC.Prim.RealWorld, [Int] #))
~R# IO [Int])
Main.main4
:: GHC.Prim.State# GHC.Prim.RealWorld
-> (# GHC.Prim.State# GHC.Prim.RealWorld, [Int] #)
[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.main4 =
GHC.TopHandler.runMainIO1
@ [Int]
(Main.main1
`cast` (Sym (GHC.Types.NTCo:IO[0] <[Int]>_R)
:: (GHC.Prim.State# GHC.Prim.RealWorld
-> (# GHC.Prim.State# GHC.Prim.RealWorld, [Int] #))
~R# IO [Int]))
:Main.main :: IO [Int]
[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.main4
`cast` (Sym (GHC.Types.NTCo:IO[0] <[Int]>_R)
:: (GHC.Prim.State# GHC.Prim.RealWorld
-> (# GHC.Prim.State# GHC.Prim.RealWorld, [Int] #))
~R# IO [Int])}]
:Main.main =
Main.main4
`cast` (Sym (GHC.Types.NTCo:IO[0] <[Int]>_R)
:: (GHC.Prim.State# GHC.Prim.RealWorld
-> (# GHC.Prim.State# GHC.Prim.RealWorld, [Int] #))
~R# IO [Int])
Linking digitsV2.exe ...
WzEgb2YgMV0gQ29tcGlsaW5nIE1haW4gICAgICAgICAgICAgKCBkaWdpdHNWMi5ocywgZGlnaXRzVjIubyApCgo9PT09PT09PT09PT09PT09PT09PSBUaWR5IENvcmUgPT09PT09PT09PT09PT09PT09PT0KUmVzdWx0IHNpemUgb2YgVGlkeSBDb3JlID0ge3Rlcm1zOiA1NywgdHlwZXM6IDY0LCBjb2VyY2lvbnM6IDEyfQoKbHZsX3IxeGwgOjogSW50ZWdlcgpbR2JsSWQsIENhZj1Ob0NhZlJlZnMsIFN0cj1EbWRUeXBlXQpsdmxfcjF4bCA9IF9faW50ZWdlciAxMAoKUmVjIHsKTWFpbi4kd2dvIFtJbmxQcmFnPVswXSwgT2NjPUxvb3BCcmVha2VyXQogIDo6IEludGVnZXIgLT4gW0ludF0gLT4gKCMgSW50LCBbSW50XSAjKQpbR2JsSWQsIEFyaXR5PTIsIFN0cj1EbWRUeXBlIDxTLFU+PEwsVT5dCk1haW4uJHdnbyA9CiAgXCAod19zMXdoIDo6IEludGVnZXIpICh3MV9zMXdpIDo6IFtJbnRdKSAtPgogICAgY2FzZSBpbnRlZ2VyLWdtcC0xLjAuMC4wOkdIQy5JbnRlZ2VyLlR5cGUubHRJbnRlZ2VyIwogICAgICAgICAgIHdfczF3aCBsdmxfcjF4bAogICAgb2Ygd2lsZF9hMWRwIHsgX19ERUZBVUxUIC0+CiAgICBjYXNlIEdIQy5QcmltLnRhZ1RvRW51bSMgQCBCb29sIHdpbGRfYTFkcCBvZiBfIFtPY2M9RGVhZF0gewogICAgICBGYWxzZSAtPgogICAgICAgIGNhc2UgaW50ZWdlci1nbXAtMS4wLjAuMDpHSEMuSW50ZWdlci5UeXBlLnF1b3RSZW1JbnRlZ2VyCiAgICAgICAgICAgICAgIHdfczF3aCBsdmxfcjF4bAogICAgICAgIG9mIF8gW09jYz1EZWFkXSB7ICgjIGlwdl9hMWRCLCBpcHYxX2ExZEMgIykgLT4KICAgICAgICBNYWluLiR3Z28KICAgICAgICAgIGlwdl9hMWRCCiAgICAgICAgICAoR0hDLlR5cGVzLjoKICAgICAgICAgICAgIEAgSW50CiAgICAgICAgICAgICAoY2FzZSBpbnRlZ2VyLWdtcC0xLjAuMC4wOkdIQy5JbnRlZ2VyLlR5cGUuaW50ZWdlclRvSW50IGlwdjFfYTFkQwogICAgICAgICAgICAgIG9mIHdpbGQyX2ExZWEgeyBfX0RFRkFVTFQgLT4KICAgICAgICAgICAgICBHSEMuVHlwZXMuSSMgd2lsZDJfYTFlYQogICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICB3MV9zMXdpKQogICAgICAgIH07CiAgICAgIFRydWUgLT4gKCMgR0hDLk51bS4kZk51bUludF8kY2Zyb21JbnRlZ2VyIHdfczF3aCwgdzFfczF3aSAjKQogICAgfQogICAgfQplbmQgUmVjIH0KCk1haW4ubWFpbjMgOjogSW50ZWdlcgpbR2JsSWQsCiBDYWY9Tm9DYWZSZWZzLAogU3RyPURtZFR5cGUsCiBVbmY9VW5me1NyYz08dmFuaWxsYT4sIFRvcEx2bD1UcnVlLCBWYWx1ZT1UcnVlLCBDb25MaWtlPVRydWUsCiAgICAgICAgIFdvcmtGcmVlPVRydWUsIEV4cGFuZGFibGU9VHJ1ZSwgR3VpZGFuY2U9SUZfQVJHUyBbXSAxMDAgMH1dCk1haW4ubWFpbjMgPSBfX2ludGVnZXIgMQoKTWFpbi5tYWluMiA6OiBbSW50XQpbR2JsSWQsCiBTdHI9RG1kVHlwZSwKIFVuZj1VbmZ7U3JjPTx2YW5pbGxhPiwgVG9wTHZsPVRydWUsIFZhbHVlPUZhbHNlLCBDb25MaWtlPUZhbHNlLAogICAgICAgICBXb3JrRnJlZT1GYWxzZSwgRXhwYW5kYWJsZT1GYWxzZSwgR3VpZGFuY2U9SUZfQVJHUyBbXSA1MCAzMH1dCk1haW4ubWFpbjIgPQogIGNhc2UgTWFpbi4kd2dvIE1haW4ubWFpbjMgKEdIQy5UeXBlcy5bXSBAIEludCkKICBvZiBfIFtPY2M9RGVhZF0geyAoIyB3dzFfczF3bywgd3cyX3Mxd3AgIykgLT4KICBHSEMuVHlwZXMuOiBAIEludCB3dzFfczF3byB3dzJfczF3cAogIH0KCk1haW4ubWFpbjEKICA6OiBHSEMuUHJpbS5TdGF0ZSMgR0hDLlByaW0uUmVhbFdvcmxkCiAgICAgLT4gKCMgR0hDLlByaW0uU3RhdGUjIEdIQy5QcmltLlJlYWxXb3JsZCwgW0ludF0gIykKW0dibElkLAogQXJpdHk9MSwKIFN0cj1EbWRUeXBlIDxMLFU+LAogVW5mPVVuZntTcmM9PHZhbmlsbGE+LCBUb3BMdmw9VHJ1ZSwgVmFsdWU9VHJ1ZSwgQ29uTGlrZT1UcnVlLAogICAgICAgICBXb3JrRnJlZT1UcnVlLCBFeHBhbmRhYmxlPVRydWUsCiAgICAgICAgIEd1aWRhbmNlPUFMV0FZU19JRihhcml0eT0xLHVuc2F0X29rPVRydWUsYm9yaW5nX29rPVRydWUpfV0KTWFpbi5tYWluMSA9CiAgXCAoc19hMWVvIFtPUz1PbmVTaG90XSA6OiBHSEMuUHJpbS5TdGF0ZSMgR0hDLlByaW0uUmVhbFdvcmxkKSAtPgogICAgKCMgc19hMWVvLCBNYWluLm1haW4yICMpCgptYWluIDo6IElPIFtJbnRdCltHYmxJZCwKIEFyaXR5PTEsCiBTdHI9RG1kVHlwZSA8TCxVPiwKIFVuZj1VbmZ7U3JjPUlubGluZVN0YWJsZSwgVG9wTHZsPVRydWUsIFZhbHVlPVRydWUsIENvbkxpa2U9VHJ1ZSwKICAgICAgICAgV29ya0ZyZWU9VHJ1ZSwgRXhwYW5kYWJsZT1UcnVlLAogICAgICAgICBHdWlkYW5jZT1BTFdBWVNfSUYoYXJpdHk9MCx1bnNhdF9vaz1UcnVlLGJvcmluZ19vaz1UcnVlKQogICAgICAgICBUbXBsPSBNYWluLm1haW4xCiAgICAgICAgICAgICAgIGBjYXN0YCAoU3ltIChHSEMuVHlwZXMuTlRDbzpJT1swXSA8W0ludF0+X1IpCiAgICAgICAgICAgICAgICAgICAgICAgOjogKEdIQy5QcmltLlN0YXRlIyBHSEMuUHJpbS5SZWFsV29ybGQKICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4gKCMgR0hDLlByaW0uU3RhdGUjIEdIQy5QcmltLlJlYWxXb3JsZCwgW0ludF0gIykpCiAgICAgICAgICAgICAgICAgICAgICAgICAgflIjIElPIFtJbnRdKX1dCm1haW4gPQogIE1haW4ubWFpbjEKICBgY2FzdGAgKFN5bSAoR0hDLlR5cGVzLk5UQ286SU9bMF0gPFtJbnRdPl9SKQogICAgICAgICAgOjogKEdIQy5QcmltLlN0YXRlIyBHSEMuUHJpbS5SZWFsV29ybGQKICAgICAgICAgICAgICAtPiAoIyBHSEMuUHJpbS5TdGF0ZSMgR0hDLlByaW0uUmVhbFdvcmxkLCBbSW50XSAjKSkKICAgICAgICAgICAgIH5SIyBJTyBbSW50XSkKCk1haW4ubWFpbjQKICA6OiBHSEMuUHJpbS5TdGF0ZSMgR0hDLlByaW0uUmVhbFdvcmxkCiAgICAgLT4gKCMgR0hDLlByaW0uU3RhdGUjIEdIQy5QcmltLlJlYWxXb3JsZCwgW0ludF0gIykKW0dibElkLAogQXJpdHk9MSwKIFN0cj1EbWRUeXBlLAogVW5mPVVuZntTcmM9PHZhbmlsbGE+LCBUb3BMdmw9VHJ1ZSwgVmFsdWU9VHJ1ZSwgQ29uTGlrZT1UcnVlLAogICAgICAgICBXb3JrRnJlZT1UcnVlLCBFeHBhbmRhYmxlPVRydWUsIEd1aWRhbmNlPUlGX0FSR1MgW10gMjAgNjB9XQpNYWluLm1haW40ID0KICBHSEMuVG9wSGFuZGxlci5ydW5NYWluSU8xCiAgICBAIFtJbnRdCiAgICAoTWFpbi5tYWluMQogICAgIGBjYXN0YCAoU3ltIChHSEMuVHlwZXMuTlRDbzpJT1swXSA8W0ludF0+X1IpCiAgICAgICAgICAgICA6OiAoR0hDLlByaW0uU3RhdGUjIEdIQy5QcmltLlJlYWxXb3JsZAogICAgICAgICAgICAgICAgIC0+ICgjIEdIQy5QcmltLlN0YXRlIyBHSEMuUHJpbS5SZWFsV29ybGQsIFtJbnRdICMpKQogICAgICAgICAgICAgICAgflIjIElPIFtJbnRdKSkKCjpNYWluLm1haW4gOjogSU8gW0ludF0KW0dibElkLAogQXJpdHk9MSwKIFN0cj1EbWRUeXBlLAogVW5mPVVuZntTcmM9SW5saW5lU3RhYmxlLCBUb3BMdmw9VHJ1ZSwgVmFsdWU9VHJ1ZSwgQ29uTGlrZT1UcnVlLAogICAgICAgICBXb3JrRnJlZT1UcnVlLCBFeHBhbmRhYmxlPVRydWUsCiAgICAgICAgIEd1aWRhbmNlPUFMV0FZU19JRihhcml0eT0wLHVuc2F0X29rPVRydWUsYm9yaW5nX29rPVRydWUpCiAgICAgICAgIFRtcGw9IE1haW4ubWFpbjQKICAgICAgICAgICAgICAgYGNhc3RgIChTeW0gKEdIQy5UeXBlcy5OVENvOklPWzBdIDxbSW50XT5fUikKICAgICAgICAgICAgICAgICAgICAgICA6OiAoR0hDLlByaW0uU3RhdGUjIEdIQy5QcmltLlJlYWxXb3JsZAogICAgICAgICAgICAgICAgICAgICAgICAgICAtPiAoIyBHSEMuUHJpbS5TdGF0ZSMgR0hDLlByaW0uUmVhbFdvcmxkLCBbSW50XSAjKSkKICAgICAgICAgICAgICAgICAgICAgICAgICB+UiMgSU8gW0ludF0pfV0KOk1haW4ubWFpbiA9CiAgTWFpbi5tYWluNAogIGBjYXN0YCAoU3ltIChHSEMuVHlwZXMuTlRDbzpJT1swXSA8W0ludF0+X1IpCiAgICAgICAgICA6OiAoR0hDLlByaW0uU3RhdGUjIEdIQy5QcmltLlJlYWxXb3JsZAogICAgICAgICAgICAgIC0+ICgjIEdIQy5QcmltLlN0YXRlIyBHSEMuUHJpbS5SZWFsV29ybGQsIFtJbnRdICMpKQogICAgICAgICAgICAgflIjIElPIFtJbnRdKQoKCgpMaW5raW5nIGRpZ2l0c1YyLmV4ZSAuLi4K