Skip to content

Instantly share code, notes, and snippets.

@gridaphobe
Created September 20, 2015 21:26
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 gridaphobe/fd9f313d7d91be405f01 to your computer and use it in GitHub Desktop.
Save gridaphobe/fd9f313d7d91be405f01 to your computer and use it in GitHub Desktop.
$ ./inplace/bin/ghc-stage2 --make -O2 T10844.hs -fforce-recomp -dverbose-core2core 2>&1
Glasgow Haskell Compiler, Version 7.11.20150919, stage 2 booted by GHC version 7.10.2
Using binary package database: /Users/gridaphobe/Source/ghc/inplace/lib/package.conf.d/package.cache
wired-in package ghc-prim mapped to ghc-prim-0.4.0.0-inplace
wired-in package integer-gmp mapped to integer-gmp-1.0.0.0-inplace
wired-in package base mapped to base-4.8.2.0-inplace
wired-in package rts mapped to builtin_rts
wired-in package template-haskell mapped to template-haskell-2.11.0.0-inplace
wired-in package ghc mapped to ghc-7.11.20150919-inplace
wired-in package dph-seq not found.
wired-in package dph-par not found.
wired-in package ghc-prim mapped to ghc-prim-0.4.0.0-inplace
wired-in package integer-gmp mapped to integer-gmp-1.0.0.0-inplace
wired-in package base mapped to base-4.8.2.0-inplace
wired-in package rts mapped to builtin_rts
wired-in package template-haskell mapped to template-haskell-2.11.0.0-inplace
wired-in package ghc mapped to ghc-7.11.20150919-inplace
wired-in package dph-seq not found.
wired-in package dph-par not found.
*** Chasing dependencies:
Chasing modules from: *T10844.hs
Stable obj: []
Stable BCO: []
Ready for upsweep
[NONREC
ModSummary {
ms_hs_date = 2015-09-20 20:28:19 UTC
ms_mod = T10844a,
ms_textual_imps = [import (implicit) Prelude]
ms_srcimps = []
},
NONREC
ModSummary {
ms_hs_date = 2015-09-20 20:28:28 UTC
ms_mod = T10844,
ms_textual_imps = [import (implicit) Prelude, import T10844a]
ms_srcimps = []
}]
*** Deleting temp files:
compile: input file ./T10844a.hs
Created temporary directory: /var/folders/d0/j2pt98tx3pvcpdjghyx38c9c0000gn/T/ghc50426_0
*** Checking old interface for T10844a:
[1 of 2] Compiling T10844a ( T10844a.hs, T10844a.o )
*** Parser:
*** Renamer/typechecker:
*** Desugar:
==================== Desugar (after optimization) ====================
Result size of Desugar (after optimization)
= {terms: 42, types: 25, coercions: 7}
-- RHS size: {terms: 39, types: 21, coercions: 4}
$cfoo_aox [InlPrag=INLINE (sat-args=1)] :: Int -> Int
[LclId,
Str=DmdType,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
WorkFree=False, Expandable=False,
Guidance=ALWAYS_IF(arity=1,unsat_ok=False,boring_ok=False)
Tmpl= let {
$dIP_a1by [Occ=OnceL] :: ?callStack::CallStack
[LclId, Str=DmdType]
$dIP_a1by =
(CallStack
(: @ ([Char], SrcLoc)
(unpackCString# "error"#,
SrcLoc
(unpackCString# "main"#)
(unpackCString# "T10844a"#)
(unpackCString# "./T10844a.hs"#)
(I# 6#)
(I# 13#)
(I# 6#)
(I# 18#))
([] @ ([Char], SrcLoc))))
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack)) } in
\ (ds_d1hY [Occ=Once!] :: Int) ->
case ds_d1hY of wild_00 { I# ds_d1hZ [Occ=Once!] ->
let {
ds_X1i4 [Occ=Once] :: Int
[LclId, Str=DmdType]
ds_X1i4 = wild_00 } in
case ds_d1hZ of _ [Occ=Dead] {
__DEFAULT -> (\ _ [Occ=Dead, OS=OneShot] -> ds_X1i4) void#;
0# -> error @ Int $dIP_a1by (unpackCString# "foo"#)
}
}}]
$cfoo_aox =
\ (eta_B1 :: Int) ->
let {
$dIP_a1by :: ?callStack::CallStack
[LclId, Str=DmdType]
$dIP_a1by =
(CallStack
(: @ ([Char], SrcLoc)
(unpackCString# "error"#,
SrcLoc
(unpackCString# "main"#)
(unpackCString# "T10844a"#)
(unpackCString# "./T10844a.hs"#)
(I# 6#)
(I# 13#)
(I# 6#)
(I# 18#))
([] @ ([Char], SrcLoc))))
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack)) } in
(\ (ds_d1hY :: Int) ->
case ds_d1hY of _ [Occ=Dead] { I# ds_d1hZ ->
case ds_d1hZ of _ [Occ=Dead] {
__DEFAULT -> (\ _ [Occ=Dead, OS=OneShot] -> ds_d1hY) void#;
0# -> error @ Int $dIP_a1by (unpackCString# "foo"#)
}
})
eta_B1
-- RHS size: {terms: 1, types: 0, coercions: 3}
T10844a.$fFooInt [InlPrag=INLINE (sat-args=0)] :: Foo Int
[LclIdX[DFunId(nt)],
Str=DmdType,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=False, ConLike=False,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=False,boring_ok=True)
Tmpl= $cfoo_aox
`cast` (Sym (T10844a.NTCo:Foo[0] <Int>_N)
:: (Int -> Int) ~R# Foo Int)}]
T10844a.$fFooInt =
$cfoo_aox
`cast` (Sym (T10844a.NTCo:Foo[0] <Int>_N)
:: (Int -> Int) ~R# Foo Int)
*** Simplifier:
SimplBind $cfoo_aox
SimplBind $fFooInt
Result size of Simplifier iteration=1
= {terms: 72, types: 61, coercions: 7}
SimplBind $cfoo_aox
SimplBind $fFooInt
Result size of Simplifier iteration=2
= {terms: 72, types: 61, coercions: 7}
SimplBind $cfoo_aox
SimplBind $fFooInt
Result size of Simplifier iteration=3
= {terms: 72, types: 61, coercions: 7}
SimplBind $cfoo_aox
SimplBind $fFooInt
Result size of Simplifier iteration=4
= {terms: 72, types: 61, coercions: 7}
==================== Simplifier ====================
Max iterations = 4
SimplMode {Phase = InitialPhase [Gentle],
no inline,
rules,
eta-expand,
no case-of-case}
Result size of Simplifier = {terms: 72, types: 61, coercions: 7}
-- RHS size: {terms: 69, types: 57, coercions: 4}
$cfoo_aox [InlPrag=INLINE (sat-args=1)] :: Int -> Int
[LclId,
Arity=1,
Str=DmdType,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
WorkFree=False, Expandable=False,
Guidance=ALWAYS_IF(arity=1,unsat_ok=False,boring_ok=False)
Tmpl= let {
a_s1iG :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 40}]
a_s1iG =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "error"#) } in
let {
a_s1iI :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 40}]
a_s1iI =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "main"#) } in
let {
a_s1iJ :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 40}]
a_s1iJ =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "T10844a"#) } in
let {
a_s1iK :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 40}]
a_s1iK =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "./T10844a.hs"#) } in
let {
a_s1iL :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iL = I# 6# } in
let {
a_s1iM :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iM = I# 13# } in
let {
a_s1iN :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iN = I# 6# } in
let {
a_s1iO :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iO = I# 18# } in
let {
a_s1iH :: SrcLoc
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 80}]
a_s1iH =
SrcLoc a_s1iI a_s1iJ a_s1iK a_s1iL a_s1iM a_s1iN a_s1iO } in
let {
a_s1iF :: ([Char], SrcLoc)
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1iF = (a_s1iG, a_s1iH) } in
let {
a_s1iE :: [([Char], SrcLoc)]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1iE = : @ ([Char], SrcLoc) a_s1iF ([] @ ([Char], SrcLoc)) } in
let {
a_s1iD :: CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iD = CallStack a_s1iE } in
let {
$dIP_a1by [Occ=OnceL] :: ?callStack::CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
$dIP_a1by =
a_s1iD
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack)) } in
\ (ds_d1hY [Occ=Once!] :: Int) ->
case ds_d1hY of wild_Xi { I# ds_d1hZ [Occ=Once!] ->
case ds_d1hZ of _ [Occ=Dead] {
__DEFAULT -> wild_Xi;
0# ->
error
@ Int
$dIP_a1by
(build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "foo"#))
}
}}]
$cfoo_aox =
\ (eta_B1 :: Int) ->
let {
a_s1jt :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 40}]
a_s1jt =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "error"#) } in
let {
a_s1jv :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 40}]
a_s1jv =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "main"#) } in
let {
a_s1jw :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 40}]
a_s1jw =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "T10844a"#) } in
let {
a_s1jx :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 40}]
a_s1jx =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "./T10844a.hs"#) } in
let {
a_s1jy :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1jy = I# 6# } in
let {
a_s1jz :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1jz = I# 13# } in
let {
a_s1jA :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1jA = I# 6# } in
let {
a_s1jB :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1jB = I# 18# } in
let {
a_s1ju :: SrcLoc
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 80}]
a_s1ju =
SrcLoc a_s1jv a_s1jw a_s1jx a_s1jy a_s1jz a_s1jA a_s1jB } in
let {
a_s1js :: ([Char], SrcLoc)
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1js = (a_s1jt, a_s1ju) } in
let {
a_s1jr :: [([Char], SrcLoc)]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1jr = : @ ([Char], SrcLoc) a_s1js ([] @ ([Char], SrcLoc)) } in
let {
a_s1jq :: CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1jq = CallStack a_s1jr } in
let {
$dIP_a1by :: ?callStack::CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
$dIP_a1by =
a_s1jq
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack)) } in
case eta_B1 of wild_Xi { I# ds_d1hZ ->
case ds_d1hZ of _ [Occ=Dead] {
__DEFAULT -> wild_Xi;
0# ->
error
@ Int
$dIP_a1by
(build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "foo"#))
}
}
-- RHS size: {terms: 1, types: 0, coercions: 3}
T10844a.$fFooInt [InlPrag=INLINE (sat-args=0)] :: Foo Int
[LclIdX[DFunId(nt)],
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=False,boring_ok=True)
Tmpl= $cfoo_aox
`cast` (Sym (T10844a.NTCo:Foo[0] <Int>_N)
:: (Int -> Int) ~R# Foo Int)}]
T10844a.$fFooInt =
$cfoo_aox
`cast` (Sym (T10844a.NTCo:Foo[0] <Int>_N)
:: (Int -> Int) ~R# Foo Int)
*** Specialise:
==================== Specialise ====================
Result size of Specialise = {terms: 72, types: 61, coercions: 7}
-- RHS size: {terms: 69, types: 57, coercions: 4}
$cfoo_aox [InlPrag=INLINE (sat-args=1)] :: Int -> Int
[LclId,
Arity=1,
Str=DmdType,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
WorkFree=False, Expandable=False,
Guidance=ALWAYS_IF(arity=1,unsat_ok=False,boring_ok=False)
Tmpl= let {
a_s1iG :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 40}]
a_s1iG =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "error"#) } in
let {
a_s1iI :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 40}]
a_s1iI =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "main"#) } in
let {
a_s1iJ :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 40}]
a_s1iJ =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "T10844a"#) } in
let {
a_s1iK :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 40}]
a_s1iK =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "./T10844a.hs"#) } in
let {
a_s1iL :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iL = I# 6# } in
let {
a_s1iM :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iM = I# 13# } in
let {
a_s1iN :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iN = I# 6# } in
let {
a_s1iO :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iO = I# 18# } in
let {
a_s1iH :: SrcLoc
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 80}]
a_s1iH =
SrcLoc a_s1iI a_s1iJ a_s1iK a_s1iL a_s1iM a_s1iN a_s1iO } in
let {
a_s1iF :: ([Char], SrcLoc)
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1iF = (a_s1iG, a_s1iH) } in
let {
a_s1iE :: [([Char], SrcLoc)]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1iE = : @ ([Char], SrcLoc) a_s1iF ([] @ ([Char], SrcLoc)) } in
let {
a_s1iD :: CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iD = CallStack a_s1iE } in
let {
$dIP_a1by [Occ=OnceL] :: ?callStack::CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
$dIP_a1by =
a_s1iD
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack)) } in
\ (ds_d1hY [Occ=Once!] :: Int) ->
case ds_d1hY of wild_Xi { I# ds_d1hZ [Occ=Once!] ->
case ds_d1hZ of _ [Occ=Dead] {
__DEFAULT -> wild_Xi;
0# ->
error
@ Int
$dIP_a1by
(build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "foo"#))
}
}}]
$cfoo_aox =
\ (eta_B1 :: Int) ->
let {
a_s1k6 :: [Char]
[LclId, Str=DmdType]
a_s1k6 =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "error"#) } in
let {
a_s1k5 :: [Char]
[LclId, Str=DmdType]
a_s1k5 =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "main"#) } in
let {
a_s1k4 :: [Char]
[LclId, Str=DmdType]
a_s1k4 =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "T10844a"#) } in
let {
a_s1k3 :: [Char]
[LclId, Str=DmdType]
a_s1k3 =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "./T10844a.hs"#) } in
let {
a_s1k2 :: Int
[LclId, Str=DmdType]
a_s1k2 = I# 6# } in
let {
a_s1k1 :: Int
[LclId, Str=DmdType]
a_s1k1 = I# 13# } in
let {
a_s1k0 :: Int
[LclId, Str=DmdType]
a_s1k0 = I# 6# } in
let {
a_s1jZ :: Int
[LclId, Str=DmdType]
a_s1jZ = I# 18# } in
let {
a_s1jY :: SrcLoc
[LclId, Str=DmdType]
a_s1jY =
SrcLoc a_s1k5 a_s1k4 a_s1k3 a_s1k2 a_s1k1 a_s1k0 a_s1jZ } in
let {
a_s1jX :: ([Char], SrcLoc)
[LclId, Str=DmdType]
a_s1jX = (a_s1k6, a_s1jY) } in
let {
a_s1jW :: [([Char], SrcLoc)]
[LclId, Str=DmdType]
a_s1jW = : @ ([Char], SrcLoc) a_s1jX ([] @ ([Char], SrcLoc)) } in
let {
a_s1jV :: CallStack
[LclId, Str=DmdType]
a_s1jV = CallStack a_s1jW } in
let {
$dIP_s1jU :: ?callStack::CallStack
[LclId, Str=DmdType]
$dIP_s1jU =
a_s1jV
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack)) } in
case eta_B1 of wild_Xi { I# ds_d1hZ ->
case ds_d1hZ of _ [Occ=Dead] {
__DEFAULT -> wild_Xi;
0# ->
error
@ Int
$dIP_s1jU
(build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "foo"#))
}
}
-- RHS size: {terms: 1, types: 0, coercions: 3}
T10844a.$fFooInt [InlPrag=INLINE (sat-args=0)] :: Foo Int
[LclIdX[DFunId(nt)],
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=False,boring_ok=True)
Tmpl= $cfoo_aox
`cast` (Sym (T10844a.NTCo:Foo[0] <Int>_N)
:: (Int -> Int) ~R# Foo Int)}]
T10844a.$fFooInt =
$cfoo_aox
`cast` (Sym (T10844a.NTCo:Foo[0] <Int>_N)
:: (Int -> Int) ~R# Foo Int)
*** Float out(FOS {Lam = Just 0, Consts = True, OverSatApps = False}):
==================== Levels added: ====================
<$cfoo_aox,<0,0>>
<$cfoo_aox,<0,0>> =
\ <eta_B1,<1,0>> ->
let {
<a_s1ka,F<0,0>>
<a_s1ka,F<0,0>> =
GHC.Base.build
@ GHC.Types.Char
(let {
<lvl_s1k8,F<0,0>>
<lvl_s1k8,F<0,0>> =
\ <b_a1ig,<0,2>> ->
GHC.CString.unpackFoldrCString# @ b_a1ig "error"# } in
lvl_s1k8) } in
let {
<a_s1kd,F<0,0>>
<a_s1kd,F<0,0>> =
GHC.Base.build
@ GHC.Types.Char
(let {
<lvl_s1kb,F<0,0>>
<lvl_s1kb,F<0,0>> =
\ <b_a1ig,<0,2>> ->
GHC.CString.unpackFoldrCString# @ b_a1ig "main"# } in
lvl_s1kb) } in
let {
<a_s1kg,F<0,0>>
<a_s1kg,F<0,0>> =
GHC.Base.build
@ GHC.Types.Char
(let {
<lvl_s1ke,F<0,0>>
<lvl_s1ke,F<0,0>> =
\ <b_a1ig,<0,2>> ->
GHC.CString.unpackFoldrCString# @ b_a1ig "T10844a"# } in
lvl_s1ke) } in
let {
<a_s1kj,F<0,0>>
<a_s1kj,F<0,0>> =
GHC.Base.build
@ GHC.Types.Char
(let {
<lvl_s1kh,F<0,0>>
<lvl_s1kh,F<0,0>> =
\ <b_a1ig,<0,2>> ->
GHC.CString.unpackFoldrCString# @ b_a1ig "./T10844a.hs"# } in
lvl_s1kh) } in
let {
<a_s1kl,F<0,0>>
<a_s1kl,F<0,0>> = GHC.Types.I# 6# } in
let {
<a_s1kn,F<0,0>>
<a_s1kn,F<0,0>> = GHC.Types.I# 13# } in
let {
<a_s1kp,F<0,0>>
<a_s1kp,F<0,0>> = GHC.Types.I# 6# } in
let {
<a_s1kr,F<0,0>>
<a_s1kr,F<0,0>> = GHC.Types.I# 18# } in
let {
<a_s1kt,F<0,0>>
<a_s1kt,F<0,0>> =
GHC.Types.SrcLoc
a_s1kd a_s1kg a_s1kj a_s1kl a_s1kn a_s1kp a_s1kr } in
let {
<a_s1kv,F<0,0>>
<a_s1kv,F<0,0>> = (a_s1ka, a_s1kt) } in
let {
<a_s1kx,F<0,0>>
<a_s1kx,F<0,0>> =
GHC.Types.:
@ ([GHC.Types.Char], GHC.Types.SrcLoc)
a_s1kv
(GHC.Types.[] @ ([GHC.Types.Char], GHC.Types.SrcLoc)) } in
let {
<a_s1kz,F<0,0>>
<a_s1kz,F<0,0>> = GHC.Types.CallStack a_s1kx } in
let {
<$dIP_s1kB,F<0,0>>
<$dIP_s1kB,F<0,0>> =
a_s1kz
`cast` (Sym (NTCo:IP[0] <"callStack">_N <GHC.Types.CallStack>_N)
:: GHC.Types.CallStack ~R# (?callStack::GHC.Types.CallStack)) } in
case eta_B1 of <wild_Xi,<1,1>> { GHC.Types.I# <ds_d1hZ,<1,1>> ->
case ds_d1hZ of <ds_X1i5,<1,2>> {
__DEFAULT -> eta_B1;
0# ->
let {
<lvl_s1kE,F<0,0>>
<lvl_s1kE,F<0,0>> =
GHC.Err.error
@ GHC.Types.Int
$dIP_s1kB
(let {
<lvl_s1kD,F<0,0>>
<lvl_s1kD,F<0,0>> =
GHC.Base.build
@ GHC.Types.Char
(let {
<lvl_s1kC,F<0,0>>
<lvl_s1kC,F<0,0>> =
\ <b_a1ig,<0,2>> ->
GHC.CString.unpackFoldrCString# @ b_a1ig "foo"# } in
lvl_s1kC) } in
lvl_s1kD) } in
lvl_s1kE
}
}
<T10844a.$fFooInt,<0,0>>
<T10844a.$fFooInt,<0,0>> =
$cfoo_aox
`cast` (Sym (T10844a.NTCo:Foo[0] <GHC.Types.Int>_N)
:: (GHC.Types.Int -> GHC.Types.Int) ~R# T10844a.Foo GHC.Types.Int)
==================== Float out(FOS {Lam = Just 0, Consts = True, OverSatApps = False}) ====================
Result size of Float out(FOS {Lam = Just 0,
Consts = True,
OverSatApps = False})
= {terms: 86, types: 94, coercions: 7}
-- RHS size: {terms: 3, types: 2, coercions: 0}
lvl_s1k8
:: forall b_a1ig. (Char -> b_a1ig -> b_a1ig) -> b_a1ig -> b_a1ig
[LclId, Str=DmdType]
lvl_s1k8 = \ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "error"#
-- RHS size: {terms: 2, types: 1, coercions: 0}
a_s1ka :: [Char]
[LclId, Str=DmdType]
a_s1ka = build @ Char lvl_s1k8
-- RHS size: {terms: 3, types: 2, coercions: 0}
lvl_s1kb
:: forall b_a1ig. (Char -> b_a1ig -> b_a1ig) -> b_a1ig -> b_a1ig
[LclId, Str=DmdType]
lvl_s1kb = \ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "main"#
-- RHS size: {terms: 2, types: 1, coercions: 0}
a_s1kd :: [Char]
[LclId, Str=DmdType]
a_s1kd = build @ Char lvl_s1kb
-- RHS size: {terms: 3, types: 2, coercions: 0}
lvl_s1ke
:: forall b_a1ig. (Char -> b_a1ig -> b_a1ig) -> b_a1ig -> b_a1ig
[LclId, Str=DmdType]
lvl_s1ke = \ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "T10844a"#
-- RHS size: {terms: 2, types: 1, coercions: 0}
a_s1kg :: [Char]
[LclId, Str=DmdType]
a_s1kg = build @ Char lvl_s1ke
-- RHS size: {terms: 3, types: 2, coercions: 0}
lvl_s1kh
:: forall b_a1ig. (Char -> b_a1ig -> b_a1ig) -> b_a1ig -> b_a1ig
[LclId, Str=DmdType]
lvl_s1kh =
\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "./T10844a.hs"#
-- RHS size: {terms: 2, types: 1, coercions: 0}
a_s1kj :: [Char]
[LclId, Str=DmdType]
a_s1kj = build @ Char lvl_s1kh
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1kl :: Int
[LclId, Str=DmdType]
a_s1kl = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1kn :: Int
[LclId, Str=DmdType]
a_s1kn = I# 13#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1kp :: Int
[LclId, Str=DmdType]
a_s1kp = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1kr :: Int
[LclId, Str=DmdType]
a_s1kr = I# 18#
-- RHS size: {terms: 8, types: 0, coercions: 0}
a_s1kt :: SrcLoc
[LclId, Str=DmdType]
a_s1kt = SrcLoc a_s1kd a_s1kg a_s1kj a_s1kl a_s1kn a_s1kp a_s1kr
-- RHS size: {terms: 3, types: 3, coercions: 0}
a_s1kv :: ([Char], SrcLoc)
[LclId, Str=DmdType]
a_s1kv = (a_s1ka, a_s1kt)
-- RHS size: {terms: 3, types: 8, coercions: 0}
a_s1kx :: [([Char], SrcLoc)]
[LclId, Str=DmdType]
a_s1kx = : @ ([Char], SrcLoc) a_s1kv ([] @ ([Char], SrcLoc))
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1kz :: CallStack
[LclId, Str=DmdType]
a_s1kz = CallStack a_s1kx
-- RHS size: {terms: 1, types: 0, coercions: 4}
$dIP_s1kB :: ?callStack::CallStack
[LclId, Str=DmdType]
$dIP_s1kB =
a_s1kz
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))
-- RHS size: {terms: 3, types: 2, coercions: 0}
lvl_s1kC
:: forall b_a1ig. (Char -> b_a1ig -> b_a1ig) -> b_a1ig -> b_a1ig
[LclId, Str=DmdType]
lvl_s1kC = \ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "foo"#
-- RHS size: {terms: 2, types: 1, coercions: 0}
lvl_s1kD :: [Char]
[LclId, Str=DmdType]
lvl_s1kD = build @ Char lvl_s1kC
-- RHS size: {terms: 3, types: 1, coercions: 0}
lvl_s1kE :: Int
[LclId, Str=DmdType b]
lvl_s1kE = error @ Int $dIP_s1kB lvl_s1kD
-- RHS size: {terms: 10, types: 4, coercions: 0}
$cfoo_aox [InlPrag=INLINE (sat-args=1)] :: Int -> Int
[LclId,
Arity=1,
Str=DmdType,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
WorkFree=False, Expandable=False,
Guidance=ALWAYS_IF(arity=1,unsat_ok=False,boring_ok=False)
Tmpl= let {
a_s1iG :: [Char]
[LclId, Str=DmdType]
a_s1iG =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "error"#) } in
let {
a_s1iI :: [Char]
[LclId, Str=DmdType]
a_s1iI =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "main"#) } in
let {
a_s1iJ :: [Char]
[LclId, Str=DmdType]
a_s1iJ =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "T10844a"#) } in
let {
a_s1iK :: [Char]
[LclId, Str=DmdType]
a_s1iK =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "./T10844a.hs"#) } in
let {
a_s1iL :: Int
[LclId, Str=DmdType]
a_s1iL = I# 6# } in
let {
a_s1iM :: Int
[LclId, Str=DmdType]
a_s1iM = I# 13# } in
let {
a_s1iN :: Int
[LclId, Str=DmdType]
a_s1iN = I# 6# } in
let {
a_s1iO :: Int
[LclId, Str=DmdType]
a_s1iO = I# 18# } in
let {
a_s1iH :: SrcLoc
[LclId, Str=DmdType]
a_s1iH =
SrcLoc a_s1iI a_s1iJ a_s1iK a_s1iL a_s1iM a_s1iN a_s1iO } in
let {
a_s1iF :: ([Char], SrcLoc)
[LclId, Str=DmdType]
a_s1iF = (a_s1iG, a_s1iH) } in
let {
a_s1iE :: [([Char], SrcLoc)]
[LclId, Str=DmdType]
a_s1iE = : @ ([Char], SrcLoc) a_s1iF ([] @ ([Char], SrcLoc)) } in
let {
a_s1iD :: CallStack
[LclId, Str=DmdType]
a_s1iD = CallStack a_s1iE } in
let {
$dIP_a1by [Occ=OnceL] :: ?callStack::CallStack
[LclId, Str=DmdType]
$dIP_a1by =
a_s1iD
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack)) } in
\ (ds_d1hY [Occ=Once!] :: Int) ->
case ds_d1hY of wild_Xi { I# ds_d1hZ [Occ=Once!] ->
case ds_d1hZ of _ [Occ=Dead] {
__DEFAULT -> wild_Xi;
0# ->
error
@ Int
$dIP_a1by
(build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "foo"#))
}
}}]
$cfoo_aox =
\ (eta_B1 :: Int) ->
case eta_B1 of wild_Xi { I# ds_d1hZ ->
case ds_d1hZ of _ [Occ=Dead] {
__DEFAULT -> eta_B1;
0# -> lvl_s1kE
}
}
-- RHS size: {terms: 1, types: 0, coercions: 3}
T10844a.$fFooInt [InlPrag=INLINE (sat-args=0)] :: Foo Int
[LclIdX[DFunId(nt)],
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=False,boring_ok=True)
Tmpl= $cfoo_aox
`cast` (Sym (T10844a.NTCo:Foo[0] <Int>_N)
:: (Int -> Int) ~R# Foo Int)}]
T10844a.$fFooInt =
$cfoo_aox
`cast` (Sym (T10844a.NTCo:Foo[0] <Int>_N)
:: (Int -> Int) ~R# Foo Int)
*** Simplifier:
SimplBind lvl_s1k8
SimplBind a_s1ka
SimplBind lvl_s1kb
SimplBind a_s1kd
SimplBind lvl_s1ke
SimplBind a_s1kg
SimplBind lvl_s1kh
SimplBind a_s1kj
SimplBind a_s1kl
SimplBind a_s1kn
SimplBind a_s1kp
SimplBind a_s1kr
SimplBind a_s1kt
SimplBind a_s1kv
SimplBind a_s1kx
SimplBind a_s1kz
SimplBind $dIP_s1kB
SimplBind lvl_s1kC
SimplBind lvl_s1kD
SimplBind lvl_s1kE
SimplBind $cfoo_aox
SimplBind $fFooInt
Result size of Simplifier iteration=1
= {terms: 74, types: 62, coercions: 7}
SimplBind a_s1kK
SimplBind a_s1kM
SimplBind a_s1kN
SimplBind a_s1kO
SimplBind a_s1kP
SimplBind a_s1kQ
SimplBind a_s1kR
SimplBind a_s1kS
SimplBind a_s1kL
SimplBind a_s1kJ
SimplBind a_s1kI
SimplBind a_s1kH
SimplBind $dIP_s1kB
SimplBind lvl_s1kE
SimplBind $cfoo_aox
SimplBind $fFooInt
Result size of Simplifier iteration=2
= {terms: 74, types: 62, coercions: 7}
SimplBind a_s1l1
SimplBind a_s1l3
SimplBind a_s1l4
SimplBind a_s1l5
SimplBind a_s1l6
SimplBind a_s1l7
SimplBind a_s1l8
SimplBind a_s1l9
SimplBind a_s1l2
SimplBind a_s1l0
SimplBind a_s1kZ
SimplBind a_s1kY
SimplBind $dIP_s1kB
SimplBind lvl_s1kE
SimplBind $cfoo_aox
SimplBind $fFooInt
Result size of Simplifier iteration=3
= {terms: 74, types: 62, coercions: 7}
SimplBind a_s1li
SimplBind a_s1lk
SimplBind a_s1ll
SimplBind a_s1lm
SimplBind a_s1ln
SimplBind a_s1lo
SimplBind a_s1lp
SimplBind a_s1lq
SimplBind a_s1lj
SimplBind a_s1lh
SimplBind a_s1lg
SimplBind a_s1lf
SimplBind $dIP_s1kB
SimplBind lvl_s1kE
SimplBind $cfoo_aox
SimplBind $fFooInt
Result size of Simplifier iteration=4
= {terms: 74, types: 62, coercions: 7}
==================== Simplifier ====================
Max iterations = 4
SimplMode {Phase = 2 [main],
inline,
rules,
eta-expand,
case-of-case}
Result size of Simplifier = {terms: 74, types: 62, coercions: 7}
-- RHS size: {terms: 4, types: 3, coercions: 0}
a_s1lz :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 40}]
a_s1lz =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "error"#)
-- RHS size: {terms: 4, types: 3, coercions: 0}
a_s1lB :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 40}]
a_s1lB =
build @ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "main"#)
-- RHS size: {terms: 4, types: 3, coercions: 0}
a_s1lC :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 40}]
a_s1lC =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "T10844a"#)
-- RHS size: {terms: 4, types: 3, coercions: 0}
a_s1lD :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 40}]
a_s1lD =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "./T10844a.hs"#)
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1lE :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1lE = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1lF :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1lF = I# 13#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1lG :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1lG = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1lH :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1lH = I# 18#
-- RHS size: {terms: 8, types: 0, coercions: 0}
a_s1lA :: SrcLoc
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 80}]
a_s1lA = SrcLoc a_s1lB a_s1lC a_s1lD a_s1lE a_s1lF a_s1lG a_s1lH
-- RHS size: {terms: 3, types: 3, coercions: 0}
a_s1ly :: ([Char], SrcLoc)
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1ly = (a_s1lz, a_s1lA)
-- RHS size: {terms: 3, types: 8, coercions: 0}
a_s1lx :: [([Char], SrcLoc)]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1lx = : @ ([Char], SrcLoc) a_s1ly ([] @ ([Char], SrcLoc))
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1lw :: CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1lw = CallStack a_s1lx
-- RHS size: {terms: 1, types: 0, coercions: 4}
$dIP_s1kB :: ?callStack::CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
$dIP_s1kB =
a_s1lw
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))
-- RHS size: {terms: 6, types: 4, coercions: 0}
lvl_s1kE :: Int
[LclId, Str=DmdType b]
lvl_s1kE =
error
@ Int
$dIP_s1kB
(build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "foo"#))
-- RHS size: {terms: 10, types: 4, coercions: 0}
$cfoo_aox [InlPrag=INLINE (sat-args=1)] :: Int -> Int
[LclId,
Arity=1,
Str=DmdType,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
WorkFree=False, Expandable=False,
Guidance=ALWAYS_IF(arity=1,unsat_ok=False,boring_ok=False)
Tmpl= let {
a_s1iG :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 40}]
a_s1iG =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "error"#) } in
let {
a_s1iI :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 40}]
a_s1iI =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "main"#) } in
let {
a_s1iJ :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 40}]
a_s1iJ =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "T10844a"#) } in
let {
a_s1iK :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 40}]
a_s1iK =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "./T10844a.hs"#) } in
let {
a_s1iL :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iL = I# 6# } in
let {
a_s1iM :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iM = I# 13# } in
let {
a_s1iN :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iN = I# 6# } in
let {
a_s1iO :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iO = I# 18# } in
let {
a_s1iH :: SrcLoc
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 80}]
a_s1iH =
SrcLoc a_s1iI a_s1iJ a_s1iK a_s1iL a_s1iM a_s1iN a_s1iO } in
let {
a_s1iF :: ([Char], SrcLoc)
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1iF = (a_s1iG, a_s1iH) } in
let {
a_s1iE :: [([Char], SrcLoc)]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1iE = : @ ([Char], SrcLoc) a_s1iF ([] @ ([Char], SrcLoc)) } in
let {
a_s1iD :: CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iD = CallStack a_s1iE } in
let {
$dIP_a1by [Occ=OnceL] :: ?callStack::CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
$dIP_a1by =
a_s1iD
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack)) } in
\ (ds_d1hY [Occ=Once!] :: Int) ->
case ds_d1hY of wild_Xi { I# ds_d1hZ [Occ=Once!] ->
case ds_d1hZ of _ [Occ=Dead] {
__DEFAULT -> wild_Xi;
0# ->
error
@ Int
$dIP_a1by
(build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "foo"#))
}
}}]
$cfoo_aox =
\ (eta_B1 :: Int) ->
case eta_B1 of wild_Xi { I# ds_d1hZ ->
case ds_d1hZ of _ [Occ=Dead] {
__DEFAULT -> wild_Xi;
0# -> lvl_s1kE
}
}
-- RHS size: {terms: 1, types: 0, coercions: 3}
T10844a.$fFooInt [InlPrag=INLINE (sat-args=0)] :: Foo Int
[LclIdX[DFunId(nt)],
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=False,boring_ok=True)
Tmpl= $cfoo_aox
`cast` (Sym (T10844a.NTCo:Foo[0] <Int>_N)
:: (Int -> Int) ~R# Foo Int)}]
T10844a.$fFooInt =
$cfoo_aox
`cast` (Sym (T10844a.NTCo:Foo[0] <Int>_N)
:: (Int -> Int) ~R# Foo Int)
*** Simplifier:
SimplBind a_s1lz
SimplBind a_s1lB
SimplBind a_s1lC
SimplBind a_s1lD
SimplBind a_s1lE
SimplBind a_s1lF
SimplBind a_s1lG
SimplBind a_s1lH
SimplBind a_s1lA
SimplBind a_s1ly
SimplBind a_s1lx
SimplBind a_s1lw
SimplBind $dIP_s1kB
SimplBind lvl_s1kE
SimplBind $cfoo_aox
SimplBind $fFooInt
Result size of Simplifier iteration=1
= {terms: 64, types: 47, coercions: 7}
SimplBind a_s1lS
SimplBind a_s1lU
SimplBind a_s1lV
SimplBind a_s1lW
SimplBind a_s1lX
SimplBind a_s1lY
SimplBind a_s1lZ
SimplBind a_s1m0
SimplBind a_s1lT
SimplBind a_s1lR
SimplBind a_s1lQ
SimplBind a_s1lP
SimplBind $dIP_s1kB
SimplBind lvl_s1kE
SimplBind $cfoo_aox
SimplBind $fFooInt
Result size of Simplifier iteration=2
= {terms: 64, types: 47, coercions: 7}
SimplBind a_s1m9
SimplBind a_s1mb
SimplBind a_s1mc
SimplBind a_s1md
SimplBind a_s1me
SimplBind a_s1mf
SimplBind a_s1mg
SimplBind a_s1mh
SimplBind a_s1ma
SimplBind a_s1m8
SimplBind a_s1m7
SimplBind a_s1m6
SimplBind $dIP_s1kB
SimplBind lvl_s1kE
SimplBind $cfoo_aox
SimplBind $fFooInt
Result size of Simplifier iteration=3
= {terms: 64, types: 47, coercions: 7}
SimplBind a_s1mq
SimplBind a_s1ms
SimplBind a_s1mt
SimplBind a_s1mu
SimplBind a_s1mv
SimplBind a_s1mw
SimplBind a_s1mx
SimplBind a_s1my
SimplBind a_s1mr
SimplBind a_s1mp
SimplBind a_s1mo
SimplBind a_s1mn
SimplBind $dIP_s1kB
SimplBind lvl_s1kE
SimplBind $cfoo_aox
SimplBind $fFooInt
Result size of Simplifier iteration=4
= {terms: 64, types: 47, coercions: 7}
==================== Simplifier ====================
Max iterations = 4
SimplMode {Phase = 1 [main],
inline,
rules,
eta-expand,
case-of-case}
Result size of Simplifier = {terms: 64, types: 47, coercions: 7}
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mH :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}]
a_s1mH = unpackCString# "error"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mJ :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 0}]
a_s1mJ = unpackCString# "main"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mK :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}]
a_s1mK = unpackCString# "T10844a"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mL :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 0}]
a_s1mL = unpackCString# "./T10844a.hs"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mM :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mM = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mN :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mN = I# 13#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mO :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mO = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mP :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mP = I# 18#
-- RHS size: {terms: 8, types: 0, coercions: 0}
a_s1mI :: SrcLoc
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 80}]
a_s1mI = SrcLoc a_s1mJ a_s1mK a_s1mL a_s1mM a_s1mN a_s1mO a_s1mP
-- RHS size: {terms: 3, types: 3, coercions: 0}
a_s1mG :: ([Char], SrcLoc)
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1mG = (a_s1mH, a_s1mI)
-- RHS size: {terms: 3, types: 8, coercions: 0}
a_s1mF :: [([Char], SrcLoc)]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1mF = : @ ([Char], SrcLoc) a_s1mG ([] @ ([Char], SrcLoc))
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mE :: CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mE = CallStack a_s1mF
-- RHS size: {terms: 1, types: 0, coercions: 4}
$dIP_s1kB :: ?callStack::CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
$dIP_s1kB =
a_s1mE
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))
-- RHS size: {terms: 4, types: 1, coercions: 0}
lvl_s1kE :: Int
[LclId, Str=DmdType b]
lvl_s1kE = error @ Int $dIP_s1kB (unpackCString# "foo"#)
-- RHS size: {terms: 10, types: 4, coercions: 0}
$cfoo_aox [InlPrag=INLINE (sat-args=1)] :: Int -> Int
[LclId,
Arity=1,
Str=DmdType,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
WorkFree=False, Expandable=False,
Guidance=ALWAYS_IF(arity=1,unsat_ok=False,boring_ok=False)
Tmpl= let {
a_s1iG :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 40}]
a_s1iG =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "error"#) } in
let {
a_s1iI :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 40}]
a_s1iI =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "main"#) } in
let {
a_s1iJ :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 40}]
a_s1iJ =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "T10844a"#) } in
let {
a_s1iK :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 40}]
a_s1iK =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "./T10844a.hs"#) } in
let {
a_s1iL :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iL = I# 6# } in
let {
a_s1iM :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iM = I# 13# } in
let {
a_s1iN :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iN = I# 6# } in
let {
a_s1iO :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iO = I# 18# } in
let {
a_s1iH :: SrcLoc
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 80}]
a_s1iH =
SrcLoc a_s1iI a_s1iJ a_s1iK a_s1iL a_s1iM a_s1iN a_s1iO } in
let {
a_s1iF :: ([Char], SrcLoc)
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1iF = (a_s1iG, a_s1iH) } in
let {
a_s1iE :: [([Char], SrcLoc)]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1iE = : @ ([Char], SrcLoc) a_s1iF ([] @ ([Char], SrcLoc)) } in
let {
a_s1iD :: CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iD = CallStack a_s1iE } in
let {
$dIP_a1by [Occ=OnceL] :: ?callStack::CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
$dIP_a1by =
a_s1iD
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack)) } in
\ (ds_d1hY [Occ=Once!] :: Int) ->
case ds_d1hY of wild_Xi { I# ds_d1hZ [Occ=Once!] ->
case ds_d1hZ of _ [Occ=Dead] {
__DEFAULT -> wild_Xi;
0# ->
error
@ Int
$dIP_a1by
(build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "foo"#))
}
}}]
$cfoo_aox =
\ (eta_B1 :: Int) ->
case eta_B1 of wild_Xi { I# ds_d1hZ ->
case ds_d1hZ of _ [Occ=Dead] {
__DEFAULT -> wild_Xi;
0# -> lvl_s1kE
}
}
-- RHS size: {terms: 1, types: 0, coercions: 3}
T10844a.$fFooInt [InlPrag=INLINE (sat-args=0)] :: Foo Int
[LclIdX[DFunId(nt)],
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=False,boring_ok=True)
Tmpl= $cfoo_aox
`cast` (Sym (T10844a.NTCo:Foo[0] <Int>_N)
:: (Int -> Int) ~R# Foo Int)}]
T10844a.$fFooInt =
$cfoo_aox
`cast` (Sym (T10844a.NTCo:Foo[0] <Int>_N)
:: (Int -> Int) ~R# Foo Int)
*** Simplifier:
SimplBind a_s1mH
SimplBind a_s1mJ
SimplBind a_s1mK
SimplBind a_s1mL
SimplBind a_s1mM
SimplBind a_s1mN
SimplBind a_s1mO
SimplBind a_s1mP
SimplBind a_s1mI
SimplBind a_s1mG
SimplBind a_s1mF
SimplBind a_s1mE
SimplBind $dIP_s1kB
SimplBind lvl_s1kE
SimplBind $cfoo_aox
SimplBind $fFooInt
==================== Simplifier ====================
Max iterations = 4
SimplMode {Phase = 0 [main],
inline,
rules,
eta-expand,
case-of-case}
Result size of Simplifier = {terms: 64, types: 47, coercions: 7}
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mH :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}]
a_s1mH = unpackCString# "error"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mJ :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 0}]
a_s1mJ = unpackCString# "main"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mK :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}]
a_s1mK = unpackCString# "T10844a"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mL :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 0}]
a_s1mL = unpackCString# "./T10844a.hs"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mM :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mM = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mN :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mN = I# 13#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mO :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mO = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mP :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mP = I# 18#
-- RHS size: {terms: 8, types: 0, coercions: 0}
a_s1mI :: SrcLoc
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 80}]
a_s1mI = SrcLoc a_s1mJ a_s1mK a_s1mL a_s1mM a_s1mN a_s1mO a_s1mP
-- RHS size: {terms: 3, types: 3, coercions: 0}
a_s1mG :: ([Char], SrcLoc)
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1mG = (a_s1mH, a_s1mI)
-- RHS size: {terms: 3, types: 8, coercions: 0}
a_s1mF :: [([Char], SrcLoc)]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1mF = : @ ([Char], SrcLoc) a_s1mG ([] @ ([Char], SrcLoc))
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mE :: CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mE = CallStack a_s1mF
-- RHS size: {terms: 1, types: 0, coercions: 4}
$dIP_s1kB :: ?callStack::CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
$dIP_s1kB =
a_s1mE
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))
-- RHS size: {terms: 4, types: 1, coercions: 0}
lvl_s1kE :: Int
[LclId, Str=DmdType b]
lvl_s1kE = error @ Int $dIP_s1kB (unpackCString# "foo"#)
-- RHS size: {terms: 10, types: 4, coercions: 0}
$cfoo_aox [InlPrag=INLINE (sat-args=1)] :: Int -> Int
[LclId,
Arity=1,
Str=DmdType,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
WorkFree=False, Expandable=False,
Guidance=ALWAYS_IF(arity=1,unsat_ok=False,boring_ok=False)
Tmpl= let {
a_s1iG :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 40}]
a_s1iG =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "error"#) } in
let {
a_s1iI :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 40}]
a_s1iI =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "main"#) } in
let {
a_s1iJ :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 40}]
a_s1iJ =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "T10844a"#) } in
let {
a_s1iK :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 40}]
a_s1iK =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "./T10844a.hs"#) } in
let {
a_s1iL :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iL = I# 6# } in
let {
a_s1iM :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iM = I# 13# } in
let {
a_s1iN :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iN = I# 6# } in
let {
a_s1iO :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iO = I# 18# } in
let {
a_s1iH :: SrcLoc
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 80}]
a_s1iH =
SrcLoc a_s1iI a_s1iJ a_s1iK a_s1iL a_s1iM a_s1iN a_s1iO } in
let {
a_s1iF :: ([Char], SrcLoc)
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1iF = (a_s1iG, a_s1iH) } in
let {
a_s1iE :: [([Char], SrcLoc)]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1iE = : @ ([Char], SrcLoc) a_s1iF ([] @ ([Char], SrcLoc)) } in
let {
a_s1iD :: CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iD = CallStack a_s1iE } in
let {
$dIP_a1by [Occ=OnceL] :: ?callStack::CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
$dIP_a1by =
a_s1iD
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack)) } in
\ (ds_d1hY [Occ=Once!] :: Int) ->
case ds_d1hY of wild_Xi { I# ds_d1hZ [Occ=Once!] ->
case ds_d1hZ of _ [Occ=Dead] {
__DEFAULT -> wild_Xi;
0# ->
error
@ Int
$dIP_a1by
(build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "foo"#))
}
}}]
$cfoo_aox =
\ (eta_B1 :: Int) ->
case eta_B1 of wild_Xi { I# ds_d1hZ ->
case ds_d1hZ of _ [Occ=Dead] {
__DEFAULT -> wild_Xi;
0# -> lvl_s1kE
}
}
-- RHS size: {terms: 1, types: 0, coercions: 3}
T10844a.$fFooInt [InlPrag=INLINE (sat-args=0)] :: Foo Int
[LclIdX[DFunId(nt)],
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=False,boring_ok=True)
Tmpl= $cfoo_aox
`cast` (Sym (T10844a.NTCo:Foo[0] <Int>_N)
:: (Int -> Int) ~R# Foo Int)}]
T10844a.$fFooInt =
$cfoo_aox
`cast` (Sym (T10844a.NTCo:Foo[0] <Int>_N)
:: (Int -> Int) ~R# Foo Int)
*** Float inwards:
==================== Float inwards ====================
Result size of Float inwards = {terms: 64, types: 47, coercions: 7}
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mH :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}]
a_s1mH = unpackCString# "error"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mJ :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 0}]
a_s1mJ = unpackCString# "main"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mK :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}]
a_s1mK = unpackCString# "T10844a"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mL :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 0}]
a_s1mL = unpackCString# "./T10844a.hs"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mM :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mM = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mN :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mN = I# 13#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mO :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mO = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mP :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mP = I# 18#
-- RHS size: {terms: 8, types: 0, coercions: 0}
a_s1mI :: SrcLoc
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 80}]
a_s1mI = SrcLoc a_s1mJ a_s1mK a_s1mL a_s1mM a_s1mN a_s1mO a_s1mP
-- RHS size: {terms: 3, types: 3, coercions: 0}
a_s1mG :: ([Char], SrcLoc)
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1mG = (a_s1mH, a_s1mI)
-- RHS size: {terms: 3, types: 8, coercions: 0}
a_s1mF :: [([Char], SrcLoc)]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1mF = : @ ([Char], SrcLoc) a_s1mG ([] @ ([Char], SrcLoc))
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mE :: CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mE = CallStack a_s1mF
-- RHS size: {terms: 1, types: 0, coercions: 4}
$dIP_s1kB :: ?callStack::CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
$dIP_s1kB =
a_s1mE
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))
-- RHS size: {terms: 4, types: 1, coercions: 0}
lvl_s1kE :: Int
[LclId, Str=DmdType b]
lvl_s1kE = error @ Int $dIP_s1kB (unpackCString# "foo"#)
-- RHS size: {terms: 10, types: 4, coercions: 0}
$cfoo_aox [InlPrag=INLINE (sat-args=1)] :: Int -> Int
[LclId,
Arity=1,
Str=DmdType,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
WorkFree=False, Expandable=False,
Guidance=ALWAYS_IF(arity=1,unsat_ok=False,boring_ok=False)
Tmpl= let {
a_s1iG :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 40}]
a_s1iG =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "error"#) } in
let {
a_s1iI :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 40}]
a_s1iI =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "main"#) } in
let {
a_s1iJ :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 40}]
a_s1iJ =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "T10844a"#) } in
let {
a_s1iK :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 40}]
a_s1iK =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "./T10844a.hs"#) } in
let {
a_s1iL :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iL = I# 6# } in
let {
a_s1iM :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iM = I# 13# } in
let {
a_s1iN :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iN = I# 6# } in
let {
a_s1iO :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iO = I# 18# } in
let {
a_s1iH :: SrcLoc
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 80}]
a_s1iH =
SrcLoc a_s1iI a_s1iJ a_s1iK a_s1iL a_s1iM a_s1iN a_s1iO } in
let {
a_s1iF :: ([Char], SrcLoc)
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1iF = (a_s1iG, a_s1iH) } in
let {
a_s1iE :: [([Char], SrcLoc)]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1iE = : @ ([Char], SrcLoc) a_s1iF ([] @ ([Char], SrcLoc)) } in
let {
a_s1iD :: CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iD = CallStack a_s1iE } in
let {
$dIP_a1by [Occ=OnceL] :: ?callStack::CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
$dIP_a1by =
a_s1iD
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack)) } in
\ (ds_d1hY [Occ=Once!] :: Int) ->
case ds_d1hY of wild_Xi { I# ds_d1hZ [Occ=Once!] ->
case ds_d1hZ of _ [Occ=Dead] {
__DEFAULT -> wild_Xi;
0# ->
error
@ Int
$dIP_a1by
(build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "foo"#))
}
}}]
$cfoo_aox =
\ (eta_B1 :: Int) ->
case eta_B1 of wild_Xi { I# ds_d1hZ ->
case ds_d1hZ of _ [Occ=Dead] {
__DEFAULT -> wild_Xi;
0# -> lvl_s1kE
}
}
-- RHS size: {terms: 1, types: 0, coercions: 3}
T10844a.$fFooInt [InlPrag=INLINE (sat-args=0)] :: Foo Int
[LclIdX[DFunId(nt)],
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=False,boring_ok=True)
Tmpl= $cfoo_aox
`cast` (Sym (T10844a.NTCo:Foo[0] <Int>_N)
:: (Int -> Int) ~R# Foo Int)}]
T10844a.$fFooInt =
$cfoo_aox
`cast` (Sym (T10844a.NTCo:Foo[0] <Int>_N)
:: (Int -> Int) ~R# Foo Int)
*** Called arity analysis:
==================== Called arity analysis ====================
Result size of Called arity analysis
= {terms: 64, types: 47, coercions: 7}
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mH :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}]
a_s1mH = unpackCString# "error"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mJ :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 0}]
a_s1mJ = unpackCString# "main"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mK :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}]
a_s1mK = unpackCString# "T10844a"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mL :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 0}]
a_s1mL = unpackCString# "./T10844a.hs"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mM :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mM = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mN :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mN = I# 13#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mO :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mO = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mP :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mP = I# 18#
-- RHS size: {terms: 8, types: 0, coercions: 0}
a_s1mI :: SrcLoc
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 80}]
a_s1mI = SrcLoc a_s1mJ a_s1mK a_s1mL a_s1mM a_s1mN a_s1mO a_s1mP
-- RHS size: {terms: 3, types: 3, coercions: 0}
a_s1mG :: ([Char], SrcLoc)
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1mG = (a_s1mH, a_s1mI)
-- RHS size: {terms: 3, types: 8, coercions: 0}
a_s1mF :: [([Char], SrcLoc)]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1mF = : @ ([Char], SrcLoc) a_s1mG ([] @ ([Char], SrcLoc))
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mE :: CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mE = CallStack a_s1mF
-- RHS size: {terms: 1, types: 0, coercions: 4}
$dIP_s1kB :: ?callStack::CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
$dIP_s1kB =
a_s1mE
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))
-- RHS size: {terms: 4, types: 1, coercions: 0}
lvl_s1kE :: Int
[LclId, Str=DmdType b]
lvl_s1kE = error @ Int $dIP_s1kB (unpackCString# "foo"#)
-- RHS size: {terms: 10, types: 4, coercions: 0}
$cfoo_aox [InlPrag=INLINE (sat-args=1)] :: Int -> Int
[LclId,
Arity=1,
Str=DmdType,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
WorkFree=False, Expandable=False,
Guidance=ALWAYS_IF(arity=1,unsat_ok=False,boring_ok=False)
Tmpl= let {
a_s1iG :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 40}]
a_s1iG =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "error"#) } in
let {
a_s1iI :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 40}]
a_s1iI =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "main"#) } in
let {
a_s1iJ :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 40}]
a_s1iJ =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "T10844a"#) } in
let {
a_s1iK :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 40}]
a_s1iK =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "./T10844a.hs"#) } in
let {
a_s1iL :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iL = I# 6# } in
let {
a_s1iM :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iM = I# 13# } in
let {
a_s1iN :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iN = I# 6# } in
let {
a_s1iO :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iO = I# 18# } in
let {
a_s1iH :: SrcLoc
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 80}]
a_s1iH =
SrcLoc a_s1iI a_s1iJ a_s1iK a_s1iL a_s1iM a_s1iN a_s1iO } in
let {
a_s1iF :: ([Char], SrcLoc)
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1iF = (a_s1iG, a_s1iH) } in
let {
a_s1iE :: [([Char], SrcLoc)]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1iE = : @ ([Char], SrcLoc) a_s1iF ([] @ ([Char], SrcLoc)) } in
let {
a_s1iD :: CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iD = CallStack a_s1iE } in
let {
$dIP_a1by [Occ=OnceL] :: ?callStack::CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
$dIP_a1by =
a_s1iD
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack)) } in
\ (ds_d1hY [Occ=Once!] :: Int) ->
case ds_d1hY of wild_Xi { I# ds_d1hZ [Occ=Once!] ->
case ds_d1hZ of _ [Occ=Dead] {
__DEFAULT -> wild_Xi;
0# ->
error
@ Int
$dIP_a1by
(build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "foo"#))
}
}}]
$cfoo_aox =
\ (eta_B1 :: Int) ->
case eta_B1 of wild_Xi { I# ds_d1hZ ->
case ds_d1hZ of _ [Occ=Dead] {
__DEFAULT -> wild_Xi;
0# -> lvl_s1kE
}
}
-- RHS size: {terms: 1, types: 0, coercions: 3}
T10844a.$fFooInt [InlPrag=INLINE (sat-args=0)] :: Foo Int
[LclIdX[DFunId(nt)],
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=False,boring_ok=True)
Tmpl= $cfoo_aox
`cast` (Sym (T10844a.NTCo:Foo[0] <Int>_N)
:: (Int -> Int) ~R# Foo Int)}]
T10844a.$fFooInt =
$cfoo_aox
`cast` (Sym (T10844a.NTCo:Foo[0] <Int>_N)
:: (Int -> Int) ~R# Foo Int)
*** Simplifier:
SimplBind a_s1mH
SimplBind a_s1mJ
SimplBind a_s1mK
SimplBind a_s1mL
SimplBind a_s1mM
SimplBind a_s1mN
SimplBind a_s1mO
SimplBind a_s1mP
SimplBind a_s1mI
SimplBind a_s1mG
SimplBind a_s1mF
SimplBind a_s1mE
SimplBind $dIP_s1kB
SimplBind lvl_s1kE
SimplBind $cfoo_aox
SimplBind $fFooInt
==================== Simplifier ====================
Max iterations = 4
SimplMode {Phase = 0 [post-call-arity],
inline,
rules,
eta-expand,
case-of-case}
Result size of Simplifier = {terms: 64, types: 47, coercions: 7}
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mH :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}]
a_s1mH = unpackCString# "error"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mJ :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 0}]
a_s1mJ = unpackCString# "main"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mK :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}]
a_s1mK = unpackCString# "T10844a"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mL :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 0}]
a_s1mL = unpackCString# "./T10844a.hs"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mM :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mM = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mN :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mN = I# 13#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mO :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mO = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mP :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mP = I# 18#
-- RHS size: {terms: 8, types: 0, coercions: 0}
a_s1mI :: SrcLoc
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 80}]
a_s1mI = SrcLoc a_s1mJ a_s1mK a_s1mL a_s1mM a_s1mN a_s1mO a_s1mP
-- RHS size: {terms: 3, types: 3, coercions: 0}
a_s1mG :: ([Char], SrcLoc)
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1mG = (a_s1mH, a_s1mI)
-- RHS size: {terms: 3, types: 8, coercions: 0}
a_s1mF :: [([Char], SrcLoc)]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1mF = : @ ([Char], SrcLoc) a_s1mG ([] @ ([Char], SrcLoc))
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mE :: CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mE = CallStack a_s1mF
-- RHS size: {terms: 1, types: 0, coercions: 4}
$dIP_s1kB :: ?callStack::CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
$dIP_s1kB =
a_s1mE
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))
-- RHS size: {terms: 4, types: 1, coercions: 0}
lvl_s1kE :: Int
[LclId, Str=DmdType b]
lvl_s1kE = error @ Int $dIP_s1kB (unpackCString# "foo"#)
-- RHS size: {terms: 10, types: 4, coercions: 0}
$cfoo_aox [InlPrag=INLINE (sat-args=1)] :: Int -> Int
[LclId,
Arity=1,
Str=DmdType,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
WorkFree=False, Expandable=False,
Guidance=ALWAYS_IF(arity=1,unsat_ok=False,boring_ok=False)
Tmpl= let {
a_s1iG :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 40}]
a_s1iG =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "error"#) } in
let {
a_s1iI :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 40}]
a_s1iI =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "main"#) } in
let {
a_s1iJ :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 40}]
a_s1iJ =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "T10844a"#) } in
let {
a_s1iK :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 40}]
a_s1iK =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "./T10844a.hs"#) } in
let {
a_s1iL :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iL = I# 6# } in
let {
a_s1iM :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iM = I# 13# } in
let {
a_s1iN :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iN = I# 6# } in
let {
a_s1iO :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iO = I# 18# } in
let {
a_s1iH :: SrcLoc
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 80}]
a_s1iH =
SrcLoc a_s1iI a_s1iJ a_s1iK a_s1iL a_s1iM a_s1iN a_s1iO } in
let {
a_s1iF :: ([Char], SrcLoc)
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1iF = (a_s1iG, a_s1iH) } in
let {
a_s1iE :: [([Char], SrcLoc)]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1iE = : @ ([Char], SrcLoc) a_s1iF ([] @ ([Char], SrcLoc)) } in
let {
a_s1iD :: CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iD = CallStack a_s1iE } in
let {
$dIP_a1by [Occ=OnceL] :: ?callStack::CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
$dIP_a1by =
a_s1iD
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack)) } in
\ (ds_d1hY [Occ=Once!] :: Int) ->
case ds_d1hY of wild_Xi { I# ds_d1hZ [Occ=Once!] ->
case ds_d1hZ of _ [Occ=Dead] {
__DEFAULT -> wild_Xi;
0# ->
error
@ Int
$dIP_a1by
(build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "foo"#))
}
}}]
$cfoo_aox =
\ (eta_B1 :: Int) ->
case eta_B1 of wild_Xi { I# ds_d1hZ ->
case ds_d1hZ of _ [Occ=Dead] {
__DEFAULT -> wild_Xi;
0# -> lvl_s1kE
}
}
-- RHS size: {terms: 1, types: 0, coercions: 3}
T10844a.$fFooInt [InlPrag=INLINE (sat-args=0)] :: Foo Int
[LclIdX[DFunId(nt)],
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=False,boring_ok=True)
Tmpl= $cfoo_aox
`cast` (Sym (T10844a.NTCo:Foo[0] <Int>_N)
:: (Int -> Int) ~R# Foo Int)}]
T10844a.$fFooInt =
$cfoo_aox
`cast` (Sym (T10844a.NTCo:Foo[0] <Int>_N)
:: (Int -> Int) ~R# Foo Int)
*** Demand analysis:
==================== Demand analysis ====================
Result size of Demand analysis
= {terms: 64, types: 47, coercions: 7}
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mH :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}]
a_s1mH = unpackCString# "error"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mJ :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 0}]
a_s1mJ = unpackCString# "main"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mK :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}]
a_s1mK = unpackCString# "T10844a"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mL :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 0}]
a_s1mL = unpackCString# "./T10844a.hs"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mM :: Int
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mM = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mN :: Int
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mN = I# 13#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mO :: Int
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mO = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mP :: Int
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mP = I# 18#
-- RHS size: {terms: 8, types: 0, coercions: 0}
a_s1mI :: SrcLoc
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 80}]
a_s1mI = SrcLoc a_s1mJ a_s1mK a_s1mL a_s1mM a_s1mN a_s1mO a_s1mP
-- RHS size: {terms: 3, types: 3, coercions: 0}
a_s1mG :: ([Char], SrcLoc)
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1mG = (a_s1mH, a_s1mI)
-- RHS size: {terms: 3, types: 8, coercions: 0}
a_s1mF :: [([Char], SrcLoc)]
[LclId,
Str=DmdType m2,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1mF = : @ ([Char], SrcLoc) a_s1mG ([] @ ([Char], SrcLoc))
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mE :: CallStack
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mE = CallStack a_s1mF
-- RHS size: {terms: 1, types: 0, coercions: 4}
$dIP_s1kB :: ?callStack::CallStack
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
$dIP_s1kB =
a_s1mE
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))
-- RHS size: {terms: 4, types: 1, coercions: 0}
lvl_s1kE :: Int
[LclId, Str=DmdType b]
lvl_s1kE = error @ Int $dIP_s1kB (unpackCString# "foo"#)
-- RHS size: {terms: 10, types: 4, coercions: 0}
$cfoo_aox [InlPrag=INLINE (sat-args=1)] :: Int -> Int
[LclId,
Arity=1,
Str=DmdType <S(S),1*U(U)>m,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
WorkFree=False, Expandable=False,
Guidance=ALWAYS_IF(arity=1,unsat_ok=False,boring_ok=False)
Tmpl= let {
a_s1iG :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 40}]
a_s1iG =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "error"#) } in
let {
a_s1iI :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 40}]
a_s1iI =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "main"#) } in
let {
a_s1iJ :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 40}]
a_s1iJ =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "T10844a"#) } in
let {
a_s1iK :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 40}]
a_s1iK =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "./T10844a.hs"#) } in
let {
a_s1iL :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iL = I# 6# } in
let {
a_s1iM :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iM = I# 13# } in
let {
a_s1iN :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iN = I# 6# } in
let {
a_s1iO :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iO = I# 18# } in
let {
a_s1iH :: SrcLoc
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 80}]
a_s1iH =
SrcLoc a_s1iI a_s1iJ a_s1iK a_s1iL a_s1iM a_s1iN a_s1iO } in
let {
a_s1iF :: ([Char], SrcLoc)
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1iF = (a_s1iG, a_s1iH) } in
let {
a_s1iE :: [([Char], SrcLoc)]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1iE = : @ ([Char], SrcLoc) a_s1iF ([] @ ([Char], SrcLoc)) } in
let {
a_s1iD :: CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iD = CallStack a_s1iE } in
let {
$dIP_a1by [Occ=OnceL] :: ?callStack::CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
$dIP_a1by =
a_s1iD
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack)) } in
\ (ds_d1hY [Occ=Once!] :: Int) ->
case ds_d1hY of wild_Xi { I# ds_d1hZ [Occ=Once!] ->
case ds_d1hZ of _ [Occ=Dead] {
__DEFAULT -> wild_Xi;
0# ->
error
@ Int
$dIP_a1by
(build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "foo"#))
}
}}]
$cfoo_aox =
\ (eta_B1 [Dmd=<S(S),1*U(U)>] :: Int) ->
case eta_B1 of wild_Xi [Dmd=<S,1*U(U)>] { I# ds_d1hZ [Dmd=<S,U>] ->
case ds_d1hZ of _ [Occ=Dead, Dmd=<L,A>] {
__DEFAULT -> wild_Xi;
0# -> lvl_s1kE
}
}
-- RHS size: {terms: 1, types: 0, coercions: 3}
T10844a.$fFooInt [InlPrag=INLINE (sat-args=0)] :: Foo Int
[LclIdX[DFunId(nt)],
Arity=1,
Str=DmdType <S(S),1*U(U)>m,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=False,boring_ok=True)
Tmpl= $cfoo_aox
`cast` (Sym (T10844a.NTCo:Foo[0] <Int>_N)
:: (Int -> Int) ~R# Foo Int)}]
T10844a.$fFooInt =
$cfoo_aox
`cast` (Sym (T10844a.NTCo:Foo[0] <Int>_N)
:: (Int -> Int) ~R# Foo Int)
*** Worker Wrapper binds:
==================== Worker Wrapper binds ====================
Result size of Worker Wrapper binds
= {terms: 64, types: 47, coercions: 7}
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mH :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}]
a_s1mH = unpackCString# "error"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mJ :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 0}]
a_s1mJ = unpackCString# "main"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mK :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}]
a_s1mK = unpackCString# "T10844a"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mL :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 0}]
a_s1mL = unpackCString# "./T10844a.hs"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mM :: Int
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mM = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mN :: Int
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mN = I# 13#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mO :: Int
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mO = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mP :: Int
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mP = I# 18#
-- RHS size: {terms: 8, types: 0, coercions: 0}
a_s1mI :: SrcLoc
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 80}]
a_s1mI = SrcLoc a_s1mJ a_s1mK a_s1mL a_s1mM a_s1mN a_s1mO a_s1mP
-- RHS size: {terms: 3, types: 3, coercions: 0}
a_s1mG :: ([Char], SrcLoc)
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1mG = (a_s1mH, a_s1mI)
-- RHS size: {terms: 3, types: 8, coercions: 0}
a_s1mF :: [([Char], SrcLoc)]
[LclId,
Str=DmdType m2,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1mF = : @ ([Char], SrcLoc) a_s1mG ([] @ ([Char], SrcLoc))
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mE :: CallStack
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mE = CallStack a_s1mF
-- RHS size: {terms: 1, types: 0, coercions: 4}
$dIP_s1kB :: ?callStack::CallStack
[LclId,
Str=DmdType m,
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= a_s1mE
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))}]
$dIP_s1kB =
a_s1mE
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))
-- RHS size: {terms: 4, types: 1, coercions: 0}
lvl_s1kE :: Int
[LclId, Str=DmdType b]
lvl_s1kE = error @ Int $dIP_s1kB (unpackCString# "foo"#)
-- RHS size: {terms: 10, types: 4, coercions: 0}
$cfoo_aox [InlPrag=INLINE (sat-args=1)] :: Int -> Int
[LclId,
Arity=1,
Str=DmdType <S(S),1*U(U)>m,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
WorkFree=False, Expandable=False,
Guidance=ALWAYS_IF(arity=1,unsat_ok=False,boring_ok=False)
Tmpl= let {
a_s1iG :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 40}]
a_s1iG =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "error"#) } in
let {
a_s1iI :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 40}]
a_s1iI =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "main"#) } in
let {
a_s1iJ :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 40}]
a_s1iJ =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "T10844a"#) } in
let {
a_s1iK :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 40}]
a_s1iK =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "./T10844a.hs"#) } in
let {
a_s1iL :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iL = I# 6# } in
let {
a_s1iM :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iM = I# 13# } in
let {
a_s1iN :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iN = I# 6# } in
let {
a_s1iO :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iO = I# 18# } in
let {
a_s1iH :: SrcLoc
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 80}]
a_s1iH =
SrcLoc a_s1iI a_s1iJ a_s1iK a_s1iL a_s1iM a_s1iN a_s1iO } in
let {
a_s1iF :: ([Char], SrcLoc)
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1iF = (a_s1iG, a_s1iH) } in
let {
a_s1iE :: [([Char], SrcLoc)]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1iE = : @ ([Char], SrcLoc) a_s1iF ([] @ ([Char], SrcLoc)) } in
let {
a_s1iD :: CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iD = CallStack a_s1iE } in
let {
$dIP_a1by [Occ=OnceL] :: ?callStack::CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
$dIP_a1by =
a_s1iD
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack)) } in
\ (ds_d1hY [Occ=Once!] :: Int) ->
case ds_d1hY of wild_Xi { I# ds_d1hZ [Occ=Once!] ->
case ds_d1hZ of _ [Occ=Dead] {
__DEFAULT -> wild_Xi;
0# ->
error
@ Int
$dIP_a1by
(build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "foo"#))
}
}}]
$cfoo_aox =
\ (eta_B1 [Dmd=<S(S),1*U(U)>] :: Int) ->
case eta_B1 of wild_Xi [Dmd=<S,1*U(U)>] { I# ds_d1hZ [Dmd=<S,U>] ->
case ds_d1hZ of _ [Occ=Dead, Dmd=<L,A>] {
__DEFAULT -> wild_Xi;
0# -> lvl_s1kE
}
}
-- RHS size: {terms: 1, types: 0, coercions: 3}
T10844a.$fFooInt [InlPrag=INLINE (sat-args=0)] :: Foo Int
[LclIdX[DFunId(nt)],
Arity=1,
Str=DmdType <S(S),1*U(U)>m,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=False,boring_ok=True)
Tmpl= $cfoo_aox
`cast` (Sym (T10844a.NTCo:Foo[0] <Int>_N)
:: (Int -> Int) ~R# Foo Int)}]
T10844a.$fFooInt =
$cfoo_aox
`cast` (Sym (T10844a.NTCo:Foo[0] <Int>_N)
:: (Int -> Int) ~R# Foo Int)
*** Simplifier:
SimplBind a_s1mH
SimplBind a_s1mJ
SimplBind a_s1mK
SimplBind a_s1mL
SimplBind a_s1mM
SimplBind a_s1mN
SimplBind a_s1mO
SimplBind a_s1mP
SimplBind a_s1mI
SimplBind a_s1mG
SimplBind a_s1mF
SimplBind a_s1mE
SimplBind $dIP_s1kB
SimplBind lvl_s1kE
SimplBind $cfoo_aox
SimplBind $fFooInt
==================== Simplifier ====================
Max iterations = 4
SimplMode {Phase = 0 [post-worker-wrapper],
inline,
rules,
eta-expand,
case-of-case}
Result size of Simplifier = {terms: 64, types: 47, coercions: 7}
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mH :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}]
a_s1mH = unpackCString# "error"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mJ :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 0}]
a_s1mJ = unpackCString# "main"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mK :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}]
a_s1mK = unpackCString# "T10844a"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mL :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 0}]
a_s1mL = unpackCString# "./T10844a.hs"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mM :: Int
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mM = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mN :: Int
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mN = I# 13#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mO :: Int
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mO = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mP :: Int
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mP = I# 18#
-- RHS size: {terms: 8, types: 0, coercions: 0}
a_s1mI :: SrcLoc
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 80}]
a_s1mI = SrcLoc a_s1mJ a_s1mK a_s1mL a_s1mM a_s1mN a_s1mO a_s1mP
-- RHS size: {terms: 3, types: 3, coercions: 0}
a_s1mG :: ([Char], SrcLoc)
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1mG = (a_s1mH, a_s1mI)
-- RHS size: {terms: 3, types: 8, coercions: 0}
a_s1mF :: [([Char], SrcLoc)]
[LclId,
Str=DmdType m2,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1mF = : @ ([Char], SrcLoc) a_s1mG ([] @ ([Char], SrcLoc))
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mE :: CallStack
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mE = CallStack a_s1mF
-- RHS size: {terms: 1, types: 0, coercions: 4}
$dIP_s1kB :: ?callStack::CallStack
[LclId,
Str=DmdType m,
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= a_s1mE
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))}]
$dIP_s1kB =
a_s1mE
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))
-- RHS size: {terms: 4, types: 1, coercions: 0}
lvl_s1kE :: Int
[LclId, Str=DmdType b]
lvl_s1kE = error @ Int $dIP_s1kB (unpackCString# "foo"#)
-- RHS size: {terms: 10, types: 4, coercions: 0}
$cfoo_aox [InlPrag=INLINE (sat-args=1)] :: Int -> Int
[LclId,
Arity=1,
Str=DmdType <S(S),1*U(U)>m,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
WorkFree=False, Expandable=False,
Guidance=ALWAYS_IF(arity=1,unsat_ok=False,boring_ok=False)
Tmpl= let {
a_s1iG :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 40}]
a_s1iG =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "error"#) } in
let {
a_s1iI :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 40}]
a_s1iI =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "main"#) } in
let {
a_s1iJ :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 40}]
a_s1iJ =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "T10844a"#) } in
let {
a_s1iK :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 40}]
a_s1iK =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "./T10844a.hs"#) } in
let {
a_s1iL :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iL = I# 6# } in
let {
a_s1iM :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iM = I# 13# } in
let {
a_s1iN :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iN = I# 6# } in
let {
a_s1iO :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iO = I# 18# } in
let {
a_s1iH :: SrcLoc
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 80}]
a_s1iH =
SrcLoc a_s1iI a_s1iJ a_s1iK a_s1iL a_s1iM a_s1iN a_s1iO } in
let {
a_s1iF :: ([Char], SrcLoc)
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1iF = (a_s1iG, a_s1iH) } in
let {
a_s1iE :: [([Char], SrcLoc)]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1iE = : @ ([Char], SrcLoc) a_s1iF ([] @ ([Char], SrcLoc)) } in
let {
a_s1iD :: CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iD = CallStack a_s1iE } in
let {
$dIP_a1by [Occ=OnceL] :: ?callStack::CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
$dIP_a1by =
a_s1iD
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack)) } in
\ (ds_d1hY [Occ=Once!] :: Int) ->
case ds_d1hY of wild_Xi { I# ds_d1hZ [Occ=Once!] ->
case ds_d1hZ of _ [Occ=Dead] {
__DEFAULT -> wild_Xi;
0# ->
error
@ Int
$dIP_a1by
(build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "foo"#))
}
}}]
$cfoo_aox =
\ (eta_B1 :: Int) ->
case eta_B1 of wild_Xi [Dmd=<S,1*U(U)>] { I# ds_d1hZ [Dmd=<S,U>] ->
case ds_d1hZ of _ [Occ=Dead, Dmd=<L,A>] {
__DEFAULT -> wild_Xi;
0# -> lvl_s1kE
}
}
-- RHS size: {terms: 1, types: 0, coercions: 3}
T10844a.$fFooInt [InlPrag=INLINE (sat-args=0)] :: Foo Int
[LclIdX[DFunId(nt)],
Arity=1,
Str=DmdType <S(S),1*U(U)>m,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=False,boring_ok=True)
Tmpl= $cfoo_aox
`cast` (Sym (T10844a.NTCo:Foo[0] <Int>_N)
:: (Int -> Int) ~R# Foo Int)}]
T10844a.$fFooInt =
$cfoo_aox
`cast` (Sym (T10844a.NTCo:Foo[0] <Int>_N)
:: (Int -> Int) ~R# Foo Int)
*** Float out(FOS {Lam = Just 0, Consts = True, OverSatApps = True}):
==================== Levels added: ====================
<a_s1mH,<0,0>>
<a_s1mH,<0,0>> = GHC.CString.unpackCString# "error"#
<a_s1mJ,<0,0>>
<a_s1mJ,<0,0>> = GHC.CString.unpackCString# "main"#
<a_s1mK,<0,0>>
<a_s1mK,<0,0>> = GHC.CString.unpackCString# "T10844a"#
<a_s1mL,<0,0>>
<a_s1mL,<0,0>> = GHC.CString.unpackCString# "./T10844a.hs"#
<a_s1mM,<0,0>>
<a_s1mM,<0,0>> = GHC.Types.I# 6#
<a_s1mN,<0,0>>
<a_s1mN,<0,0>> = GHC.Types.I# 13#
<a_s1mO,<0,0>>
<a_s1mO,<0,0>> = GHC.Types.I# 6#
<a_s1mP,<0,0>>
<a_s1mP,<0,0>> = GHC.Types.I# 18#
<a_s1mI,<0,0>>
<a_s1mI,<0,0>> =
GHC.Types.SrcLoc a_s1mJ a_s1mK a_s1mL a_s1mM a_s1mN a_s1mO a_s1mP
<a_s1mG,<0,0>>
<a_s1mG,<0,0>> = (a_s1mH, a_s1mI)
<a_s1mF,<0,0>>
<a_s1mF,<0,0>> =
GHC.Types.:
@ ([GHC.Types.Char], GHC.Types.SrcLoc)
a_s1mG
(GHC.Types.[] @ ([GHC.Types.Char], GHC.Types.SrcLoc))
<a_s1mE,<0,0>>
<a_s1mE,<0,0>> = GHC.Types.CallStack a_s1mF
<$dIP_s1kB,<0,0>>
<$dIP_s1kB,<0,0>> =
a_s1mE
`cast` (Sym (NTCo:IP[0] <"callStack">_N <GHC.Types.CallStack>_N)
:: GHC.Types.CallStack ~R# (?callStack::GHC.Types.CallStack))
<lvl_s1kE,<0,0>>
<lvl_s1kE,<0,0>> =
GHC.Err.error
@ GHC.Types.Int
$dIP_s1kB
(let {
<lvl_s1ng,F<0,0>>
<lvl_s1ng,F<0,0>> = GHC.CString.unpackCString# "foo"# } in
lvl_s1ng)
<$cfoo_aox,<0,0>>
<$cfoo_aox,<0,0>> =
\ <eta_B1,<1,0>> ->
case eta_B1 of <wild_Xi,<1,1>> { GHC.Types.I# <ds_d1hZ,<1,1>> ->
case ds_d1hZ of <ds_X1i5,<1,2>> {
__DEFAULT -> eta_B1;
0# -> lvl_s1kE
}
}
<T10844a.$fFooInt,<0,0>>
<T10844a.$fFooInt,<0,0>> =
$cfoo_aox
`cast` (Sym (T10844a.NTCo:Foo[0] <GHC.Types.Int>_N)
:: (GHC.Types.Int -> GHC.Types.Int) ~R# T10844a.Foo GHC.Types.Int)
==================== Float out(FOS {Lam = Just 0, Consts = True, OverSatApps = True}) ====================
Result size of Float out(FOS {Lam = Just 0,
Consts = True,
OverSatApps = True})
= {terms: 66, types: 49, coercions: 7}
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mH :: [Char]
[LclId, Str=DmdType]
a_s1mH = unpackCString# "error"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mJ :: [Char]
[LclId, Str=DmdType]
a_s1mJ = unpackCString# "main"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mK :: [Char]
[LclId, Str=DmdType]
a_s1mK = unpackCString# "T10844a"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mL :: [Char]
[LclId, Str=DmdType]
a_s1mL = unpackCString# "./T10844a.hs"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mM :: Int
[LclId, Str=DmdType m]
a_s1mM = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mN :: Int
[LclId, Str=DmdType m]
a_s1mN = I# 13#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mO :: Int
[LclId, Str=DmdType m]
a_s1mO = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mP :: Int
[LclId, Str=DmdType m]
a_s1mP = I# 18#
-- RHS size: {terms: 8, types: 0, coercions: 0}
a_s1mI :: SrcLoc
[LclId, Str=DmdType m]
a_s1mI = SrcLoc a_s1mJ a_s1mK a_s1mL a_s1mM a_s1mN a_s1mO a_s1mP
-- RHS size: {terms: 3, types: 3, coercions: 0}
a_s1mG :: ([Char], SrcLoc)
[LclId, Str=DmdType m]
a_s1mG = (a_s1mH, a_s1mI)
-- RHS size: {terms: 3, types: 8, coercions: 0}
a_s1mF :: [([Char], SrcLoc)]
[LclId, Str=DmdType m2]
a_s1mF = : @ ([Char], SrcLoc) a_s1mG ([] @ ([Char], SrcLoc))
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mE :: CallStack
[LclId, Str=DmdType m]
a_s1mE = CallStack a_s1mF
-- RHS size: {terms: 1, types: 0, coercions: 4}
$dIP_s1kB :: ?callStack::CallStack
[LclId,
Str=DmdType m,
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= a_s1mE
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))}]
$dIP_s1kB =
a_s1mE
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))
-- RHS size: {terms: 2, types: 0, coercions: 0}
lvl_s1ng :: [Char]
[LclId, Str=DmdType]
lvl_s1ng = unpackCString# "foo"#
-- RHS size: {terms: 3, types: 1, coercions: 0}
lvl_s1kE :: Int
[LclId, Str=DmdType b]
lvl_s1kE = error @ Int $dIP_s1kB lvl_s1ng
-- RHS size: {terms: 10, types: 4, coercions: 0}
$cfoo_aox [InlPrag=INLINE (sat-args=1)] :: Int -> Int
[LclId,
Arity=1,
Str=DmdType <S(S),1*U(U)>m,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
WorkFree=False, Expandable=False,
Guidance=ALWAYS_IF(arity=1,unsat_ok=False,boring_ok=False)
Tmpl= let {
a_s1iG :: [Char]
[LclId, Str=DmdType]
a_s1iG =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "error"#) } in
let {
a_s1iI :: [Char]
[LclId, Str=DmdType]
a_s1iI =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "main"#) } in
let {
a_s1iJ :: [Char]
[LclId, Str=DmdType]
a_s1iJ =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "T10844a"#) } in
let {
a_s1iK :: [Char]
[LclId, Str=DmdType]
a_s1iK =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "./T10844a.hs"#) } in
let {
a_s1iL :: Int
[LclId, Str=DmdType]
a_s1iL = I# 6# } in
let {
a_s1iM :: Int
[LclId, Str=DmdType]
a_s1iM = I# 13# } in
let {
a_s1iN :: Int
[LclId, Str=DmdType]
a_s1iN = I# 6# } in
let {
a_s1iO :: Int
[LclId, Str=DmdType]
a_s1iO = I# 18# } in
let {
a_s1iH :: SrcLoc
[LclId, Str=DmdType]
a_s1iH =
SrcLoc a_s1iI a_s1iJ a_s1iK a_s1iL a_s1iM a_s1iN a_s1iO } in
let {
a_s1iF :: ([Char], SrcLoc)
[LclId, Str=DmdType]
a_s1iF = (a_s1iG, a_s1iH) } in
let {
a_s1iE :: [([Char], SrcLoc)]
[LclId, Str=DmdType]
a_s1iE = : @ ([Char], SrcLoc) a_s1iF ([] @ ([Char], SrcLoc)) } in
let {
a_s1iD :: CallStack
[LclId, Str=DmdType]
a_s1iD = CallStack a_s1iE } in
let {
$dIP_a1by [Occ=OnceL] :: ?callStack::CallStack
[LclId, Str=DmdType]
$dIP_a1by =
a_s1iD
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack)) } in
\ (ds_d1hY [Occ=Once!] :: Int) ->
case ds_d1hY of wild_Xi { I# ds_d1hZ [Occ=Once!] ->
case ds_d1hZ of _ [Occ=Dead] {
__DEFAULT -> wild_Xi;
0# ->
error
@ Int
$dIP_a1by
(build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "foo"#))
}
}}]
$cfoo_aox =
\ (eta_B1 :: Int) ->
case eta_B1 of wild_Xi [Dmd=<S,1*U(U)>] { I# ds_d1hZ [Dmd=<S,U>] ->
case ds_d1hZ of _ [Occ=Dead, Dmd=<L,A>] {
__DEFAULT -> eta_B1;
0# -> lvl_s1kE
}
}
-- RHS size: {terms: 1, types: 0, coercions: 3}
T10844a.$fFooInt [InlPrag=INLINE (sat-args=0)] :: Foo Int
[LclIdX[DFunId(nt)],
Arity=1,
Str=DmdType <S(S),1*U(U)>m,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=False,boring_ok=True)
Tmpl= $cfoo_aox
`cast` (Sym (T10844a.NTCo:Foo[0] <Int>_N)
:: (Int -> Int) ~R# Foo Int)}]
T10844a.$fFooInt =
$cfoo_aox
`cast` (Sym (T10844a.NTCo:Foo[0] <Int>_N)
:: (Int -> Int) ~R# Foo Int)
*** Common sub-expression:
==================== Common sub-expression ====================
Result size of Common sub-expression
= {terms: 65, types: 49, coercions: 7}
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mH :: [Char]
[LclId, Str=DmdType]
a_s1mH = unpackCString# "error"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mJ :: [Char]
[LclId, Str=DmdType]
a_s1mJ = unpackCString# "main"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mK :: [Char]
[LclId, Str=DmdType]
a_s1mK = unpackCString# "T10844a"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mL :: [Char]
[LclId, Str=DmdType]
a_s1mL = unpackCString# "./T10844a.hs"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mM :: Int
[LclId, Str=DmdType m]
a_s1mM = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mN :: Int
[LclId, Str=DmdType m]
a_s1mN = I# 13#
-- RHS size: {terms: 1, types: 0, coercions: 0}
a_s1mO :: Int
[LclId, Str=DmdType m]
a_s1mO = a_s1mM
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mP :: Int
[LclId, Str=DmdType m]
a_s1mP = I# 18#
-- RHS size: {terms: 8, types: 0, coercions: 0}
a_s1mI :: SrcLoc
[LclId, Str=DmdType m]
a_s1mI = SrcLoc a_s1mJ a_s1mK a_s1mL a_s1mM a_s1mN a_s1mM a_s1mP
-- RHS size: {terms: 3, types: 3, coercions: 0}
a_s1mG :: ([Char], SrcLoc)
[LclId, Str=DmdType m]
a_s1mG = (a_s1mH, a_s1mI)
-- RHS size: {terms: 3, types: 8, coercions: 0}
a_s1mF :: [([Char], SrcLoc)]
[LclId, Str=DmdType m2]
a_s1mF = : @ ([Char], SrcLoc) a_s1mG ([] @ ([Char], SrcLoc))
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mE :: CallStack
[LclId, Str=DmdType m]
a_s1mE = CallStack a_s1mF
-- RHS size: {terms: 1, types: 0, coercions: 4}
$dIP_s1kB :: ?callStack::CallStack
[LclId,
Str=DmdType m,
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= a_s1mE
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))}]
$dIP_s1kB =
a_s1mE
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))
-- RHS size: {terms: 2, types: 0, coercions: 0}
lvl_s1ng :: [Char]
[LclId, Str=DmdType]
lvl_s1ng = unpackCString# "foo"#
-- RHS size: {terms: 3, types: 1, coercions: 0}
lvl_s1kE :: Int
[LclId, Str=DmdType b]
lvl_s1kE = error @ Int $dIP_s1kB lvl_s1ng
-- RHS size: {terms: 10, types: 4, coercions: 0}
$cfoo_aox [InlPrag=INLINE (sat-args=1)] :: Int -> Int
[LclId,
Arity=1,
Str=DmdType <S(S),1*U(U)>m,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
WorkFree=False, Expandable=False,
Guidance=ALWAYS_IF(arity=1,unsat_ok=False,boring_ok=False)
Tmpl= let {
a_s1iG :: [Char]
[LclId, Str=DmdType]
a_s1iG =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "error"#) } in
let {
a_s1iI :: [Char]
[LclId, Str=DmdType]
a_s1iI =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "main"#) } in
let {
a_s1iJ :: [Char]
[LclId, Str=DmdType]
a_s1iJ =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "T10844a"#) } in
let {
a_s1iK :: [Char]
[LclId, Str=DmdType]
a_s1iK =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "./T10844a.hs"#) } in
let {
a_s1iL :: Int
[LclId, Str=DmdType]
a_s1iL = I# 6# } in
let {
a_s1iM :: Int
[LclId, Str=DmdType]
a_s1iM = I# 13# } in
let {
a_s1iN :: Int
[LclId, Str=DmdType]
a_s1iN = I# 6# } in
let {
a_s1iO :: Int
[LclId, Str=DmdType]
a_s1iO = I# 18# } in
let {
a_s1iH :: SrcLoc
[LclId, Str=DmdType]
a_s1iH =
SrcLoc a_s1iI a_s1iJ a_s1iK a_s1iL a_s1iM a_s1iN a_s1iO } in
let {
a_s1iF :: ([Char], SrcLoc)
[LclId, Str=DmdType]
a_s1iF = (a_s1iG, a_s1iH) } in
let {
a_s1iE :: [([Char], SrcLoc)]
[LclId, Str=DmdType]
a_s1iE = : @ ([Char], SrcLoc) a_s1iF ([] @ ([Char], SrcLoc)) } in
let {
a_s1iD :: CallStack
[LclId, Str=DmdType]
a_s1iD = CallStack a_s1iE } in
let {
$dIP_a1by [Occ=OnceL] :: ?callStack::CallStack
[LclId, Str=DmdType]
$dIP_a1by =
a_s1iD
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack)) } in
\ (ds_d1hY [Occ=Once!] :: Int) ->
case ds_d1hY of wild_Xi { I# ds_d1hZ [Occ=Once!] ->
case ds_d1hZ of _ [Occ=Dead] {
__DEFAULT -> wild_Xi;
0# ->
error
@ Int
$dIP_a1by
(build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "foo"#))
}
}}]
$cfoo_aox =
\ (eta_B1 :: Int) ->
case eta_B1 of wild_Xi [Dmd=<S,U(U)>] { I# ds_d1hZ [Dmd=<S,U>] ->
case ds_d1hZ of ds_X1i5 {
__DEFAULT -> eta_B1;
0# -> lvl_s1kE
}
}
-- RHS size: {terms: 1, types: 0, coercions: 3}
T10844a.$fFooInt [InlPrag=INLINE (sat-args=0)] :: Foo Int
[LclIdX[DFunId(nt)],
Arity=1,
Str=DmdType <S(S),1*U(U)>m,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=False,boring_ok=True)
Tmpl= $cfoo_aox
`cast` (Sym (T10844a.NTCo:Foo[0] <Int>_N)
:: (Int -> Int) ~R# Foo Int)}]
T10844a.$fFooInt =
$cfoo_aox
`cast` (Sym (T10844a.NTCo:Foo[0] <Int>_N)
:: (Int -> Int) ~R# Foo Int)
*** Float inwards:
==================== Float inwards ====================
Result size of Float inwards = {terms: 65, types: 49, coercions: 7}
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mH :: [Char]
[LclId, Str=DmdType]
a_s1mH = unpackCString# "error"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mJ :: [Char]
[LclId, Str=DmdType]
a_s1mJ = unpackCString# "main"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mK :: [Char]
[LclId, Str=DmdType]
a_s1mK = unpackCString# "T10844a"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mL :: [Char]
[LclId, Str=DmdType]
a_s1mL = unpackCString# "./T10844a.hs"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mM :: Int
[LclId, Str=DmdType m]
a_s1mM = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mN :: Int
[LclId, Str=DmdType m]
a_s1mN = I# 13#
-- RHS size: {terms: 1, types: 0, coercions: 0}
a_s1mO :: Int
[LclId, Str=DmdType m]
a_s1mO = a_s1mM
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mP :: Int
[LclId, Str=DmdType m]
a_s1mP = I# 18#
-- RHS size: {terms: 8, types: 0, coercions: 0}
a_s1mI :: SrcLoc
[LclId, Str=DmdType m]
a_s1mI = SrcLoc a_s1mJ a_s1mK a_s1mL a_s1mM a_s1mN a_s1mM a_s1mP
-- RHS size: {terms: 3, types: 3, coercions: 0}
a_s1mG :: ([Char], SrcLoc)
[LclId, Str=DmdType m]
a_s1mG = (a_s1mH, a_s1mI)
-- RHS size: {terms: 3, types: 8, coercions: 0}
a_s1mF :: [([Char], SrcLoc)]
[LclId, Str=DmdType m2]
a_s1mF = : @ ([Char], SrcLoc) a_s1mG ([] @ ([Char], SrcLoc))
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mE :: CallStack
[LclId, Str=DmdType m]
a_s1mE = CallStack a_s1mF
-- RHS size: {terms: 1, types: 0, coercions: 4}
$dIP_s1kB :: ?callStack::CallStack
[LclId,
Str=DmdType m,
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= a_s1mE
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))}]
$dIP_s1kB =
a_s1mE
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))
-- RHS size: {terms: 2, types: 0, coercions: 0}
lvl_s1ng :: [Char]
[LclId, Str=DmdType]
lvl_s1ng = unpackCString# "foo"#
-- RHS size: {terms: 3, types: 1, coercions: 0}
lvl_s1kE :: Int
[LclId, Str=DmdType b]
lvl_s1kE = error @ Int $dIP_s1kB lvl_s1ng
-- RHS size: {terms: 10, types: 4, coercions: 0}
$cfoo_aox [InlPrag=INLINE (sat-args=1)] :: Int -> Int
[LclId,
Arity=1,
Str=DmdType <S(S),1*U(U)>m,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
WorkFree=False, Expandable=False,
Guidance=ALWAYS_IF(arity=1,unsat_ok=False,boring_ok=False)
Tmpl= let {
a_s1iG :: [Char]
[LclId, Str=DmdType]
a_s1iG =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "error"#) } in
let {
a_s1iI :: [Char]
[LclId, Str=DmdType]
a_s1iI =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "main"#) } in
let {
a_s1iJ :: [Char]
[LclId, Str=DmdType]
a_s1iJ =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "T10844a"#) } in
let {
a_s1iK :: [Char]
[LclId, Str=DmdType]
a_s1iK =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "./T10844a.hs"#) } in
let {
a_s1iL :: Int
[LclId, Str=DmdType]
a_s1iL = I# 6# } in
let {
a_s1iM :: Int
[LclId, Str=DmdType]
a_s1iM = I# 13# } in
let {
a_s1iN :: Int
[LclId, Str=DmdType]
a_s1iN = I# 6# } in
let {
a_s1iO :: Int
[LclId, Str=DmdType]
a_s1iO = I# 18# } in
let {
a_s1iH :: SrcLoc
[LclId, Str=DmdType]
a_s1iH =
SrcLoc a_s1iI a_s1iJ a_s1iK a_s1iL a_s1iM a_s1iN a_s1iO } in
let {
a_s1iF :: ([Char], SrcLoc)
[LclId, Str=DmdType]
a_s1iF = (a_s1iG, a_s1iH) } in
let {
a_s1iE :: [([Char], SrcLoc)]
[LclId, Str=DmdType]
a_s1iE = : @ ([Char], SrcLoc) a_s1iF ([] @ ([Char], SrcLoc)) } in
let {
a_s1iD :: CallStack
[LclId, Str=DmdType]
a_s1iD = CallStack a_s1iE } in
let {
$dIP_a1by [Occ=OnceL] :: ?callStack::CallStack
[LclId, Str=DmdType]
$dIP_a1by =
a_s1iD
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack)) } in
\ (ds_d1hY [Occ=Once!] :: Int) ->
case ds_d1hY of wild_Xi { I# ds_d1hZ [Occ=Once!] ->
case ds_d1hZ of _ [Occ=Dead] {
__DEFAULT -> wild_Xi;
0# ->
error
@ Int
$dIP_a1by
(build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "foo"#))
}
}}]
$cfoo_aox =
\ (eta_B1 :: Int) ->
case eta_B1 of wild_Xi [Dmd=<S,U(U)>] { I# ds_d1hZ [Dmd=<S,U>] ->
case ds_d1hZ of ds_X1i5 {
__DEFAULT -> eta_B1;
0# -> lvl_s1kE
}
}
-- RHS size: {terms: 1, types: 0, coercions: 3}
T10844a.$fFooInt [InlPrag=INLINE (sat-args=0)] :: Foo Int
[LclIdX[DFunId(nt)],
Arity=1,
Str=DmdType <S(S),1*U(U)>m,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=False,boring_ok=True)
Tmpl= $cfoo_aox
`cast` (Sym (T10844a.NTCo:Foo[0] <Int>_N)
:: (Int -> Int) ~R# Foo Int)}]
T10844a.$fFooInt =
$cfoo_aox
`cast` (Sym (T10844a.NTCo:Foo[0] <Int>_N)
:: (Int -> Int) ~R# Foo Int)
*** Liberate case:
==================== Liberate case ====================
Result size of Liberate case = {terms: 65, types: 49, coercions: 7}
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mH :: [Char]
[LclId, Str=DmdType]
a_s1mH = unpackCString# "error"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mJ :: [Char]
[LclId, Str=DmdType]
a_s1mJ = unpackCString# "main"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mK :: [Char]
[LclId, Str=DmdType]
a_s1mK = unpackCString# "T10844a"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mL :: [Char]
[LclId, Str=DmdType]
a_s1mL = unpackCString# "./T10844a.hs"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mM :: Int
[LclId, Str=DmdType m]
a_s1mM = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mN :: Int
[LclId, Str=DmdType m]
a_s1mN = I# 13#
-- RHS size: {terms: 1, types: 0, coercions: 0}
a_s1mO :: Int
[LclId, Str=DmdType m]
a_s1mO = a_s1mM
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mP :: Int
[LclId, Str=DmdType m]
a_s1mP = I# 18#
-- RHS size: {terms: 8, types: 0, coercions: 0}
a_s1mI :: SrcLoc
[LclId, Str=DmdType m]
a_s1mI = SrcLoc a_s1mJ a_s1mK a_s1mL a_s1mM a_s1mN a_s1mM a_s1mP
-- RHS size: {terms: 3, types: 3, coercions: 0}
a_s1mG :: ([Char], SrcLoc)
[LclId, Str=DmdType m]
a_s1mG = (a_s1mH, a_s1mI)
-- RHS size: {terms: 3, types: 8, coercions: 0}
a_s1mF :: [([Char], SrcLoc)]
[LclId, Str=DmdType m2]
a_s1mF = : @ ([Char], SrcLoc) a_s1mG ([] @ ([Char], SrcLoc))
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mE :: CallStack
[LclId, Str=DmdType m]
a_s1mE = CallStack a_s1mF
-- RHS size: {terms: 1, types: 0, coercions: 4}
$dIP_s1kB :: ?callStack::CallStack
[LclId,
Str=DmdType m,
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= a_s1mE
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))}]
$dIP_s1kB =
a_s1mE
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))
-- RHS size: {terms: 2, types: 0, coercions: 0}
lvl_s1ng :: [Char]
[LclId, Str=DmdType]
lvl_s1ng = unpackCString# "foo"#
-- RHS size: {terms: 3, types: 1, coercions: 0}
lvl_s1kE :: Int
[LclId, Str=DmdType b]
lvl_s1kE = error @ Int $dIP_s1kB lvl_s1ng
-- RHS size: {terms: 10, types: 4, coercions: 0}
$cfoo_aox [InlPrag=INLINE (sat-args=1)] :: Int -> Int
[LclId,
Arity=1,
Str=DmdType <S(S),1*U(U)>m,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
WorkFree=False, Expandable=False,
Guidance=ALWAYS_IF(arity=1,unsat_ok=False,boring_ok=False)
Tmpl= let {
a_s1iG :: [Char]
[LclId, Str=DmdType]
a_s1iG =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "error"#) } in
let {
a_s1iI :: [Char]
[LclId, Str=DmdType]
a_s1iI =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "main"#) } in
let {
a_s1iJ :: [Char]
[LclId, Str=DmdType]
a_s1iJ =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "T10844a"#) } in
let {
a_s1iK :: [Char]
[LclId, Str=DmdType]
a_s1iK =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "./T10844a.hs"#) } in
let {
a_s1iL :: Int
[LclId, Str=DmdType]
a_s1iL = I# 6# } in
let {
a_s1iM :: Int
[LclId, Str=DmdType]
a_s1iM = I# 13# } in
let {
a_s1iN :: Int
[LclId, Str=DmdType]
a_s1iN = I# 6# } in
let {
a_s1iO :: Int
[LclId, Str=DmdType]
a_s1iO = I# 18# } in
let {
a_s1iH :: SrcLoc
[LclId, Str=DmdType]
a_s1iH =
SrcLoc a_s1iI a_s1iJ a_s1iK a_s1iL a_s1iM a_s1iN a_s1iO } in
let {
a_s1iF :: ([Char], SrcLoc)
[LclId, Str=DmdType]
a_s1iF = (a_s1iG, a_s1iH) } in
let {
a_s1iE :: [([Char], SrcLoc)]
[LclId, Str=DmdType]
a_s1iE = : @ ([Char], SrcLoc) a_s1iF ([] @ ([Char], SrcLoc)) } in
let {
a_s1iD :: CallStack
[LclId, Str=DmdType]
a_s1iD = CallStack a_s1iE } in
let {
$dIP_a1by [Occ=OnceL] :: ?callStack::CallStack
[LclId, Str=DmdType]
$dIP_a1by =
a_s1iD
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack)) } in
\ (ds_d1hY [Occ=Once!] :: Int) ->
case ds_d1hY of wild_Xi { I# ds_d1hZ [Occ=Once!] ->
case ds_d1hZ of _ [Occ=Dead] {
__DEFAULT -> wild_Xi;
0# ->
error
@ Int
$dIP_a1by
(build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "foo"#))
}
}}]
$cfoo_aox =
\ (eta_B1 :: Int) ->
case eta_B1 of wild_Xi [Dmd=<S,U(U)>] { I# ds_d1hZ [Dmd=<S,U>] ->
case ds_d1hZ of ds_X1i5 {
__DEFAULT -> eta_B1;
0# -> lvl_s1kE
}
}
-- RHS size: {terms: 1, types: 0, coercions: 3}
T10844a.$fFooInt [InlPrag=INLINE (sat-args=0)] :: Foo Int
[LclIdX[DFunId(nt)],
Arity=1,
Str=DmdType <S(S),1*U(U)>m,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=False,boring_ok=True)
Tmpl= $cfoo_aox
`cast` (Sym (T10844a.NTCo:Foo[0] <Int>_N)
:: (Int -> Int) ~R# Foo Int)}]
T10844a.$fFooInt =
$cfoo_aox
`cast` (Sym (T10844a.NTCo:Foo[0] <Int>_N)
:: (Int -> Int) ~R# Foo Int)
*** Simplifier:
SimplBind a_s1mH
SimplBind a_s1mJ
SimplBind a_s1mK
SimplBind a_s1mL
SimplBind a_s1mM
SimplBind a_s1mN
SimplBind a_s1mP
SimplBind a_s1mI
SimplBind a_s1mG
SimplBind a_s1mF
SimplBind a_s1mE
SimplBind $dIP_s1kB
SimplBind lvl_s1ng
SimplBind lvl_s1kE
SimplBind $cfoo_aox
SimplBind $fFooInt
Result size of Simplifier iteration=1
= {terms: 63, types: 48, coercions: 7}
SimplBind a_s1mH
SimplBind a_s1mJ
SimplBind a_s1mK
SimplBind a_s1mL
SimplBind a_s1mM
SimplBind a_s1mN
SimplBind a_s1mP
SimplBind a_s1mI
SimplBind a_s1mG
SimplBind a_s1mF
SimplBind a_s1mE
SimplBind $dIP_s1kB
SimplBind lvl_s1ng
SimplBind lvl_s1kE
SimplBind $cfoo_aox
SimplBind $fFooInt
==================== Simplifier ====================
Max iterations = 4
SimplMode {Phase = 0 [post-liberate-case],
inline,
rules,
eta-expand,
case-of-case}
Result size of Simplifier = {terms: 63, types: 48, coercions: 7}
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mH :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}]
a_s1mH = unpackCString# "error"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mJ :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 0}]
a_s1mJ = unpackCString# "main"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mK :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}]
a_s1mK = unpackCString# "T10844a"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mL :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 0}]
a_s1mL = unpackCString# "./T10844a.hs"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mM :: Int
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mM = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mN :: Int
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mN = I# 13#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mP :: Int
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mP = I# 18#
-- RHS size: {terms: 8, types: 0, coercions: 0}
a_s1mI :: SrcLoc
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 80}]
a_s1mI = SrcLoc a_s1mJ a_s1mK a_s1mL a_s1mM a_s1mN a_s1mM a_s1mP
-- RHS size: {terms: 3, types: 3, coercions: 0}
a_s1mG :: ([Char], SrcLoc)
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1mG = (a_s1mH, a_s1mI)
-- RHS size: {terms: 3, types: 8, coercions: 0}
a_s1mF :: [([Char], SrcLoc)]
[LclId,
Str=DmdType m2,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1mF = : @ ([Char], SrcLoc) a_s1mG ([] @ ([Char], SrcLoc))
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mE :: CallStack
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mE = CallStack a_s1mF
-- RHS size: {terms: 1, types: 0, coercions: 4}
$dIP_s1kB :: ?callStack::CallStack
[LclId,
Str=DmdType m,
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= a_s1mE
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))}]
$dIP_s1kB =
a_s1mE
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))
-- RHS size: {terms: 2, types: 0, coercions: 0}
lvl_s1ng :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 0}]
lvl_s1ng = unpackCString# "foo"#
-- RHS size: {terms: 3, types: 1, coercions: 0}
lvl_s1kE :: Int
[LclId, Str=DmdType b]
lvl_s1kE = error @ Int $dIP_s1kB lvl_s1ng
-- RHS size: {terms: 10, types: 4, coercions: 0}
$cfoo_aox [InlPrag=INLINE (sat-args=1)] :: Int -> Int
[LclId,
Arity=1,
Str=DmdType <S(S),1*U(U)>m,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
WorkFree=False, Expandable=False,
Guidance=ALWAYS_IF(arity=1,unsat_ok=False,boring_ok=False)
Tmpl= let {
a_s1iG :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 40}]
a_s1iG =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "error"#) } in
let {
a_s1iI :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 40}]
a_s1iI =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "main"#) } in
let {
a_s1iJ :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 40}]
a_s1iJ =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "T10844a"#) } in
let {
a_s1iK :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 40}]
a_s1iK =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "./T10844a.hs"#) } in
let {
a_s1iL :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iL = I# 6# } in
let {
a_s1iM :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iM = I# 13# } in
let {
a_s1iN :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iN = I# 6# } in
let {
a_s1iO :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iO = I# 18# } in
let {
a_s1iH :: SrcLoc
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 80}]
a_s1iH =
SrcLoc a_s1iI a_s1iJ a_s1iK a_s1iL a_s1iM a_s1iN a_s1iO } in
let {
a_s1iF :: ([Char], SrcLoc)
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1iF = (a_s1iG, a_s1iH) } in
let {
a_s1iE :: [([Char], SrcLoc)]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1iE = : @ ([Char], SrcLoc) a_s1iF ([] @ ([Char], SrcLoc)) } in
let {
a_s1iD :: CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iD = CallStack a_s1iE } in
let {
$dIP_a1by [Occ=OnceL] :: ?callStack::CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
$dIP_a1by =
a_s1iD
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack)) } in
\ (ds_d1hY [Occ=Once!] :: Int) ->
case ds_d1hY of wild_Xi { I# ds_d1hZ [Occ=Once!] ->
case ds_d1hZ of _ [Occ=Dead] {
__DEFAULT -> wild_Xi;
0# ->
error
@ Int
$dIP_a1by
(build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "foo"#))
}
}}]
$cfoo_aox =
\ (eta_B1 :: Int) ->
case eta_B1 of wild_Xi [Dmd=<S,U(U)>] { I# ds_d1hZ [Dmd=<S,U>] ->
case ds_d1hZ of _ [Occ=Dead] {
__DEFAULT -> wild_Xi;
0# -> lvl_s1kE
}
}
-- RHS size: {terms: 1, types: 0, coercions: 3}
T10844a.$fFooInt [InlPrag=INLINE (sat-args=0)] :: Foo Int
[LclIdX[DFunId(nt)],
Arity=1,
Str=DmdType <S(S),1*U(U)>m,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=False,boring_ok=True)
Tmpl= $cfoo_aox
`cast` (Sym (T10844a.NTCo:Foo[0] <Int>_N)
:: (Int -> Int) ~R# Foo Int)}]
T10844a.$fFooInt =
$cfoo_aox
`cast` (Sym (T10844a.NTCo:Foo[0] <Int>_N)
:: (Int -> Int) ~R# Foo Int)
*** SpecConstr:
==================== SpecConstr ====================
Result size of SpecConstr = {terms: 63, types: 48, coercions: 7}
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mH :: [Char]
[LclId, Str=DmdType]
a_s1mH = unpackCString# "error"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mJ :: [Char]
[LclId, Str=DmdType]
a_s1mJ = unpackCString# "main"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mK :: [Char]
[LclId, Str=DmdType]
a_s1mK = unpackCString# "T10844a"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mL :: [Char]
[LclId, Str=DmdType]
a_s1mL = unpackCString# "./T10844a.hs"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mM :: Int
[LclId, Str=DmdType m]
a_s1mM = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mN :: Int
[LclId, Str=DmdType m]
a_s1mN = I# 13#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mP :: Int
[LclId, Str=DmdType m]
a_s1mP = I# 18#
-- RHS size: {terms: 8, types: 0, coercions: 0}
a_s1mI :: SrcLoc
[LclId, Str=DmdType m]
a_s1mI = SrcLoc a_s1mJ a_s1mK a_s1mL a_s1mM a_s1mN a_s1mM a_s1mP
-- RHS size: {terms: 3, types: 3, coercions: 0}
a_s1mG :: ([Char], SrcLoc)
[LclId, Str=DmdType m]
a_s1mG = (a_s1mH, a_s1mI)
-- RHS size: {terms: 3, types: 8, coercions: 0}
a_s1mF :: [([Char], SrcLoc)]
[LclId, Str=DmdType m2]
a_s1mF = : @ ([Char], SrcLoc) a_s1mG ([] @ ([Char], SrcLoc))
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mE :: CallStack
[LclId, Str=DmdType m]
a_s1mE = CallStack a_s1mF
-- RHS size: {terms: 1, types: 0, coercions: 4}
$dIP_s1kB :: ?callStack::CallStack
[LclId,
Str=DmdType m,
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= a_s1mE
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))}]
$dIP_s1kB =
a_s1mE
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))
-- RHS size: {terms: 2, types: 0, coercions: 0}
lvl_s1ng :: [Char]
[LclId, Str=DmdType]
lvl_s1ng = unpackCString# "foo"#
-- RHS size: {terms: 3, types: 1, coercions: 0}
lvl_s1kE :: Int
[LclId, Str=DmdType b]
lvl_s1kE = error @ Int $dIP_s1kB lvl_s1ng
-- RHS size: {terms: 10, types: 4, coercions: 0}
$cfoo_aox [InlPrag=INLINE (sat-args=1)] :: Int -> Int
[LclId,
Arity=1,
Str=DmdType <S(S),1*U(U)>m,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
WorkFree=False, Expandable=False,
Guidance=ALWAYS_IF(arity=1,unsat_ok=False,boring_ok=False)
Tmpl= let {
a_s1iG :: [Char]
[LclId, Str=DmdType]
a_s1iG =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "error"#) } in
let {
a_s1iI :: [Char]
[LclId, Str=DmdType]
a_s1iI =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "main"#) } in
let {
a_s1iJ :: [Char]
[LclId, Str=DmdType]
a_s1iJ =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "T10844a"#) } in
let {
a_s1iK :: [Char]
[LclId, Str=DmdType]
a_s1iK =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "./T10844a.hs"#) } in
let {
a_s1iL :: Int
[LclId, Str=DmdType]
a_s1iL = I# 6# } in
let {
a_s1iM :: Int
[LclId, Str=DmdType]
a_s1iM = I# 13# } in
let {
a_s1iN :: Int
[LclId, Str=DmdType]
a_s1iN = I# 6# } in
let {
a_s1iO :: Int
[LclId, Str=DmdType]
a_s1iO = I# 18# } in
let {
a_s1iH :: SrcLoc
[LclId, Str=DmdType]
a_s1iH =
SrcLoc a_s1iI a_s1iJ a_s1iK a_s1iL a_s1iM a_s1iN a_s1iO } in
let {
a_s1iF :: ([Char], SrcLoc)
[LclId, Str=DmdType]
a_s1iF = (a_s1iG, a_s1iH) } in
let {
a_s1iE :: [([Char], SrcLoc)]
[LclId, Str=DmdType]
a_s1iE = : @ ([Char], SrcLoc) a_s1iF ([] @ ([Char], SrcLoc)) } in
let {
a_s1iD :: CallStack
[LclId, Str=DmdType]
a_s1iD = CallStack a_s1iE } in
let {
$dIP_a1by [Occ=OnceL] :: ?callStack::CallStack
[LclId, Str=DmdType]
$dIP_a1by =
a_s1iD
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack)) } in
\ (ds_d1hY [Occ=Once!] :: Int) ->
case ds_d1hY of wild_Xi { I# ds_d1hZ [Occ=Once!] ->
case ds_d1hZ of _ [Occ=Dead] {
__DEFAULT -> wild_Xi;
0# ->
error
@ Int
$dIP_a1by
(build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "foo"#))
}
}}]
$cfoo_aox =
\ (eta_B1 :: Int) ->
case eta_B1 of wild_Xi [Dmd=<S,U(U)>] { I# ds_d1hZ [Dmd=<S,U>] ->
case ds_d1hZ of _ [Occ=Dead] {
__DEFAULT -> wild_Xi;
0# -> lvl_s1kE
}
}
-- RHS size: {terms: 1, types: 0, coercions: 3}
T10844a.$fFooInt [InlPrag=INLINE (sat-args=0)] :: Foo Int
[LclIdX[DFunId(nt)],
Arity=1,
Str=DmdType <S(S),1*U(U)>m,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=False,boring_ok=True)
Tmpl= $cfoo_aox
`cast` (Sym (T10844a.NTCo:Foo[0] <Int>_N)
:: (Int -> Int) ~R# Foo Int)}]
T10844a.$fFooInt =
$cfoo_aox
`cast` (Sym (T10844a.NTCo:Foo[0] <Int>_N)
:: (Int -> Int) ~R# Foo Int)
*** Simplifier:
SimplBind a_s1mH
SimplBind a_s1mJ
SimplBind a_s1mK
SimplBind a_s1mL
SimplBind a_s1mM
SimplBind a_s1mN
SimplBind a_s1mP
SimplBind a_s1mI
SimplBind a_s1mG
SimplBind a_s1mF
SimplBind a_s1mE
SimplBind $dIP_s1kB
SimplBind lvl_s1ng
SimplBind lvl_s1kE
SimplBind $cfoo_aox
SimplBind $fFooInt
==================== Simplifier ====================
Max iterations = 4
SimplMode {Phase = 0 [final],
inline,
rules,
eta-expand,
case-of-case}
Result size of Simplifier = {terms: 63, types: 48, coercions: 7}
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mH :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}]
a_s1mH = unpackCString# "error"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mJ :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 0}]
a_s1mJ = unpackCString# "main"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mK :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}]
a_s1mK = unpackCString# "T10844a"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mL :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 0}]
a_s1mL = unpackCString# "./T10844a.hs"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mM :: Int
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mM = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mN :: Int
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mN = I# 13#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mP :: Int
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mP = I# 18#
-- RHS size: {terms: 8, types: 0, coercions: 0}
a_s1mI :: SrcLoc
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 80}]
a_s1mI = SrcLoc a_s1mJ a_s1mK a_s1mL a_s1mM a_s1mN a_s1mM a_s1mP
-- RHS size: {terms: 3, types: 3, coercions: 0}
a_s1mG :: ([Char], SrcLoc)
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1mG = (a_s1mH, a_s1mI)
-- RHS size: {terms: 3, types: 8, coercions: 0}
a_s1mF :: [([Char], SrcLoc)]
[LclId,
Str=DmdType m2,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1mF = : @ ([Char], SrcLoc) a_s1mG ([] @ ([Char], SrcLoc))
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s1mE :: CallStack
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1mE = CallStack a_s1mF
-- RHS size: {terms: 1, types: 0, coercions: 4}
$dIP_s1kB :: ?callStack::CallStack
[LclId,
Str=DmdType m,
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= a_s1mE
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))}]
$dIP_s1kB =
a_s1mE
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))
-- RHS size: {terms: 2, types: 0, coercions: 0}
lvl_s1ng :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 0}]
lvl_s1ng = unpackCString# "foo"#
-- RHS size: {terms: 3, types: 1, coercions: 0}
lvl_s1kE :: Int
[LclId, Str=DmdType b]
lvl_s1kE = error @ Int $dIP_s1kB lvl_s1ng
-- RHS size: {terms: 10, types: 4, coercions: 0}
$cfoo_aox [InlPrag=INLINE (sat-args=1)] :: Int -> Int
[LclId,
Arity=1,
Str=DmdType <S(S),1*U(U)>m,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
WorkFree=False, Expandable=False,
Guidance=ALWAYS_IF(arity=1,unsat_ok=False,boring_ok=False)
Tmpl= let {
a_s1iG :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 40}]
a_s1iG =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "error"#) } in
let {
a_s1iI :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 40}]
a_s1iI =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "main"#) } in
let {
a_s1iJ :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 40}]
a_s1iJ =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "T10844a"#) } in
let {
a_s1iK :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 40}]
a_s1iK =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "./T10844a.hs"#) } in
let {
a_s1iL :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iL = I# 6# } in
let {
a_s1iM :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iM = I# 13# } in
let {
a_s1iN :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iN = I# 6# } in
let {
a_s1iO :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iO = I# 18# } in
let {
a_s1iH :: SrcLoc
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 80}]
a_s1iH =
SrcLoc a_s1iI a_s1iJ a_s1iK a_s1iL a_s1iM a_s1iN a_s1iO } in
let {
a_s1iF :: ([Char], SrcLoc)
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1iF = (a_s1iG, a_s1iH) } in
let {
a_s1iE :: [([Char], SrcLoc)]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s1iE = : @ ([Char], SrcLoc) a_s1iF ([] @ ([Char], SrcLoc)) } in
let {
a_s1iD :: CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s1iD = CallStack a_s1iE } in
let {
$dIP_a1by [Occ=OnceL] :: ?callStack::CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
$dIP_a1by =
a_s1iD
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack)) } in
\ (ds_d1hY [Occ=Once!] :: Int) ->
case ds_d1hY of wild_Xi { I# ds_d1hZ [Occ=Once!] ->
case ds_d1hZ of _ [Occ=Dead] {
__DEFAULT -> wild_Xi;
0# ->
error
@ Int
$dIP_a1by
(build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "foo"#))
}
}}]
$cfoo_aox =
\ (eta_B1 :: Int) ->
case eta_B1 of wild_Xi [Dmd=<S,U(U)>] { I# ds_d1hZ [Dmd=<S,U>] ->
case ds_d1hZ of _ [Occ=Dead] {
__DEFAULT -> wild_Xi;
0# -> lvl_s1kE
}
}
-- RHS size: {terms: 1, types: 0, coercions: 3}
T10844a.$fFooInt [InlPrag=INLINE (sat-args=0)] :: Foo Int
[LclIdX[DFunId(nt)],
Arity=1,
Str=DmdType <S(S),1*U(U)>m,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=False,boring_ok=True)
Tmpl= $cfoo_aox
`cast` (Sym (T10844a.NTCo:Foo[0] <Int>_N)
:: (Int -> Int) ~R# Foo Int)}]
T10844a.$fFooInt =
$cfoo_aox
`cast` (Sym (T10844a.NTCo:Foo[0] <Int>_N)
:: (Int -> Int) ~R# Foo Int)
*** Tidy Core:
==================== Tidy Core ====================
Result size of Tidy Core = {terms: 67, types: 56, coercions: 9}
-- RHS size: {terms: 3, types: 3, coercions: 2}
foo [InlPrag=INLINE] :: forall a_anB. Foo a_anB => a_anB -> a_anB
[GblId[ClassOp],
Arity=1,
Caf=NoCafRefs,
Str=DmdType <S,U>,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=1,unsat_ok=False,boring_ok=True)
Tmpl= \ (@ a_anB) (tpl_B1 [Occ=Once] :: Foo a_anB) ->
tpl_B1
`cast` (T10844a.NTCo:Foo[0] <a_anB>_N
:: Foo a_anB ~R# (a_anB -> a_anB))}]
foo =
\ (@ a_anB) (tpl_B1 :: Foo a_anB) ->
tpl_B1
`cast` (T10844a.NTCo:Foo[0] <a_anB>_N
:: Foo a_anB ~R# (a_anB -> a_anB))
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_r1ia :: [Char]
[GblId, Str=DmdType]
a_r1ia = unpackCString# "error"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a1_r1nB :: [Char]
[GblId, Str=DmdType]
a1_r1nB = unpackCString# "main"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a2_r1nC :: [Char]
[GblId, Str=DmdType]
a2_r1nC = unpackCString# "T10844a"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a3_r1nD :: [Char]
[GblId, Str=DmdType]
a3_r1nD = unpackCString# "./T10844a.hs"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a4_r1nE :: Int
[GblId, Caf=NoCafRefs, Str=DmdType m]
a4_r1nE = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a5_r1nF :: Int
[GblId, Caf=NoCafRefs, Str=DmdType m]
a5_r1nF = I# 13#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a6_r1nG :: Int
[GblId, Caf=NoCafRefs, Str=DmdType m]
a6_r1nG = I# 18#
-- RHS size: {terms: 8, types: 0, coercions: 0}
a7_r1nH :: SrcLoc
[GblId, Str=DmdType m]
a7_r1nH =
SrcLoc a1_r1nB a2_r1nC a3_r1nD a4_r1nE a5_r1nF a4_r1nE a6_r1nG
-- RHS size: {terms: 3, types: 3, coercions: 0}
a8_r1nI :: ([Char], SrcLoc)
[GblId, Str=DmdType m]
a8_r1nI = (a_r1ia, a7_r1nH)
-- RHS size: {terms: 3, types: 8, coercions: 0}
a9_r1nJ :: [([Char], SrcLoc)]
[GblId, Str=DmdType m2]
a9_r1nJ = : @ ([Char], SrcLoc) a8_r1nI ([] @ ([Char], SrcLoc))
-- RHS size: {terms: 2, types: 0, coercions: 0}
a10_r1nK :: CallStack
[GblId, Str=DmdType m]
a10_r1nK = CallStack a9_r1nJ
-- RHS size: {terms: 1, types: 0, coercions: 4}
$dIP_r1nL :: ?callStack::CallStack
[GblId, Str=DmdType m]
$dIP_r1nL =
a10_r1nK
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))
-- RHS size: {terms: 2, types: 0, coercions: 0}
lvl_r1nM :: [Char]
[GblId, Str=DmdType]
lvl_r1nM = unpackCString# "foo"#
-- RHS size: {terms: 3, types: 1, coercions: 0}
lvl1_r1nN :: Int
[GblId, Str=DmdType b]
lvl1_r1nN = error @ Int $dIP_r1nL lvl_r1nM
-- RHS size: {terms: 10, types: 4, coercions: 0}
T10844a.$fFooInt_$cfoo [InlPrag=INLINE (sat-args=1)] :: Int -> Int
[GblId,
Arity=1,
Str=DmdType <S(S),1*U(U)>m,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
WorkFree=False, Expandable=False,
Guidance=ALWAYS_IF(arity=1,unsat_ok=False,boring_ok=False)
Tmpl= let {
a11_s1iG :: [Char]
[LclId, Str=DmdType]
a11_s1iG =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "error"#) } in
let {
a12_s1iI :: [Char]
[LclId, Str=DmdType]
a12_s1iI =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "main"#) } in
let {
a13_s1iJ :: [Char]
[LclId, Str=DmdType]
a13_s1iJ =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "T10844a"#) } in
let {
a14_s1iK :: [Char]
[LclId, Str=DmdType]
a14_s1iK =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "./T10844a.hs"#) } in
let {
a15_s1iL :: Int
[LclId, Str=DmdType]
a15_s1iL = I# 6# } in
let {
a16_s1iM :: Int
[LclId, Str=DmdType]
a16_s1iM = I# 13# } in
let {
a17_s1iN :: Int
[LclId, Str=DmdType]
a17_s1iN = I# 6# } in
let {
a18_s1iO :: Int
[LclId, Str=DmdType]
a18_s1iO = I# 18# } in
let {
a19_s1iH :: SrcLoc
[LclId, Str=DmdType]
a19_s1iH =
SrcLoc
a12_s1iI a13_s1iJ a14_s1iK a15_s1iL a16_s1iM a17_s1iN a18_s1iO } in
let {
a20_s1iF :: ([Char], SrcLoc)
[LclId, Str=DmdType]
a20_s1iF = (a11_s1iG, a19_s1iH) } in
let {
a21_s1iE :: [([Char], SrcLoc)]
[LclId, Str=DmdType]
a21_s1iE =
: @ ([Char], SrcLoc) a20_s1iF ([] @ ([Char], SrcLoc)) } in
let {
a22_s1iD :: CallStack
[LclId, Str=DmdType]
a22_s1iD = CallStack a21_s1iE } in
let {
$dIP1_a1by [Occ=OnceL] :: ?callStack::CallStack
[LclId, Str=DmdType]
$dIP1_a1by =
a22_s1iD
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack)) } in
\ (ds_d1hY [Occ=Once!] :: Int) ->
case ds_d1hY of wild_Xi { I# ds1_d1hZ [Occ=Once!] ->
case ds1_d1hZ of _ [Occ=Dead] {
__DEFAULT -> wild_Xi;
0# ->
error
@ Int
$dIP1_a1by
(build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "foo"#))
}
}}]
T10844a.$fFooInt_$cfoo =
\ (eta_B1 :: Int) ->
case eta_B1 of wild_Xi { I# ds_d1hZ ->
case ds_d1hZ of _ [Occ=Dead] {
__DEFAULT -> wild_Xi;
0# -> lvl1_r1nN
}
}
-- RHS size: {terms: 1, types: 0, coercions: 3}
T10844a.$fFooInt [InlPrag=INLINE (sat-args=0)] :: Foo Int
[GblId[DFunId(nt)],
Arity=1,
Str=DmdType <S(S),1*U(U)>m,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=False,boring_ok=True)
Tmpl= T10844a.$fFooInt_$cfoo
`cast` (Sym (T10844a.NTCo:Foo[0] <Int>_N)
:: (Int -> Int) ~R# Foo Int)}]
T10844a.$fFooInt =
T10844a.$fFooInt_$cfoo
`cast` (Sym (T10844a.NTCo:Foo[0] <Int>_N)
:: (Int -> Int) ~R# Foo Int)
*** CorePrep:
==================== CorePrep ====================
Result size of CorePrep = {terms: 69, types: 57, coercions: 9}
-- RHS size: {terms: 3, types: 3, coercions: 2}
T10844a.foo [InlPrag=INLINE]
:: forall a_anB. T10844a.Foo a_anB => a_anB -> a_anB
[GblId[ClassOp],
Arity=1,
Caf=NoCafRefs,
Str=DmdType <S,U>,
Unf=OtherCon []]
T10844a.foo =
\ (@ a_anB) (tpl_s1wm [Occ=Once] :: T10844a.Foo a_anB) ->
tpl_s1wm
`cast` (T10844a.NTCo:Foo[0] <a_anB>_N
:: T10844a.Foo a_anB ~R# (a_anB -> a_anB))
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_r1ia :: [GHC.Types.Char]
[GblId, Str=DmdType]
a_r1ia = GHC.CString.unpackCString# "error"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a1_r1nB :: [GHC.Types.Char]
[GblId, Str=DmdType]
a1_r1nB = GHC.CString.unpackCString# "main"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a2_r1nC :: [GHC.Types.Char]
[GblId, Str=DmdType]
a2_r1nC = GHC.CString.unpackCString# "T10844a"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a3_r1nD :: [GHC.Types.Char]
[GblId, Str=DmdType]
a3_r1nD = GHC.CString.unpackCString# "./T10844a.hs"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a4_r1nE :: GHC.Types.Int
[GblId, Caf=NoCafRefs, Str=DmdType m, Unf=OtherCon []]
a4_r1nE = GHC.Types.I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a5_r1nF :: GHC.Types.Int
[GblId, Caf=NoCafRefs, Str=DmdType m, Unf=OtherCon []]
a5_r1nF = GHC.Types.I# 13#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a6_r1nG :: GHC.Types.Int
[GblId, Caf=NoCafRefs, Str=DmdType m, Unf=OtherCon []]
a6_r1nG = GHC.Types.I# 18#
-- RHS size: {terms: 8, types: 0, coercions: 0}
a7_r1nH :: GHC.Types.SrcLoc
[GblId, Str=DmdType m, Unf=OtherCon []]
a7_r1nH =
GHC.Types.SrcLoc
a1_r1nB a2_r1nC a3_r1nD a4_r1nE a5_r1nF a4_r1nE a6_r1nG
-- RHS size: {terms: 3, types: 3, coercions: 0}
a8_r1nI :: ([GHC.Types.Char], GHC.Types.SrcLoc)
[GblId, Str=DmdType m, Unf=OtherCon []]
a8_r1nI = (a_r1ia, a7_r1nH)
-- RHS size: {terms: 3, types: 8, coercions: 0}
a9_r1nJ :: [([GHC.Types.Char], GHC.Types.SrcLoc)]
[GblId, Str=DmdType m2, Unf=OtherCon []]
a9_r1nJ =
GHC.Types.:
@ ([GHC.Types.Char], GHC.Types.SrcLoc)
a8_r1nI
(GHC.Types.[] @ ([GHC.Types.Char], GHC.Types.SrcLoc))
-- RHS size: {terms: 2, types: 0, coercions: 0}
a10_r1nK :: GHC.Types.CallStack
[GblId, Str=DmdType m, Unf=OtherCon []]
a10_r1nK = GHC.Types.CallStack a9_r1nJ
-- RHS size: {terms: 1, types: 0, coercions: 4}
$dIP_r1nL :: ?callStack::GHC.Types.CallStack
[GblId, Str=DmdType m, Unf=OtherCon []]
$dIP_r1nL =
a10_r1nK
`cast` (Sym (NTCo:IP[0] <"callStack">_N <GHC.Types.CallStack>_N)
:: GHC.Types.CallStack ~R# (?callStack::GHC.Types.CallStack))
-- RHS size: {terms: 2, types: 0, coercions: 0}
lvl_r1nM :: [GHC.Types.Char]
[GblId, Str=DmdType]
lvl_r1nM = GHC.CString.unpackCString# "foo"#
-- RHS size: {terms: 3, types: 1, coercions: 0}
lvl1_r1nN :: GHC.Types.Int
[GblId, Str=DmdType b]
lvl1_r1nN = GHC.Err.error @ GHC.Types.Int $dIP_r1nL lvl_r1nM
-- RHS size: {terms: 10, types: 4, coercions: 0}
T10844a.$fFooInt_$cfoo [InlPrag=INLINE (sat-args=1)]
:: GHC.Types.Int -> GHC.Types.Int
[GblId, Arity=1, Str=DmdType <S(S),1*U(U)>m, Unf=OtherCon []]
T10844a.$fFooInt_$cfoo =
\ (eta_s1wn [Occ=Once!] :: GHC.Types.Int) ->
case eta_s1wn of wild_s1wo { GHC.Types.I# ds_s1wp [Occ=Once!] ->
case ds_s1wp of _ [Occ=Dead] {
__DEFAULT -> wild_s1wo;
0# -> lvl1_r1nN
}
}
-- RHS size: {terms: 3, types: 1, coercions: 3}
T10844a.$fFooInt [InlPrag=INLINE (sat-args=0)]
:: T10844a.Foo GHC.Types.Int
[GblId[DFunId(nt)],
Arity=1,
Str=DmdType <S(S),1*U(U)>m,
Unf=OtherCon []]
T10844a.$fFooInt =
(\ (eta_B1 [Occ=Once] :: GHC.Types.Int) ->
T10844a.$fFooInt_$cfoo eta_B1)
`cast` (Sym (T10844a.NTCo:Foo[0] <GHC.Types.Int>_N)
:: (GHC.Types.Int -> GHC.Types.Int) ~R# T10844a.Foo GHC.Types.Int)
*** Stg2Stg:
*** CodeGen:
*** Assembler:
*** Deleting temp files:
Warning: deleting non-existent /var/folders/d0/j2pt98tx3pvcpdjghyx38c9c0000gn/T/ghc50426_0/ghc_3.c
Warning: deleting non-existent /var/folders/d0/j2pt98tx3pvcpdjghyx38c9c0000gn/T/ghc50426_0/ghc_1.s
compile: input file T10844.hs
*** Checking old interface for T10844:
[2 of 2] Compiling T10844 ( T10844.hs, T10844.o )
*** Parser:
*** Renamer/typechecker:
*** Desugar:
==================== Desugar (after optimization) ====================
Result size of Desugar (after optimization)
= {terms: 9, types: 5, coercions: 0}
-- RHS size: {terms: 2, types: 0, coercions: 0}
n [InlPrag=NOINLINE] :: Int
[LclIdX, Str=DmdType]
n = I# 0#
-- RHS size: {terms: 5, types: 2, coercions: 0}
main :: IO ()
[LclIdX, Str=DmdType]
main =
print @ Int GHC.Show.$fShowInt (foo @ Int T10844a.$fFooInt n)
*** Simplifier:
SimplBind n
SimplBind main
Result size of Simplifier iteration=1
= {terms: 11, types: 6, coercions: 0}
SimplBind n
SimplBind a_s1SR
SimplBind main
==================== Simplifier ====================
Max iterations = 4
SimplMode {Phase = InitialPhase [Gentle],
no inline,
rules,
eta-expand,
no case-of-case}
Result size of Simplifier = {terms: 11, types: 6, coercions: 0}
-- RHS size: {terms: 2, types: 0, coercions: 0}
n [InlPrag=NOINLINE] :: Int
[LclIdX,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
n = I# 0#
-- RHS size: {terms: 3, types: 1, coercions: 0}
a_s1SR :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 30 0}]
a_s1SR = foo @ Int T10844a.$fFooInt n
-- RHS size: {terms: 3, types: 1, coercions: 0}
main :: IO ()
[LclIdX,
Arity=1,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 30 60}]
main = print @ Int GHC.Show.$fShowInt a_s1SR
*** Specialise:
==================== Specialise ====================
Result size of Specialise = {terms: 13, types: 8, coercions: 2}
Rec {
-- RHS size: {terms: 1, types: 0, coercions: 2}
$sfoo_s1SW [InlPrag=INLINE] :: Int -> Int
[LclId,
Str=DmdType,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=False,boring_ok=True)
Tmpl= T10844a.$fFooInt
`cast` (T10844a.NTCo:Foo[0] <Int>_N :: Foo Int ~R# (Int -> Int))}]
$sfoo_s1SW =
T10844a.$fFooInt
`cast` (T10844a.NTCo:Foo[0] <Int>_N :: Foo Int ~R# (Int -> Int))
end Rec }
-- RHS size: {terms: 2, types: 0, coercions: 0}
n [InlPrag=NOINLINE] :: Int
[LclIdX,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
n = I# 0#
-- RHS size: {terms: 3, types: 1, coercions: 0}
a_s1SR :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 30 0}]
a_s1SR = foo @ Int T10844a.$fFooInt n
-- RHS size: {terms: 3, types: 1, coercions: 0}
main :: IO ()
[LclIdX,
Arity=1,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 30 60}]
main = print @ Int GHC.Show.$fShowInt a_s1SR
------ Local rules for imported ids --------
"SPEC/T10844 foo @ Int" [ALWAYS]
forall (tpl_s1SV :: Foo Int). foo @ Int tpl_s1SV = $sfoo_s1SW
*** Float out(FOS {Lam = Just 0, Consts = True, OverSatApps = False}):
==================== Levels added: ====================
<$sfoo_s1SW,<0,0>>
<$sfoo_s1SW,<0,0>> =
T10844a.$fFooInt
`cast` (T10844a.NTCo:Foo[0] <GHC.Types.Int>_N
:: T10844a.Foo GHC.Types.Int ~R# (GHC.Types.Int -> GHC.Types.Int));
<T10844.n,<0,0>>
<T10844.n,<0,0>> = GHC.Types.I# 0#
<a_s1SR,<0,0>>
<a_s1SR,<0,0>> =
T10844a.foo @ GHC.Types.Int T10844a.$fFooInt T10844.n
<T10844.main,<0,0>>
<T10844.main,<0,0>> =
System.IO.print @ GHC.Types.Int GHC.Show.$fShowInt a_s1SR
==================== Float out(FOS {Lam = Just 0, Consts = True, OverSatApps = False}) ====================
Result size of Float out(FOS {Lam = Just 0,
Consts = True,
OverSatApps = False})
= {terms: 13, types: 8, coercions: 2}
Rec {
-- RHS size: {terms: 1, types: 0, coercions: 2}
$sfoo_s1SW [InlPrag=INLINE] :: Int -> Int
[LclId,
Str=DmdType,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=False,boring_ok=True)
Tmpl= T10844a.$fFooInt
`cast` (T10844a.NTCo:Foo[0] <Int>_N :: Foo Int ~R# (Int -> Int))}]
$sfoo_s1SW =
T10844a.$fFooInt
`cast` (T10844a.NTCo:Foo[0] <Int>_N :: Foo Int ~R# (Int -> Int))
end Rec }
-- RHS size: {terms: 2, types: 0, coercions: 0}
n [InlPrag=NOINLINE] :: Int
[LclIdX, Str=DmdType]
n = I# 0#
-- RHS size: {terms: 3, types: 1, coercions: 0}
a_s1SR :: Int
[LclId, Str=DmdType]
a_s1SR = foo @ Int T10844a.$fFooInt n
-- RHS size: {terms: 3, types: 1, coercions: 0}
main :: IO ()
[LclIdX, Arity=1, Str=DmdType]
main = print @ Int GHC.Show.$fShowInt a_s1SR
------ Local rules for imported ids --------
"SPEC/T10844 foo @ Int" [ALWAYS]
forall (tpl_s1SV :: Foo Int). foo @ Int tpl_s1SV = $sfoo_s1SW
*** Simplifier:
SimplBind $sfoo_s1SW
SimplBind n
SimplBind a_s1SR
SimplBind main
Result size of Simplifier iteration=1
= {terms: 84, types: 70, coercions: 17}
SimplBind n
SimplBind a11_s1iG
SimplBind a12_s1iI
SimplBind a13_s1iJ
SimplBind a14_s1iK
SimplBind a15_s1iL
SimplBind a16_s1iM
SimplBind a17_s1iN
SimplBind a18_s1iO
SimplBind a19_s1iH
SimplBind a20_s1iF
SimplBind a21_s1iE
SimplBind a22_s1iD
SimplBind $dIP1_a1by
SimplBind a_s1SR
SimplBind a_s2cV
SimplBind main
Result size of Simplifier iteration=2
= {terms: 83, types: 69, coercions: 7}
SimplBind n
SimplBind a_s2d0
SimplBind a_s2d2
SimplBind a_s2d3
SimplBind a_s2d4
SimplBind a_s2d5
SimplBind a_s2d6
SimplBind a_s2d7
SimplBind a_s2d8
SimplBind a_s2d1
SimplBind a_s2cZ
SimplBind a_s2cY
SimplBind a_s2cX
SimplBind $dIP1_a1by
SimplBind a_s2cV
SimplBind main
Result size of Simplifier iteration=3
= {terms: 83, types: 69, coercions: 7}
SimplBind n
SimplBind a_s2dw
SimplBind a_s2dy
SimplBind a_s2dz
SimplBind a_s2dA
SimplBind a_s2dB
SimplBind a_s2dC
SimplBind a_s2dD
SimplBind a_s2dE
SimplBind a_s2dx
SimplBind a_s2dv
SimplBind a_s2du
SimplBind a_s2dt
SimplBind $dIP1_a1by
SimplBind a_s2cV
SimplBind main
Result size of Simplifier iteration=4
= {terms: 83, types: 69, coercions: 7}
==================== Simplifier ====================
Max iterations = 4
SimplMode {Phase = 2 [main],
inline,
rules,
eta-expand,
case-of-case}
Result size of Simplifier = {terms: 83, types: 69, coercions: 7}
-- RHS size: {terms: 2, types: 0, coercions: 0}
n [InlPrag=NOINLINE] :: Int
[LclIdX,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
n = I# 0#
-- RHS size: {terms: 4, types: 3, coercions: 0}
a_s2dL :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 40}]
a_s2dL =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "error"#)
-- RHS size: {terms: 4, types: 3, coercions: 0}
a_s2dN :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 40}]
a_s2dN =
build @ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "main"#)
-- RHS size: {terms: 4, types: 3, coercions: 0}
a_s2dO :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 40}]
a_s2dO =
build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "T10844a"#)
-- RHS size: {terms: 4, types: 3, coercions: 0}
a_s2dP :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 40}]
a_s2dP =
build
@ Char
(\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "./T10844a.hs"#)
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2dQ :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2dQ = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2dR :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2dR = I# 13#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2dS :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2dS = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2dT :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2dT = I# 18#
-- RHS size: {terms: 8, types: 0, coercions: 0}
a_s2dM :: SrcLoc
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 80}]
a_s2dM = SrcLoc a_s2dN a_s2dO a_s2dP a_s2dQ a_s2dR a_s2dS a_s2dT
-- RHS size: {terms: 3, types: 3, coercions: 0}
a_s2dK :: ([Char], SrcLoc)
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s2dK = (a_s2dL, a_s2dM)
-- RHS size: {terms: 3, types: 8, coercions: 0}
a_s2dJ :: [([Char], SrcLoc)]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s2dJ = : @ ([Char], SrcLoc) a_s2dK ([] @ ([Char], SrcLoc))
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2dI :: CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2dI = CallStack a_s2dJ
-- RHS size: {terms: 1, types: 0, coercions: 4}
$dIP1_a1by :: ?callStack::CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
$dIP1_a1by =
a_s2dI
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))
-- RHS size: {terms: 23, types: 11, coercions: 0}
a_s2cV :: State# RealWorld -> (# State# RealWorld, () #)
[LclId,
Arity=1,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [0] 180 0}]
a_s2cV =
\ (eta_a1T5 [OS=OneShot] :: State# RealWorld) ->
hPutStr2
stdout
(case n of wild_Xi { I# ds1_d1hZ ->
case ds1_d1hZ of _ [Occ=Dead] {
__DEFAULT -> showSignedInt shows18 wild_Xi ([] @ Char);
0# ->
case error
@ Int
$dIP1_a1by
(build
@ Char (\ (@ b_a1ig) -> unpackFoldrCString# @ b_a1ig "foo"#))
of wild_00 {
}
}
})
True
eta_a1T5
-- RHS size: {terms: 1, types: 0, coercions: 3}
main :: IO ()
[LclIdX,
Arity=1,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
main =
a_s2cV
`cast` (Sym (NTCo:IO[0] <()>_R)
:: (State# RealWorld -> (# State# RealWorld, () #)) ~R# IO ())
------ Local rules for imported ids --------
"SPEC/T10844 foo @ Int" [ALWAYS]
forall (tpl_s1SV :: Foo Int).
foo @ Int tpl_s1SV
= T10844a.$fFooInt_$cfoo
*** Simplifier:
SimplBind n
SimplBind a_s2dL
SimplBind a_s2dN
SimplBind a_s2dO
SimplBind a_s2dP
SimplBind a_s2dQ
SimplBind a_s2dR
SimplBind a_s2dS
SimplBind a_s2dT
SimplBind a_s2dM
SimplBind a_s2dK
SimplBind a_s2dJ
SimplBind a_s2dI
SimplBind $dIP1_a1by
SimplBind a_s2cV
SimplBind main
Result size of Simplifier iteration=1
= {terms: 73, types: 54, coercions: 7}
SimplBind n
SimplBind a_s2e1
SimplBind a_s2e3
SimplBind a_s2e4
SimplBind a_s2e5
SimplBind a_s2e6
SimplBind a_s2e7
SimplBind a_s2e8
SimplBind a_s2e9
SimplBind a_s2e2
SimplBind a_s2e0
SimplBind a_s2dZ
SimplBind a_s2dY
SimplBind $dIP1_a1by
SimplBind a_s2cV
SimplBind main
Result size of Simplifier iteration=2
= {terms: 73, types: 54, coercions: 7}
SimplBind n
SimplBind a_s2eg
SimplBind a_s2ei
SimplBind a_s2ej
SimplBind a_s2ek
SimplBind a_s2el
SimplBind a_s2em
SimplBind a_s2en
SimplBind a_s2eo
SimplBind a_s2eh
SimplBind a_s2ef
SimplBind a_s2ee
SimplBind a_s2ed
SimplBind $dIP1_a1by
SimplBind a_s2cV
SimplBind main
Result size of Simplifier iteration=3
= {terms: 73, types: 54, coercions: 7}
SimplBind n
SimplBind a_s2ev
SimplBind a_s2ex
SimplBind a_s2ey
SimplBind a_s2ez
SimplBind a_s2eA
SimplBind a_s2eB
SimplBind a_s2eC
SimplBind a_s2eD
SimplBind a_s2ew
SimplBind a_s2eu
SimplBind a_s2et
SimplBind a_s2es
SimplBind $dIP1_a1by
SimplBind a_s2cV
SimplBind main
Result size of Simplifier iteration=4
= {terms: 73, types: 54, coercions: 7}
==================== Simplifier ====================
Max iterations = 4
SimplMode {Phase = 1 [main],
inline,
rules,
eta-expand,
case-of-case}
Result size of Simplifier = {terms: 73, types: 54, coercions: 7}
-- RHS size: {terms: 2, types: 0, coercions: 0}
n [InlPrag=NOINLINE] :: Int
[LclIdX,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
n = I# 0#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eK :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}]
a_s2eK = unpackCString# "error"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eM :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 0}]
a_s2eM = unpackCString# "main"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eN :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}]
a_s2eN = unpackCString# "T10844a"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eO :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 0}]
a_s2eO = unpackCString# "./T10844a.hs"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eP :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eP = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eQ :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eQ = I# 13#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eR :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eR = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eS :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eS = I# 18#
-- RHS size: {terms: 8, types: 0, coercions: 0}
a_s2eL :: SrcLoc
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 80}]
a_s2eL = SrcLoc a_s2eM a_s2eN a_s2eO a_s2eP a_s2eQ a_s2eR a_s2eS
-- RHS size: {terms: 3, types: 3, coercions: 0}
a_s2eJ :: ([Char], SrcLoc)
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s2eJ = (a_s2eK, a_s2eL)
-- RHS size: {terms: 3, types: 8, coercions: 0}
a_s2eI :: [([Char], SrcLoc)]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s2eI = : @ ([Char], SrcLoc) a_s2eJ ([] @ ([Char], SrcLoc))
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eH :: CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=False, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eH = CallStack a_s2eI
-- RHS size: {terms: 1, types: 0, coercions: 4}
$dIP1_a1by :: ?callStack::CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
$dIP1_a1by =
a_s2eH
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))
-- RHS size: {terms: 21, types: 8, coercions: 0}
a_s2cV :: State# RealWorld -> (# State# RealWorld, () #)
[LclId,
Arity=1,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [0] 180 0}]
a_s2cV =
\ (eta_a1T5 [OS=OneShot] :: State# RealWorld) ->
hPutStr2
stdout
(case n of wild_Xi { I# ds1_d1hZ ->
case ds1_d1hZ of _ [Occ=Dead] {
__DEFAULT -> showSignedInt shows18 wild_Xi ([] @ Char);
0# ->
case error @ Int $dIP1_a1by (unpackCString# "foo"#) of wild_00 { }
}
})
True
eta_a1T5
-- RHS size: {terms: 1, types: 0, coercions: 3}
main :: IO ()
[LclIdX,
Arity=1,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
main =
a_s2cV
`cast` (Sym (NTCo:IO[0] <()>_R)
:: (State# RealWorld -> (# State# RealWorld, () #)) ~R# IO ())
------ Local rules for imported ids --------
"SPEC/T10844 foo @ Int" [ALWAYS]
forall (tpl_s1SV :: Foo Int).
foo @ Int tpl_s1SV
= T10844a.$fFooInt_$cfoo
*** Simplifier:
SimplBind n
SimplBind a_s2eK
SimplBind a_s2eM
SimplBind a_s2eN
SimplBind a_s2eO
SimplBind a_s2eP
SimplBind a_s2eQ
SimplBind a_s2eR
SimplBind a_s2eS
SimplBind a_s2eL
SimplBind a_s2eJ
SimplBind a_s2eI
SimplBind a_s2eH
SimplBind $dIP1_a1by
SimplBind a_s2cV
SimplBind main
Result size of Simplifier iteration=1
= {terms: 78, types: 62, coercions: 7}
SimplBind n
SimplBind a_s2eK
SimplBind a_s2eM
SimplBind a_s2eN
SimplBind a_s2eO
SimplBind a_s2eP
SimplBind a_s2eQ
SimplBind a_s2eR
SimplBind a_s2eS
SimplBind a_s2eL
SimplBind a_s2eJ
SimplBind a_s2eI
SimplBind a_s2eH
SimplBind $dIP1_a1by
SimplBind a_s2cV
SimplBind main
Result size of Simplifier iteration=2
= {terms: 78, types: 62, coercions: 7}
SimplBind n
SimplBind a_s2eK
SimplBind a_s2eM
SimplBind a_s2eN
SimplBind a_s2eO
SimplBind a_s2eP
SimplBind a_s2eQ
SimplBind a_s2eR
SimplBind a_s2eS
SimplBind a_s2eL
SimplBind a_s2eJ
SimplBind a_s2eI
SimplBind a_s2eH
SimplBind $dIP1_a1by
SimplBind a_s2cV
SimplBind main
==================== Simplifier ====================
Max iterations = 4
SimplMode {Phase = 0 [main],
inline,
rules,
eta-expand,
case-of-case}
Result size of Simplifier = {terms: 78, types: 62, coercions: 7}
-- RHS size: {terms: 2, types: 0, coercions: 0}
n [InlPrag=NOINLINE] :: Int
[LclIdX,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
n = I# 0#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eK :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}]
a_s2eK = unpackCString# "error"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eM :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 0}]
a_s2eM = unpackCString# "main"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eN :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}]
a_s2eN = unpackCString# "T10844a"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eO :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 0}]
a_s2eO = unpackCString# "./T10844a.hs"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eP :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eP = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eQ :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eQ = I# 13#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eR :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eR = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eS :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eS = I# 18#
-- RHS size: {terms: 8, types: 0, coercions: 0}
a_s2eL :: SrcLoc
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 80}]
a_s2eL = SrcLoc a_s2eM a_s2eN a_s2eO a_s2eP a_s2eQ a_s2eR a_s2eS
-- RHS size: {terms: 3, types: 3, coercions: 0}
a_s2eJ :: ([Char], SrcLoc)
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s2eJ = (a_s2eK, a_s2eL)
-- RHS size: {terms: 3, types: 8, coercions: 0}
a_s2eI :: [([Char], SrcLoc)]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s2eI = : @ ([Char], SrcLoc) a_s2eJ ([] @ ([Char], SrcLoc))
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eH :: CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eH = CallStack a_s2eI
-- RHS size: {terms: 1, types: 0, coercions: 4}
$dIP1_a1by :: ?callStack::CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
$dIP1_a1by =
a_s2eH
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))
-- RHS size: {terms: 26, types: 16, coercions: 0}
a_s2cV :: State# RealWorld -> (# State# RealWorld, () #)
[LclId,
Arity=1,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [0] 200 0}]
a_s2cV =
\ (eta_a1T5 [OS=OneShot] :: State# RealWorld) ->
hPutStr2
stdout
(case n of _ [Occ=Dead] { I# ds1_d1hZ ->
case ds1_d1hZ of ds2_X1ib {
__DEFAULT ->
case GHC.Show.$wshowSignedInt 0# ds2_X1ib ([] @ Char)
of _ [Occ=Dead] { (# ww5_a2dn, ww6_a2do #) ->
: @ Char ww5_a2dn ww6_a2do
};
0# ->
case error @ Int $dIP1_a1by (unpackCString# "foo"#) of wild_00 { }
}
})
True
eta_a1T5
-- RHS size: {terms: 1, types: 0, coercions: 3}
main :: IO ()
[LclIdX,
Arity=1,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
main =
a_s2cV
`cast` (Sym (NTCo:IO[0] <()>_R)
:: (State# RealWorld -> (# State# RealWorld, () #)) ~R# IO ())
------ Local rules for imported ids --------
"SPEC/T10844 foo @ Int" [ALWAYS]
forall (tpl_s1SV :: Foo Int).
foo @ Int tpl_s1SV
= T10844a.$fFooInt_$cfoo
*** Float inwards:
==================== Float inwards ====================
Result size of Float inwards = {terms: 78, types: 62, coercions: 7}
-- RHS size: {terms: 2, types: 0, coercions: 0}
n [InlPrag=NOINLINE] :: Int
[LclIdX,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
n = I# 0#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eK :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}]
a_s2eK = unpackCString# "error"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eM :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 0}]
a_s2eM = unpackCString# "main"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eN :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}]
a_s2eN = unpackCString# "T10844a"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eO :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 0}]
a_s2eO = unpackCString# "./T10844a.hs"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eP :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eP = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eQ :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eQ = I# 13#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eR :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eR = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eS :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eS = I# 18#
-- RHS size: {terms: 8, types: 0, coercions: 0}
a_s2eL :: SrcLoc
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 80}]
a_s2eL = SrcLoc a_s2eM a_s2eN a_s2eO a_s2eP a_s2eQ a_s2eR a_s2eS
-- RHS size: {terms: 3, types: 3, coercions: 0}
a_s2eJ :: ([Char], SrcLoc)
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s2eJ = (a_s2eK, a_s2eL)
-- RHS size: {terms: 3, types: 8, coercions: 0}
a_s2eI :: [([Char], SrcLoc)]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s2eI = : @ ([Char], SrcLoc) a_s2eJ ([] @ ([Char], SrcLoc))
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eH :: CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eH = CallStack a_s2eI
-- RHS size: {terms: 1, types: 0, coercions: 4}
$dIP1_a1by :: ?callStack::CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
$dIP1_a1by =
a_s2eH
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))
-- RHS size: {terms: 26, types: 16, coercions: 0}
a_s2cV :: State# RealWorld -> (# State# RealWorld, () #)
[LclId,
Arity=1,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [0] 200 0}]
a_s2cV =
\ (eta_a1T5 [OS=OneShot] :: State# RealWorld) ->
hPutStr2
stdout
(case n of _ [Occ=Dead] { I# ds1_d1hZ ->
case ds1_d1hZ of ds2_X1ib {
__DEFAULT ->
case GHC.Show.$wshowSignedInt 0# ds2_X1ib ([] @ Char)
of _ [Occ=Dead] { (# ww5_a2dn, ww6_a2do #) ->
: @ Char ww5_a2dn ww6_a2do
};
0# ->
case error @ Int $dIP1_a1by (unpackCString# "foo"#) of wild_00 { }
}
})
True
eta_a1T5
-- RHS size: {terms: 1, types: 0, coercions: 3}
main :: IO ()
[LclIdX,
Arity=1,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
main =
a_s2cV
`cast` (Sym (NTCo:IO[0] <()>_R)
:: (State# RealWorld -> (# State# RealWorld, () #)) ~R# IO ())
------ Local rules for imported ids --------
"SPEC/T10844 foo @ Int" [ALWAYS]
forall (tpl_s1SV :: Foo Int).
foo @ Int tpl_s1SV
= T10844a.$fFooInt_$cfoo
*** Called arity analysis:
==================== Called arity analysis ====================
Result size of Called arity analysis
= {terms: 78, types: 62, coercions: 7}
-- RHS size: {terms: 2, types: 0, coercions: 0}
n [InlPrag=NOINLINE] :: Int
[LclIdX,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
n = I# 0#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eK :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}]
a_s2eK = unpackCString# "error"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eM :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 0}]
a_s2eM = unpackCString# "main"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eN :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}]
a_s2eN = unpackCString# "T10844a"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eO :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 0}]
a_s2eO = unpackCString# "./T10844a.hs"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eP :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eP = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eQ :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eQ = I# 13#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eR :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eR = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eS :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eS = I# 18#
-- RHS size: {terms: 8, types: 0, coercions: 0}
a_s2eL :: SrcLoc
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 80}]
a_s2eL = SrcLoc a_s2eM a_s2eN a_s2eO a_s2eP a_s2eQ a_s2eR a_s2eS
-- RHS size: {terms: 3, types: 3, coercions: 0}
a_s2eJ :: ([Char], SrcLoc)
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s2eJ = (a_s2eK, a_s2eL)
-- RHS size: {terms: 3, types: 8, coercions: 0}
a_s2eI :: [([Char], SrcLoc)]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s2eI = : @ ([Char], SrcLoc) a_s2eJ ([] @ ([Char], SrcLoc))
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eH :: CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eH = CallStack a_s2eI
-- RHS size: {terms: 1, types: 0, coercions: 4}
$dIP1_a1by :: ?callStack::CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
$dIP1_a1by =
a_s2eH
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))
-- RHS size: {terms: 26, types: 16, coercions: 0}
a_s2cV :: State# RealWorld -> (# State# RealWorld, () #)
[LclId,
Arity=1,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [0] 200 0}]
a_s2cV =
\ (eta_a1T5 [OS=OneShot] :: State# RealWorld) ->
hPutStr2
stdout
(case n of _ [Occ=Dead] { I# ds1_d1hZ ->
case ds1_d1hZ of ds2_X1ib {
__DEFAULT ->
case GHC.Show.$wshowSignedInt 0# ds2_X1ib ([] @ Char)
of _ [Occ=Dead] { (# ww5_a2dn, ww6_a2do #) ->
: @ Char ww5_a2dn ww6_a2do
};
0# ->
case error @ Int $dIP1_a1by (unpackCString# "foo"#) of wild_00 { }
}
})
True
eta_a1T5
-- RHS size: {terms: 1, types: 0, coercions: 3}
main :: IO ()
[LclIdX,
Arity=1,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
main =
a_s2cV
`cast` (Sym (NTCo:IO[0] <()>_R)
:: (State# RealWorld -> (# State# RealWorld, () #)) ~R# IO ())
------ Local rules for imported ids --------
"SPEC/T10844 foo @ Int" [ALWAYS]
forall (tpl_s1SV :: Foo Int).
foo @ Int tpl_s1SV
= T10844a.$fFooInt_$cfoo
*** Simplifier:
SimplBind n
SimplBind a_s2eK
SimplBind a_s2eM
SimplBind a_s2eN
SimplBind a_s2eO
SimplBind a_s2eP
SimplBind a_s2eQ
SimplBind a_s2eR
SimplBind a_s2eS
SimplBind a_s2eL
SimplBind a_s2eJ
SimplBind a_s2eI
SimplBind a_s2eH
SimplBind $dIP1_a1by
SimplBind a_s2cV
SimplBind main
==================== Simplifier ====================
Max iterations = 4
SimplMode {Phase = 0 [post-call-arity],
inline,
rules,
eta-expand,
case-of-case}
Result size of Simplifier = {terms: 78, types: 62, coercions: 7}
-- RHS size: {terms: 2, types: 0, coercions: 0}
n [InlPrag=NOINLINE] :: Int
[LclIdX,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
n = I# 0#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eK :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}]
a_s2eK = unpackCString# "error"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eM :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 0}]
a_s2eM = unpackCString# "main"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eN :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}]
a_s2eN = unpackCString# "T10844a"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eO :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 0}]
a_s2eO = unpackCString# "./T10844a.hs"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eP :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eP = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eQ :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eQ = I# 13#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eR :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eR = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eS :: Int
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eS = I# 18#
-- RHS size: {terms: 8, types: 0, coercions: 0}
a_s2eL :: SrcLoc
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 80}]
a_s2eL = SrcLoc a_s2eM a_s2eN a_s2eO a_s2eP a_s2eQ a_s2eR a_s2eS
-- RHS size: {terms: 3, types: 3, coercions: 0}
a_s2eJ :: ([Char], SrcLoc)
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s2eJ = (a_s2eK, a_s2eL)
-- RHS size: {terms: 3, types: 8, coercions: 0}
a_s2eI :: [([Char], SrcLoc)]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s2eI = : @ ([Char], SrcLoc) a_s2eJ ([] @ ([Char], SrcLoc))
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eH :: CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eH = CallStack a_s2eI
-- RHS size: {terms: 1, types: 0, coercions: 4}
$dIP1_a1by :: ?callStack::CallStack
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
$dIP1_a1by =
a_s2eH
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))
-- RHS size: {terms: 26, types: 16, coercions: 0}
a_s2cV :: State# RealWorld -> (# State# RealWorld, () #)
[LclId,
Arity=1,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [0] 200 0}]
a_s2cV =
\ (eta_a1T5 [OS=OneShot] :: State# RealWorld) ->
hPutStr2
stdout
(case n of _ [Occ=Dead] { I# ds1_d1hZ ->
case ds1_d1hZ of ds2_X1ib {
__DEFAULT ->
case GHC.Show.$wshowSignedInt 0# ds2_X1ib ([] @ Char)
of _ [Occ=Dead] { (# ww5_a2dn, ww6_a2do #) ->
: @ Char ww5_a2dn ww6_a2do
};
0# ->
case error @ Int $dIP1_a1by (unpackCString# "foo"#) of wild_00 { }
}
})
True
eta_a1T5
-- RHS size: {terms: 1, types: 0, coercions: 3}
main :: IO ()
[LclIdX,
Arity=1,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
main =
a_s2cV
`cast` (Sym (NTCo:IO[0] <()>_R)
:: (State# RealWorld -> (# State# RealWorld, () #)) ~R# IO ())
------ Local rules for imported ids --------
"SPEC/T10844 foo @ Int" [ALWAYS]
forall (tpl_s1SV :: Foo Int).
foo @ Int tpl_s1SV
= T10844a.$fFooInt_$cfoo
*** Demand analysis:
==================== Demand analysis ====================
Result size of Demand analysis
= {terms: 78, types: 62, coercions: 7}
-- RHS size: {terms: 2, types: 0, coercions: 0}
n [InlPrag=NOINLINE] :: Int
[LclIdX,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
n = I# 0#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eK :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}]
a_s2eK = unpackCString# "error"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eM :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 0}]
a_s2eM = unpackCString# "main"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eN :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}]
a_s2eN = unpackCString# "T10844a"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eO :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 0}]
a_s2eO = unpackCString# "./T10844a.hs"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eP :: Int
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eP = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eQ :: Int
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eQ = I# 13#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eR :: Int
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eR = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eS :: Int
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eS = I# 18#
-- RHS size: {terms: 8, types: 0, coercions: 0}
a_s2eL :: SrcLoc
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 80}]
a_s2eL = SrcLoc a_s2eM a_s2eN a_s2eO a_s2eP a_s2eQ a_s2eR a_s2eS
-- RHS size: {terms: 3, types: 3, coercions: 0}
a_s2eJ :: ([Char], SrcLoc)
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s2eJ = (a_s2eK, a_s2eL)
-- RHS size: {terms: 3, types: 8, coercions: 0}
a_s2eI :: [([Char], SrcLoc)]
[LclId,
Str=DmdType m2,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s2eI = : @ ([Char], SrcLoc) a_s2eJ ([] @ ([Char], SrcLoc))
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eH :: CallStack
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eH = CallStack a_s2eI
-- RHS size: {terms: 1, types: 0, coercions: 4}
$dIP1_a1by :: ?callStack::CallStack
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
$dIP1_a1by =
a_s2eH
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))
-- RHS size: {terms: 26, types: 16, coercions: 0}
a_s2cV :: State# RealWorld -> (# State# RealWorld, () #)
[LclId,
Arity=1,
Str=DmdType <L,U>,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [0] 200 0}]
a_s2cV =
\ (eta_a1T5 [OS=OneShot] :: State# RealWorld) ->
hPutStr2
stdout
(case n of _ [Occ=Dead, Dmd=<L,A>] { I# ds1_d1hZ [Dmd=<S,1*U>] ->
case ds1_d1hZ of ds2_X1ib {
__DEFAULT ->
case GHC.Show.$wshowSignedInt 0# ds2_X1ib ([] @ Char)
of _ [Occ=Dead, Dmd=<L,A>] { (# ww5_a2dn, ww6_a2do #) ->
: @ Char ww5_a2dn ww6_a2do
};
0# ->
case error @ Int $dIP1_a1by (unpackCString# "foo"#)
of wild_00 [Dmd=<B,A>] {
}
}
})
True
eta_a1T5
-- RHS size: {terms: 1, types: 0, coercions: 3}
main :: IO ()
[LclIdX,
Arity=1,
Str=DmdType <L,U>,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=True)}]
main =
a_s2cV
`cast` (Sym (NTCo:IO[0] <()>_R)
:: (State# RealWorld -> (# State# RealWorld, () #)) ~R# IO ())
------ Local rules for imported ids --------
"SPEC/T10844 foo @ Int" [ALWAYS]
forall (tpl_s1SV :: Foo Int).
foo @ Int tpl_s1SV
= T10844a.$fFooInt_$cfoo
*** Worker Wrapper binds:
==================== Worker Wrapper binds ====================
Result size of Worker Wrapper binds
= {terms: 78, types: 62, coercions: 7}
-- RHS size: {terms: 2, types: 0, coercions: 0}
n [InlPrag=NOINLINE] :: Int
[LclIdX,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
n = I# 0#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eK :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}]
a_s2eK = unpackCString# "error"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eM :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 0}]
a_s2eM = unpackCString# "main"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eN :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}]
a_s2eN = unpackCString# "T10844a"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eO :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 0}]
a_s2eO = unpackCString# "./T10844a.hs"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eP :: Int
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eP = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eQ :: Int
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eQ = I# 13#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eR :: Int
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eR = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eS :: Int
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eS = I# 18#
-- RHS size: {terms: 8, types: 0, coercions: 0}
a_s2eL :: SrcLoc
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 80}]
a_s2eL = SrcLoc a_s2eM a_s2eN a_s2eO a_s2eP a_s2eQ a_s2eR a_s2eS
-- RHS size: {terms: 3, types: 3, coercions: 0}
a_s2eJ :: ([Char], SrcLoc)
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s2eJ = (a_s2eK, a_s2eL)
-- RHS size: {terms: 3, types: 8, coercions: 0}
a_s2eI :: [([Char], SrcLoc)]
[LclId,
Str=DmdType m2,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s2eI = : @ ([Char], SrcLoc) a_s2eJ ([] @ ([Char], SrcLoc))
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eH :: CallStack
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eH = CallStack a_s2eI
-- RHS size: {terms: 1, types: 0, coercions: 4}
$dIP1_a1by :: ?callStack::CallStack
[LclId,
Str=DmdType m,
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= a_s2eH
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))}]
$dIP1_a1by =
a_s2eH
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))
-- RHS size: {terms: 26, types: 16, coercions: 0}
a_s2cV :: State# RealWorld -> (# State# RealWorld, () #)
[LclId,
Arity=1,
Str=DmdType <L,U>,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [0] 200 0}]
a_s2cV =
\ (eta_a1T5 [OS=OneShot] :: State# RealWorld) ->
hPutStr2
stdout
(case n of _ [Occ=Dead, Dmd=<L,A>] { I# ds1_d1hZ [Dmd=<S,1*U>] ->
case ds1_d1hZ of ds2_X1ib {
__DEFAULT ->
case GHC.Show.$wshowSignedInt 0# ds2_X1ib ([] @ Char)
of _ [Occ=Dead, Dmd=<L,A>] { (# ww5_a2dn, ww6_a2do #) ->
: @ Char ww5_a2dn ww6_a2do
};
0# ->
case error @ Int $dIP1_a1by (unpackCString# "foo"#)
of wild_00 [Dmd=<B,A>] {
}
}
})
True
eta_a1T5
-- RHS size: {terms: 1, types: 0, coercions: 3}
main :: IO ()
[LclIdX,
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= a_s2cV
`cast` (Sym (NTCo:IO[0] <()>_R)
:: (State# RealWorld -> (# State# RealWorld, () #)) ~R# IO ())}]
main =
a_s2cV
`cast` (Sym (NTCo:IO[0] <()>_R)
:: (State# RealWorld -> (# State# RealWorld, () #)) ~R# IO ())
------ Local rules for imported ids --------
"SPEC/T10844 foo @ Int" [ALWAYS]
forall (tpl_s1SV :: Foo Int).
foo @ Int tpl_s1SV
= T10844a.$fFooInt_$cfoo
*** Simplifier:
SimplBind n
SimplBind a_s2eK
SimplBind a_s2eM
SimplBind a_s2eN
SimplBind a_s2eO
SimplBind a_s2eP
SimplBind a_s2eQ
SimplBind a_s2eR
SimplBind a_s2eS
SimplBind a_s2eL
SimplBind a_s2eJ
SimplBind a_s2eI
SimplBind a_s2eH
SimplBind $dIP1_a1by
SimplBind a_s2cV
SimplBind main
==================== Simplifier ====================
Max iterations = 4
SimplMode {Phase = 0 [post-worker-wrapper],
inline,
rules,
eta-expand,
case-of-case}
Result size of Simplifier = {terms: 78, types: 62, coercions: 7}
-- RHS size: {terms: 2, types: 0, coercions: 0}
n [InlPrag=NOINLINE] :: Int
[LclIdX,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
n = I# 0#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eK :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}]
a_s2eK = unpackCString# "error"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eM :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 0}]
a_s2eM = unpackCString# "main"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eN :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}]
a_s2eN = unpackCString# "T10844a"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eO :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 0}]
a_s2eO = unpackCString# "./T10844a.hs"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eP :: Int
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eP = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eQ :: Int
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eQ = I# 13#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eR :: Int
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eR = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eS :: Int
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eS = I# 18#
-- RHS size: {terms: 8, types: 0, coercions: 0}
a_s2eL :: SrcLoc
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 80}]
a_s2eL = SrcLoc a_s2eM a_s2eN a_s2eO a_s2eP a_s2eQ a_s2eR a_s2eS
-- RHS size: {terms: 3, types: 3, coercions: 0}
a_s2eJ :: ([Char], SrcLoc)
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s2eJ = (a_s2eK, a_s2eL)
-- RHS size: {terms: 3, types: 8, coercions: 0}
a_s2eI :: [([Char], SrcLoc)]
[LclId,
Str=DmdType m2,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s2eI = : @ ([Char], SrcLoc) a_s2eJ ([] @ ([Char], SrcLoc))
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eH :: CallStack
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eH = CallStack a_s2eI
-- RHS size: {terms: 1, types: 0, coercions: 4}
$dIP1_a1by :: ?callStack::CallStack
[LclId,
Str=DmdType m,
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= a_s2eH
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))}]
$dIP1_a1by =
a_s2eH
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))
-- RHS size: {terms: 26, types: 16, coercions: 0}
a_s2cV :: State# RealWorld -> (# State# RealWorld, () #)
[LclId,
Arity=1,
Str=DmdType <L,U>,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [0] 200 0}]
a_s2cV =
\ (eta_a1T5 [OS=OneShot] :: State# RealWorld) ->
hPutStr2
stdout
(case n of _ [Occ=Dead, Dmd=<L,A>] { I# ds1_d1hZ [Dmd=<S,1*U>] ->
case ds1_d1hZ of ds2_X1ib {
__DEFAULT ->
case GHC.Show.$wshowSignedInt 0# ds2_X1ib ([] @ Char)
of _ [Occ=Dead, Dmd=<L,A>] { (# ww5_a2dn, ww6_a2do #) ->
: @ Char ww5_a2dn ww6_a2do
};
0# ->
case error @ Int $dIP1_a1by (unpackCString# "foo"#) of wild_00 { }
}
})
True
eta_a1T5
-- RHS size: {terms: 1, types: 0, coercions: 3}
main :: IO ()
[LclIdX,
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= a_s2cV
`cast` (Sym (NTCo:IO[0] <()>_R)
:: (State# RealWorld -> (# State# RealWorld, () #)) ~R# IO ())}]
main =
a_s2cV
`cast` (Sym (NTCo:IO[0] <()>_R)
:: (State# RealWorld -> (# State# RealWorld, () #)) ~R# IO ())
------ Local rules for imported ids --------
"SPEC/T10844 foo @ Int" [ALWAYS]
forall (tpl_s1SV :: Foo Int).
foo @ Int tpl_s1SV
= T10844a.$fFooInt_$cfoo
*** Float out(FOS {Lam = Just 0, Consts = True, OverSatApps = True}):
==================== Levels added: ====================
<T10844.n,<0,0>>
<T10844.n,<0,0>> = GHC.Types.I# 0#
<a_s2eK,<0,0>>
<a_s2eK,<0,0>> = GHC.CString.unpackCString# "error"#
<a_s2eM,<0,0>>
<a_s2eM,<0,0>> = GHC.CString.unpackCString# "main"#
<a_s2eN,<0,0>>
<a_s2eN,<0,0>> = GHC.CString.unpackCString# "T10844a"#
<a_s2eO,<0,0>>
<a_s2eO,<0,0>> = GHC.CString.unpackCString# "./T10844a.hs"#
<a_s2eP,<0,0>>
<a_s2eP,<0,0>> = GHC.Types.I# 6#
<a_s2eQ,<0,0>>
<a_s2eQ,<0,0>> = GHC.Types.I# 13#
<a_s2eR,<0,0>>
<a_s2eR,<0,0>> = GHC.Types.I# 6#
<a_s2eS,<0,0>>
<a_s2eS,<0,0>> = GHC.Types.I# 18#
<a_s2eL,<0,0>>
<a_s2eL,<0,0>> =
GHC.Types.SrcLoc a_s2eM a_s2eN a_s2eO a_s2eP a_s2eQ a_s2eR a_s2eS
<a_s2eJ,<0,0>>
<a_s2eJ,<0,0>> = (a_s2eK, a_s2eL)
<a_s2eI,<0,0>>
<a_s2eI,<0,0>> =
GHC.Types.:
@ ([GHC.Types.Char], GHC.Types.SrcLoc)
a_s2eJ
(GHC.Types.[] @ ([GHC.Types.Char], GHC.Types.SrcLoc))
<a_s2eH,<0,0>>
<a_s2eH,<0,0>> = GHC.Types.CallStack a_s2eI
<$dIP1_a1by,<0,0>>
<$dIP1_a1by,<0,0>> =
a_s2eH
`cast` (Sym (NTCo:IP[0] <"callStack">_N <GHC.Types.CallStack>_N)
:: GHC.Types.CallStack ~R# (?callStack::GHC.Types.CallStack))
<a_s2cV,<0,0>>
<a_s2cV,<0,0>> =
\ <eta_a1T5,<0,1>> ->
GHC.IO.Handle.Text.hPutStr2
GHC.IO.Handle.FD.stdout
(let {
<lvl_s2fJ,F<0,0>>
<lvl_s2fJ,F<0,0>> =
case T10844.n of <wild_Xi,<0,2>> { GHC.Types.I# <ds1_d1hZ,<0,2>> ->
case ds1_d1hZ of <ds2_X1ib,<0,3>> {
__DEFAULT ->
case GHC.Show.$wshowSignedInt
0# ds1_d1hZ (GHC.Types.[] @ GHC.Types.Char)
of <ww4_a2dl,<0,4>> { (# <ww5_a2dn,<0,4>>, <ww6_a2do,<0,4>> #) ->
GHC.Types.: @ GHC.Types.Char ww5_a2dn ww6_a2do
};
0# ->
case GHC.Err.error
@ GHC.Types.Int
$dIP1_a1by
(let {
<lvl_s2fI,F<0,0>>
<lvl_s2fI,F<0,0>> = GHC.CString.unpackCString# "foo"# } in
lvl_s2fI)
of <wild_00,<0,4>> {
}
}
} } in
lvl_s2fJ)
GHC.Types.True
eta_a1T5
<T10844.main,<0,0>>
<T10844.main,<0,0>> =
a_s2cV
`cast` (Sym (GHC.Types.NTCo:IO[0] <()>_R)
:: (GHC.Prim.State# GHC.Prim.RealWorld
-> (# GHC.Prim.State# GHC.Prim.RealWorld, () #))
~R# GHC.Types.IO ())
==================== Float out(FOS {Lam = Just 0, Consts = True, OverSatApps = True}) ====================
Result size of Float out(FOS {Lam = Just 0,
Consts = True,
OverSatApps = True})
= {terms: 82, types: 65, coercions: 7}
-- RHS size: {terms: 2, types: 0, coercions: 0}
n [InlPrag=NOINLINE] :: Int
[LclIdX, Str=DmdType m]
n = I# 0#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eK :: [Char]
[LclId, Str=DmdType]
a_s2eK = unpackCString# "error"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eM :: [Char]
[LclId, Str=DmdType]
a_s2eM = unpackCString# "main"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eN :: [Char]
[LclId, Str=DmdType]
a_s2eN = unpackCString# "T10844a"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eO :: [Char]
[LclId, Str=DmdType]
a_s2eO = unpackCString# "./T10844a.hs"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eP :: Int
[LclId, Str=DmdType m]
a_s2eP = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eQ :: Int
[LclId, Str=DmdType m]
a_s2eQ = I# 13#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eR :: Int
[LclId, Str=DmdType m]
a_s2eR = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eS :: Int
[LclId, Str=DmdType m]
a_s2eS = I# 18#
-- RHS size: {terms: 8, types: 0, coercions: 0}
a_s2eL :: SrcLoc
[LclId, Str=DmdType m]
a_s2eL = SrcLoc a_s2eM a_s2eN a_s2eO a_s2eP a_s2eQ a_s2eR a_s2eS
-- RHS size: {terms: 3, types: 3, coercions: 0}
a_s2eJ :: ([Char], SrcLoc)
[LclId, Str=DmdType m]
a_s2eJ = (a_s2eK, a_s2eL)
-- RHS size: {terms: 3, types: 8, coercions: 0}
a_s2eI :: [([Char], SrcLoc)]
[LclId, Str=DmdType m2]
a_s2eI = : @ ([Char], SrcLoc) a_s2eJ ([] @ ([Char], SrcLoc))
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eH :: CallStack
[LclId, Str=DmdType m]
a_s2eH = CallStack a_s2eI
-- RHS size: {terms: 1, types: 0, coercions: 4}
$dIP1_a1by :: ?callStack::CallStack
[LclId,
Str=DmdType m,
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= a_s2eH
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))}]
$dIP1_a1by =
a_s2eH
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))
-- RHS size: {terms: 2, types: 0, coercions: 0}
lvl_s2fI :: [Char]
[LclId, Str=DmdType]
lvl_s2fI = unpackCString# "foo"#
-- RHS size: {terms: 20, types: 14, coercions: 0}
lvl_s2fJ :: String
[LclId, Str=DmdType]
lvl_s2fJ =
case n of _ [Occ=Dead, Dmd=<L,A>] { I# ds1_d1hZ [Dmd=<S,1*U>] ->
case ds1_d1hZ of ds2_X1ib {
__DEFAULT ->
case GHC.Show.$wshowSignedInt 0# ds1_d1hZ ([] @ Char)
of _ [Occ=Dead, Dmd=<L,A>] { (# ww5_a2dn, ww6_a2do #) ->
: @ Char ww5_a2dn ww6_a2do
};
0# -> case error @ Int $dIP1_a1by lvl_s2fI of wild_00 { }
}
}
-- RHS size: {terms: 6, types: 2, coercions: 0}
a_s2cV :: State# RealWorld -> (# State# RealWorld, () #)
[LclId, Arity=1, Str=DmdType <L,U>]
a_s2cV =
\ (eta_a1T5 [OS=OneShot] :: State# RealWorld) ->
hPutStr2 stdout lvl_s2fJ True eta_a1T5
-- RHS size: {terms: 1, types: 0, coercions: 3}
main :: IO ()
[LclIdX,
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= a_s2cV
`cast` (Sym (NTCo:IO[0] <()>_R)
:: (State# RealWorld -> (# State# RealWorld, () #)) ~R# IO ())}]
main =
a_s2cV
`cast` (Sym (NTCo:IO[0] <()>_R)
:: (State# RealWorld -> (# State# RealWorld, () #)) ~R# IO ())
------ Local rules for imported ids --------
"SPEC/T10844 foo @ Int" [ALWAYS]
forall (tpl_s1SV :: Foo Int).
foo @ Int tpl_s1SV
= T10844a.$fFooInt_$cfoo
*** Common sub-expression:
==================== Common sub-expression ====================
Result size of Common sub-expression
= {terms: 81, types: 65, coercions: 7}
-- RHS size: {terms: 2, types: 0, coercions: 0}
n [InlPrag=NOINLINE] :: Int
[LclIdX, Str=DmdType m]
n = I# 0#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eK :: [Char]
[LclId, Str=DmdType]
a_s2eK = unpackCString# "error"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eM :: [Char]
[LclId, Str=DmdType]
a_s2eM = unpackCString# "main"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eN :: [Char]
[LclId, Str=DmdType]
a_s2eN = unpackCString# "T10844a"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eO :: [Char]
[LclId, Str=DmdType]
a_s2eO = unpackCString# "./T10844a.hs"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eP :: Int
[LclId, Str=DmdType m]
a_s2eP = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eQ :: Int
[LclId, Str=DmdType m]
a_s2eQ = I# 13#
-- RHS size: {terms: 1, types: 0, coercions: 0}
a_s2eR :: Int
[LclId, Str=DmdType m]
a_s2eR = a_s2eP
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eS :: Int
[LclId, Str=DmdType m]
a_s2eS = I# 18#
-- RHS size: {terms: 8, types: 0, coercions: 0}
a_s2eL :: SrcLoc
[LclId, Str=DmdType m]
a_s2eL = SrcLoc a_s2eM a_s2eN a_s2eO a_s2eP a_s2eQ a_s2eP a_s2eS
-- RHS size: {terms: 3, types: 3, coercions: 0}
a_s2eJ :: ([Char], SrcLoc)
[LclId, Str=DmdType m]
a_s2eJ = (a_s2eK, a_s2eL)
-- RHS size: {terms: 3, types: 8, coercions: 0}
a_s2eI :: [([Char], SrcLoc)]
[LclId, Str=DmdType m2]
a_s2eI = : @ ([Char], SrcLoc) a_s2eJ ([] @ ([Char], SrcLoc))
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eH :: CallStack
[LclId, Str=DmdType m]
a_s2eH = CallStack a_s2eI
-- RHS size: {terms: 1, types: 0, coercions: 4}
$dIP1_a1by :: ?callStack::CallStack
[LclId,
Str=DmdType m,
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= a_s2eH
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))}]
$dIP1_a1by =
a_s2eH
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))
-- RHS size: {terms: 2, types: 0, coercions: 0}
lvl_s2fI :: [Char]
[LclId, Str=DmdType]
lvl_s2fI = unpackCString# "foo"#
-- RHS size: {terms: 20, types: 14, coercions: 0}
lvl_s2fJ :: String
[LclId, Str=DmdType]
lvl_s2fJ =
case n of wild_Xi { I# ds1_d1hZ [Dmd=<S,1*U>] ->
case ds1_d1hZ of ds2_X1ib {
__DEFAULT ->
case GHC.Show.$wshowSignedInt 0# ds1_d1hZ ([] @ Char)
of ww4_a2dl { (# ww5_a2dn, ww6_a2do #) ->
: @ Char ww5_a2dn ww6_a2do
};
0# -> case error @ Int $dIP1_a1by lvl_s2fI of wild_00 { }
}
}
-- RHS size: {terms: 6, types: 2, coercions: 0}
a_s2cV :: State# RealWorld -> (# State# RealWorld, () #)
[LclId, Arity=1, Str=DmdType <L,U>]
a_s2cV =
\ (eta_a1T5 [OS=OneShot] :: State# RealWorld) ->
hPutStr2 stdout lvl_s2fJ True eta_a1T5
-- RHS size: {terms: 1, types: 0, coercions: 3}
main :: IO ()
[LclIdX,
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= a_s2cV
`cast` (Sym (NTCo:IO[0] <()>_R)
:: (State# RealWorld -> (# State# RealWorld, () #)) ~R# IO ())}]
main =
a_s2cV
`cast` (Sym (NTCo:IO[0] <()>_R)
:: (State# RealWorld -> (# State# RealWorld, () #)) ~R# IO ())
------ Local rules for imported ids --------
"SPEC/T10844 foo @ Int" [ALWAYS]
forall (tpl_s1SV :: Foo Int).
foo @ Int tpl_s1SV
= T10844a.$fFooInt_$cfoo
*** Float inwards:
==================== Float inwards ====================
Result size of Float inwards = {terms: 81, types: 65, coercions: 7}
-- RHS size: {terms: 2, types: 0, coercions: 0}
n [InlPrag=NOINLINE] :: Int
[LclIdX, Str=DmdType m]
n = I# 0#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eK :: [Char]
[LclId, Str=DmdType]
a_s2eK = unpackCString# "error"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eM :: [Char]
[LclId, Str=DmdType]
a_s2eM = unpackCString# "main"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eN :: [Char]
[LclId, Str=DmdType]
a_s2eN = unpackCString# "T10844a"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eO :: [Char]
[LclId, Str=DmdType]
a_s2eO = unpackCString# "./T10844a.hs"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eP :: Int
[LclId, Str=DmdType m]
a_s2eP = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eQ :: Int
[LclId, Str=DmdType m]
a_s2eQ = I# 13#
-- RHS size: {terms: 1, types: 0, coercions: 0}
a_s2eR :: Int
[LclId, Str=DmdType m]
a_s2eR = a_s2eP
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eS :: Int
[LclId, Str=DmdType m]
a_s2eS = I# 18#
-- RHS size: {terms: 8, types: 0, coercions: 0}
a_s2eL :: SrcLoc
[LclId, Str=DmdType m]
a_s2eL = SrcLoc a_s2eM a_s2eN a_s2eO a_s2eP a_s2eQ a_s2eP a_s2eS
-- RHS size: {terms: 3, types: 3, coercions: 0}
a_s2eJ :: ([Char], SrcLoc)
[LclId, Str=DmdType m]
a_s2eJ = (a_s2eK, a_s2eL)
-- RHS size: {terms: 3, types: 8, coercions: 0}
a_s2eI :: [([Char], SrcLoc)]
[LclId, Str=DmdType m2]
a_s2eI = : @ ([Char], SrcLoc) a_s2eJ ([] @ ([Char], SrcLoc))
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eH :: CallStack
[LclId, Str=DmdType m]
a_s2eH = CallStack a_s2eI
-- RHS size: {terms: 1, types: 0, coercions: 4}
$dIP1_a1by :: ?callStack::CallStack
[LclId,
Str=DmdType m,
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= a_s2eH
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))}]
$dIP1_a1by =
a_s2eH
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))
-- RHS size: {terms: 2, types: 0, coercions: 0}
lvl_s2fI :: [Char]
[LclId, Str=DmdType]
lvl_s2fI = unpackCString# "foo"#
-- RHS size: {terms: 20, types: 14, coercions: 0}
lvl_s2fJ :: String
[LclId, Str=DmdType]
lvl_s2fJ =
case n of wild_Xi { I# ds1_d1hZ [Dmd=<S,1*U>] ->
case ds1_d1hZ of ds2_X1ib {
__DEFAULT ->
case GHC.Show.$wshowSignedInt 0# ds1_d1hZ ([] @ Char)
of ww4_a2dl { (# ww5_a2dn, ww6_a2do #) ->
: @ Char ww5_a2dn ww6_a2do
};
0# -> case error @ Int $dIP1_a1by lvl_s2fI of wild_00 { }
}
}
-- RHS size: {terms: 6, types: 2, coercions: 0}
a_s2cV :: State# RealWorld -> (# State# RealWorld, () #)
[LclId, Arity=1, Str=DmdType <L,U>]
a_s2cV =
\ (eta_a1T5 [OS=OneShot] :: State# RealWorld) ->
hPutStr2 stdout lvl_s2fJ True eta_a1T5
-- RHS size: {terms: 1, types: 0, coercions: 3}
main :: IO ()
[LclIdX,
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= a_s2cV
`cast` (Sym (NTCo:IO[0] <()>_R)
:: (State# RealWorld -> (# State# RealWorld, () #)) ~R# IO ())}]
main =
a_s2cV
`cast` (Sym (NTCo:IO[0] <()>_R)
:: (State# RealWorld -> (# State# RealWorld, () #)) ~R# IO ())
------ Local rules for imported ids --------
"SPEC/T10844 foo @ Int" [ALWAYS]
forall (tpl_s1SV :: Foo Int).
foo @ Int tpl_s1SV
= T10844a.$fFooInt_$cfoo
*** Liberate case:
==================== Liberate case ====================
Result size of Liberate case = {terms: 81, types: 65, coercions: 7}
-- RHS size: {terms: 2, types: 0, coercions: 0}
n [InlPrag=NOINLINE] :: Int
[LclIdX, Str=DmdType m]
n = I# 0#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eK :: [Char]
[LclId, Str=DmdType]
a_s2eK = unpackCString# "error"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eM :: [Char]
[LclId, Str=DmdType]
a_s2eM = unpackCString# "main"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eN :: [Char]
[LclId, Str=DmdType]
a_s2eN = unpackCString# "T10844a"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eO :: [Char]
[LclId, Str=DmdType]
a_s2eO = unpackCString# "./T10844a.hs"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eP :: Int
[LclId, Str=DmdType m]
a_s2eP = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eQ :: Int
[LclId, Str=DmdType m]
a_s2eQ = I# 13#
-- RHS size: {terms: 1, types: 0, coercions: 0}
a_s2eR :: Int
[LclId, Str=DmdType m]
a_s2eR = a_s2eP
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eS :: Int
[LclId, Str=DmdType m]
a_s2eS = I# 18#
-- RHS size: {terms: 8, types: 0, coercions: 0}
a_s2eL :: SrcLoc
[LclId, Str=DmdType m]
a_s2eL = SrcLoc a_s2eM a_s2eN a_s2eO a_s2eP a_s2eQ a_s2eP a_s2eS
-- RHS size: {terms: 3, types: 3, coercions: 0}
a_s2eJ :: ([Char], SrcLoc)
[LclId, Str=DmdType m]
a_s2eJ = (a_s2eK, a_s2eL)
-- RHS size: {terms: 3, types: 8, coercions: 0}
a_s2eI :: [([Char], SrcLoc)]
[LclId, Str=DmdType m2]
a_s2eI = : @ ([Char], SrcLoc) a_s2eJ ([] @ ([Char], SrcLoc))
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eH :: CallStack
[LclId, Str=DmdType m]
a_s2eH = CallStack a_s2eI
-- RHS size: {terms: 1, types: 0, coercions: 4}
$dIP1_a1by :: ?callStack::CallStack
[LclId,
Str=DmdType m,
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= a_s2eH
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))}]
$dIP1_a1by =
a_s2eH
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))
-- RHS size: {terms: 2, types: 0, coercions: 0}
lvl_s2fI :: [Char]
[LclId, Str=DmdType]
lvl_s2fI = unpackCString# "foo"#
-- RHS size: {terms: 20, types: 14, coercions: 0}
lvl_s2fJ :: String
[LclId, Str=DmdType]
lvl_s2fJ =
case n of wild_Xi { I# ds1_d1hZ [Dmd=<S,1*U>] ->
case ds1_d1hZ of ds2_X1ib {
__DEFAULT ->
case GHC.Show.$wshowSignedInt 0# ds1_d1hZ ([] @ Char)
of ww4_a2dl { (# ww5_a2dn, ww6_a2do #) ->
: @ Char ww5_a2dn ww6_a2do
};
0# -> case error @ Int $dIP1_a1by lvl_s2fI of wild_00 { }
}
}
-- RHS size: {terms: 6, types: 2, coercions: 0}
a_s2cV :: State# RealWorld -> (# State# RealWorld, () #)
[LclId, Arity=1, Str=DmdType <L,U>]
a_s2cV =
\ (eta_a1T5 [OS=OneShot] :: State# RealWorld) ->
hPutStr2 stdout lvl_s2fJ True eta_a1T5
-- RHS size: {terms: 1, types: 0, coercions: 3}
main :: IO ()
[LclIdX,
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= a_s2cV
`cast` (Sym (NTCo:IO[0] <()>_R)
:: (State# RealWorld -> (# State# RealWorld, () #)) ~R# IO ())}]
main =
a_s2cV
`cast` (Sym (NTCo:IO[0] <()>_R)
:: (State# RealWorld -> (# State# RealWorld, () #)) ~R# IO ())
------ Local rules for imported ids --------
"SPEC/T10844 foo @ Int" [ALWAYS]
forall (tpl_s1SV :: Foo Int).
foo @ Int tpl_s1SV
= T10844a.$fFooInt_$cfoo
*** Simplifier:
SimplBind n
SimplBind a_s2eK
SimplBind a_s2eM
SimplBind a_s2eN
SimplBind a_s2eO
SimplBind a_s2eP
SimplBind a_s2eQ
SimplBind a_s2eS
SimplBind a_s2eL
SimplBind a_s2eJ
SimplBind a_s2eI
SimplBind a_s2eH
SimplBind $dIP1_a1by
SimplBind lvl_s2fI
SimplBind lvl_s2fJ
SimplBind a_s2cV
SimplBind main
Result size of Simplifier iteration=1
= {terms: 79, types: 64, coercions: 7}
SimplBind n
SimplBind a_s2eK
SimplBind a_s2eM
SimplBind a_s2eN
SimplBind a_s2eO
SimplBind a_s2eP
SimplBind a_s2eQ
SimplBind a_s2eS
SimplBind a_s2eL
SimplBind a_s2eJ
SimplBind a_s2eI
SimplBind a_s2eH
SimplBind $dIP1_a1by
SimplBind lvl_s2fI
SimplBind lvl_s2fJ
SimplBind a_s2cV
SimplBind main
==================== Simplifier ====================
Max iterations = 4
SimplMode {Phase = 0 [post-liberate-case],
inline,
rules,
eta-expand,
case-of-case}
Result size of Simplifier = {terms: 79, types: 64, coercions: 7}
-- RHS size: {terms: 2, types: 0, coercions: 0}
n [InlPrag=NOINLINE] :: Int
[LclIdX,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
n = I# 0#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eK :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}]
a_s2eK = unpackCString# "error"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eM :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 0}]
a_s2eM = unpackCString# "main"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eN :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}]
a_s2eN = unpackCString# "T10844a"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eO :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 0}]
a_s2eO = unpackCString# "./T10844a.hs"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eP :: Int
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eP = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eQ :: Int
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eQ = I# 13#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eS :: Int
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eS = I# 18#
-- RHS size: {terms: 8, types: 0, coercions: 0}
a_s2eL :: SrcLoc
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 80}]
a_s2eL = SrcLoc a_s2eM a_s2eN a_s2eO a_s2eP a_s2eQ a_s2eP a_s2eS
-- RHS size: {terms: 3, types: 3, coercions: 0}
a_s2eJ :: ([Char], SrcLoc)
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s2eJ = (a_s2eK, a_s2eL)
-- RHS size: {terms: 3, types: 8, coercions: 0}
a_s2eI :: [([Char], SrcLoc)]
[LclId,
Str=DmdType m2,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s2eI = : @ ([Char], SrcLoc) a_s2eJ ([] @ ([Char], SrcLoc))
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eH :: CallStack
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eH = CallStack a_s2eI
-- RHS size: {terms: 1, types: 0, coercions: 4}
$dIP1_a1by :: ?callStack::CallStack
[LclId,
Str=DmdType m,
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= a_s2eH
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))}]
$dIP1_a1by =
a_s2eH
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))
-- RHS size: {terms: 2, types: 0, coercions: 0}
lvl_s2fI :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 0}]
lvl_s2fI = unpackCString# "foo"#
-- RHS size: {terms: 20, types: 14, coercions: 0}
lvl_s2fJ :: String
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 120 30}]
lvl_s2fJ =
case n of _ [Occ=Dead] { I# ds1_d1hZ [Dmd=<S,1*U>] ->
case ds1_d1hZ of ds2_X1ib {
__DEFAULT ->
case GHC.Show.$wshowSignedInt 0# ds2_X1ib ([] @ Char)
of _ [Occ=Dead] { (# ww5_a2dn, ww6_a2do #) ->
: @ Char ww5_a2dn ww6_a2do
};
0# -> case error @ Int $dIP1_a1by lvl_s2fI of wild_00 { }
}
}
-- RHS size: {terms: 6, types: 2, coercions: 0}
a_s2cV :: State# RealWorld -> (# State# RealWorld, () #)
[LclId,
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}]
a_s2cV =
\ (eta_a1T5 [OS=OneShot] :: State# RealWorld) ->
hPutStr2 stdout lvl_s2fJ True eta_a1T5
-- RHS size: {terms: 1, types: 0, coercions: 3}
main :: IO ()
[LclIdX,
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= a_s2cV
`cast` (Sym (NTCo:IO[0] <()>_R)
:: (State# RealWorld -> (# State# RealWorld, () #)) ~R# IO ())}]
main =
a_s2cV
`cast` (Sym (NTCo:IO[0] <()>_R)
:: (State# RealWorld -> (# State# RealWorld, () #)) ~R# IO ())
------ Local rules for imported ids --------
"SPEC/T10844 foo @ Int" [ALWAYS]
forall (tpl_s1SV :: Foo Int).
foo @ Int tpl_s1SV
= T10844a.$fFooInt_$cfoo
*** SpecConstr:
==================== SpecConstr ====================
Result size of SpecConstr = {terms: 63, types: 52, coercions: 7}
-- RHS size: {terms: 2, types: 0, coercions: 0}
n [InlPrag=NOINLINE] :: Int
[LclIdX, Str=DmdType m]
n = I# 0#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eK :: [Char]
[LclId, Str=DmdType]
a_s2eK = unpackCString# "error"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eM :: [Char]
[LclId, Str=DmdType]
a_s2eM = unpackCString# "main"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eN :: [Char]
[LclId, Str=DmdType]
a_s2eN = unpackCString# "T10844a"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eO :: [Char]
[LclId, Str=DmdType]
a_s2eO = unpackCString# "./T10844a.hs"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eP :: Int
[LclId, Str=DmdType m]
a_s2eP = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eQ :: Int
[LclId, Str=DmdType m]
a_s2eQ = I# 13#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eS :: Int
[LclId, Str=DmdType m]
a_s2eS = I# 18#
-- RHS size: {terms: 8, types: 0, coercions: 0}
a_s2eL :: SrcLoc
[LclId, Str=DmdType m]
a_s2eL = SrcLoc a_s2eM a_s2eN a_s2eO a_s2eP a_s2eQ a_s2eP a_s2eS
-- RHS size: {terms: 3, types: 3, coercions: 0}
a_s2eJ :: ([Char], SrcLoc)
[LclId, Str=DmdType m]
a_s2eJ = (a_s2eK, a_s2eL)
-- RHS size: {terms: 3, types: 8, coercions: 0}
a_s2eI :: [([Char], SrcLoc)]
[LclId, Str=DmdType m2]
a_s2eI = : @ ([Char], SrcLoc) a_s2eJ ([] @ ([Char], SrcLoc))
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eH :: CallStack
[LclId, Str=DmdType m]
a_s2eH = CallStack a_s2eI
-- RHS size: {terms: 1, types: 0, coercions: 4}
$dIP1_a1by :: ?callStack::CallStack
[LclId,
Str=DmdType m,
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= a_s2eH
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))}]
$dIP1_a1by =
a_s2eH
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))
-- RHS size: {terms: 2, types: 0, coercions: 0}
lvl_s2fI :: [Char]
[LclId, Str=DmdType]
lvl_s2fI = unpackCString# "foo"#
-- RHS size: {terms: 4, types: 2, coercions: 0}
lvl_s2fJ :: String
[LclId, Str=DmdType]
lvl_s2fJ = case error @ Int $dIP1_a1by lvl_s2fI of wild_00 { }
-- RHS size: {terms: 6, types: 2, coercions: 0}
a_s2cV :: State# RealWorld -> (# State# RealWorld, () #)
[LclId, Arity=1, Str=DmdType <L,U>]
a_s2cV =
\ (eta_a1T5 [OS=OneShot] :: State# RealWorld) ->
hPutStr2 stdout lvl_s2fJ True eta_a1T5
-- RHS size: {terms: 1, types: 0, coercions: 3}
main :: IO ()
[LclIdX,
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= a_s2cV
`cast` (Sym (NTCo:IO[0] <()>_R)
:: (State# RealWorld -> (# State# RealWorld, () #)) ~R# IO ())}]
main =
a_s2cV
`cast` (Sym (NTCo:IO[0] <()>_R)
:: (State# RealWorld -> (# State# RealWorld, () #)) ~R# IO ())
------ Local rules for imported ids --------
"SPEC/T10844 foo @ Int" [ALWAYS]
forall (tpl_s1SV :: Foo Int).
foo @ Int tpl_s1SV
= T10844a.$fFooInt_$cfoo
*** Simplifier:
SimplBind n
SimplBind a_s2eK
SimplBind a_s2eM
SimplBind a_s2eN
SimplBind a_s2eO
SimplBind a_s2eP
SimplBind a_s2eQ
SimplBind a_s2eS
SimplBind a_s2eL
SimplBind a_s2eJ
SimplBind a_s2eI
SimplBind a_s2eH
SimplBind $dIP1_a1by
SimplBind lvl_s2fI
SimplBind lvl_s2fJ
SimplBind a_s2cV
SimplBind main
==================== Simplifier ====================
Max iterations = 4
SimplMode {Phase = 0 [final],
inline,
rules,
eta-expand,
case-of-case}
Result size of Simplifier = {terms: 63, types: 52, coercions: 7}
-- RHS size: {terms: 2, types: 0, coercions: 0}
n [InlPrag=NOINLINE] :: Int
[LclIdX,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
n = I# 0#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eK :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}]
a_s2eK = unpackCString# "error"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eM :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 0}]
a_s2eM = unpackCString# "main"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eN :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}]
a_s2eN = unpackCString# "T10844a"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eO :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 0}]
a_s2eO = unpackCString# "./T10844a.hs"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eP :: Int
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eP = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eQ :: Int
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eQ = I# 13#
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eS :: Int
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eS = I# 18#
-- RHS size: {terms: 8, types: 0, coercions: 0}
a_s2eL :: SrcLoc
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 80}]
a_s2eL = SrcLoc a_s2eM a_s2eN a_s2eO a_s2eP a_s2eQ a_s2eP a_s2eS
-- RHS size: {terms: 3, types: 3, coercions: 0}
a_s2eJ :: ([Char], SrcLoc)
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s2eJ = (a_s2eK, a_s2eL)
-- RHS size: {terms: 3, types: 8, coercions: 0}
a_s2eI :: [([Char], SrcLoc)]
[LclId,
Str=DmdType m2,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
a_s2eI = : @ ([Char], SrcLoc) a_s2eJ ([] @ ([Char], SrcLoc))
-- RHS size: {terms: 2, types: 0, coercions: 0}
a_s2eH :: CallStack
[LclId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
a_s2eH = CallStack a_s2eI
-- RHS size: {terms: 1, types: 0, coercions: 4}
$dIP1_a1by :: ?callStack::CallStack
[LclId,
Str=DmdType m,
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= a_s2eH
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))}]
$dIP1_a1by =
a_s2eH
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))
-- RHS size: {terms: 2, types: 0, coercions: 0}
lvl_s2fI :: [Char]
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 0}]
lvl_s2fI = unpackCString# "foo"#
-- RHS size: {terms: 4, types: 2, coercions: 0}
lvl_s2fJ :: String
[LclId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 30 0}]
lvl_s2fJ = case error @ Int $dIP1_a1by lvl_s2fI of wild_00 { }
-- RHS size: {terms: 6, types: 2, coercions: 0}
a_s2cV :: State# RealWorld -> (# State# RealWorld, () #)
[LclId,
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}]
a_s2cV =
\ (eta_a1T5 [OS=OneShot] :: State# RealWorld) ->
hPutStr2 stdout lvl_s2fJ True eta_a1T5
-- RHS size: {terms: 1, types: 0, coercions: 3}
main :: IO ()
[LclIdX,
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= a_s2cV
`cast` (Sym (NTCo:IO[0] <()>_R)
:: (State# RealWorld -> (# State# RealWorld, () #)) ~R# IO ())}]
main =
a_s2cV
`cast` (Sym (NTCo:IO[0] <()>_R)
:: (State# RealWorld -> (# State# RealWorld, () #)) ~R# IO ())
------ Local rules for imported ids --------
"SPEC/T10844 foo @ Int" [ALWAYS]
forall (tpl_s1SV :: Foo Int).
foo @ Int tpl_s1SV
= T10844a.$fFooInt_$cfoo
*** Tidy Core:
==================== Tidy Core ====================
Result size of Tidy Core = {terms: 63, types: 52, coercions: 7}
-- RHS size: {terms: 2, types: 0, coercions: 0}
n [InlPrag=NOINLINE] :: Int
[GblId, Caf=NoCafRefs, Str=DmdType m]
n = I# 0#
-- RHS size: {terms: 2, types: 0, coercions: 0}
T10844.main14 :: [Char]
[GblId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}]
T10844.main14 = unpackCString# "error"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
T10844.main13 :: [Char]
[GblId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 0}]
T10844.main13 = unpackCString# "main"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
T10844.main12 :: [Char]
[GblId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}]
T10844.main12 = unpackCString# "T10844a"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
T10844.main11 :: [Char]
[GblId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 0}]
T10844.main11 = unpackCString# "./T10844a.hs"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
T10844.main10 :: Int
[GblId,
Caf=NoCafRefs,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
T10844.main10 = I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
T10844.main9 :: Int
[GblId,
Caf=NoCafRefs,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
T10844.main9 = I# 13#
-- RHS size: {terms: 2, types: 0, coercions: 0}
T10844.main8 :: Int
[GblId,
Caf=NoCafRefs,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
T10844.main8 = I# 18#
-- RHS size: {terms: 8, types: 0, coercions: 0}
T10844.main7 :: SrcLoc
[GblId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 80}]
T10844.main7 =
SrcLoc
T10844.main13
T10844.main12
T10844.main11
T10844.main10
T10844.main9
T10844.main10
T10844.main8
-- RHS size: {terms: 3, types: 3, coercions: 0}
T10844.main6 :: ([Char], SrcLoc)
[GblId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
T10844.main6 = (T10844.main14, T10844.main7)
-- RHS size: {terms: 3, types: 8, coercions: 0}
T10844.main5 :: [([Char], SrcLoc)]
[GblId,
Str=DmdType m2,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
T10844.main5 =
: @ ([Char], SrcLoc) T10844.main6 ([] @ ([Char], SrcLoc))
-- RHS size: {terms: 2, types: 0, coercions: 0}
T10844.main4 :: CallStack
[GblId,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}]
T10844.main4 = CallStack T10844.main5
-- RHS size: {terms: 1, types: 0, coercions: 4}
T10844.main_$dIP1 :: ?callStack::CallStack
[GblId,
Str=DmdType m,
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= T10844.main4
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))}]
T10844.main_$dIP1 =
T10844.main4
`cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
:: CallStack ~R# (?callStack::CallStack))
-- RHS size: {terms: 2, types: 0, coercions: 0}
T10844.main3 :: [Char]
[GblId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 0}]
T10844.main3 = unpackCString# "foo"#
-- RHS size: {terms: 4, types: 2, coercions: 0}
T10844.main2 :: String
[GblId, Str=DmdType b]
T10844.main2 =
case error @ Int T10844.main_$dIP1 T10844.main3 of wild_00 { }
-- RHS size: {terms: 6, types: 2, coercions: 0}
T10844.main1 :: State# RealWorld -> (# State# 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}]
T10844.main1 =
\ (eta_a1T5 [OS=OneShot] :: State# RealWorld) ->
hPutStr2 stdout T10844.main2 True eta_a1T5
-- RHS size: {terms: 1, types: 0, coercions: 3}
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= T10844.main1
`cast` (Sym (NTCo:IO[0] <()>_R)
:: (State# RealWorld -> (# State# RealWorld, () #)) ~R# IO ())}]
main =
T10844.main1
`cast` (Sym (NTCo:IO[0] <()>_R)
:: (State# RealWorld -> (# State# RealWorld, () #)) ~R# IO ())
------ Local rules for imported ids --------
"SPEC/T10844 foo @ Int" [ALWAYS]
forall (tpl_s1SV :: Foo Int).
foo @ Int tpl_s1SV
= T10844a.$fFooInt_$cfoo
*** CorePrep:
==================== CorePrep ====================
Result size of CorePrep = {terms: 65, types: 54, coercions: 7}
-- RHS size: {terms: 2, types: 0, coercions: 0}
T10844.n [InlPrag=NOINLINE] :: GHC.Types.Int
[GblId, Caf=NoCafRefs, Str=DmdType m, Unf=OtherCon []]
T10844.n = GHC.Types.I# 0#
-- RHS size: {terms: 2, types: 0, coercions: 0}
T10844.main14 :: [GHC.Types.Char]
[GblId, Str=DmdType]
T10844.main14 = GHC.CString.unpackCString# "error"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
T10844.main13 :: [GHC.Types.Char]
[GblId, Str=DmdType]
T10844.main13 = GHC.CString.unpackCString# "main"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
T10844.main12 :: [GHC.Types.Char]
[GblId, Str=DmdType]
T10844.main12 = GHC.CString.unpackCString# "T10844a"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
T10844.main11 :: [GHC.Types.Char]
[GblId, Str=DmdType]
T10844.main11 = GHC.CString.unpackCString# "./T10844a.hs"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
T10844.main10 :: GHC.Types.Int
[GblId, Caf=NoCafRefs, Str=DmdType m, Unf=OtherCon []]
T10844.main10 = GHC.Types.I# 6#
-- RHS size: {terms: 2, types: 0, coercions: 0}
T10844.main9 :: GHC.Types.Int
[GblId, Caf=NoCafRefs, Str=DmdType m, Unf=OtherCon []]
T10844.main9 = GHC.Types.I# 13#
-- RHS size: {terms: 2, types: 0, coercions: 0}
T10844.main8 :: GHC.Types.Int
[GblId, Caf=NoCafRefs, Str=DmdType m, Unf=OtherCon []]
T10844.main8 = GHC.Types.I# 18#
-- RHS size: {terms: 8, types: 0, coercions: 0}
T10844.main7 :: GHC.Types.SrcLoc
[GblId, Str=DmdType m, Unf=OtherCon []]
T10844.main7 =
GHC.Types.SrcLoc
T10844.main13
T10844.main12
T10844.main11
T10844.main10
T10844.main9
T10844.main10
T10844.main8
-- RHS size: {terms: 3, types: 3, coercions: 0}
T10844.main6 :: ([GHC.Types.Char], GHC.Types.SrcLoc)
[GblId, Str=DmdType m, Unf=OtherCon []]
T10844.main6 = (T10844.main14, T10844.main7)
-- RHS size: {terms: 3, types: 8, coercions: 0}
T10844.main5 :: [([GHC.Types.Char], GHC.Types.SrcLoc)]
[GblId, Str=DmdType m2, Unf=OtherCon []]
T10844.main5 =
GHC.Types.:
@ ([GHC.Types.Char], GHC.Types.SrcLoc)
T10844.main6
(GHC.Types.[] @ ([GHC.Types.Char], GHC.Types.SrcLoc))
-- RHS size: {terms: 2, types: 0, coercions: 0}
T10844.main4 :: GHC.Types.CallStack
[GblId, Str=DmdType m, Unf=OtherCon []]
T10844.main4 = GHC.Types.CallStack T10844.main5
-- RHS size: {terms: 1, types: 0, coercions: 4}
T10844.main_$dIP1 :: ?callStack::GHC.Types.CallStack
[GblId, Str=DmdType m, Unf=OtherCon []]
T10844.main_$dIP1 =
T10844.main4
`cast` (Sym (NTCo:IP[0] <"callStack">_N <GHC.Types.CallStack>_N)
:: GHC.Types.CallStack ~R# (?callStack::GHC.Types.CallStack))
-- RHS size: {terms: 2, types: 0, coercions: 0}
T10844.main3 :: [GHC.Types.Char]
[GblId, Str=DmdType]
T10844.main3 = GHC.CString.unpackCString# "foo"#
-- RHS size: {terms: 4, types: 2, coercions: 0}
T10844.main2 :: GHC.Base.String
[GblId, Str=DmdType b]
T10844.main2 =
case GHC.Err.error @ GHC.Types.Int T10844.main_$dIP1 T10844.main3
of _ [Occ=Dead] {
}
-- RHS size: {terms: 6, types: 2, coercions: 0}
T10844.main1
:: GHC.Prim.State# GHC.Prim.RealWorld
-> (# GHC.Prim.State# GHC.Prim.RealWorld, () #)
[GblId, Arity=1, Str=DmdType <L,U>, Unf=OtherCon []]
T10844.main1 =
\ (eta_s2fY [Occ=Once, OS=OneShot]
:: GHC.Prim.State# GHC.Prim.RealWorld) ->
GHC.IO.Handle.Text.hPutStr2
GHC.IO.Handle.FD.stdout T10844.main2 GHC.Types.True eta_s2fY
-- RHS size: {terms: 3, types: 2, coercions: 3}
T10844.main :: GHC.Types.IO ()
[GblId, Arity=1, Str=DmdType <L,U>, Unf=OtherCon []]
T10844.main =
(\ (eta_B1 [Occ=Once, OS=OneShot]
:: GHC.Prim.State# GHC.Prim.RealWorld) ->
T10844.main1 eta_B1)
`cast` (Sym (GHC.Types.NTCo:IO[0] <()>_R)
:: (GHC.Prim.State# GHC.Prim.RealWorld
-> (# GHC.Prim.State# GHC.Prim.RealWorld, () #))
~R# GHC.Types.IO ())
*** Stg2Stg:
*** CodeGen:
*** Assembler:
Upsweep completely successful.
*** Deleting temp files:
Warning: deleting non-existent /var/folders/d0/j2pt98tx3pvcpdjghyx38c9c0000gn/T/ghc50426_0/ghc_6.c
Warning: deleting non-existent /var/folders/d0/j2pt98tx3pvcpdjghyx38c9c0000gn/T/ghc50426_0/ghc_4.s
*** Deleting temp files:
*** Deleting temp dirs:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment