Diff
checker
Texte
Texte
Images
Documents
Excel
Dossiers
Legal
Enterprise
Application de bureau
Prix
Se connecter
Télécharger Diffchecker Desktop
Comparer le texte
Trouver la différence entre deux fichiers texte
Outils
Historique
Éditeur live
Masquer les espaces
Cacher identiques
Sans retour à la ligne
Vue
Divisé
Unifié
Niveau de précision
Intelligent
Mot
Caractère
Styles de texte
Modifier l’apparence
Coloration syntaxique
Choisir la syntaxe
Ignorer
Transformer le texte
Aller au premier écart
Modifier l'entrée
Diffchecker Desktop
La façon la plus sécurisée d'utiliser Diffchecker. Obtenez l'application Diffchecker Desktop : vos diffs ne quittent jamais votre ordinateur !
Obtenir Desktop
Untitled diff
Créé
il y a 10 ans
Le diff n'expire jamais
Effacer
Exporter
Partager
Expliquer
106 suppressions
Lignes
Total
Supprimé
Caractères
Total
Supprimé
Pour continuer à utiliser cette fonctionnalité, passez à
Diff
checker
Pro
Voir les prix
246 lignes
Copier tout
119 ajouts
Lignes
Total
Ajouté
Caractères
Total
Ajouté
Pour continuer à utiliser cette fonctionnalité, passez à
Diff
checker
Pro
Voir les prix
260 lignes
Copier tout
==================== Tidy Core ====================
==================== Tidy Core ====================
Copier
Copié
Copier
Copié
2016-07-13 02:20:57.
288844358
UTC
2016-07-13 02:20:57.
281410183
UTC
Copier
Copié
Copier
Copié
Result size of Tidy Core = {terms: 12
0
, types:
664
, coercions:
458
}
Result size of Tidy Core = {terms: 12
9
, types:
681
, coercions:
440
}
-- RHS size: {terms: 2, types: 0, coercions: 0}
-- RHS size: {terms: 2, types: 0, coercions: 0}
$trModule2 :: TrName
$trModule2 :: TrName
[GblId,
[GblId,
Caf=NoCafRefs,
Caf=NoCafRefs,
Str=DmdType m1,
Str=DmdType m1,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 30 20}]
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 30 20}]
$trModule2 = TrNameS "main"#
$trModule2 = TrNameS "main"#
-- RHS size: {terms: 2, types: 0, coercions: 0}
-- RHS size: {terms: 2, types: 0, coercions: 0}
$trModule1 :: TrName
$trModule1 :: TrName
[GblId,
[GblId,
Caf=NoCafRefs,
Caf=NoCafRefs,
Str=DmdType m1,
Str=DmdType m1,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 40 20}]
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 40 20}]
Copier
Copié
Copier
Copié
$trModule1 = TrNameS "
Foo
Bench"#
$trModule1 = TrNameS "
T
Bench"#
-- RHS size: {terms: 3, types: 0, coercions: 0}
-- RHS size: {terms: 3, types: 0, coercions: 0}
$trModule :: Module
$trModule :: Module
[GblId,
[GblId,
Caf=NoCafRefs,
Caf=NoCafRefs,
Str=DmdType m,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
$trModule = Module $trModule2 $trModule1
$trModule = Module $trModule2 $trModule1
-- RHS size: {terms: 2, types: 0, coercions: 0}
-- RHS size: {terms: 2, types: 0, coercions: 0}
Copier
Copié
Copier
Copié
benches
2
:: [Char]
benches
15
:: [Char]
[GblId,
[GblId,
Str=DmdType,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 0}]
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 0}]
Copier
Copié
Copier
Copié
benches
2
= unpackCString# "
Foo
"#
benches
15
= unpackCString# "
T
"#
-- RHS size: {terms: 3, types: 4, coercions: 7}
-- RHS size: {terms: 3, types: 4, coercions: 7}
Copier
Copié
Copier
Copié
$sfoo14
:: R:SingBinz ('D0 'B1)
benches14
:: R:SingBinz ('D0 'B1)
[GblId,
[GblId,
Str=DmdType,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
Copier
Copié
Copier
Copié
$sfoo14
= SD0 ($fSingIBinD0_$d~~ `cast` ...) $fSingIBinB1_$s$WSB1
benches14
= SD0 ($fSingIBinD0_$d~~ `cast` ...) $fSingIBinB1_$s$WSB1
-- RHS size: {terms: 3, types: 7, coercions: 13}
-- RHS size: {terms: 3, types: 7, coercions: 13}
Copier
Copié
Copier
Copié
$sfoo13
:: R:SingPrimeBinz ('P ('D0 'B1))
benches13
:: R:SingPrimeBinz ('P ('D0 'B1))
[GblId,
[GblId,
Str=DmdType,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
Copier
Copié
Copier
Copié
$sfoo13
=
benches13
=
SP ($fSingIPrimeBinP_$d~~ `cast` ...) (
$sfoo14
`cast` ...)
SP ($fSingIPrimeBinP_$d~~ `cast` ...) (
benches14
`cast` ...)
-- RHS size: {terms: 3, types: 4, coercions: 7}
-- RHS size: {terms: 3, types: 4, coercions: 7}
Copier
Copié
Copier
Copié
$sfoo12
:: R:SingPosz ('S 'O)
benches12
:: R:SingPosz ('S 'O)
[GblId,
[GblId,
Str=DmdType,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
Copier
Copié
Copier
Copié
$sfoo12
= SS ($fSingIPosS_$d~~ `cast` ...) $fSingIPosO_$s$WSO
benches12
= SS ($fSingIPosS_$d~~ `cast` ...) $fSingIPosO_$s$WSO
-- RHS size: {terms: 3, types: 7, coercions: 13}
-- RHS size: {terms: 3, types: 7, coercions: 13}
Copier
Copié
Copier
Copié
$sfoo11
:: R:SingPosz ('S ('S 'O))
benches11
:: R:SingPosz ('S ('S 'O))
[GblId,
[GblId,
Str=DmdType,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
Copier
Copié
Copier
Copié
$sfoo11
= SS ($fSingIPosS_$d~~ `cast` ...) (
$sfoo12
`cast` ...)
benches11
= SS ($fSingIPosS_$d~~ `cast` ...) (
benches12
`cast` ...)
-- RHS size: {terms: 3, types: 10, coercions: 16}
-- RHS size: {terms: 3, types: 10, coercions: 16}
Copier
Copié
Copier
Copié
$sfoo10
:: R:SingPosz ('S ('S ('S 'O)))
benches10
:: R:SingPosz ('S ('S ('S 'O)))
[GblId,
[GblId,
Str=DmdType,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
Copier
Copié
Copier
Copié
$sfoo10
= SS ($fSingIPosS_$d~~ `cast` ...) (
$sfoo11
`cast` ...)
benches10
= SS ($fSingIPosS_$d~~ `cast` ...) (
benches11
`cast` ...)
-- RHS size: {terms: 3, types: 13, coercions: 19}
-- RHS size: {terms: 3, types: 13, coercions: 19}
Copier
Copié
Copier
Copié
$sfoo9
:: R:SingPosz ('S ('S ('S ('S 'O))))
benches9
:: R:SingPosz ('S ('S ('S ('S 'O))))
[GblId,
[GblId,
Str=DmdType,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
Copier
Copié
Copier
Copié
$sfoo9
= SS ($fSingIPosS_$d~~ `cast` ...) (
$sfoo10
`cast` ...)
benches9
= SS ($fSingIPosS_$d~~ `cast` ...) (
benches10
`cast` ...)
-- RHS size: {terms: 3, types: 16, coercions: 22}
-- RHS size: {terms: 3, types: 16, coercions: 22}
Copier
Copié
Copier
Copié
$sfoo8
:: R:SingPosz ('S ('S ('S ('S ('S 'O)))))
benches8
:: R:SingPosz ('S ('S ('S ('S ('S 'O)))))
[GblId,
[GblId,
Str=DmdType,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
Copier
Copié
Copier
Copié
$sfoo8
= SS ($fSingIPosS_$d~~ `cast` ...) (
$sfoo9
`cast` ...)
benches8
= SS ($fSingIPosS_$d~~ `cast` ...) (
benches9
`cast` ...)
-- RHS size: {terms: 3, types: 19, coercions: 25}
-- RHS size: {terms: 3, types: 19, coercions: 25}
Copier
Copié
Copier
Copié
$sfoo7
:: R:SingPosz ('S ('S ('S ('S ('S ('S 'O))))))
benches7
:: R:SingPosz ('S ('S ('S ('S ('S ('S 'O))))))
[GblId,
[GblId,
Str=DmdType,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
Copier
Copié
Copier
Copié
$sfoo7
= SS ($fSingIPosS_$d~~ `cast` ...) (
$sfoo8
`cast` ...)
benches7
= SS ($fSingIPosS_$d~~ `cast` ...) (
benches8
`cast` ...)
-- RHS size: {terms: 4, types: 37, coercions: 45}
-- RHS size: {terms: 4, types: 37, coercions: 45}
Copier
Copié
Copier
Copié
$sfoo6
benches6
:: R:Sing(,)z
:: R:Sing(,)z
PrimeBin Pos '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))
PrimeBin Pos '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))
[GblId,
[GblId,
Str=DmdType,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}]
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}]
Copier
Copié
Copier
Copié
$sfoo6
=
benches6
=
STuple2
STuple2
($fSingI(,)(,)_$d~~ `cast` ...)
($fSingI(,)(,)_$d~~ `cast` ...)
Copier
Copié
Copier
Copié
(
$sfoo13
`cast` ...)
(
benches13
`cast` ...)
(
$sfoo7
`cast` ...)
(
benches7
`cast` ...)
-- RHS size: {terms: 3, types: 40, coercions: 48}
-- RHS size: {terms: 3, types: 40, coercions: 48}
Copier
Copié
Copier
Copié
$sfoo5
benches5
:: R:SingPrimePowerz
:: R:SingPrimePowerz
('PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O)))))))
('PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O)))))))
[GblId,
[GblId,
Str=DmdType,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
Copier
Copié
Copier
Copié
$sfoo5
=
benches5
=
SPP ($fSingIPrimePowerPP_$d~~ `cast` ...) (
$sfoo6
`cast` ...)
SPP ($fSingIPrimePowerPP_$d~~ `cast` ...) (
benches6
`cast` ...)
-- RHS size: {terms: 4, types: 53, coercions: 61}
-- RHS size: {terms: 4, types: 53, coercions: 61}
Copier
Copié
Copier
Copié
$sfoo4
benches4
:: R:Sing[]z
:: R:Sing[]z
PrimePower '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))]
PrimePower '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))]
[GblId,
[GblId,
Str=DmdType,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}]
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}]
Copier
Copié
Copier
Copié
$sfoo4
=
benches4
=
SCons
SCons
($fSingI[]:_$d~~ `cast` ...)
($fSingI[]:_$d~~ `cast` ...)
Copier
Copié
Copier
Copié
(
$sfoo5
`cast` ...)
(
benches5
`cast` ...)
($fSingI[][]1 `cast` ...)
($fSingI[][]1 `cast` ...)
-- RHS size: {terms: 3, types: 55, coercions: 62}
-- RHS size: {terms: 3, types: 55, coercions: 62}
Copier
Copié
Copier
Copié
$sfoo3
benches3
:: R:SingFactoredz
:: R:SingFactoredz
('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])
('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])
[GblId,
[GblId,
Str=DmdType,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
Copier
Copié
Copier
Copié
$sfoo3
= SF ($fSingIFactoredF_$d~~ `cast` ...) (
$sfoo4
`cast` ...)
benches3
= SF ($fSingIFactoredF_$d~~ `cast` ...) (
benches4
`cast` ...)
-- RHS size: {terms: 2, types: 19, coercions: 25}
-- RHS size: {terms: 2, types: 19, coercions: 25}
Copier
Copié
Copier
Copié
$sfoo2
benches2
:: Tagged
:: Tagged
Copier
Copié
Copier
Copié
(FSym1
'[
'PP
'
('P ('D0 'B1)
,
'S ('S ('S ('S ('S ('S 'O))))))
]
) [PP]
(FSym1
(
'PP
(Tuple2Sym2
('P ('D0 'B1)
) (
'S ('S ('S ('S ('S ('S 'O))))))
) :$$$ '[])
) [PP]
[GblId,
[GblId,
Str=DmdType,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 20 0}]
WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 20 0}]
Copier
Copié
Copier
Copié
$sfoo2
= ppsFact (
$sfoo3
`cast` ...)
benches2
= ppsFact (
benches3
`cast` ...)
-- RHS size: {terms: 7, types: 1, coercions: 23}
-- RHS size: {terms: 7, types: 1, coercions: 23}
Copier
Copié
Copier
Copié
$sfoo_totm
:: Int64
benches_n
:: Int64
[GblId,
[GblId,
Str=DmdType,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 20}]
WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 20}]
Copier
Copié
Copier
Copié
$sfoo_totm
=
benches_n
=
case $wgo (
$sfoo2
`cast` ...) 1# of ww { __DEFAULT -> I64# ww }
case $wgo (
benches2
`cast` ...) 1# of ww { __DEFAULT -> I64# ww }
Copier
Copié
Copier
Copié
-- RHS size: {terms:
9
, types: 5, coercions:
63
}
-- RHS size: {terms:
8
, types: 5, coercions:
0
}
benches1 [InlPrag=INLINE[0]]
benches1 [InlPrag=INLINE[0]]
:: Int64 -> State# RealWorld -> (# State# RealWorld, () #)
:: Int64 -> State# RealWorld -> (# State# RealWorld, () #)
[GblId,
[GblId,
Arity=2,
Arity=2,
Str=DmdType <S(S),1*U(U)><S,U>,
Str=DmdType <S(S),1*U(U)><S,U>,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True,
WorkFree=True, Expandable=True,
Guidance=ALWAYS_IF(arity=2,unsat_ok=True,boring_ok=False)
Guidance=ALWAYS_IF(arity=2,unsat_ok=True,boring_ok=False)
Tmpl= \ (w [Occ=Once!] :: Int64)
Tmpl= \ (w [Occ=Once!] :: Int64)
(w1 [Occ=Once, OS=OneShot] :: State# RealWorld) ->
(w1 [Occ=Once, OS=OneShot] :: State# RealWorld) ->
case w of _ [Occ=Dead] { I64# ww1 [Occ=Once] ->
case w of _ [Occ=Dead] { I64# ww1 [Occ=Once] ->
Copier
Copié
Copier
Copié
benches
_$s$wgo12 w1
ww1
($sfoo_totm `cast` ...) @~ ...
$w
benches
ww1
w1
}}]
}}]
benches1 =
benches1 =
\ (w :: Int64) (w1 [OS=OneShot] :: State# RealWorld) ->
\ (w :: Int64) (w1 [OS=OneShot] :: State# RealWorld) ->
Copier
Copié
Copier
Copié
case w of _ [Occ=Dead] { I64# ww1 ->
case w of _ [Occ=Dead] { I64# ww1 ->
$w
benches
ww1
w1
}
benches
_$s$wgo12 w1
ww1
($sfoo_totm `cast` ...) @~ ...
}
-- RHS size: {terms: 3, types: 0, coercions: 8}
-- RHS size: {terms: 3, types: 0, coercions: 8}
benches :: Benchmark
benches :: Benchmark
[GblId,
[GblId,
Str=DmdType m2,
Str=DmdType m2,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}]
Copier
Copié
Copier
Copié
benches = Benchmark benches
2
(benches1 `cast` ...)
benches = Benchmark benches
15
(benches1 `cast` ...)
-- RHS size: {terms: 2, types: 19, coercions: 25}
benches_eta
:: Foo
(FSym1 '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])
-> Foo
(FSym1 '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])
[GblId,
Str=DmdType,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False,
WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 20 0}]
benches_eta = foo (benches3 `cast` ...)
-- RHS size: {terms: 7, types: 3, coercions: 21}
$wbenches [InlPrag=[0]]
:: Int# -> State# RealWorld -> (# State# RealWorld, () #)
[GblId,
Arity=2,
Str=DmdType <S,U><S,U>,
Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True,
WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0] 40 0}]
$wbenches =
\ (ww :: Int#) (w [OS=OneShot] :: State# RealWorld) ->
$wgo12 benches_eta (benches_n `cast` ...) ww w
Rec {
Rec {
Copier
Copié
Copier
Copié
-- RHS size: {terms:
31
, types:
129
, coercions:
1}
-- RHS size: {terms:
30
, types:
101
, coercions:
0}
benches_$s
$wgo12 [
Occ=LoopBreaker]
$wgo12 [
InlPrag=[0],
Occ=LoopBreaker]
:: State# RealWorld
:: (Foo
(FSym1 '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])
-> Foo
(FSym1 '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))]))
-> Foo
(FSym1 '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])
-> Int#
-> Int#
Copier
Copié
Copier
Copié
->
Foo ('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])
->
State# RealWorld
-> ((Foo
-> (# State# RealWorld, () #)
('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])
[GblId,
-> Int64) :: *)
Arity=4,
~R#
Caf=NoCafRefs,
((Foo ('F
'['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])
Str=DmdType <L,C(U)><L,U><S,U><S,U>]
$wgo12 =
\ (w :: Foo
(FSym1
'['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])
-> Foo
-> Foo
Copier
Copié
Copier
Copié
(
'F
(
FSym1
'['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])
)
'['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])
) :: *) =>
(
w1
(# State# RealWorld, () #)
:: Foo
[GblId, Arity=4, Str=DmdType <S,U><S,U><L,U><L,U>]
(FSym1
'['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))]))
benches_$s$wgo12 =
(ww :: Int#)
\ (sc [OS=OneShot] :: State# RealWorld)
(w2 [OS=OneShot] :: State# RealWorld) ->
(
sc1 :: Int#)
case tagToEnum# (<=#
ww
0#) of _ [Occ=Dead] {
(sc2
:: Foo
('F
'['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))]))
(sg0
:: ((Foo
('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])
-> Int64) :: *)
~R#
((Foo ('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])
-> Foo
('F
'['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])) :: *)) ->
case tagToEnum# (<=#
sc1
0#) of _ [Occ=Dead] {
False ->
False ->
Copier
Copié
Copier
Copié
case seq#
case seq#
(case
w w1
of _ [Occ=Dead] { __DEFAULT ->
() }) w2
(case
sc2
of _ [Occ=Dead] { __DEFAULT ->
case $sfoo_totm of _ [Occ=Dead] { I64# y# -> () }
})
sc
of _ [Occ=Dead] { (# ipv, ipv1 #) ->
of _ [Occ=Dead] { (# ipv, ipv1 #) ->
Copier
Copié
Copier
Copié
benches_$s
$wgo12
ipv
(-#
sc1
1#)
sc2 @~ ...
$wgo12
w w1
(-#
ww
1#)
ipv
};
};
Copier
Copié
Copier
Copié
True -> (#
sc
, () #)
True -> (#
w2
, () #)
}
}
end Rec }
end Rec }
Différences enregistrées
Texte d'origine
Ouvrir un fichier
==================== Tidy Core ==================== 2016-07-13 02:20:57.288844358 UTC Result size of Tidy Core = {terms: 120, types: 664, coercions: 458} -- RHS size: {terms: 2, types: 0, coercions: 0} $trModule2 :: TrName [GblId, Caf=NoCafRefs, Str=DmdType m1, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 30 20}] $trModule2 = TrNameS "main"# -- RHS size: {terms: 2, types: 0, coercions: 0} $trModule1 :: TrName [GblId, Caf=NoCafRefs, Str=DmdType m1, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 40 20}] $trModule1 = TrNameS "FooBench"# -- RHS size: {terms: 3, types: 0, coercions: 0} $trModule :: Module [GblId, Caf=NoCafRefs, Str=DmdType m, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] $trModule = Module $trModule2 $trModule1 -- RHS size: {terms: 2, types: 0, coercions: 0} benches2 :: [Char] [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 0}] benches2 = unpackCString# "Foo"# -- RHS size: {terms: 3, types: 4, coercions: 7} $sfoo14 :: R:SingBinz ('D0 'B1) [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] $sfoo14 = SD0 ($fSingIBinD0_$d~~ `cast` ...) $fSingIBinB1_$s$WSB1 -- RHS size: {terms: 3, types: 7, coercions: 13} $sfoo13 :: R:SingPrimeBinz ('P ('D0 'B1)) [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] $sfoo13 = SP ($fSingIPrimeBinP_$d~~ `cast` ...) ($sfoo14 `cast` ...) -- RHS size: {terms: 3, types: 4, coercions: 7} $sfoo12 :: R:SingPosz ('S 'O) [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] $sfoo12 = SS ($fSingIPosS_$d~~ `cast` ...) $fSingIPosO_$s$WSO -- RHS size: {terms: 3, types: 7, coercions: 13} $sfoo11 :: R:SingPosz ('S ('S 'O)) [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] $sfoo11 = SS ($fSingIPosS_$d~~ `cast` ...) ($sfoo12 `cast` ...) -- RHS size: {terms: 3, types: 10, coercions: 16} $sfoo10 :: R:SingPosz ('S ('S ('S 'O))) [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] $sfoo10 = SS ($fSingIPosS_$d~~ `cast` ...) ($sfoo11 `cast` ...) -- RHS size: {terms: 3, types: 13, coercions: 19} $sfoo9 :: R:SingPosz ('S ('S ('S ('S 'O)))) [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] $sfoo9 = SS ($fSingIPosS_$d~~ `cast` ...) ($sfoo10 `cast` ...) -- RHS size: {terms: 3, types: 16, coercions: 22} $sfoo8 :: R:SingPosz ('S ('S ('S ('S ('S 'O))))) [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] $sfoo8 = SS ($fSingIPosS_$d~~ `cast` ...) ($sfoo9 `cast` ...) -- RHS size: {terms: 3, types: 19, coercions: 25} $sfoo7 :: R:SingPosz ('S ('S ('S ('S ('S ('S 'O)))))) [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] $sfoo7 = SS ($fSingIPosS_$d~~ `cast` ...) ($sfoo8 `cast` ...) -- RHS size: {terms: 4, types: 37, coercions: 45} $sfoo6 :: R:Sing(,)z PrimeBin Pos '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O)))))) [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}] $sfoo6 = STuple2 ($fSingI(,)(,)_$d~~ `cast` ...) ($sfoo13 `cast` ...) ($sfoo7 `cast` ...) -- RHS size: {terms: 3, types: 40, coercions: 48} $sfoo5 :: R:SingPrimePowerz ('PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))) [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] $sfoo5 = SPP ($fSingIPrimePowerPP_$d~~ `cast` ...) ($sfoo6 `cast` ...) -- RHS size: {terms: 4, types: 53, coercions: 61} $sfoo4 :: R:Sing[]z PrimePower '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))] [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}] $sfoo4 = SCons ($fSingI[]:_$d~~ `cast` ...) ($sfoo5 `cast` ...) ($fSingI[][]1 `cast` ...) -- RHS size: {terms: 3, types: 55, coercions: 62} $sfoo3 :: R:SingFactoredz ('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))]) [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] $sfoo3 = SF ($fSingIFactoredF_$d~~ `cast` ...) ($sfoo4 `cast` ...) -- RHS size: {terms: 2, types: 19, coercions: 25} $sfoo2 :: Tagged (FSym1 '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))]) [PP] [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False, WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 20 0}] $sfoo2 = ppsFact ($sfoo3 `cast` ...) -- RHS size: {terms: 7, types: 1, coercions: 23} $sfoo_totm :: Int64 [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 20}] $sfoo_totm = case $wgo ($sfoo2 `cast` ...) 1# of ww { __DEFAULT -> I64# ww } -- RHS size: {terms: 9, types: 5, coercions: 63} benches1 [InlPrag=INLINE[0]] :: Int64 -> State# RealWorld -> (# State# RealWorld, () #) [GblId, Arity=2, Str=DmdType <S(S),1*U(U)><S,U>, Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=2,unsat_ok=True,boring_ok=False) Tmpl= \ (w [Occ=Once!] :: Int64) (w1 [Occ=Once, OS=OneShot] :: State# RealWorld) -> case w of _ [Occ=Dead] { I64# ww1 [Occ=Once] -> benches_$s$wgo12 w1 ww1 ($sfoo_totm `cast` ...) @~ ... }}] benches1 = \ (w :: Int64) (w1 [OS=OneShot] :: State# RealWorld) -> case w of _ [Occ=Dead] { I64# ww1 -> benches_$s$wgo12 w1 ww1 ($sfoo_totm `cast` ...) @~ ... } -- RHS size: {terms: 3, types: 0, coercions: 8} benches :: Benchmark [GblId, Str=DmdType m2, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] benches = Benchmark benches2 (benches1 `cast` ...) Rec { -- RHS size: {terms: 31, types: 129, coercions: 1} benches_$s$wgo12 [Occ=LoopBreaker] :: State# RealWorld -> Int# -> Foo ('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))]) -> ((Foo ('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))]) -> Int64) :: *) ~R# ((Foo ('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))]) -> Foo ('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])) :: *) => (# State# RealWorld, () #) [GblId, Arity=4, Str=DmdType <S,U><S,U><L,U><L,U>] benches_$s$wgo12 = \ (sc [OS=OneShot] :: State# RealWorld) (sc1 :: Int#) (sc2 :: Foo ('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])) (sg0 :: ((Foo ('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))]) -> Int64) :: *) ~R# ((Foo ('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))]) -> Foo ('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])) :: *)) -> case tagToEnum# (<=# sc1 0#) of _ [Occ=Dead] { False -> case seq# (case sc2 of _ [Occ=Dead] { __DEFAULT -> case $sfoo_totm of _ [Occ=Dead] { I64# y# -> () } }) sc of _ [Occ=Dead] { (# ipv, ipv1 #) -> benches_$s$wgo12 ipv (-# sc1 1#) sc2 @~ ... }; True -> (# sc, () #) } end Rec }
Texte modifié
Ouvrir un fichier
==================== Tidy Core ==================== 2016-07-13 02:20:57.281410183 UTC Result size of Tidy Core = {terms: 129, types: 681, coercions: 440} -- RHS size: {terms: 2, types: 0, coercions: 0} $trModule2 :: TrName [GblId, Caf=NoCafRefs, Str=DmdType m1, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 30 20}] $trModule2 = TrNameS "main"# -- RHS size: {terms: 2, types: 0, coercions: 0} $trModule1 :: TrName [GblId, Caf=NoCafRefs, Str=DmdType m1, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 40 20}] $trModule1 = TrNameS "TBench"# -- RHS size: {terms: 3, types: 0, coercions: 0} $trModule :: Module [GblId, Caf=NoCafRefs, Str=DmdType m, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] $trModule = Module $trModule2 $trModule1 -- RHS size: {terms: 2, types: 0, coercions: 0} benches15 :: [Char] [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 0}] benches15 = unpackCString# "T"# -- RHS size: {terms: 3, types: 4, coercions: 7} benches14 :: R:SingBinz ('D0 'B1) [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] benches14 = SD0 ($fSingIBinD0_$d~~ `cast` ...) $fSingIBinB1_$s$WSB1 -- RHS size: {terms: 3, types: 7, coercions: 13} benches13 :: R:SingPrimeBinz ('P ('D0 'B1)) [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] benches13 = SP ($fSingIPrimeBinP_$d~~ `cast` ...) (benches14 `cast` ...) -- RHS size: {terms: 3, types: 4, coercions: 7} benches12 :: R:SingPosz ('S 'O) [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] benches12 = SS ($fSingIPosS_$d~~ `cast` ...) $fSingIPosO_$s$WSO -- RHS size: {terms: 3, types: 7, coercions: 13} benches11 :: R:SingPosz ('S ('S 'O)) [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] benches11 = SS ($fSingIPosS_$d~~ `cast` ...) (benches12 `cast` ...) -- RHS size: {terms: 3, types: 10, coercions: 16} benches10 :: R:SingPosz ('S ('S ('S 'O))) [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] benches10 = SS ($fSingIPosS_$d~~ `cast` ...) (benches11 `cast` ...) -- RHS size: {terms: 3, types: 13, coercions: 19} benches9 :: R:SingPosz ('S ('S ('S ('S 'O)))) [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] benches9 = SS ($fSingIPosS_$d~~ `cast` ...) (benches10 `cast` ...) -- RHS size: {terms: 3, types: 16, coercions: 22} benches8 :: R:SingPosz ('S ('S ('S ('S ('S 'O))))) [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] benches8 = SS ($fSingIPosS_$d~~ `cast` ...) (benches9 `cast` ...) -- RHS size: {terms: 3, types: 19, coercions: 25} benches7 :: R:SingPosz ('S ('S ('S ('S ('S ('S 'O)))))) [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] benches7 = SS ($fSingIPosS_$d~~ `cast` ...) (benches8 `cast` ...) -- RHS size: {terms: 4, types: 37, coercions: 45} benches6 :: R:Sing(,)z PrimeBin Pos '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O)))))) [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}] benches6 = STuple2 ($fSingI(,)(,)_$d~~ `cast` ...) (benches13 `cast` ...) (benches7 `cast` ...) -- RHS size: {terms: 3, types: 40, coercions: 48} benches5 :: R:SingPrimePowerz ('PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))) [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] benches5 = SPP ($fSingIPrimePowerPP_$d~~ `cast` ...) (benches6 `cast` ...) -- RHS size: {terms: 4, types: 53, coercions: 61} benches4 :: R:Sing[]z PrimePower '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))] [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}] benches4 = SCons ($fSingI[]:_$d~~ `cast` ...) (benches5 `cast` ...) ($fSingI[][]1 `cast` ...) -- RHS size: {terms: 3, types: 55, coercions: 62} benches3 :: R:SingFactoredz ('F '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))]) [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] benches3 = SF ($fSingIFactoredF_$d~~ `cast` ...) (benches4 `cast` ...) -- RHS size: {terms: 2, types: 19, coercions: 25} benches2 :: Tagged (FSym1 ('PP (Tuple2Sym2 ('P ('D0 'B1)) ('S ('S ('S ('S ('S ('S 'O))))))) :$$$ '[])) [PP] [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False, WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 20 0}] benches2 = ppsFact (benches3 `cast` ...) -- RHS size: {terms: 7, types: 1, coercions: 23} benches_n :: Int64 [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 20}] benches_n = case $wgo (benches2 `cast` ...) 1# of ww { __DEFAULT -> I64# ww } -- RHS size: {terms: 8, types: 5, coercions: 0} benches1 [InlPrag=INLINE[0]] :: Int64 -> State# RealWorld -> (# State# RealWorld, () #) [GblId, Arity=2, Str=DmdType <S(S),1*U(U)><S,U>, Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=2,unsat_ok=True,boring_ok=False) Tmpl= \ (w [Occ=Once!] :: Int64) (w1 [Occ=Once, OS=OneShot] :: State# RealWorld) -> case w of _ [Occ=Dead] { I64# ww1 [Occ=Once] -> $wbenches ww1 w1 }}] benches1 = \ (w :: Int64) (w1 [OS=OneShot] :: State# RealWorld) -> case w of _ [Occ=Dead] { I64# ww1 -> $wbenches ww1 w1 } -- RHS size: {terms: 3, types: 0, coercions: 8} benches :: Benchmark [GblId, Str=DmdType m2, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] benches = Benchmark benches15 (benches1 `cast` ...) -- RHS size: {terms: 2, types: 19, coercions: 25} benches_eta :: Foo (FSym1 '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))]) -> Foo (FSym1 '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))]) [GblId, Str=DmdType, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False, WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 20 0}] benches_eta = foo (benches3 `cast` ...) -- RHS size: {terms: 7, types: 3, coercions: 21} $wbenches [InlPrag=[0]] :: Int# -> State# RealWorld -> (# State# RealWorld, () #) [GblId, Arity=2, Str=DmdType <S,U><S,U>, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0] 40 0}] $wbenches = \ (ww :: Int#) (w [OS=OneShot] :: State# RealWorld) -> $wgo12 benches_eta (benches_n `cast` ...) ww w Rec { -- RHS size: {terms: 30, types: 101, coercions: 0} $wgo12 [InlPrag=[0], Occ=LoopBreaker] :: (Foo (FSym1 '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))]) -> Foo (FSym1 '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])) -> Foo (FSym1 '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))]) -> Int# -> State# RealWorld -> (# State# RealWorld, () #) [GblId, Arity=4, Caf=NoCafRefs, Str=DmdType <L,C(U)><L,U><S,U><S,U>] $wgo12 = \ (w :: Foo (FSym1 '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))]) -> Foo (FSym1 '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])) (w1 :: Foo (FSym1 '['PP '('P ('D0 'B1), 'S ('S ('S ('S ('S ('S 'O))))))])) (ww :: Int#) (w2 [OS=OneShot] :: State# RealWorld) -> case tagToEnum# (<=# ww 0#) of _ [Occ=Dead] { False -> case seq# (case w w1 of _ [Occ=Dead] { __DEFAULT -> () }) w2 of _ [Occ=Dead] { (# ipv, ipv1 #) -> $wgo12 w w1 (-# ww 1#) ipv }; True -> (# w2, () #) } end Rec }
Trouver la différence