Diff
checker
テキスト
テキスト
画像
ドキュメント
Excel
フォルダ
Legal
Enterprise
デスクトップ
料金
ログイン
Diffchecker デスクトップのダウンロード
テキスト比較
2 つのテキスト ファイルの違いを見つける
ツール
履歴
ライブエディター
空白の変更を非表示
未変更行を折りたたむ
折り返しなし
レイアウト
分割
統合
比較精度
スマート
単語
文字
テキストスタイル
外観を変更
シンタックスハイライト
構文を選択
無視
テキスト変換
最初の差分へ移動
入力を編集
Diffchecker Desktop
Diffcheckerを実行する最も安全な方法。Diffchecker Desktopアプリを入手:あなたの差分はコンピューターから出ることはありません!
Desktopを入手
Untitled diff
作成日
10 年前
差分は期限切れになりません
クリア
エクスポート
共有
説明
106 削除
行
合計
削除
文字
合計
削除
この機能を引き続き使用するには、アップグレードしてください
Diff
checker
Pro
価格を見る
246 行
すべてコピー
119 追加
行
合計
追加
文字
合計
追加
この機能を引き続き使用するには、アップグレードしてください
Diff
checker
Pro
価格を見る
260 行
すべてコピー
==================== Tidy Core ====================
==================== Tidy Core ====================
コピー
コピー済み
コピー
コピー済み
2016-07-13 02:20:57.
288844358
UTC
2016-07-13 02:20:57.
281410183
UTC
コピー
コピー済み
コピー
コピー済み
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}]
コピー
コピー済み
コピー
コピー済み
$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}
コピー
コピー済み
コピー
コピー済み
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}]
コピー
コピー済み
コピー
コピー済み
benches
2
= unpackCString# "
Foo
"#
benches
15
= unpackCString# "
T
"#
-- RHS size: {terms: 3, types: 4, coercions: 7}
-- RHS size: {terms: 3, types: 4, coercions: 7}
コピー
コピー済み
コピー
コピー済み
$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}]
コピー
コピー済み
コピー
コピー済み
$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}
コピー
コピー済み
コピー
コピー済み
$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}]
コピー
コピー済み
コピー
コピー済み
$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}
コピー
コピー済み
コピー
コピー済み
$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}]
コピー
コピー済み
コピー
コピー済み
$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}
コピー
コピー済み
コピー
コピー済み
$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}]
コピー
コピー済み
コピー
コピー済み
$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}
コピー
コピー済み
コピー
コピー済み
$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}]
コピー
コピー済み
コピー
コピー済み
$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}
コピー
コピー済み
コピー
コピー済み
$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}]
コピー
コピー済み
コピー
コピー済み
$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}
コピー
コピー済み
コピー
コピー済み
$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}]
コピー
コピー済み
コピー
コピー済み
$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}
コピー
コピー済み
コピー
コピー済み
$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}]
コピー
コピー済み
コピー
コピー済み
$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}
コピー
コピー済み
コピー
コピー済み
$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}]
コピー
コピー済み
コピー
コピー済み
$sfoo6
=
benches6
=
STuple2
STuple2
($fSingI(,)(,)_$d~~ `cast` ...)
($fSingI(,)(,)_$d~~ `cast` ...)
コピー
コピー済み
コピー
コピー済み
(
$sfoo13
`cast` ...)
(
benches13
`cast` ...)
(
$sfoo7
`cast` ...)
(
benches7
`cast` ...)
-- RHS size: {terms: 3, types: 40, coercions: 48}
-- RHS size: {terms: 3, types: 40, coercions: 48}
コピー
コピー済み
コピー
コピー済み
$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}]
コピー
コピー済み
コピー
コピー済み
$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}
コピー
コピー済み
コピー
コピー済み
$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}]
コピー
コピー済み
コピー
コピー済み
$sfoo4
=
benches4
=
SCons
SCons
($fSingI[]:_$d~~ `cast` ...)
($fSingI[]:_$d~~ `cast` ...)
コピー
コピー済み
コピー
コピー済み
(
$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}
コピー
コピー済み
コピー
コピー済み
$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}]
コピー
コピー済み
コピー
コピー済み
$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}
コピー
コピー済み
コピー
コピー済み
$sfoo2
benches2
:: Tagged
:: Tagged
コピー
コピー済み
コピー
コピー済み
(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}]
コピー
コピー済み
コピー
コピー済み
$sfoo2
= ppsFact (
$sfoo3
`cast` ...)
benches2
= ppsFact (
benches3
`cast` ...)
-- RHS size: {terms: 7, types: 1, coercions: 23}
-- RHS size: {terms: 7, types: 1, coercions: 23}
コピー
コピー済み
コピー
コピー済み
$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}]
コピー
コピー済み
コピー
コピー済み
$sfoo_totm
=
benches_n
=
case $wgo (
$sfoo2
`cast` ...) 1# of ww { __DEFAULT -> I64# ww }
case $wgo (
benches2
`cast` ...) 1# of ww { __DEFAULT -> I64# ww }
コピー
コピー済み
コピー
コピー済み
-- 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] ->
コピー
コピー済み
コピー
コピー済み
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) ->
コピー
コピー済み
コピー
コピー済み
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}]
コピー
コピー済み
コピー
コピー済み
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 {
コピー
コピー済み
コピー
コピー済み
-- 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#
コピー
コピー済み
コピー
コピー済み
->
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
コピー
コピー済み
コピー
コピー済み
(
'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 ->
コピー
コピー済み
コピー
コピー済み
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 #) ->
コピー
コピー済み
コピー
コピー済み
benches_$s
$wgo12
ipv
(-#
sc1
1#)
sc2 @~ ...
$wgo12
w w1
(-#
ww
1#)
ipv
};
};
コピー
コピー済み
コピー
コピー済み
True -> (#
sc
, () #)
True -> (#
w2
, () #)
}
}
end Rec }
end Rec }
保存された差分
原文
ファイルを開く
==================== 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 }
変更されたテキスト
ファイルを開く
==================== 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 }
違いを見つける