about summary refs log tree commit diff
path: root/tests/coverage
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2024-11-27 15:43:56 +0000
committerbors <bors@rust-lang.org>2024-11-27 15:43:56 +0000
commit6b6a867ae9eac4e78d041ac4ee84be1072a48cf7 (patch)
tree29db05c7f6d4c448b4eae77166e355233e32bed6 /tests/coverage
parentc322cd5c5ac13b5ef16a487c889f8c148d8e3841 (diff)
parent906f66fb4c22daa8a6f97e5c048e9f6ab3fd9051 (diff)
downloadrust-6b6a867ae9eac4e78d041ac4ee84be1072a48cf7.tar.gz
rust-6b6a867ae9eac4e78d041ac4ee84be1072a48cf7.zip
Auto merge of #133474 - RalfJung:gvn-miscompile, r=compiler-errors
Do not unify dereferences of shared borrows in GVN

Repost of https://github.com/rust-lang/rust/pull/132461, the last commit applies my suggestions.

Fixes https://github.com/rust-lang/rust/issues/130853
Diffstat (limited to 'tests/coverage')
-rw-r--r--tests/coverage/closure.cov-map18
-rw-r--r--tests/coverage/issue-84561.cov-map205
2 files changed, 120 insertions, 103 deletions
diff --git a/tests/coverage/closure.cov-map b/tests/coverage/closure.cov-map
index adf4aba0c23..fa20c8cf6d7 100644
--- a/tests/coverage/closure.cov-map
+++ b/tests/coverage/closure.cov-map
@@ -140,17 +140,19 @@ Number of file 0 mappings: 6
 - Code(Counter(0)) at (prev + 2, 9) to (start + 0, 10)
 Highest counter ID seen: c1
 
-Function name: closure::main::{closure#18} (unused)
-Raw bytes (24): 0x[01, 01, 00, 04, 00, 19, 0d, 02, 1c, 00, 02, 1d, 02, 12, 00, 02, 11, 00, 12, 00, 01, 11, 01, 0e]
+Function name: closure::main::{closure#18}
+Raw bytes (26): 0x[01, 01, 01, 01, 05, 04, 01, 19, 0d, 02, 1c, 05, 02, 1d, 02, 12, 02, 02, 11, 00, 12, 01, 01, 11, 01, 0e]
 Number of files: 1
 - file 0 => global file 1
-Number of expressions: 0
+Number of expressions: 1
+- expression 0 operands: lhs = Counter(0), rhs = Counter(1)
 Number of file 0 mappings: 4
-- Code(Zero) at (prev + 25, 13) to (start + 2, 28)
-- Code(Zero) at (prev + 2, 29) to (start + 2, 18)
-- Code(Zero) at (prev + 2, 17) to (start + 0, 18)
-- Code(Zero) at (prev + 1, 17) to (start + 1, 14)
-Highest counter ID seen: (none)
+- Code(Counter(0)) at (prev + 25, 13) to (start + 2, 28)
+- Code(Counter(1)) at (prev + 2, 29) to (start + 2, 18)
+- Code(Expression(0, Sub)) at (prev + 2, 17) to (start + 0, 18)
+    = (c0 - c1)
+- Code(Counter(0)) at (prev + 1, 17) to (start + 1, 14)
+Highest counter ID seen: c1
 
 Function name: closure::main::{closure#19}
 Raw bytes (26): 0x[01, 01, 01, 01, 05, 04, 01, 43, 0d, 02, 1c, 05, 02, 1d, 02, 12, 02, 02, 11, 00, 12, 01, 01, 11, 01, 0e]
diff --git a/tests/coverage/issue-84561.cov-map b/tests/coverage/issue-84561.cov-map
index a8ad17574ba..64870c434b3 100644
--- a/tests/coverage/issue-84561.cov-map
+++ b/tests/coverage/issue-84561.cov-map
@@ -59,59 +59,69 @@ Number of file 0 mappings: 1
 Highest counter ID seen: c0
 
 Function name: issue_84561::test3
-Raw bytes (375): 0x[01, 01, 31, 05, 09, 0d, 00, 15, 19, 12, 00, 15, 19, 21, 00, 1e, 00, 21, 00, 31, 00, 3d, 00, 2e, 45, 3d, 00, 42, 49, 45, 00, 3f, 51, 42, 49, 45, 00, 7a, 55, 51, 00, 7a, 55, 51, 00, 77, 5d, 7a, 55, 51, 00, 77, 61, 7a, 55, 51, 00, 72, 65, 77, 61, 7a, 55, 51, 00, 75, be, 01, c2, 01, 79, 69, 6d, 69, 6d, 69, 6d, c2, 01, 00, 69, 6d, c2, 01, 79, 69, 6d, bb, 01, 7d, 75, be, 01, c2, 01, 79, 69, 6d, b6, 01, 00, bb, 01, 7d, 75, be, 01, c2, 01, 79, 69, 6d, 33, 01, 08, 01, 03, 1c, 05, 04, 09, 01, 1c, 02, 02, 05, 04, 1f, 0d, 05, 05, 00, 1f, 06, 01, 05, 00, 1f, 15, 01, 09, 01, 1c, 12, 02, 05, 00, 1f, 0e, 01, 05, 00, 0f, 00, 00, 20, 00, 30, 21, 01, 05, 03, 0f, 00, 03, 20, 00, 30, 00, 00, 33, 00, 41, 00, 00, 4b, 00, 5a, 1e, 01, 05, 00, 0f, 00, 05, 09, 03, 10, 00, 05, 0d, 00, 1b, 00, 02, 0d, 00, 1c, 1a, 04, 09, 05, 06, 31, 06, 05, 03, 06, 22, 04, 05, 03, 06, 3d, 04, 09, 04, 06, 2e, 05, 08, 00, 0f, 45, 01, 09, 03, 0a, 2a, 05, 09, 03, 0a, 3f, 05, 08, 00, 0f, 51, 01, 09, 00, 13, 00, 03, 0d, 00, 1d, 3a, 03, 09, 00, 13, 00, 03, 0d, 00, 1d, 77, 03, 05, 00, 0f, 77, 01, 0c, 00, 13, 5d, 01, 0d, 00, 13, 56, 02, 0d, 00, 13, 72, 04, 05, 02, 13, 65, 03, 0d, 00, 13, 6e, 02, 0d, 00, 13, bb, 01, 03, 05, 00, 0f, 69, 01, 0c, 00, 13, 6d, 01, 0d, 03, 0e, 75, 04, 0d, 00, 13, c2, 01, 02, 0d, 00, 17, c2, 01, 01, 14, 00, 1b, 00, 01, 15, 00, 1b, 92, 01, 02, 15, 00, 1b, be, 01, 04, 0d, 00, 13, 7d, 03, 09, 00, 19, b6, 01, 02, 05, 00, 0f, b2, 01, 03, 09, 00, 22, 00, 02, 05, 00, 0f, 00, 03, 09, 00, 2c, 00, 02, 01, 00, 02]
+Raw bytes (414): 0x[01, 01, 3b, 05, 09, 0d, 11, 15, 19, 1e, 1d, 15, 19, 1a, 21, 1e, 1d, 15, 19, 25, 2d, 21, 25, 29, 35, 32, 29, 21, 25, 31, 39, 3d, 41, 42, 45, 3d, 41, 66, 49, 45, 4d, 63, 51, 66, 49, 45, 4d, 5e, 55, 63, 51, 66, 49, 45, 4d, 9e, 01, 55, 51, 59, 9e, 01, 55, 51, 59, 9b, 01, 5d, 9e, 01, 55, 51, 59, 9b, 01, 61, 9e, 01, 55, 51, 59, 96, 01, 65, 9b, 01, 61, 9e, 01, 55, 51, 59, 75, e2, 01, e6, 01, 79, 69, 6d, 69, 6d, 69, 6d, e6, 01, 00, 69, 6d, e6, 01, 79, 69, 6d, df, 01, 7d, 75, e2, 01, e6, 01, 79, 69, 6d, da, 01, 81, 01, df, 01, 7d, 75, e2, 01, e6, 01, 79, 69, 6d, 81, 01, 85, 01, 33, 01, 08, 01, 03, 1c, 05, 04, 09, 01, 1c, 02, 02, 05, 04, 1f, 0d, 05, 05, 00, 1f, 06, 01, 05, 00, 1f, 15, 01, 09, 01, 1c, 1e, 02, 05, 00, 1f, 1a, 01, 05, 00, 0f, 16, 00, 20, 00, 30, 21, 01, 05, 03, 0f, 25, 03, 20, 00, 30, 2d, 00, 33, 00, 41, 22, 00, 4b, 00, 5a, 32, 01, 05, 00, 0f, 29, 05, 09, 03, 10, 35, 05, 0d, 00, 1b, 2a, 02, 0d, 00, 1c, 2e, 04, 09, 05, 06, 31, 06, 05, 03, 06, 36, 04, 05, 03, 06, 3d, 04, 09, 04, 06, 42, 05, 08, 00, 0f, 45, 01, 09, 03, 0a, 3e, 05, 09, 03, 0a, 63, 05, 08, 00, 0f, 51, 01, 09, 00, 13, 59, 03, 0d, 00, 1d, 5e, 03, 09, 00, 13, 5a, 03, 0d, 00, 1d, 9b, 01, 03, 05, 00, 0f, 9b, 01, 01, 0c, 00, 13, 5d, 01, 0d, 00, 13, 7a, 02, 0d, 00, 13, 96, 01, 04, 05, 02, 13, 65, 03, 0d, 00, 13, 92, 01, 02, 0d, 00, 13, df, 01, 03, 05, 00, 0f, 69, 01, 0c, 00, 13, 6d, 01, 0d, 03, 0e, 75, 04, 0d, 00, 13, e6, 01, 02, 0d, 00, 17, e6, 01, 01, 14, 00, 1b, 00, 01, 15, 00, 1b, b6, 01, 02, 15, 00, 1b, e2, 01, 04, 0d, 00, 13, 7d, 03, 09, 00, 19, da, 01, 02, 05, 00, 0f, d6, 01, 03, 09, 00, 22, 81, 01, 02, 05, 00, 0f, ea, 01, 03, 09, 00, 2c, 85, 01, 02, 01, 00, 02]
 Number of files: 1
 - file 0 => global file 1
-Number of expressions: 49
+Number of expressions: 59
 - expression 0 operands: lhs = Counter(1), rhs = Counter(2)
-- expression 1 operands: lhs = Counter(3), rhs = Zero
+- expression 1 operands: lhs = Counter(3), rhs = Counter(4)
 - expression 2 operands: lhs = Counter(5), rhs = Counter(6)
-- expression 3 operands: lhs = Expression(4, Sub), rhs = Zero
+- expression 3 operands: lhs = Expression(7, Sub), rhs = Counter(7)
 - expression 4 operands: lhs = Counter(5), rhs = Counter(6)
-- expression 5 operands: lhs = Counter(8), rhs = Zero
-- expression 6 operands: lhs = Expression(7, Sub), rhs = Zero
-- expression 7 operands: lhs = Counter(8), rhs = Zero
-- expression 8 operands: lhs = Counter(12), rhs = Zero
-- expression 9 operands: lhs = Counter(15), rhs = Zero
-- expression 10 operands: lhs = Expression(11, Sub), rhs = Counter(17)
-- expression 11 operands: lhs = Counter(15), rhs = Zero
-- expression 12 operands: lhs = Expression(16, Sub), rhs = Counter(18)
-- expression 13 operands: lhs = Counter(17), rhs = Zero
-- expression 14 operands: lhs = Expression(15, Add), rhs = Counter(20)
-- expression 15 operands: lhs = Expression(16, Sub), rhs = Counter(18)
-- expression 16 operands: lhs = Counter(17), rhs = Zero
-- expression 17 operands: lhs = Expression(30, Sub), rhs = Counter(21)
-- expression 18 operands: lhs = Counter(20), rhs = Zero
-- expression 19 operands: lhs = Expression(30, Sub), rhs = Counter(21)
-- expression 20 operands: lhs = Counter(20), rhs = Zero
-- expression 21 operands: lhs = Expression(29, Add), rhs = Counter(23)
-- expression 22 operands: lhs = Expression(30, Sub), rhs = Counter(21)
-- expression 23 operands: lhs = Counter(20), rhs = Zero
-- expression 24 operands: lhs = Expression(29, Add), rhs = Counter(24)
-- expression 25 operands: lhs = Expression(30, Sub), rhs = Counter(21)
-- expression 26 operands: lhs = Counter(20), rhs = Zero
-- expression 27 operands: lhs = Expression(28, Sub), rhs = Counter(25)
-- expression 28 operands: lhs = Expression(29, Add), rhs = Counter(24)
-- expression 29 operands: lhs = Expression(30, Sub), rhs = Counter(21)
-- expression 30 operands: lhs = Counter(20), rhs = Zero
-- expression 31 operands: lhs = Counter(29), rhs = Expression(47, Sub)
-- expression 32 operands: lhs = Expression(48, Sub), rhs = Counter(30)
-- expression 33 operands: lhs = Counter(26), rhs = Counter(27)
-- expression 34 operands: lhs = Counter(26), rhs = Counter(27)
-- expression 35 operands: lhs = Counter(26), rhs = Counter(27)
-- expression 36 operands: lhs = Expression(48, Sub), rhs = Zero
-- expression 37 operands: lhs = Counter(26), rhs = Counter(27)
-- expression 38 operands: lhs = Expression(48, Sub), rhs = Counter(30)
-- expression 39 operands: lhs = Counter(26), rhs = Counter(27)
-- expression 40 operands: lhs = Expression(46, Add), rhs = Counter(31)
-- expression 41 operands: lhs = Counter(29), rhs = Expression(47, Sub)
-- expression 42 operands: lhs = Expression(48, Sub), rhs = Counter(30)
+- expression 5 operands: lhs = Expression(6, Sub), rhs = Counter(8)
+- expression 6 operands: lhs = Expression(7, Sub), rhs = Counter(7)
+- expression 7 operands: lhs = Counter(5), rhs = Counter(6)
+- expression 8 operands: lhs = Counter(9), rhs = Counter(11)
+- expression 9 operands: lhs = Counter(8), rhs = Counter(9)
+- expression 10 operands: lhs = Counter(10), rhs = Counter(13)
+- expression 11 operands: lhs = Expression(12, Sub), rhs = Counter(10)
+- expression 12 operands: lhs = Counter(8), rhs = Counter(9)
+- expression 13 operands: lhs = Counter(12), rhs = Counter(14)
+- expression 14 operands: lhs = Counter(15), rhs = Counter(16)
+- expression 15 operands: lhs = Expression(16, Sub), rhs = Counter(17)
+- expression 16 operands: lhs = Counter(15), rhs = Counter(16)
+- expression 17 operands: lhs = Expression(25, Sub), rhs = Counter(18)
+- expression 18 operands: lhs = Counter(17), rhs = Counter(19)
+- expression 19 operands: lhs = Expression(24, Add), rhs = Counter(20)
+- expression 20 operands: lhs = Expression(25, Sub), rhs = Counter(18)
+- expression 21 operands: lhs = Counter(17), rhs = Counter(19)
+- expression 22 operands: lhs = Expression(23, Sub), rhs = Counter(21)
+- expression 23 operands: lhs = Expression(24, Add), rhs = Counter(20)
+- expression 24 operands: lhs = Expression(25, Sub), rhs = Counter(18)
+- expression 25 operands: lhs = Counter(17), rhs = Counter(19)
+- expression 26 operands: lhs = Expression(39, Sub), rhs = Counter(21)
+- expression 27 operands: lhs = Counter(20), rhs = Counter(22)
+- expression 28 operands: lhs = Expression(39, Sub), rhs = Counter(21)
+- expression 29 operands: lhs = Counter(20), rhs = Counter(22)
+- expression 30 operands: lhs = Expression(38, Add), rhs = Counter(23)
+- expression 31 operands: lhs = Expression(39, Sub), rhs = Counter(21)
+- expression 32 operands: lhs = Counter(20), rhs = Counter(22)
+- expression 33 operands: lhs = Expression(38, Add), rhs = Counter(24)
+- expression 34 operands: lhs = Expression(39, Sub), rhs = Counter(21)
+- expression 35 operands: lhs = Counter(20), rhs = Counter(22)
+- expression 36 operands: lhs = Expression(37, Sub), rhs = Counter(25)
+- expression 37 operands: lhs = Expression(38, Add), rhs = Counter(24)
+- expression 38 operands: lhs = Expression(39, Sub), rhs = Counter(21)
+- expression 39 operands: lhs = Counter(20), rhs = Counter(22)
+- expression 40 operands: lhs = Counter(29), rhs = Expression(56, Sub)
+- expression 41 operands: lhs = Expression(57, Sub), rhs = Counter(30)
+- expression 42 operands: lhs = Counter(26), rhs = Counter(27)
 - expression 43 operands: lhs = Counter(26), rhs = Counter(27)
-- expression 44 operands: lhs = Expression(45, Sub), rhs = Zero
-- expression 45 operands: lhs = Expression(46, Add), rhs = Counter(31)
-- expression 46 operands: lhs = Counter(29), rhs = Expression(47, Sub)
-- expression 47 operands: lhs = Expression(48, Sub), rhs = Counter(30)
+- expression 44 operands: lhs = Counter(26), rhs = Counter(27)
+- expression 45 operands: lhs = Expression(57, Sub), rhs = Zero
+- expression 46 operands: lhs = Counter(26), rhs = Counter(27)
+- expression 47 operands: lhs = Expression(57, Sub), rhs = Counter(30)
 - expression 48 operands: lhs = Counter(26), rhs = Counter(27)
+- expression 49 operands: lhs = Expression(55, Add), rhs = Counter(31)
+- expression 50 operands: lhs = Counter(29), rhs = Expression(56, Sub)
+- expression 51 operands: lhs = Expression(57, Sub), rhs = Counter(30)
+- expression 52 operands: lhs = Counter(26), rhs = Counter(27)
+- expression 53 operands: lhs = Expression(54, Sub), rhs = Counter(32)
+- expression 54 operands: lhs = Expression(55, Add), rhs = Counter(31)
+- expression 55 operands: lhs = Counter(29), rhs = Expression(56, Sub)
+- expression 56 operands: lhs = Expression(57, Sub), rhs = Counter(30)
+- expression 57 operands: lhs = Counter(26), rhs = Counter(27)
+- expression 58 operands: lhs = Counter(32), rhs = Counter(33)
 Number of file 0 mappings: 51
 - Code(Counter(0)) at (prev + 8, 1) to (start + 3, 28)
 - Code(Counter(1)) at (prev + 4, 9) to (start + 1, 28)
@@ -119,73 +129,78 @@ Number of file 0 mappings: 51
     = (c1 - c2)
 - Code(Counter(3)) at (prev + 5, 5) to (start + 0, 31)
 - Code(Expression(1, Sub)) at (prev + 1, 5) to (start + 0, 31)
-    = (c3 - Zero)
+    = (c3 - c4)
 - Code(Counter(5)) at (prev + 1, 9) to (start + 1, 28)
-- Code(Expression(4, Sub)) at (prev + 2, 5) to (start + 0, 31)
+- Code(Expression(7, Sub)) at (prev + 2, 5) to (start + 0, 31)
     = (c5 - c6)
-- Code(Expression(3, Sub)) at (prev + 1, 5) to (start + 0, 15)
-    = ((c5 - c6) - Zero)
-- Code(Zero) at (prev + 0, 32) to (start + 0, 48)
+- Code(Expression(6, Sub)) at (prev + 1, 5) to (start + 0, 15)
+    = ((c5 - c6) - c7)
+- Code(Expression(5, Sub)) at (prev + 0, 32) to (start + 0, 48)
+    = (((c5 - c6) - c7) - c8)
 - Code(Counter(8)) at (prev + 1, 5) to (start + 3, 15)
-- Code(Zero) at (prev + 3, 32) to (start + 0, 48)
-- Code(Zero) at (prev + 0, 51) to (start + 0, 65)
-- Code(Zero) at (prev + 0, 75) to (start + 0, 90)
-- Code(Expression(7, Sub)) at (prev + 1, 5) to (start + 0, 15)
-    = (c8 - Zero)
-- Code(Zero) at (prev + 5, 9) to (start + 3, 16)
-- Code(Zero) at (prev + 5, 13) to (start + 0, 27)
-- Code(Zero) at (prev + 2, 13) to (start + 0, 28)
-- Code(Expression(6, Sub)) at (prev + 4, 9) to (start + 5, 6)
-    = ((c8 - Zero) - Zero)
+- Code(Counter(9)) at (prev + 3, 32) to (start + 0, 48)
+- Code(Counter(11)) at (prev + 0, 51) to (start + 0, 65)
+- Code(Expression(8, Sub)) at (prev + 0, 75) to (start + 0, 90)
+    = (c9 - c11)
+- Code(Expression(12, Sub)) at (prev + 1, 5) to (start + 0, 15)
+    = (c8 - c9)
+- Code(Counter(10)) at (prev + 5, 9) to (start + 3, 16)
+- Code(Counter(13)) at (prev + 5, 13) to (start + 0, 27)
+- Code(Expression(10, Sub)) at (prev + 2, 13) to (start + 0, 28)
+    = (c10 - c13)
+- Code(Expression(11, Sub)) at (prev + 4, 9) to (start + 5, 6)
+    = ((c8 - c9) - c10)
 - Code(Counter(12)) at (prev + 6, 5) to (start + 3, 6)
-- Code(Expression(8, Sub)) at (prev + 4, 5) to (start + 3, 6)
-    = (c12 - Zero)
+- Code(Expression(13, Sub)) at (prev + 4, 5) to (start + 3, 6)
+    = (c12 - c14)
 - Code(Counter(15)) at (prev + 4, 9) to (start + 4, 6)
-- Code(Expression(11, Sub)) at (prev + 5, 8) to (start + 0, 15)
-    = (c15 - Zero)
+- Code(Expression(16, Sub)) at (prev + 5, 8) to (start + 0, 15)
+    = (c15 - c16)
 - Code(Counter(17)) at (prev + 1, 9) to (start + 3, 10)
-- Code(Expression(10, Sub)) at (prev + 5, 9) to (start + 3, 10)
-    = ((c15 - Zero) - c17)
-- Code(Expression(15, Add)) at (prev + 5, 8) to (start + 0, 15)
-    = ((c17 - Zero) + c18)
+- Code(Expression(15, Sub)) at (prev + 5, 9) to (start + 3, 10)
+    = ((c15 - c16) - c17)
+- Code(Expression(24, Add)) at (prev + 5, 8) to (start + 0, 15)
+    = ((c17 - c19) + c18)
 - Code(Counter(20)) at (prev + 1, 9) to (start + 0, 19)
-- Code(Zero) at (prev + 3, 13) to (start + 0, 29)
-- Code(Expression(14, Sub)) at (prev + 3, 9) to (start + 0, 19)
-    = (((c17 - Zero) + c18) - c20)
-- Code(Zero) at (prev + 3, 13) to (start + 0, 29)
-- Code(Expression(29, Add)) at (prev + 3, 5) to (start + 0, 15)
-    = ((c20 - Zero) + c21)
-- Code(Expression(29, Add)) at (prev + 1, 12) to (start + 0, 19)
-    = ((c20 - Zero) + c21)
+- Code(Counter(22)) at (prev + 3, 13) to (start + 0, 29)
+- Code(Expression(23, Sub)) at (prev + 3, 9) to (start + 0, 19)
+    = (((c17 - c19) + c18) - c20)
+- Code(Expression(22, Sub)) at (prev + 3, 13) to (start + 0, 29)
+    = ((((c17 - c19) + c18) - c20) - c21)
+- Code(Expression(38, Add)) at (prev + 3, 5) to (start + 0, 15)
+    = ((c20 - c22) + c21)
+- Code(Expression(38, Add)) at (prev + 1, 12) to (start + 0, 19)
+    = ((c20 - c22) + c21)
 - Code(Counter(23)) at (prev + 1, 13) to (start + 0, 19)
-- Code(Expression(21, Sub)) at (prev + 2, 13) to (start + 0, 19)
-    = (((c20 - Zero) + c21) - c23)
-- Code(Expression(28, Sub)) at (prev + 4, 5) to (start + 2, 19)
-    = (((c20 - Zero) + c21) - c24)
+- Code(Expression(30, Sub)) at (prev + 2, 13) to (start + 0, 19)
+    = (((c20 - c22) + c21) - c23)
+- Code(Expression(37, Sub)) at (prev + 4, 5) to (start + 2, 19)
+    = (((c20 - c22) + c21) - c24)
 - Code(Counter(25)) at (prev + 3, 13) to (start + 0, 19)
-- Code(Expression(27, Sub)) at (prev + 2, 13) to (start + 0, 19)
-    = ((((c20 - Zero) + c21) - c24) - c25)
-- Code(Expression(46, Add)) at (prev + 3, 5) to (start + 0, 15)
+- Code(Expression(36, Sub)) at (prev + 2, 13) to (start + 0, 19)
+    = ((((c20 - c22) + c21) - c24) - c25)
+- Code(Expression(55, Add)) at (prev + 3, 5) to (start + 0, 15)
     = (c29 + ((c26 - c27) - c30))
 - Code(Counter(26)) at (prev + 1, 12) to (start + 0, 19)
 - Code(Counter(27)) at (prev + 1, 13) to (start + 3, 14)
 - Code(Counter(29)) at (prev + 4, 13) to (start + 0, 19)
-- Code(Expression(48, Sub)) at (prev + 2, 13) to (start + 0, 23)
+- Code(Expression(57, Sub)) at (prev + 2, 13) to (start + 0, 23)
     = (c26 - c27)
-- Code(Expression(48, Sub)) at (prev + 1, 20) to (start + 0, 27)
+- Code(Expression(57, Sub)) at (prev + 1, 20) to (start + 0, 27)
     = (c26 - c27)
 - Code(Zero) at (prev + 1, 21) to (start + 0, 27)
-- Code(Expression(36, Sub)) at (prev + 2, 21) to (start + 0, 27)
+- Code(Expression(45, Sub)) at (prev + 2, 21) to (start + 0, 27)
     = ((c26 - c27) - Zero)
-- Code(Expression(47, Sub)) at (prev + 4, 13) to (start + 0, 19)
+- Code(Expression(56, Sub)) at (prev + 4, 13) to (start + 0, 19)
     = ((c26 - c27) - c30)
 - Code(Counter(31)) at (prev + 3, 9) to (start + 0, 25)
-- Code(Expression(45, Sub)) at (prev + 2, 5) to (start + 0, 15)
+- Code(Expression(54, Sub)) at (prev + 2, 5) to (start + 0, 15)
     = ((c29 + ((c26 - c27) - c30)) - c31)
-- Code(Expression(44, Sub)) at (prev + 3, 9) to (start + 0, 34)
-    = (((c29 + ((c26 - c27) - c30)) - c31) - Zero)
-- Code(Zero) at (prev + 2, 5) to (start + 0, 15)
-- Code(Zero) at (prev + 3, 9) to (start + 0, 44)
-- Code(Zero) at (prev + 2, 1) to (start + 0, 2)
-Highest counter ID seen: c31
+- Code(Expression(53, Sub)) at (prev + 3, 9) to (start + 0, 34)
+    = (((c29 + ((c26 - c27) - c30)) - c31) - c32)
+- Code(Counter(32)) at (prev + 2, 5) to (start + 0, 15)
+- Code(Expression(58, Sub)) at (prev + 3, 9) to (start + 0, 44)
+    = (c32 - c33)
+- Code(Counter(33)) at (prev + 2, 1) to (start + 0, 2)
+Highest counter ID seen: c33