--- Main.word32.dump-simpl 2017-11-28 12:47:47.000000000 +0800 +++ Main.word64.dump-simpl 2017-11-28 12:47:24.000000000 +0800 @@ -1,9 +1,9 @@ ==================== Tidy Core ==================== -2017-11-28 04:47:47.432833 UTC +2017-11-28 04:47:24.572171 UTC Result size of Tidy Core - = {terms: 599, types: 922, coercions: 437, joins: 0/3} + = {terms: 759, types: 1,007, coercions: 432, joins: 0/2} -- RHS size: {terms: 3, types: 4, coercions: 2, joins: 0/0} sumSize @@ -21,23 +21,17 @@ $fShowTagged2 $fShowTagged2 = "}"# --- RHS size: {terms: 62, types: 35, coercions: 2, joins: 0/2} +-- RHS size: {terms: 51, types: 33, coercions: 2, joins: 0/1} $w$cshowsPrec $w$cshowsPrec - = \ @ s_s6Fd ww_s6Fi w_s6Ff -> + = \ @ s_s6Kr ww_s6Kw w_s6Kt -> let { - w1_s6Au - w1_s6Au - = case w_s6Ff `cast` of { W32# x#_a4VO -> - let { - i#_s6Ay - i#_s6Ay = word2Int# x#_a4VO } in - case >=# i#_s6Ay 0# of { - __DEFAULT -> wordToInteger x#_a4VO; - 1# -> smallInteger i#_s6Ay - } + w1_X6Cm + w1_X6Cm + = case w_s6Kt `cast` of { W64# x#_a4VN -> + word64ToInteger x#_a4VN } } in - case >=# ww_s6Fi 11# of { + case >=# ww_s6Kw 11# of { __DEFAULT -> \ x_X4VM -> unpackAppendCString# @@ -45,10 +39,10 @@ (unpackAppendCString# $fShowTagged3 (case $w$cshowsPrec4 - 0# w1_s6Au (unpackAppendCString# $fShowTagged2 x_X4VM) + 0# w1_X6Cm (unpackAppendCString# $fShowTagged2 x_X4VM) of - { (# ww3_a4VZ, ww4_a4W0 #) -> - : ww3_a4VZ ww4_a4W0 + { (# ww3_a4VX, ww4_a4VY #) -> + : ww3_a4VX ww4_a4VY })); 1# -> \ x_a4UD -> @@ -59,19 +53,19 @@ $fShowTagged3 (case $w$cshowsPrec4 0# - w1_s6Au + w1_X6Cm (unpackAppendCString# $fShowTagged2 (: $fShow(,)2 x_a4UD)) of - { (# ww3_a4VZ, ww4_a4W0 #) -> - : ww3_a4VZ ww4_a4W0 + { (# ww3_a4VX, ww4_a4VY #) -> + : ww3_a4VX ww4_a4VY }))) } -- RHS size: {terms: 9, types: 8, coercions: 0, joins: 0/0} $fShowTagged_$cshowsPrec $fShowTagged_$cshowsPrec - = \ @ s_s6Fd w_s6Fe w1_s6Ff -> - case w_s6Fe of { I# ww1_s6Fi -> $w$cshowsPrec ww1_s6Fi w1_s6Ff } + = \ @ s_s6Kr w_s6Ks w1_s6Kt -> + case w_s6Ks of { I# ww1_s6Kw -> $w$cshowsPrec ww1_s6Kw w1_s6Kt } -- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} $fSumSize:+:14 @@ -82,56 +76,66 @@ $fSumSize:+:13 = 1 -- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0} -$fSumSize:+:12 -$fSumSize:+:12 = unpackCString# $fShowTagged2 +$fShowTagged5 +$fShowTagged5 = unpackCString# $fShowTagged2 -- RHS size: {terms: 9, types: 10, coercions: 0, joins: 0/0} -$fSumSize:+:11 -$fSumSize:+:11 - = case $w$cshowsPrec4 0# $fSumSize:+:13 $fSumSize:+:12 of - { (# ww3_a4VZ, ww4_a4W0 #) -> - : ww3_a4VZ ww4_a4W0 +$fSumSize:+:12 +$fSumSize:+:12 + = case $w$cshowsPrec4 0# $fSumSize:+:13 $fShowTagged5 of + { (# ww3_a4VX, ww4_a4VY #) -> + : ww3_a4VX ww4_a4VY } -- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0} -$fSumSize:+:10 -$fSumSize:+:10 = unpackAppendCString# $fShowTagged3 $fSumSize:+:11 +$fSumSize:+:11 +$fSumSize:+:11 = unpackAppendCString# $fShowTagged3 $fSumSize:+:12 -- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0} -$fSumSize:+:9 -$fSumSize:+:9 = unpackAppendCString# $fShowTagged4 $fSumSize:+:10 +$fSumSize:+:10 +$fSumSize:+:10 = unpackAppendCString# $fShowTagged4 $fSumSize:+:11 -- RHS size: {terms: 5, types: 0, coercions: 0, joins: 0/0} -$fSumSize:+:8 -$fSumSize:+:8 +$fSumSize:+:9 +$fSumSize:+:9 = showLitString - (unpackAppendCString# $fSumSize:+:14 $fSumSize:+:9) $fShow[]1 + (unpackAppendCString# $fSumSize:+:14 $fSumSize:+:10) $fShow[]1 -- RHS size: {terms: 3, types: 1, coercions: 0, joins: 0/0} -$fSumSize:+:7 -$fSumSize:+:7 = : $fShow(,)3 $fSumSize:+:8 +$fSumSize:+:8 +$fSumSize:+:8 = : $fShow(,)3 $fSumSize:+:9 -- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0} -$fSumSize:+:6 -$fSumSize:+:6 = W32# 1## +$fSumSize:+:7 +$fSumSize:+:7 = W64# 1L## -- RHS size: {terms: 5, types: 8, coercions: 6, joins: 0/0} $fSumSize:+:_$csumSize1 $fSumSize:+:_$csumSize1 = \ @ c_a4Q0 @ a_a4Q1 -> - trace $fSumSize:+:7 ($fSumSize:+:6 `cast` ) + trace $fSumSize:+:8 ($fSumSize:+:7 `cast` ) -- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} $fSumSize:+:15 $fSumSize:+:15 = "a :+: b => sumSize :: Tagged b: "# --- RHS size: {terms: 3, types: 18, coercions: 0, joins: 0/0} +-- RHS size: {terms: 13, types: 19, coercions: 12, joins: 0/0} +$fSumSize:+:6 +$fSumSize:+:6 + = case $fSumSize:+:_$csumSize1 `cast` of { W64# x#_a4VN -> + case $w$cshowsPrec4 0# (word64ToInteger x#_a4VN) $fShowTagged5 of + { (# ww3_a4VX, ww4_a4VY #) -> + : ww3_a4VX ww4_a4VY + } + } + +-- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0} $fSumSize:+:5 -$fSumSize:+:5 = $w$cshowsPrec 0# $fSumSize:+:_$csumSize1 +$fSumSize:+:5 = unpackAppendCString# $fShowTagged3 $fSumSize:+:6 --- RHS size: {terms: 2, types: 1, coercions: 0, joins: 0/0} +-- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0} $fSumSize:+:4 -$fSumSize:+:4 = $fSumSize:+:5 [] +$fSumSize:+:4 = unpackAppendCString# $fShowTagged4 $fSumSize:+:5 -- RHS size: {terms: 5, types: 0, coercions: 0, joins: 0/0} $fSumSize:+:3 @@ -144,120 +148,224 @@ $fSumSize:+:2 = : $fShow(,)3 $fSumSize:+:3 -- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} +$fSumSize:+:21 +$fSumSize:+:21 = "a :+: b => sumSize :: Tagged a: "# + +-- RHS size: {terms: 13, types: 19, coercions: 12, joins: 0/0} +$fSumSize:+:20 $fSumSize:+:20 -$fSumSize:+:20 = "a :+: b => sumSize :: Tagged a: "# + = case $fSumSize:+:_$csumSize1 `cast` of { W64# x#_a4VN -> + case $w$cshowsPrec4 0# (word64ToInteger x#_a4VN) $fShowTagged5 of + { (# ww3_a4VX, ww4_a4VY #) -> + : ww3_a4VX ww4_a4VY + } + } --- RHS size: {terms: 3, types: 18, coercions: 0, joins: 0/0} +-- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0} $fSumSize:+:19 -$fSumSize:+:19 = $w$cshowsPrec 0# $fSumSize:+:_$csumSize1 +$fSumSize:+:19 = unpackAppendCString# $fShowTagged3 $fSumSize:+:20 --- RHS size: {terms: 2, types: 1, coercions: 0, joins: 0/0} +-- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0} $fSumSize:+:18 -$fSumSize:+:18 = $fSumSize:+:19 [] +$fSumSize:+:18 = unpackAppendCString# $fShowTagged4 $fSumSize:+:19 -- RHS size: {terms: 5, types: 0, coercions: 0, joins: 0/0} $fSumSize:+:17 $fSumSize:+:17 = showLitString - (unpackAppendCString# $fSumSize:+:20 $fSumSize:+:18) $fShow[]1 + (unpackAppendCString# $fSumSize:+:21 $fSumSize:+:18) $fShow[]1 -- RHS size: {terms: 3, types: 1, coercions: 0, joins: 0/0} $fSumSize:+:16 $fSumSize:+:16 = : $fShow(,)3 $fSumSize:+:17 --- RHS size: {terms: 14, types: 42, coercions: 24, joins: 0/0} +-- RHS size: {terms: 33, types: 86, coercions: 24, joins: 0/0} $fSumSize:+:1 $fSumSize:+:1 = case (trace $fSumSize:+:16 $fSumSize:+:_$csumSize1) `cast` of - { W32# x#_a4YN -> + { W64# ww1_a4YK -> case (trace $fSumSize:+:2 $fSumSize:+:_$csumSize1) `cast` of - { W32# y#_a4YR -> - W32# (plusWord# x#_a4YN y#_a4YR) + { W64# ww3_a4YP -> + case {__pkg_ccall ghc-prim-0.5.2.0 Word64# + -> State# RealWorld -> (# State# RealWorld, Int64# #)}_a4YO + ww3_a4YP realWorld# + of + { (# ds1_a4YU, ds2_a4YV #) -> + case {__pkg_ccall ghc-prim-0.5.2.0 Word64# + -> State# RealWorld -> (# State# RealWorld, Int64# #)}_a4YT + ww1_a4YK realWorld# + of + { (# ds4_a4Z0, ds5_a4Z1 #) -> + case {__pkg_ccall ghc-prim-0.5.2.0 Int64# + -> Int64# -> State# RealWorld -> (# State# RealWorld, Int64# #)}_a4YZ + ds5_a4Z1 ds2_a4YV realWorld# + of + { (# ds6_a4Z6, ds3_a4Z7 #) -> + case {__pkg_ccall ghc-prim-0.5.2.0 Int64# + -> State# RealWorld -> (# State# RealWorld, Word64# #)}_a4Z5 + ds3_a4Z7 realWorld# + of + { (# ds7_a4Zb, ds8_a4Zc #) -> + W64# ds8_a4Zc + } + } + } + } } } -- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} +$fSumSize:+:27 +$fSumSize:+:27 = "SumSize (a :+: b): "# + +-- RHS size: {terms: 13, types: 12, coercions: 0, joins: 0/0} +$fSumSize:+:26 +$fSumSize:+:26 + = case $fSumSize:+:1 of { W64# x#_a4VN -> + case $w$cshowsPrec4 0# (word64ToInteger x#_a4VN) $fShowTagged5 of + { (# ww3_a4VX, ww4_a4VY #) -> + : ww3_a4VX ww4_a4VY + } + } + +-- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0} $fSumSize:+:25 -$fSumSize:+:25 = "SumSize (a :+: b): "# +$fSumSize:+:25 = unpackAppendCString# $fShowTagged3 $fSumSize:+:26 --- RHS size: {terms: 3, types: 24, coercions: 26, joins: 0/0} +-- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0} $fSumSize:+:24 -$fSumSize:+:24 = $w$cshowsPrec 0# ($fSumSize:+:1 `cast` ) - --- RHS size: {terms: 2, types: 1, coercions: 0, joins: 0/0} -$fSumSize:+:23 -$fSumSize:+:23 = $fSumSize:+:24 [] +$fSumSize:+:24 = unpackAppendCString# $fShowTagged4 $fSumSize:+:25 -- RHS size: {terms: 5, types: 0, coercions: 0, joins: 0/0} -$fSumSize:+:22 -$fSumSize:+:22 +$fSumSize:+:23 +$fSumSize:+:23 = showLitString - (unpackAppendCString# $fSumSize:+:25 $fSumSize:+:23) $fShow[]1 + (unpackAppendCString# $fSumSize:+:27 $fSumSize:+:24) $fShow[]1 -- RHS size: {terms: 3, types: 1, coercions: 0, joins: 0/0} -$fSumSize:+:21 -$fSumSize:+:21 = : $fShow(,)3 $fSumSize:+:22 +$fSumSize:+:22 +$fSumSize:+:22 = : $fShow(,)3 $fSumSize:+:23 -- RHS size: {terms: 3, types: 25, coercions: 26, joins: 0/0} $fSumSize:+:_$s$csumSize $fSumSize:+:_$s$csumSize - = trace $fSumSize:+:21 ($fSumSize:+:1 `cast` ) + = trace $fSumSize:+:22 ($fSumSize:+:1 `cast` ) --- RHS size: {terms: 49, types: 34, coercions: 24, joins: 0/1} +-- RHS size: {terms: 107, types: 105, coercions: 24, joins: 0/1} $fSumSize:+:_$csumSize $fSumSize:+:_$csumSize = \ @ a_a4Qp @ b_a4Qq $dSumSize_a4Qr $dSumSize1_a4Qs -> let { - x_s6Af - x_s6Af + x_s6As + x_s6As = case (trace (: $fShow(,)3 (showLitString (unpackAppendCString# - $fSumSize:+:20 - ($w$cshowsPrec 0# ($dSumSize_a4Qr `cast` ) [])) + $fSumSize:+:21 + (unpackAppendCString# + $fShowTagged4 + (unpackAppendCString# + $fShowTagged3 + (case $dSumSize_a4Qr `cast` of { W64# x#_a4VN -> + case $w$cshowsPrec4 0# (word64ToInteger x#_a4VN) $fShowTagged5 + of + { (# ww3_a4VX, ww4_a4VY #) -> + : ww3_a4VX ww4_a4VY + } + })))) $fShow[]1)) ($dSumSize_a4Qr `cast` )) `cast` of - { W32# x#_a4YN -> + { W64# ww1_a4YK -> case (trace (: $fShow(,)3 (showLitString (unpackAppendCString# $fSumSize:+:15 - ($w$cshowsPrec 0# ($dSumSize1_a4Qs `cast` ) [])) + (unpackAppendCString# + $fShowTagged4 + (unpackAppendCString# + $fShowTagged3 + (case $dSumSize1_a4Qs `cast` of { W64# x#_a4VN -> + case $w$cshowsPrec4 0# (word64ToInteger x#_a4VN) $fShowTagged5 + of + { (# ww3_a4VX, ww4_a4VY #) -> + : ww3_a4VX ww4_a4VY + } + })))) $fShow[]1)) ($dSumSize1_a4Qs `cast` )) `cast` of - { W32# y#_a4YR -> - W32# (plusWord# x#_a4YN y#_a4YR) + { W64# ww3_a4YP -> + case {__pkg_ccall ghc-prim-0.5.2.0 Word64# + -> State# RealWorld -> (# State# RealWorld, Int64# #)}_a4YO + ww3_a4YP realWorld# + of + { (# ds1_a4YU, ds2_a4YV #) -> + case {__pkg_ccall ghc-prim-0.5.2.0 Word64# + -> State# RealWorld -> (# State# RealWorld, Int64# #)}_a4YT + ww1_a4YK realWorld# + of + { (# ds4_a4Z0, ds5_a4Z1 #) -> + case {__pkg_ccall ghc-prim-0.5.2.0 Int64# + -> Int64# -> State# RealWorld -> (# State# RealWorld, Int64# #)}_a4YZ + ds5_a4Z1 ds2_a4YV realWorld# + of + { (# ds6_a4Z6, ds3_a4Z7 #) -> + case {__pkg_ccall ghc-prim-0.5.2.0 Int64# + -> State# RealWorld -> (# State# RealWorld, Word64# #)}_a4Z5 + ds3_a4Z7 realWorld# + of + { (# ds7_a4Zb, ds8_a4Zc #) -> + W64# ds8_a4Zc + } + } + } + } } } } in trace (: $fShow(,)3 (showLitString (unpackAppendCString# - $fSumSize:+:25 ($w$cshowsPrec 0# (x_s6Af `cast` ) [])) + $fSumSize:+:27 + (unpackAppendCString# + $fShowTagged4 + (unpackAppendCString# + $fShowTagged3 + (case x_s6As of { W64# x#_a4VN -> + case $w$cshowsPrec4 0# (word64ToInteger x#_a4VN) $fShowTagged5 of + { (# ww3_a4VX, ww4_a4VY #) -> + : ww3_a4VX ww4_a4VY + } + })))) $fShow[]1)) - (x_s6Af `cast` ) - --- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0} -$fShowTagged5 -$fShowTagged5 = I# 0# + (x_s6As `cast` ) --- RHS size: {terms: 6, types: 6, coercions: 0, joins: 0/0} +-- RHS size: {terms: 19, types: 16, coercions: 2, joins: 0/0} $fShowTagged_$cshow $fShowTagged_$cshow - = \ @ s_a4OP x_a4V0 -> $w$cshowsPrec 0# x_a4V0 [] + = \ @ s_a4OP x_a4V0 -> + unpackAppendCString# + $fShowTagged4 + (unpackAppendCString# + $fShowTagged3 + (case x_a4V0 `cast` of { W64# x#_a4VN -> + case $w$cshowsPrec4 0# (word64ToInteger x#_a4VN) $fShowTagged5 of + { (# ww3_a4VX, ww4_a4VY #) -> + : ww3_a4VX ww4_a4VY + } + })) -- RHS size: {terms: 5, types: 5, coercions: 0, joins: 0/0} $fShowTagged1 -$fShowTagged1 = \ @ s_a4OP w_s6Ff -> $w$cshowsPrec 0# w_s6Ff +$fShowTagged1 = \ @ s_a4OP w_s6Kt -> $w$cshowsPrec 0# w_s6Kt -- RHS size: {terms: 7, types: 9, coercions: 0, joins: 0/0} $fShowTagged_$cshowList @@ -366,37 +474,44 @@ unTagged = unTagged1 `cast` -- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} +$fSumSizeM7 +$fSumSizeM7 = "SumSize (M1 D c a): "# + +-- RHS size: {terms: 13, types: 12, coercions: 24, joins: 0/0} +$fSumSizeM6 $fSumSizeM6 -$fSumSizeM6 = "SumSize (M1 D c a): "# + = case $fSumSize:+:_$s$csumSize `cast` of { W64# x#_a4VN -> + case $w$cshowsPrec4 0# (word64ToInteger x#_a4VN) $fShowTagged5 of + { (# ww3_a4VX, ww4_a4VY #) -> + : ww3_a4VX ww4_a4VY + } + } --- RHS size: {terms: 4, types: 28, coercions: 54, joins: 0/0} -$fSumSizeM5 +-- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0} $fSumSizeM5 - = \ @ c_X4PD -> - $w$cshowsPrec 0# ($fSumSize:+:_$s$csumSize `cast` ) +$fSumSizeM5 = unpackAppendCString# $fShowTagged3 $fSumSizeM6 --- RHS size: {terms: 3, types: 3, coercions: 0, joins: 0/0} +-- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0} $fSumSizeM4 -$fSumSizeM4 = \ @ c_X4PD -> $fSumSizeM5 [] +$fSumSizeM4 = unpackAppendCString# $fShowTagged4 $fSumSizeM5 --- RHS size: {terms: 6, types: 2, coercions: 0, joins: 0/0} +-- RHS size: {terms: 5, types: 0, coercions: 0, joins: 0/0} $fSumSizeM3 $fSumSizeM3 - = \ @ c_X4PD -> - showLitString - (unpackAppendCString# $fSumSizeM6 $fSumSizeM4) $fShow[]1 + = showLitString + (unpackAppendCString# $fSumSizeM7 $fSumSizeM4) $fShow[]1 --- RHS size: {terms: 4, types: 3, coercions: 0, joins: 0/0} +-- RHS size: {terms: 3, types: 1, coercions: 0, joins: 0/0} $fSumSizeM2 -$fSumSizeM2 = \ @ c_X4PD -> : $fShow(,)3 $fSumSizeM3 +$fSumSizeM2 = : $fShow(,)3 $fSumSizeM3 --- RHS size: {terms: 4, types: 30, coercions: 54, joins: 0/0} +-- RHS size: {terms: 4, types: 29, coercions: 54, joins: 0/0} $fSumSizeM1_$s$csumSize $fSumSizeM1_$s$csumSize = \ @ c_X4PD -> trace $fSumSizeM2 ($fSumSize:+:_$s$csumSize `cast` ) --- RHS size: {terms: 15, types: 18, coercions: 26, joins: 0/0} +-- RHS size: {terms: 28, types: 24, coercions: 18, joins: 0/0} $fSumSizeM1_$csumSize $fSumSizeM1_$csumSize = \ @ a_a4Pz @ c_a4PA $dSumSize_a4PB -> @@ -404,7 +519,17 @@ (: $fShow(,)3 (showLitString (unpackAppendCString# - $fSumSizeM6 ($w$cshowsPrec 0# ($dSumSize_a4PB `cast` ) [])) + $fSumSizeM7 + (unpackAppendCString# + $fShowTagged4 + (unpackAppendCString# + $fShowTagged3 + (case $dSumSize_a4PB `cast` of { W64# x#_a4VN -> + case $w$cshowsPrec4 0# (word64ToInteger x#_a4VN) $fShowTagged5 of + { (# ww3_a4VX, ww4_a4VY #) -> + : ww3_a4VX ww4_a4VY + } + })))) $fShow[]1)) ($dSumSize_a4PB `cast` ) @@ -441,24 +566,24 @@ $trModule = Module $trModule3 $trModule1 -- RHS size: {terms: 3, types: 1, coercions: 0, joins: 0/0} -$krep_r6zI -$krep_r6zI = KindRepTyConApp $tcWord32 [] +$krep_r6A1 +$krep_r6A1 = KindRepTyConApp $tcWord64 [] -- RHS size: {terms: 3, types: 1, coercions: 0, joins: 0/0} -$krep1_r6Iw -$krep1_r6Iw = KindRepTyConApp $tcConstraint [] +$krep1_r6QG +$krep1_r6QG = KindRepTyConApp $tcConstraint [] -- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0} $tcSumSize1 -$tcSumSize1 = KindRepFun krep$*Arr* $krep1_r6Iw +$tcSumSize1 = KindRepFun krep$*Arr* $krep1_r6QG -- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0} $tcTagged1 $tcTagged1 = KindRepFun krep$*Arr* krep$* -- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0} -$krep2_r6Ix -$krep2_r6Ix = KindRepVar 0# +$krep2_r6QH +$krep2_r6QH = KindRepVar 0# -- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} $tcX2 @@ -541,16 +666,16 @@ $tcTagged1 -- RHS size: {terms: 3, types: 2, coercions: 0, joins: 0/0} -$krep3_r6Iy -$krep3_r6Iy = : $krep2_r6Ix [] +$krep3_r6QI +$krep3_r6QI = : $krep2_r6QH [] -- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0} -$krep4_r6Iz -$krep4_r6Iz = KindRepTyConApp $tcTagged $krep3_r6Iy +$krep4_r6QJ +$krep4_r6QJ = KindRepTyConApp $tcTagged $krep3_r6QI -- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0} $tc'Tagged1 -$tc'Tagged1 = KindRepFun $krep_r6zI $krep4_r6Iz +$tc'Tagged1 = KindRepFun $krep_r6A1 $krep4_r6QJ -- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} $tc'Tagged3 @@ -591,12 +716,12 @@ $tcSumSize1 -- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0} -$krep5_r6IA -$krep5_r6IA = KindRepTyConApp $tcSumSize $krep3_r6Iy +$krep5_r6QK +$krep5_r6QK = KindRepTyConApp $tcSumSize $krep3_r6QI -- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0} $tc'C:SumSize1 -$tc'C:SumSize1 = KindRepFun $krep4_r6Iz $krep5_r6IA +$tc'C:SumSize1 = KindRepFun $krep4_r6QJ $krep5_r6QK -- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} $tc'C:SumSize3 @@ -617,13 +742,23 @@ 1# $tc'C:SumSize1 --- RHS size: {terms: 3, types: 37, coercions: 0, joins: 0/0} +-- RHS size: {terms: 13, types: 17, coercions: 33, joins: 0/0} +main4 +main4 + = case $fSumSizeM1_$s$csumSize `cast` of { W64# x#_a4VN -> + case $w$cshowsPrec4 0# (word64ToInteger x#_a4VN) $fShowTagged5 of + { (# ww3_a4VX, ww4_a4VY #) -> + : ww3_a4VX ww4_a4VY + } + } + +-- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0} main3 -main3 = $w$cshowsPrec 0# $fSumSizeM1_$s$csumSize +main3 = unpackAppendCString# $fShowTagged3 main4 --- RHS size: {terms: 2, types: 1, coercions: 0, joins: 0/0} +-- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0} main2 -main2 = main3 [] +main2 = unpackAppendCString# $fShowTagged4 main3 -- RHS size: {terms: 4, types: 0, coercions: 0, joins: 0/0} main1 @@ -634,12 +769,12 @@ main = main1 `cast` -- RHS size: {terms: 2, types: 1, coercions: 3, joins: 0/0} -main4 -main4 = runMainIO1 (main1 `cast` ) +main5 +main5 = runMainIO1 (main1 `cast` ) -- RHS size: {terms: 1, types: 0, coercions: 3, joins: 0/0} main -main = main4 `cast` +main = main5 `cast` ------ Local rules for imported ids -------- @@ -647,12 +782,12 @@ C ('MetaCons "B" 'PrefixI 'False) U1)" - forall $dSumSize_s6Ah $dSumSize1_s6Ag. - $fSumSize:+:_$csumSize $dSumSize1_s6Ag $dSumSize_s6Ah + forall $dSumSize_s6Au $dSumSize1_s6At. + $fSumSize:+:_$csumSize $dSumSize1_s6At $dSumSize_s6Au = $fSumSize:+:_$s$csumSize "SPEC $csumSize @ (C1 ('MetaCons "A" 'PrefixI 'False) U1 :+: C1 ('MetaCons "B" 'PrefixI 'False) U1) _" - forall @ c_a4PA $dSumSize_X6AG. - $fSumSizeM1_$csumSize $dSumSize_X6AG + forall @ c_a4PA $dSumSize_X6AT. + $fSumSizeM1_$csumSize $dSumSize_X6AT = $fSumSizeM1_$s$csumSize