about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorRich Kadel <richkadel@google.com>2020-10-22 14:30:03 -0700
committerRich Kadel <richkadel@google.com>2020-11-05 18:24:15 -0800
commit198ba3bd1cfedc7115f91d549a352da2b25050b7 (patch)
tree8a6b3755806c0e8a315dab3e3ea4caf87cd50b05 /src
parent3291d28e9ac1173f033d240bc5f3f145c9c8dd59 (diff)
Injecting expressions in place of counters where helpful
Implementing the Graph traits for the BasicCoverageBlock
graph.

optimized replacement of counters with expressions plus new BCB graphviz

* Avoid adding coverage to unreachable blocks.
* Special case for Goto at the end of the body. Make it non-reportable.

Improved debugging and formatting options (from env)

Don't automatically add counters to BCBs without CoverageSpans. They may
still get counters but only if there are dependencies from
other BCBs that have spans, I think.

Make CodeRegions optional for Counters too. It is
possible to inject counters (`llvm.instrprof.increment` intrinsic calls
without corresponding code regions in the coverage map. An expression
can still uses these counter values.

Refactored instrument_coverage.rs -> instrument_coverage/mod.rs, and
then broke up the mod into multiple files.

Compiling with coverage, with the expression optimization, works on
the json5format crate and its dependencies.

Refactored debug features from mod.rs to debug.rs
Diffstat (limited to 'src')
-rw-r--r--src/test/mir-opt/coverage_graphviz.bar.InstrumentCoverage.0.dot2
-rw-r--r--src/test/mir-opt/coverage_graphviz.main.InstrumentCoverage.0.dot4
-rw-r--r--src/test/mir-opt/instrument_coverage.main.InstrumentCoverage.diff8
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.drop_trait.json8
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.generics.json8
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.if_else.json24
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.try_error_result.json12
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.various_conditions.json12
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.while_early_return.json12
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.drop_trait.txt2
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.generics.txt2
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.if_else.txt4
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.try_error_result.txt2
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.various_conditions.txt2
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.while_early_return.txt2
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.closure.txt16
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.drop_trait.txt2
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.generics.txt2
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.if.txt4
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.if_else.txt10
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.inner_items.txt10
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.lazy_boolean.txt68
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.loops_and_branches.txt12
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.nested_loops.txt34
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.simple_loop.txt12
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.simple_match.txt24
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.tight_infinite_loop.txt2
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.try_error_result.txt33
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.various_conditions.txt137
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.while.txt6
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.while_early_return.txt21
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.drop_trait.json8
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.generics.json8
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.if_else.json24
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.try_error_result.json12
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.various_conditions.json12
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.while_early_return.json12
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.drop_trait.txt2
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.generics.txt2
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.if_else.txt4
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.try_error_result.txt2
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.various_conditions.txt2
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.while_early_return.txt2
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.closure.txt16
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.drop_trait.txt2
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.generics.txt2
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.if.txt4
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.if_else.txt10
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.inner_items.txt10
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.lazy_boolean.txt68
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.loops_and_branches.txt12
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.nested_loops.txt34
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.partial_eq_counter_without_region.txt20
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.simple_loop.txt12
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.simple_match.txt24
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.tight_infinite_loop.txt2
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.try_error_result.txt33
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.various_conditions.txt137
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.while.txt6
-rw-r--r--src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.while_early_return.txt21
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.drop_trait/drop_trait.main.-------.InstrumentCoverage.0.html2
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.generics/generics.main.-------.InstrumentCoverage.0.html2
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.if_else/if_else.main.-------.InstrumentCoverage.0.html30
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.try_error_result/try_error_result.call.-------.InstrumentCoverage.0.html4
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.drop_trait/drop_trait.main.-------.InstrumentCoverage.0.html2
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.generics/generics.main.-------.InstrumentCoverage.0.html2
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.if_else/if_else.main.-------.InstrumentCoverage.0.html30
-rw-r--r--src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.try_error_result/try_error_result.call.-------.InstrumentCoverage.0.html4
68 files changed, 529 insertions, 547 deletions
diff --git a/src/test/mir-opt/coverage_graphviz.bar.InstrumentCoverage.0.dot b/src/test/mir-opt/coverage_graphviz.bar.InstrumentCoverage.0.dot
index df9f7aa627b..efc06bdea57 100644
--- a/src/test/mir-opt/coverage_graphviz.bar.InstrumentCoverage.0.dot
+++ b/src/test/mir-opt/coverage_graphviz.bar.InstrumentCoverage.0.dot
@@ -2,5 +2,5 @@ digraph Cov_0_4 {
     graph [fontname="Courier, monospace"];
     node [fontname="Courier, monospace"];
     edge [fontname="Courier, monospace"];
-    bcb0__Cov_0_4 [shape="none", label=<<table border="0" cellborder="1" cellspacing="0"><tr><td bgcolor="gray" align="center" colspan="1">bcb0</td></tr><tr><td align="left" balign="left">Counter(bcb0) at 19:5-20:2<br/>    19:5-19:9: @0[0]: _0 = const true<br/>    20:2-20:2: @0.Return: return</td></tr><tr><td align="left" balign="left">bb0: Return</td></tr></table>>];
+    bcb0__Cov_0_4 [shape="none", label=<<table border="0" cellborder="1" cellspacing="0"><tr><td bgcolor="gray" align="center" colspan="1">bcb0</td></tr><tr><td align="left" balign="left"></td></tr><tr><td align="left" balign="left">Counter(bcb0) at 19:5-20:2<br/>    19:5-19:9: @0[0]: _0 = const true<br/>    20:2-20:2: @0.Return: return</td></tr><tr><td align="left" balign="left">bb0: Return</td></tr></table>>];
 }
diff --git a/src/test/mir-opt/coverage_graphviz.main.InstrumentCoverage.0.dot b/src/test/mir-opt/coverage_graphviz.main.InstrumentCoverage.0.dot
index 051ef498fb7..5ddd112fe62 100644
--- a/src/test/mir-opt/coverage_graphviz.main.InstrumentCoverage.0.dot
+++ b/src/test/mir-opt/coverage_graphviz.main.InstrumentCoverage.0.dot
@@ -2,9 +2,9 @@ digraph Cov_0_3 {
     graph [fontname="Courier, monospace"];
     node [fontname="Courier, monospace"];
     edge [fontname="Courier, monospace"];
-    bcb2__Cov_0_3 [shape="none", label=<<table border="0" cellborder="1" cellspacing="0"><tr><td bgcolor="gray" align="center" colspan="1">bcb2</td></tr><tr><td align="left" balign="left">Counter(bcb2) at 14:6-14:6<br/>    14:6-14:6: @4.Goto: goto -&gt; bb0</td></tr><tr><td align="left" balign="left">bb4: Goto</td></tr></table>>];
+    bcb2__Cov_0_3 [shape="none", label=<<table border="0" cellborder="1" cellspacing="0"><tr><td bgcolor="gray" align="center" colspan="1">bcb2</td></tr><tr><td align="left" balign="left">Expression(bcb0 - bcb1) at 14:6-14:6<br/>    14:6-14:6: @4.Goto: goto -&gt; bb0</td></tr><tr><td align="left" balign="left">bb4: Goto</td></tr></table>>];
     bcb1__Cov_0_3 [shape="none", label=<<table border="0" cellborder="1" cellspacing="0"><tr><td bgcolor="gray" align="center" colspan="1">bcb1</td></tr><tr><td align="left" balign="left">Counter(bcb1) at 12:13-12:18<br/>    12:13-12:18: @5[0]: _0 = const ()<br/>Expression(bcb1 + 0) at 15:2-15:2<br/>    15:2-15:2: @5.Return: return</td></tr><tr><td align="left" balign="left">bb3: FalseEdge</td></tr><tr><td align="left" balign="left">bb5: Return</td></tr></table>>];
-    bcb0__Cov_0_3 [shape="none", label=<<table border="0" cellborder="1" cellspacing="0"><tr><td bgcolor="gray" align="center" colspan="1">bcb0</td></tr><tr><td align="left" balign="left">Counter(bcb0) at 11:12-11:17<br/>    11:12-11:17: @1.Call: _2 = bar() -&gt; [return: bb2, unwind: bb6]<br/>    11:12-11:17: @2[0]: FakeRead(ForMatchedPlace, _2)</td></tr><tr><td align="left" balign="left">bb0: FalseUnwind<br/>bb1: Call</td></tr><tr><td align="left" balign="left">bb2: SwitchInt</td></tr></table>>];
+    bcb0__Cov_0_3 [shape="none", label=<<table border="0" cellborder="1" cellspacing="0"><tr><td bgcolor="gray" align="center" colspan="1">bcb0</td></tr><tr><td align="left" balign="left"></td></tr><tr><td align="left" balign="left">Counter(bcb0) at 11:12-11:17<br/>    11:12-11:17: @1.Call: _2 = bar() -&gt; [return: bb2, unwind: bb6]<br/>    11:12-11:17: @2[0]: FakeRead(ForMatchedPlace, _2)</td></tr><tr><td align="left" balign="left">bb0: FalseUnwind<br/>bb1: Call</td></tr><tr><td align="left" balign="left">bb2: SwitchInt</td></tr></table>>];
     bcb2__Cov_0_3 -> bcb0__Cov_0_3 [label=<>];
     bcb0__Cov_0_3 -> bcb2__Cov_0_3 [label=<false>];
     bcb0__Cov_0_3 -> bcb1__Cov_0_3 [label=<otherwise>];
diff --git a/src/test/mir-opt/instrument_coverage.main.InstrumentCoverage.diff b/src/test/mir-opt/instrument_coverage.main.InstrumentCoverage.diff
index ddc65085e80..c67d0e2ffe6 100644
--- a/src/test/mir-opt/instrument_coverage.main.InstrumentCoverage.diff
+++ b/src/test/mir-opt/instrument_coverage.main.InstrumentCoverage.diff
@@ -8,7 +8,6 @@
       let mut _3: !;                       // in scope 0 at /the/src/instrument_coverage.rs:12:18: 14:10
   
       bb0: {
-+         Coverage::Counter(1) for /the/src/instrument_coverage.rs:12:12 - 12:17; // scope 0 at /the/src/instrument_coverage.rs:11:5: 15:6
           falseUnwind -> [real: bb1, cleanup: bb6]; // scope 0 at /the/src/instrument_coverage.rs:11:5: 15:6
       }
   
@@ -22,25 +21,26 @@
   
       bb2: {
           FakeRead(ForMatchedPlace, _2);   // scope 0 at /the/src/instrument_coverage.rs:12:12: 12:17
++         Coverage::Counter(1) for /the/src/instrument_coverage.rs:12:12 - 12:17; // scope 0 at /the/src/instrument_coverage.rs:12:9: 14:10
           switchInt(_2) -> [false: bb4, otherwise: bb3]; // scope 0 at /the/src/instrument_coverage.rs:12:9: 14:10
       }
   
       bb3: {
-+         Coverage::Counter(2) for /the/src/instrument_coverage.rs:13:13 - 13:18; // scope 0 at /the/src/instrument_coverage.rs:12:9: 14:10
-+         Coverage::Expression(4294967295) = 2 + 0 for /the/src/instrument_coverage.rs:16:1 - 16:2; // scope 0 at /the/src/instrument_coverage.rs:12:9: 14:10
           falseEdge -> [real: bb5, imaginary: bb4]; // scope 0 at /the/src/instrument_coverage.rs:12:9: 14:10
       }
   
       bb4: {
           _1 = const ();                   // scope 0 at /the/src/instrument_coverage.rs:12:9: 14:10
           StorageDead(_2);                 // scope 0 at /the/src/instrument_coverage.rs:15:5: 15:6
-+         Coverage::Counter(3) for /the/src/instrument_coverage.rs:15:6 - 15:7; // scope 0 at /the/src/instrument_coverage.rs:11:5: 15:6
++         Coverage::Expression(4294967295) = 1 - 2 for /the/src/instrument_coverage.rs:15:6 - 15:7; // scope 0 at /the/src/instrument_coverage.rs:11:5: 15:6
           goto -> bb0;                     // scope 0 at /the/src/instrument_coverage.rs:11:5: 15:6
       }
   
       bb5: {
           _0 = const ();                   // scope 0 at /the/src/instrument_coverage.rs:13:13: 13:18
           StorageDead(_2);                 // scope 0 at /the/src/instrument_coverage.rs:15:5: 15:6
++         Coverage::Counter(2) for /the/src/instrument_coverage.rs:13:13 - 13:18; // scope 0 at /the/src/instrument_coverage.rs:16:2: 16:2
++         Coverage::Expression(4294967294) = 2 + 0 for /the/src/instrument_coverage.rs:16:1 - 16:2; // scope 0 at /the/src/instrument_coverage.rs:16:2: 16:2
           return;                          // scope 0 at /the/src/instrument_coverage.rs:16:2: 16:2
       }
   
diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.drop_trait.json b/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.drop_trait.json
index 7a7e4c04f00..bd2e2d56d4a 100644
--- a/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.drop_trait.json
+++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.drop_trait.json
@@ -21,8 +21,8 @@
               "percent": 100
             },
             "regions": {
-              "count": 6,
-              "covered": 6,
+              "count": 5,
+              "covered": 5,
               "notcovered": 0,
               "percent": 100
             }
@@ -46,8 +46,8 @@
           "percent": 100
         },
         "regions": {
-          "count": 6,
-          "covered": 6,
+          "count": 5,
+          "covered": 5,
           "notcovered": 0,
           "percent": 100
         }
diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.generics.json b/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.generics.json
index 1025cd3de80..a50f4657e20 100644
--- a/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.generics.json
+++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.generics.json
@@ -21,8 +21,8 @@
               "percent": 100
             },
             "regions": {
-              "count": 7,
-              "covered": 7,
+              "count": 6,
+              "covered": 6,
               "notcovered": 0,
               "percent": 100
             }
@@ -46,8 +46,8 @@
           "percent": 100
         },
         "regions": {
-          "count": 7,
-          "covered": 7,
+          "count": 6,
+          "covered": 6,
           "notcovered": 0,
           "percent": 100
         }
diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.if_else.json b/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.if_else.json
index 2d2ad1dbe3f..36f81ceae19 100644
--- a/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.if_else.json
+++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.if_else.json
@@ -16,15 +16,15 @@
               "percent": 100
             },
             "lines": {
-              "count": 29,
-              "covered": 21,
-              "percent": 72.41379310344827
+              "count": 28,
+              "covered": 19,
+              "percent": 67.85714285714286
             },
             "regions": {
-              "count": 9,
-              "covered": 7,
+              "count": 7,
+              "covered": 5,
               "notcovered": 2,
-              "percent": 77.77777777777779
+              "percent": 71.42857142857143
             }
           }
         }
@@ -41,15 +41,15 @@
           "percent": 100
         },
         "lines": {
-          "count": 29,
-          "covered": 21,
-          "percent": 72.41379310344827
+          "count": 28,
+          "covered": 19,
+          "percent": 67.85714285714286
         },
         "regions": {
-          "count": 9,
-          "covered": 7,
+          "count": 7,
+          "covered": 5,
           "notcovered": 2,
-          "percent": 77.77777777777779
+          "percent": 71.42857142857143
         }
       }
     }
diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.try_error_result.json b/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.try_error_result.json
index 39e17359eee..929e769b50a 100644
--- a/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.try_error_result.json
+++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.try_error_result.json
@@ -21,10 +21,10 @@
               "percent": 94.73684210526315
             },
             "regions": {
-              "count": 18,
-              "covered": 15,
+              "count": 17,
+              "covered": 14,
               "notcovered": 3,
-              "percent": 83.33333333333334
+              "percent": 82.35294117647058
             }
           }
         }
@@ -46,10 +46,10 @@
           "percent": 94.73684210526315
         },
         "regions": {
-          "count": 18,
-          "covered": 15,
+          "count": 17,
+          "covered": 14,
           "notcovered": 3,
-          "percent": 83.33333333333334
+          "percent": 82.35294117647058
         }
       }
     }
diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.various_conditions.json b/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.various_conditions.json
index 464bb614ea1..d93458b6143 100644
--- a/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.various_conditions.json
+++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.various_conditions.json
@@ -21,10 +21,10 @@
               "percent": 46.93877551020408
             },
             "regions": {
-              "count": 70,
-              "covered": 19,
+              "count": 69,
+              "covered": 18,
               "notcovered": 51,
-              "percent": 27.142857142857142
+              "percent": 26.08695652173913
             }
           }
         }
@@ -46,10 +46,10 @@
           "percent": 46.93877551020408
         },
         "regions": {
-          "count": 70,
-          "covered": 19,
+          "count": 69,
+          "covered": 18,
           "notcovered": 51,
-          "percent": 27.142857142857142
+          "percent": 26.08695652173913
         }
       }
     }
diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.while_early_return.json b/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.while_early_return.json
index a116a91a60a..a9e01604ccd 100644
--- a/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.while_early_return.json
+++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_export_coverage.while_early_return.json
@@ -21,10 +21,10 @@
               "percent": 88.23529411764706
             },
             "regions": {
-              "count": 10,
-              "covered": 8,
+              "count": 9,
+              "covered": 7,
               "notcovered": 2,
-              "percent": 80
+              "percent": 77.77777777777779
             }
           }
         }
@@ -46,10 +46,10 @@
           "percent": 88.23529411764706
         },
         "regions": {
-          "count": 10,
-          "covered": 8,
+          "count": 9,
+          "covered": 7,
           "notcovered": 2,
-          "percent": 80
+          "percent": 77.77777777777779
         }
       }
     }
diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.drop_trait.txt b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.drop_trait.txt
index 43592df1059..72aa020ca16 100644
--- a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.drop_trait.txt
+++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.drop_trait.txt
@@ -24,7 +24,7 @@
    24|       |    let _ = Firework { strength: 1000 };
    25|       |
    26|       |    Ok(())
-   27|      2|}
+   27|      1|}
    28|       |
    29|       |// Expected program output:
    30|       |//   Exiting with error...
diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.generics.txt b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.generics.txt
index 11dc0aa65e2..86199d74763 100644
--- a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.generics.txt
+++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.generics.txt
@@ -57,7 +57,7 @@
    35|       |    let _ = Firework { strength: 1000 };
    36|       |
    37|       |    Ok(())
-   38|      2|}
+   38|      1|}
    39|       |
    40|       |// Expected program output:
    41|       |//   Exiting with error...
diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.if_else.txt b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.if_else.txt
index 64cbc262521..5f899723e25 100644
--- a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.if_else.txt
+++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.if_else.txt
@@ -20,7 +20,7 @@
    20|      0|        countdown
    21|      0|        =
    22|      0|            100
-   23|      1|    }
+   23|       |    }
    24|       |
    25|       |    if
    26|      1|        is_true
@@ -36,6 +36,6 @@
    36|      0|        =
    37|      0|            100
    38|      0|        ;
-   39|      1|    }
+   39|      0|    }
    40|      1|}
 
diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.try_error_result.txt b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.try_error_result.txt
index c43b492db60..94c63c9a2b9 100644
--- a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.try_error_result.txt
+++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.try_error_result.txt
@@ -33,5 +33,5 @@
    32|      5|        }
    33|      5|    }
    34|      0|    Ok(())
-   35|      2|}
+   35|      1|}
 
diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.various_conditions.txt b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.various_conditions.txt
index e0efe75043d..173ff4aa4c4 100644
--- a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.various_conditions.txt
+++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.various_conditions.txt
@@ -65,5 +65,5 @@
    64|       |    } else {
    65|      0|        return;
    66|       |    };
-   67|      2|}
+   67|      1|}
 
diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.while_early_return.txt b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.while_early_return.txt
index e5c5b05a6fc..26041136d2f 100644
--- a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.while_early_return.txt
+++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage.while_early_return.txt
@@ -33,7 +33,7 @@
    33|       |        ;
    34|       |    }
    35|      0|    Ok(())
-   36|      2|}
+   36|      1|}
    37|       |
    38|       |// ISSUE(77553): Originally, this test had `Err(1)` on line 22 (instead of `Ok(())`) and
    39|       |// `std::process::exit(2)` on line 26 (instead of `Err(1)`); and this worked as expected on Linux
diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.closure.txt b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.closure.txt
index 3eb07757c0d..ef43bbd78a6 100644
--- a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.closure.txt
+++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.closure.txt
@@ -2,8 +2,8 @@ Args: /usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/llvm/
 Counter in file 0 20:21 -> 20:38, #1
 Counter in file 0 21:20 -> 21:28, (#1 + 0)
 Counter in file 0 21:29 -> 23:18, #2
-Counter in file 0 23:18 -> 23:19, #3
-Counter in file 0 24:17 -> 25:14, #4
+Counter in file 0 23:18 -> 23:19, (#1 - #2)
+Counter in file 0 24:17 -> 25:14, (#2 + (#1 - #2))
 Counter in file 0 3:11 -> 18:13, #1
 Counter in file 0 25:14 -> 33:9, (#1 + 0)
 Counter in file 0 40:6 -> 60:13, (#1 + 0)
@@ -12,18 +12,18 @@ Counter in file 0 82:6 -> 93:2, (#1 + 0)
 Counter in file 0 77:13 -> 77:30, #1
 Counter in file 0 78:12 -> 78:20, (#1 + 0)
 Counter in file 0 78:21 -> 80:10, #2
-Counter in file 0 80:10 -> 80:11, #3
-Counter in file 0 81:9 -> 82:6, #4
+Counter in file 0 80:10 -> 80:11, (#1 - #2)
+Counter in file 0 81:9 -> 82:6, (#2 + (#1 - #2))
 Counter in file 0 62:21 -> 62:38, #1
 Counter in file 0 63:20 -> 63:28, (#1 + 0)
 Counter in file 0 63:29 -> 65:18, #2
-Counter in file 0 65:18 -> 65:19, #3
-Counter in file 0 66:17 -> 67:14, #4
+Counter in file 0 65:18 -> 65:19, (#1 - #2)
+Counter in file 0 66:17 -> 67:14, (#2 + (#1 - #2))
 Counter in file 0 35:13 -> 35:30, #1
 Counter in file 0 36:12 -> 36:20, (#1 + 0)
 Counter in file 0 36:21 -> 38:10, #2
-Counter in file 0 38:10 -> 38:11, #3
-Counter in file 0 39:9 -> 40:6, #4
+Counter in file 0 38:10 -> 38:11, (#1 - #2)
+Counter in file 0 39:9 -> 40:6, (#2 + (#1 - #2))
 Emitting segments for file: ../coverage/closure.rs
 Combined regions:
   3:11 -> 18:13 (count=1)
diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.drop_trait.txt b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.drop_trait.txt
index 2bafe7d88e2..9716284f525 100644
--- a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.drop_trait.txt
+++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.drop_trait.txt
@@ -3,7 +3,7 @@ Counter in file 0 9:24 -> 11:6, #1
 Counter in file 0 15:9 -> 17:42, #1
 Counter in file 0 19:8 -> 19:12, (#1 + 0)
 Counter in file 0 20:9 -> 21:22, #2
-Counter in file 0 27:1 -> 27:2, #4
+Counter in file 0 27:1 -> 27:2, (#2 + 0)
 Emitting segments for file: ../coverage/drop_trait.rs
 Combined regions:
   9:24 -> 11:6 (count=2)
diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.generics.txt b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.generics.txt
index a13b1f3d786..5fbfe69b891 100644
--- a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.generics.txt
+++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.generics.txt
@@ -4,7 +4,7 @@ Counter in file 0 17:24 -> 19:6, #1
 Counter in file 0 23:9 -> 28:28, #1
 Counter in file 0 30:8 -> 30:12, (#1 + 0)
 Counter in file 0 31:9 -> 32:22, #2
-Counter in file 0 38:1 -> 38:2, #4
+Counter in file 0 38:1 -> 38:2, (#2 + 0)
 Counter in file 0 10:49 -> 12:6, #1
 Counter in file 0 10:49 -> 12:6, #1
 Emitting segments for file: ../coverage/generics.rs
diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.if.txt b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.if.txt
index 2f063de5a39..48c9278a239 100644
--- a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.if.txt
+++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.if.txt
@@ -2,8 +2,8 @@ Args: /usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/llvm/
 Counter in file 0 8:5 -> 18:10, #1
 Counter in file 0 21:9 -> 21:16, (#1 + 0)
 Counter in file 0 22:5 -> 27:6, #2
-Counter in file 0 27:6 -> 27:7, #3
-Counter in file 0 28:1 -> 28:2, #4
+Counter in file 0 27:6 -> 27:7, (#1 - #2)
+Counter in file 0 28:1 -> 28:2, (#2 + (#1 - #2))
 Emitting segments for file: ../coverage/if.rs
 Combined regions:
   8:5 -> 18:10 (count=1)
diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.if_else.txt b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.if_else.txt
index 270a6f2b14a..1adf92300bf 100644
--- a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.if_else.txt
+++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.if_else.txt
@@ -1,11 +1,11 @@
 Args: /usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/llvm/build/bin/llvm-cov show --debug --Xdemangler=/usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/stage0-tools-bin/rust-demangler --show-line-counts-or-regions --instr-profile=/usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/coverage-reports-base/coverage-reports-base/if_else.profdata /usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/coverage-reports-base/coverage-reports-base/if_else 
 Counter in file 0 7:9 -> 11:16, #1
 Counter in file 0 12:5 -> 17:6, #2
-Counter in file 0 20:9 -> 22:16, #3
-Counter in file 0 26:9 -> 26:16, #4
-Counter in file 0 27:5 -> 32:6, #5
-Counter in file 0 34:5 -> 39:6, #6
-Counter in file 0 40:1 -> 40:2, #7
+Counter in file 0 20:9 -> 22:16, (#1 - #2)
+Counter in file 0 26:9 -> 26:16, (#2 + (#1 - #2))
+Counter in file 0 27:5 -> 32:6, #3
+Counter in file 0 34:5 -> 39:6, ((#2 + (#1 - #2)) - #3)
+Counter in file 0 40:1 -> 40:2, (#3 + ((#2 + (#1 - #2)) - #3))
 Emitting segments for file: ../coverage/if_else.rs
 Combined regions:
   7:9 -> 11:16 (count=1)
diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.inner_items.txt b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.inner_items.txt
index fb863c73a63..0678be30dc3 100644
--- a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.inner_items.txt
+++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.inner_items.txt
@@ -6,11 +6,11 @@ Counter in file 0 21:9 -> 22:6, (#2 + 0)
 Counter in file 0 7:9 -> 9:26, #1
 Counter in file 0 10:8 -> 10:15, (#1 + 0)
 Counter in file 0 10:16 -> 12:6, #2
-Counter in file 0 12:6 -> 12:7, #3
-Counter in file 0 48:8 -> 48:15, #4
-Counter in file 0 48:16 -> 50:6, #5
-Counter in file 0 50:6 -> 50:7, #6
-Counter in file 0 52:9 -> 57:2, #7
+Counter in file 0 12:6 -> 12:7, (#1 - #2)
+Counter in file 0 48:8 -> 48:15, (#2 + (#1 - #2))
+Counter in file 0 48:16 -> 50:6, #3
+Counter in file 0 50:6 -> 50:7, ((#2 + (#1 - #2)) - #3)
+Counter in file 0 52:9 -> 57:2, (#3 + ((#2 + (#1 - #2)) - #3))
 Counter in file 0 33:42 -> 36:10, #1
 Counter in file 0 41:37 -> 41:41, #1
 Counter in file 0 42:13 -> 43:10, #2
diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.lazy_boolean.txt b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.lazy_boolean.txt
index 4561fcc5b36..e955fcd8ba0 100644
--- a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.lazy_boolean.txt
+++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.lazy_boolean.txt
@@ -2,40 +2,40 @@ Args: /usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/llvm/
 Counter in file 0 7:9 -> 9:42, #1
 Counter in file 0 10:8 -> 10:15, (#1 + 0)
 Counter in file 0 10:16 -> 14:6, #2
-Counter in file 0 14:6 -> 14:7, #3
-Counter in file 0 16:9 -> 16:17, #4
-Counter in file 0 18:13 -> 18:18, #5
-Counter in file 0 20:13 -> 20:18, #6
-Counter in file 0 20:18 -> 20:19, #7
-Counter in file 0 20:18 -> 20:19, #8
-Counter in file 0 23:9 -> 23:17, #9
-Counter in file 0 25:13 -> 25:18, (#4 + 0)
-Counter in file 0 27:13 -> 27:18, #10
-Counter in file 0 27:18 -> 27:19, #11
-Counter in file 0 27:18 -> 27:19, #12
-Counter in file 0 29:9 -> 29:17, #13
-Counter in file 0 29:20 -> 29:25, (#9 + 0)
-Counter in file 0 29:29 -> 29:34, #14
-Counter in file 0 29:34 -> 29:35, #15
-Counter in file 0 29:34 -> 29:35, #16
-Counter in file 0 30:9 -> 30:17, #17
-Counter in file 0 30:20 -> 30:25, (#13 + 0)
-Counter in file 0 30:29 -> 30:34, #18
-Counter in file 0 30:34 -> 30:35, #19
-Counter in file 0 30:34 -> 30:35, #20
-Counter in file 0 33:9 -> 34:16, (#17 + 0)
-Counter in file 0 35:5 -> 38:6, #21
-Counter in file 0 38:6 -> 38:7, #22
-Counter in file 0 41:9 -> 41:16, #23
-Counter in file 0 42:5 -> 45:6, #24
-Counter in file 0 47:5 -> 50:6, #25
-Counter in file 0 52:8 -> 52:16, #26
-Counter in file 0 52:17 -> 54:6, #27
-Counter in file 0 54:6 -> 54:7, #28
-Counter in file 0 56:8 -> 56:15, #29
-Counter in file 0 56:16 -> 58:6, #30
-Counter in file 0 58:12 -> 60:6, #31
-Counter in file 0 61:1 -> 61:2, #32
+Counter in file 0 14:6 -> 14:7, (#1 - #2)
+Counter in file 0 16:9 -> 16:17, ((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4))
+Counter in file 0 18:13 -> 18:18, (#2 + (#1 - #2))
+Counter in file 0 20:13 -> 20:18, ((#2 + (#1 - #2)) - #3)
+Counter in file 0 20:18 -> 20:19, (#3 + #4)
+Counter in file 0 20:18 -> 20:19, (((#2 + (#1 - #2)) - #3) - #4)
+Counter in file 0 23:9 -> 23:17, ((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6))
+Counter in file 0 25:13 -> 25:18, (((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) + 0)
+Counter in file 0 27:13 -> 27:18, (((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5)
+Counter in file 0 27:18 -> 27:19, (#5 + #6)
+Counter in file 0 27:18 -> 27:19, ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6)
+Counter in file 0 29:9 -> 29:17, ((#7 - #8) + ((((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6)) - #7) + #8))
+Counter in file 0 29:20 -> 29:25, (((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6)) + 0)
+Counter in file 0 29:29 -> 29:34, #7
+Counter in file 0 29:34 -> 29:35, ((((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6)) - #7) + #8)
+Counter in file 0 29:34 -> 29:35, (#7 - #8)
+Counter in file 0 30:9 -> 30:17, ((#9 - #10) + ((((#7 - #8) + ((((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6)) - #7) + #8)) - #9) + #10))
+Counter in file 0 30:20 -> 30:25, (((#7 - #8) + ((((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6)) - #7) + #8)) + 0)
+Counter in file 0 30:29 -> 30:34, #9
+Counter in file 0 30:34 -> 30:35, ((((#7 - #8) + ((((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6)) - #7) + #8)) - #9) + #10)
+Counter in file 0 30:34 -> 30:35, (#9 - #10)
+Counter in file 0 33:9 -> 34:16, (((#9 - #10) + ((((#7 - #8) + ((((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6)) - #7) + #8)) - #9) + #10)) + 0)
+Counter in file 0 35:5 -> 38:6, #11
+Counter in file 0 38:6 -> 38:7, (((#9 - #10) + ((((#7 - #8) + ((((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6)) - #7) + #8)) - #9) + #10)) - #11)
+Counter in file 0 41:9 -> 41:16, (#11 + (((#9 - #10) + ((((#7 - #8) + ((((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6)) - #7) + #8)) - #9) + #10)) - #11))
+Counter in file 0 42:5 -> 45:6, #12
+Counter in file 0 47:5 -> 50:6, ((#11 + (((#9 - #10) + ((((#7 - #8) + ((((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6)) - #7) + #8)) - #9) + #10)) - #11)) - #12)
+Counter in file 0 52:8 -> 52:16, (#12 + ((#11 + (((#9 - #10) + ((((#7 - #8) + ((((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6)) - #7) + #8)) - #9) + #10)) - #11)) - #12))
+Counter in file 0 52:17 -> 54:6, #13
+Counter in file 0 54:6 -> 54:7, ((#12 + ((#11 + (((#9 - #10) + ((((#7 - #8) + ((((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6)) - #7) + #8)) - #9) + #10)) - #11)) - #12)) - #13)
+Counter in file 0 56:8 -> 56:15, (#13 + ((#12 + ((#11 + (((#9 - #10) + ((((#7 - #8) + ((((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6)) - #7) + #8)) - #9) + #10)) - #11)) - #12)) - #13))
+Counter in file 0 56:16 -> 58:6, #14
+Counter in file 0 58:12 -> 60:6, ((#13 + ((#12 + ((#11 + (((#9 - #10) + ((((#7 - #8) + ((((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6)) - #7) + #8)) - #9) + #10)) - #11)) - #12)) - #13)) - #14)
+Counter in file 0 61:1 -> 61:2, (#14 + ((#13 + ((#12 + ((#11 + (((#9 - #10) + ((((#7 - #8) + ((((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6)) - #7) + #8)) - #9) + #10)) - #11)) - #12)) - #13)) - #14))
 Emitting segments for file: ../coverage/lazy_boolean.rs
 Combined regions:
   7:9 -> 9:42 (count=1)
diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.loops_and_branches.txt b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.loops_and_branches.txt
index 7cde2205cbf..171b77c9cc7 100644
--- a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.loops_and_branches.txt
+++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.loops_and_branches.txt
@@ -1,12 +1,12 @@
 Args: /usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/llvm/build/bin/llvm-cov show --debug --Xdemangler=/usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/stage0-tools-bin/rust-demangler --show-line-counts-or-regions --instr-profile=/usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/coverage-reports-base/coverage-reports-base/loops_and_branches.profdata /usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/coverage-reports-base/coverage-reports-base/loops_and_branches 
 Counter in file 0 10:12 -> 10:16, #1
 Counter in file 0 11:16 -> 11:21, #2
-Counter in file 0 14:14 -> 14:15, #6
-Counter in file 0 15:13 -> 15:31, #7
-Counter in file 0 15:31 -> 15:32, #8
-Counter in file 0 17:10 -> 17:11, #10
-Counter in file 0 18:9 -> 18:15, #11
-Counter in file 0 19:5 -> 19:6, #12
+Counter in file 0 14:14 -> 14:15, (#2 - #5)
+Counter in file 0 15:13 -> 15:31, (0 + (#2 - #5))
+Counter in file 0 15:31 -> 15:32, #4
+Counter in file 0 17:10 -> 17:11, #3
+Counter in file 0 18:9 -> 18:15, (#3 + 0)
+Counter in file 0 19:5 -> 19:6, (#4 + (#3 + 0))
 Counter in file 0 22:11 -> 25:2, #1
 Emitting segments for file: ../coverage/loops_and_branches.rs
 Combined regions:
diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.nested_loops.txt b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.nested_loops.txt
index 59fb5c366f2..ac376c4f36a 100644
--- a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.nested_loops.txt
+++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.nested_loops.txt
@@ -1,22 +1,22 @@
 Args: /usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/llvm/build/bin/llvm-cov show --debug --Xdemangler=/usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/stage0-tools-bin/rust-demangler --show-line-counts-or-regions --instr-profile=/usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/coverage-reports-base/coverage-reports-base/nested_loops.profdata /usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/coverage-reports-base/coverage-reports-base/nested_loops 
 Counter in file 0 2:9 -> 3:27, #1
-Counter in file 0 5:19 -> 5:32, #2
-Counter in file 0 6:13 -> 7:24, #3
-Counter in file 0 8:13 -> 8:14, #4
-Counter in file 0 8:18 -> 8:23, #5
-Counter in file 0 9:16 -> 9:22, (#4 + 0)
-Counter in file 0 10:17 -> 10:22, #6
-Counter in file 0 12:13 -> 12:19, #7
-Counter in file 0 13:13 -> 13:19, #8
-Counter in file 0 14:16 -> 14:22, (#8 + 0)
-Counter in file 0 15:17 -> 16:27, #9
-Counter in file 0 17:21 -> 17:33, #10
-Counter in file 0 19:21 -> 21:14, #11
-Counter in file 0 21:14 -> 21:15, #12
-Counter in file 0 22:10 -> 22:11, #13
-Counter in file 0 23:9 -> 23:23, #14
-Counter in file 0 24:6 -> 24:7, #15
-Counter in file 0 25:1 -> 25:2, #16
+Counter in file 0 5:19 -> 5:32, (#1 + #2)
+Counter in file 0 6:13 -> 7:24, ((#1 + #2) - #3)
+Counter in file 0 8:13 -> 8:14, ((((#1 + #2) - #3) + (#5 + #6)) - #7)
+Counter in file 0 8:18 -> 8:23, (((#1 + #2) - #3) + (#5 + #6))
+Counter in file 0 9:16 -> 9:22, (((((#1 + #2) - #3) + (#5 + #6)) - #7) + 0)
+Counter in file 0 10:17 -> 10:22, #8
+Counter in file 0 12:13 -> 12:19, #9
+Counter in file 0 13:13 -> 13:19, #10
+Counter in file 0 14:16 -> 14:22, (#10 + 0)
+Counter in file 0 15:17 -> 16:27, #11
+Counter in file 0 17:21 -> 17:33, #4
+Counter in file 0 19:21 -> 21:14, #5
+Counter in file 0 21:14 -> 21:15, #6
+Counter in file 0 22:10 -> 22:11, (#5 + #6)
+Counter in file 0 23:9 -> 23:23, #2
+Counter in file 0 24:6 -> 24:7, #3
+Counter in file 0 25:1 -> 25:2, (#4 + #3)
 Emitting segments for file: ../coverage/nested_loops.rs
 Combined regions:
   2:9 -> 3:27 (count=1)
diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.simple_loop.txt b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.simple_loop.txt
index d828e40ca3f..148768f423b 100644
--- a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.simple_loop.txt
+++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.simple_loop.txt
@@ -2,12 +2,12 @@ Args: /usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/llvm/
 Counter in file 0 7:9 -> 9:26, #1
 Counter in file 0 12:9 -> 12:16, (#1 + 0)
 Counter in file 0 13:5 -> 18:6, #2
-Counter in file 0 18:6 -> 18:7, #3
-Counter in file 0 23:13 -> 25:14, #4
-Counter in file 0 27:13 -> 27:18, #5
-Counter in file 0 30:9 -> 32:10, #6
-Counter in file 0 34:6 -> 34:7, #7
-Counter in file 0 35:1 -> 35:2, (#5 + 0)
+Counter in file 0 18:6 -> 18:7, (#1 - #2)
+Counter in file 0 23:13 -> 25:14, ((#2 + (#1 - #2)) + #3)
+Counter in file 0 27:13 -> 27:18, #4
+Counter in file 0 30:9 -> 32:10, #3
+Counter in file 0 34:6 -> 34:7, (#2 + (#1 - #2))
+Counter in file 0 35:1 -> 35:2, (#4 + 0)
 Emitting segments for file: ../coverage/simple_loop.rs
 Combined regions:
   7:9 -> 9:26 (count=1)
diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.simple_match.txt b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.simple_match.txt
index e7932e0be04..2a3c004fa7a 100644
--- a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.simple_match.txt
+++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.simple_match.txt
@@ -2,18 +2,18 @@ Args: /usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/llvm/
 Counter in file 0 7:9 -> 9:26, #1
 Counter in file 0 10:8 -> 10:15, (#1 + 0)
 Counter in file 0 10:16 -> 12:6, #2
-Counter in file 0 12:6 -> 12:7, #3
-Counter in file 0 15:9 -> 15:10, #4
-Counter in file 0 17:9 -> 17:13, #5
-Counter in file 0 22:13 -> 22:22, (#4 + 0)
-Counter in file 0 24:13 -> 24:14, #6
-Counter in file 0 26:17 -> 28:18, (#4 + 0)
-Counter in file 0 28:18 -> 28:19, #7
-Counter in file 0 30:13 -> 37:14, (#6 + 0)
-Counter in file 0 40:13 -> 40:15, #8
-Counter in file 0 42:6 -> 42:7, #9
-Counter in file 0 42:6 -> 42:7, #10
-Counter in file 0 43:1 -> 43:2, #11
+Counter in file 0 12:6 -> 12:7, (#1 - #2)
+Counter in file 0 15:9 -> 15:10, (((#2 + (#1 - #2)) + (#3 + #4)) - #5)
+Counter in file 0 17:9 -> 17:13, ((#2 + (#1 - #2)) + (#3 + #4))
+Counter in file 0 22:13 -> 22:22, ((((#2 + (#1 - #2)) + (#3 + #4)) - #5) + 0)
+Counter in file 0 24:13 -> 24:14, #3
+Counter in file 0 26:17 -> 28:18, ((((#2 + (#1 - #2)) + (#3 + #4)) - #5) + 0)
+Counter in file 0 28:18 -> 28:19, ((((#2 + (#1 - #2)) + (#3 + #4)) - #5) - #3)
+Counter in file 0 30:13 -> 37:14, (#3 + 0)
+Counter in file 0 40:13 -> 40:15, #4
+Counter in file 0 42:6 -> 42:7, (#2 + (#1 - #2))
+Counter in file 0 42:6 -> 42:7, (#3 + #4)
+Counter in file 0 43:1 -> 43:2, #5
 Emitting segments for file: ../coverage/simple_match.rs
 Combined regions:
   7:9 -> 9:26 (count=1)
diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.tight_infinite_loop.txt b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.tight_infinite_loop.txt
index a690874e3c0..5180ddd7de6 100644
--- a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.tight_infinite_loop.txt
+++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.tight_infinite_loop.txt
@@ -1,6 +1,6 @@
 Args: /usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/llvm/build/bin/llvm-cov show --debug --Xdemangler=/usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/stage0-tools-bin/rust-demangler --show-line-counts-or-regions --instr-profile=/usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/coverage-reports-base/coverage-reports-base/tight_infinite_loop.profdata /usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/coverage-reports-base/coverage-reports-base/tight_infinite_loop 
 Counter in file 0 2:8 -> 2:13, #1
-Counter in file 0 5:1 -> 5:2, #4
+Counter in file 0 5:1 -> 5:2, (#1 - #2)
 Emitting segments for file: ../coverage/tight_infinite_loop.rs
 Combined regions:
   2:8 -> 2:13 (count=1)
diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.try_error_result.txt b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.try_error_result.txt
index 7dea637551d..30109a1e200 100644
--- a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.try_error_result.txt
+++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.try_error_result.txt
@@ -1,22 +1,21 @@
 Args: /usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/llvm/build/bin/llvm-cov show --debug --Xdemangler=/usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/stage0-tools-bin/rust-demangler --show-line-counts-or-regions --instr-profile=/usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/coverage-reports-base/coverage-reports-base/try_error_result.profdata /usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/coverage-reports-base/coverage-reports-base/try_error_result 
 Counter in file 0 13:9 -> 14:23, #1
-Counter in file 0 17:9 -> 17:10, #2
-Counter in file 0 19:9 -> 19:14, #3
-Counter in file 0 21:9 -> 25:26, #4
-Counter in file 0 27:13 -> 27:41, #5
-Counter in file 0 27:41 -> 27:42, #6
-Counter in file 0 31:13 -> 31:42, #7
-Counter in file 0 31:42 -> 31:43, #8
-Counter in file 0 32:10 -> 32:11, #9
-Counter in file 0 32:10 -> 32:11, #10
-Counter in file 0 33:6 -> 33:7, #11
-Counter in file 0 34:5 -> 34:11, #12
-Counter in file 0 35:1 -> 35:2, #13
-Counter in file 0 35:1 -> 35:2, #14
+Counter in file 0 17:9 -> 17:10, ((#1 + (#2 + #3)) - #4)
+Counter in file 0 19:9 -> 19:14, (#1 + (#2 + #3))
+Counter in file 0 21:9 -> 25:26, #7
+Counter in file 0 27:13 -> 27:41, #8
+Counter in file 0 27:41 -> 27:42, #5
+Counter in file 0 31:13 -> 31:42, (#7 - #8)
+Counter in file 0 31:42 -> 31:43, #6
+Counter in file 0 32:10 -> 32:11, #2
+Counter in file 0 32:10 -> 32:11, #3
+Counter in file 0 33:6 -> 33:7, (#2 + #3)
+Counter in file 0 34:5 -> 34:11, #4
+Counter in file 0 35:1 -> 35:2, ((#5 + #6) + #4)
 Counter in file 0 5:8 -> 5:20, #1
 Counter in file 0 6:9 -> 6:16, #2
-Counter in file 0 8:9 -> 8:15, #3
-Counter in file 0 10:1 -> 10:2, #4
+Counter in file 0 8:9 -> 8:15, (#1 - #2)
+Counter in file 0 10:1 -> 10:2, (#2 + (#1 - #2))
 Emitting segments for file: ../coverage/try_error_result.rs
 Combined regions:
   5:8 -> 5:20 (count=6)
@@ -34,7 +33,7 @@ Combined regions:
   32:10 -> 32:11 (count=5)
   33:6 -> 33:7 (count=5)
   34:5 -> 34:11 (count=0)
-  35:1 -> 35:2 (count=2)
+  35:1 -> 35:2 (count=1)
 Segment at 5:8 (count = 6), RegionEntry
 Segment at 5:20 (count = 0), Skipped
 Segment at 6:9 (count = 1), RegionEntry
@@ -63,5 +62,5 @@ Segment at 33:6 (count = 5), RegionEntry
 Segment at 33:7 (count = 0), Skipped
 Segment at 34:5 (count = 0), RegionEntry
 Segment at 34:11 (count = 0), Skipped
-Segment at 35:1 (count = 2), RegionEntry
+Segment at 35:1 (count = 1), RegionEntry
 Segment at 35:2 (count = 0), Skipped
diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.various_conditions.txt b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.various_conditions.txt
index 0fb135b2cc9..b229410a495 100644
--- a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.various_conditions.txt
+++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.various_conditions.txt
@@ -2,73 +2,72 @@ Args: /usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/llvm/
 Counter in file 0 4:9 -> 4:26, #1
 Counter in file 0 5:8 -> 5:12, (#1 + 0)
 Counter in file 0 5:13 -> 7:6, #2
-Counter in file 0 10:9 -> 10:10, #4
-Counter in file 0 10:16 -> 10:29, #5
-Counter in file 0 11:9 -> 12:10, #6
-Counter in file 0 13:15 -> 13:28, #7
-Counter in file 0 14:12 -> 14:25, #8
-Counter in file 0 14:29 -> 14:42, #9
-Counter in file 0 14:42 -> 14:43, #10
-Counter in file 0 14:42 -> 14:43, #11
-Counter in file 0 14:46 -> 14:60, #12
-Counter in file 0 14:60 -> 14:61, #13
-Counter in file 0 14:60 -> 14:61, #14
-Counter in file 0 14:61 -> 16:10, #15
-Counter in file 0 16:10 -> 16:11, #16
-Counter in file 0 17:9 -> 18:18, #17
-Counter in file 0 20:9 -> 20:15, #18
-Counter in file 0 23:9 -> 23:26, (#4 + 0)
-Counter in file 0 24:8 -> 24:12, (#4 + 0)
-Counter in file 0 24:13 -> 26:6, #19
-Counter in file 0 28:8 -> 28:21, #21
-Counter in file 0 29:9 -> 29:23, #22
-Counter in file 0 30:15 -> 30:28, #23
-Counter in file 0 31:12 -> 31:25, #24
-Counter in file 0 31:29 -> 31:42, #25
-Counter in file 0 31:42 -> 31:43, #26
-Counter in file 0 31:42 -> 31:43, #27
-Counter in file 0 31:46 -> 31:60, #28
-Counter in file 0 31:60 -> 31:61, #29
-Counter in file 0 31:60 -> 31:61, #30
-Counter in file 0 31:61 -> 33:10, #31
-Counter in file 0 33:10 -> 33:11, #32
-Counter in file 0 34:9 -> 34:23, #33
-Counter in file 0 36:9 -> 36:15, #34
-Counter in file 0 39:9 -> 39:26, #35
-Counter in file 0 40:8 -> 40:12, (#35 + 0)
-Counter in file 0 40:13 -> 42:6, #36
-Counter in file 0 44:9 -> 44:10, #38
-Counter in file 0 44:16 -> 44:29, #39
-Counter in file 0 45:9 -> 45:23, #40
-Counter in file 0 46:15 -> 46:28, #41
-Counter in file 0 47:12 -> 47:25, #42
-Counter in file 0 47:29 -> 47:42, #43
-Counter in file 0 47:42 -> 47:43, #44
-Counter in file 0 47:42 -> 47:43, #45
-Counter in file 0 47:46 -> 47:60, #46
-Counter in file 0 47:60 -> 47:61, #47
-Counter in file 0 47:60 -> 47:61, #48
-Counter in file 0 47:61 -> 49:10, #49
-Counter in file 0 49:10 -> 49:11, #50
-Counter in file 0 50:9 -> 50:23, #51
-Counter in file 0 52:13 -> 54:15, #52
-Counter in file 0 57:9 -> 57:10, #53
-Counter in file 0 57:16 -> 57:29, (#38 + 0)
-Counter in file 0 58:9 -> 58:23, #54
-Counter in file 0 59:15 -> 59:28, #55
-Counter in file 0 60:12 -> 60:25, #56
-Counter in file 0 60:29 -> 60:42, #57
-Counter in file 0 60:42 -> 60:43, #58
-Counter in file 0 60:42 -> 60:43, #59
-Counter in file 0 60:46 -> 60:60, #60
-Counter in file 0 60:60 -> 60:61, #61
-Counter in file 0 60:60 -> 60:61, #62
-Counter in file 0 60:61 -> 62:10, #63
-Counter in file 0 62:10 -> 62:11, #64
-Counter in file 0 63:9 -> 63:23, #65
-Counter in file 0 65:9 -> 65:15, #66
-Counter in file 0 67:1 -> 67:2, #67
-Counter in file 0 67:1 -> 67:2, #68
+Counter in file 0 10:9 -> 10:10, (#4 + #11)
+Counter in file 0 10:16 -> 10:29, (#2 + 0)
+Counter in file 0 11:9 -> 12:10, #4
+Counter in file 0 13:15 -> 13:28, ((#2 + 0) - #3)
+Counter in file 0 14:12 -> 14:25, #5
+Counter in file 0 14:29 -> 14:42, (#5 - #13)
+Counter in file 0 14:42 -> 14:43, (#13 + #14)
+Counter in file 0 14:42 -> 14:43, ((#5 - #13) - #14)
+Counter in file 0 14:46 -> 14:60, #21
+Counter in file 0 14:60 -> 14:61, (#17 + #18)
+Counter in file 0 14:60 -> 14:61, (#21 - #18)
+Counter in file 0 14:61 -> 16:10, #22
+Counter in file 0 16:10 -> 16:11, #23
+Counter in file 0 17:9 -> 18:18, #11
+Counter in file 0 20:9 -> 20:15, (((#2 + 0) - #3) - #5)
+Counter in file 0 23:9 -> 23:26, ((#4 + #11) + 0)
+Counter in file 0 24:8 -> 24:12, ((#4 + #11) + 0)
+Counter in file 0 24:13 -> 26:6, #12
+Counter in file 0 28:8 -> 28:21, (#12 + 0)
+Counter in file 0 29:9 -> 29:23, #16
+Counter in file 0 30:15 -> 30:28, ((#12 + 0) - #15)
+Counter in file 0 31:12 -> 31:25, (((#12 + 0) - #15) - #8)
+Counter in file 0 31:29 -> 31:42, ((((#12 + 0) - #15) - #8) - #24)
+Counter in file 0 31:42 -> 31:43, (((((#12 + 0) - #15) - #8) - #24) - #25)
+Counter in file 0 31:42 -> 31:43, (#24 + #25)
+Counter in file 0 31:46 -> 31:60, #32
+Counter in file 0 31:60 -> 31:61, (#28 + #29)
+Counter in file 0 31:60 -> 31:61, (#32 - #29)
+Counter in file 0 31:61 -> 33:10, #33
+Counter in file 0 33:10 -> 33:11, #34
+Counter in file 0 34:9 -> 34:23, #19
+Counter in file 0 36:9 -> 36:15, #8
+Counter in file 0 39:9 -> 39:26, (#16 + #19)
+Counter in file 0 40:8 -> 40:12, ((#16 + #19) + 0)
+Counter in file 0 40:13 -> 42:6, #20
+Counter in file 0 44:9 -> 44:10, (#27 + #30)
+Counter in file 0 44:16 -> 44:29, (#20 + 0)
+Counter in file 0 45:9 -> 45:23, #27
+Counter in file 0 46:15 -> 46:28, ((#20 + 0) - #26)
+Counter in file 0 47:12 -> 47:25, (((#20 + 0) - #26) - #7)
+Counter in file 0 47:29 -> 47:42, ((((#20 + 0) - #26) - #7) - #35)
+Counter in file 0 47:42 -> 47:43, (#35 + #36)
+Counter in file 0 47:42 -> 47:43, (((((#20 + 0) - #26) - #7) - #35) - #36)
+Counter in file 0 47:46 -> 47:60, #41
+Counter in file 0 47:60 -> 47:61, (#37 + #38)
+Counter in file 0 47:60 -> 47:61, (#41 - #38)
+Counter in file 0 47:61 -> 49:10, #42
+Counter in file 0 49:10 -> 49:11, #43
+Counter in file 0 50:9 -> 50:23, #30
+Counter in file 0 52:13 -> 54:15, #7
+Counter in file 0 57:9 -> 57:10, (#9 + #10)
+Counter in file 0 57:16 -> 57:29, ((#27 + #30) + 0)
+Counter in file 0 58:9 -> 58:23, #9
+Counter in file 0 59:15 -> 59:28, ((#27 + #30) - #31)
+Counter in file 0 60:12 -> 60:25, (((#27 + #30) - #31) - #6)
+Counter in file 0 60:29 -> 60:42, ((((#27 + #30) - #31) - #6) - #39)
+Counter in file 0 60:42 -> 60:43, (#39 + #40)
+Counter in file 0 60:42 -> 60:43, (((((#27 + #30) - #31) - #6) - #39) - #40)
+Counter in file 0 60:46 -> 60:60, #46
+Counter in file 0 60:60 -> 60:61, (#46 - #45)
+Counter in file 0 60:60 -> 60:61, (#44 + #45)
+Counter in file 0 60:61 -> 62:10, #47
+Counter in file 0 62:10 -> 62:11, #48
+Counter in file 0 63:9 -> 63:23, #10
+Counter in file 0 65:9 -> 65:15, #6
+Counter in file 0 67:1 -> 67:2, ((#9 + #10) + (((#6 + #7) + #8) + (((#2 + 0) - #3) - #5)))
 Emitting segments for file: ../coverage/various_conditions.rs
 Combined regions:
   4:9 -> 4:26 (count=1)
@@ -131,7 +130,7 @@ Combined regions:
   62:10 -> 62:11 (count=0)
   63:9 -> 63:23 (count=0)
   65:9 -> 65:15 (count=0)
-  67:1 -> 67:2 (count=2)
+  67:1 -> 67:2 (count=1)
 Segment at 4:9 (count = 1), RegionEntry
 Segment at 4:26 (count = 0), Skipped
 Segment at 5:8 (count = 1), RegionEntry
@@ -236,5 +235,5 @@ Segment at 63:9 (count = 0), RegionEntry
 Segment at 63:23 (count = 0), Skipped
 Segment at 65:9 (count = 0), RegionEntry
 Segment at 65:15 (count = 0), Skipped
-Segment at 67:1 (count = 2), RegionEntry
+Segment at 67:1 (count = 1), RegionEntry
 Segment at 67:2 (count = 0), Skipped
diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.while.txt b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.while.txt
index a2be958660e..d496805955f 100644
--- a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.while.txt
+++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.while.txt
@@ -1,8 +1,8 @@
 Args: /usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/llvm/build/bin/llvm-cov show --debug --Xdemangler=/usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/stage0-tools-bin/rust-demangler --show-line-counts-or-regions --instr-profile=/usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/coverage-reports-base/coverage-reports-base/while.profdata /usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/coverage-reports-base/coverage-reports-base/while 
 Counter in file 0 2:9 -> 2:16, #1
-Counter in file 0 3:11 -> 3:20, #2
-Counter in file 0 3:21 -> 4:6, #3
-Counter in file 0 5:1 -> 5:2, #4
+Counter in file 0 3:11 -> 3:20, (#1 + #2)
+Counter in file 0 3:21 -> 4:6, #2
+Counter in file 0 5:1 -> 5:2, ((#1 + #2) - #2)
 Emitting segments for file: ../coverage/while.rs
 Combined regions:
   2:9 -> 2:16 (count=1)
diff --git a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.while_early_return.txt b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.while_early_return.txt
index 02ab24050ba..a343f5056ac 100644
--- a/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.while_early_return.txt
+++ b/src/test/run-make-fulldeps/coverage-reports-base/expected_show_coverage_counters.while_early_return.txt
@@ -1,14 +1,13 @@
 Args: /usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/llvm/build/bin/llvm-cov show --debug --Xdemangler=/usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/stage0-tools-bin/rust-demangler --show-line-counts-or-regions --instr-profile=/usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/coverage-reports-base/coverage-reports-base/while_early_return.profdata /usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/coverage-reports-base/coverage-reports-base/while_early_return 
 Counter in file 0 5:9 -> 5:27, #1
-Counter in file 0 7:9 -> 9:10, #2
-Counter in file 0 12:13 -> 14:14, #3
-Counter in file 0 18:21 -> 20:22, #4
-Counter in file 0 22:21 -> 22:27, #5
-Counter in file 0 26:21 -> 26:27, #6
-Counter in file 0 30:9 -> 32:10, #7
-Counter in file 0 35:5 -> 35:11, #8
-Counter in file 0 36:1 -> 36:2, #9
-Counter in file 0 36:1 -> 36:2, #10
+Counter in file 0 7:9 -> 9:10, (#1 + #2)
+Counter in file 0 12:13 -> 14:14, ((#1 + #2) - #3)
+Counter in file 0 18:21 -> 20:22, #6
+Counter in file 0 22:21 -> 22:27, #4
+Counter in file 0 26:21 -> 26:27, #5
+Counter in file 0 30:9 -> 32:10, #2
+Counter in file 0 35:5 -> 35:11, #3
+Counter in file 0 36:1 -> 36:2, ((#4 + #5) + #3)
 Emitting segments for file: ../coverage/while_early_return.rs
 Combined regions:
   5:9 -> 5:27 (count=1)
@@ -19,7 +18,7 @@ Combined regions:
   26:21 -> 26:27 (count=1)
   30:9 -> 32:10 (count=6)
   35:5 -> 35:11 (count=0)
-  36:1 -> 36:2 (count=2)
+  36:1 -> 36:2 (count=1)
 Segment at 5:9 (count = 1), RegionEntry
 Segment at 5:27 (count = 0), Skipped
 Segment at 7:9 (count = 7), RegionEntry
@@ -36,5 +35,5 @@ Segment at 30:9 (count = 6), RegionEntry
 Segment at 32:10 (count = 0), Skipped
 Segment at 35:5 (count = 0), RegionEntry
 Segment at 35:11 (count = 0), Skipped
-Segment at 36:1 (count = 2), RegionEntry
+Segment at 36:1 (count = 1), RegionEntry
 Segment at 36:2 (count = 0), Skipped
diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.drop_trait.json b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.drop_trait.json
index 7a7e4c04f00..bd2e2d56d4a 100644
--- a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.drop_trait.json
+++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.drop_trait.json
@@ -21,8 +21,8 @@
               "percent": 100
             },
             "regions": {
-              "count": 6,
-              "covered": 6,
+              "count": 5,
+              "covered": 5,
               "notcovered": 0,
               "percent": 100
             }
@@ -46,8 +46,8 @@
           "percent": 100
         },
         "regions": {
-          "count": 6,
-          "covered": 6,
+          "count": 5,
+          "covered": 5,
           "notcovered": 0,
           "percent": 100
         }
diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.generics.json b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.generics.json
index 1025cd3de80..a50f4657e20 100644
--- a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.generics.json
+++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.generics.json
@@ -21,8 +21,8 @@
               "percent": 100
             },
             "regions": {
-              "count": 7,
-              "covered": 7,
+              "count": 6,
+              "covered": 6,
               "notcovered": 0,
               "percent": 100
             }
@@ -46,8 +46,8 @@
           "percent": 100
         },
         "regions": {
-          "count": 7,
-          "covered": 7,
+          "count": 6,
+          "covered": 6,
           "notcovered": 0,
           "percent": 100
         }
diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.if_else.json b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.if_else.json
index 2d2ad1dbe3f..36f81ceae19 100644
--- a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.if_else.json
+++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.if_else.json
@@ -16,15 +16,15 @@
               "percent": 100
             },
             "lines": {
-              "count": 29,
-              "covered": 21,
-              "percent": 72.41379310344827
+              "count": 28,
+              "covered": 19,
+              "percent": 67.85714285714286
             },
             "regions": {
-              "count": 9,
-              "covered": 7,
+              "count": 7,
+              "covered": 5,
               "notcovered": 2,
-              "percent": 77.77777777777779
+              "percent": 71.42857142857143
             }
           }
         }
@@ -41,15 +41,15 @@
           "percent": 100
         },
         "lines": {
-          "count": 29,
-          "covered": 21,
-          "percent": 72.41379310344827
+          "count": 28,
+          "covered": 19,
+          "percent": 67.85714285714286
         },
         "regions": {
-          "count": 9,
-          "covered": 7,
+          "count": 7,
+          "covered": 5,
           "notcovered": 2,
-          "percent": 77.77777777777779
+          "percent": 71.42857142857143
         }
       }
     }
diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.try_error_result.json b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.try_error_result.json
index 39e17359eee..929e769b50a 100644
--- a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.try_error_result.json
+++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.try_error_result.json
@@ -21,10 +21,10 @@
               "percent": 94.73684210526315
             },
             "regions": {
-              "count": 18,
-              "covered": 15,
+              "count": 17,
+              "covered": 14,
               "notcovered": 3,
-              "percent": 83.33333333333334
+              "percent": 82.35294117647058
             }
           }
         }
@@ -46,10 +46,10 @@
           "percent": 94.73684210526315
         },
         "regions": {
-          "count": 18,
-          "covered": 15,
+          "count": 17,
+          "covered": 14,
           "notcovered": 3,
-          "percent": 83.33333333333334
+          "percent": 82.35294117647058
         }
       }
     }
diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.various_conditions.json b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.various_conditions.json
index 464bb614ea1..d93458b6143 100644
--- a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.various_conditions.json
+++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.various_conditions.json
@@ -21,10 +21,10 @@
               "percent": 46.93877551020408
             },
             "regions": {
-              "count": 70,
-              "covered": 19,
+              "count": 69,
+              "covered": 18,
               "notcovered": 51,
-              "percent": 27.142857142857142
+              "percent": 26.08695652173913
             }
           }
         }
@@ -46,10 +46,10 @@
           "percent": 46.93877551020408
         },
         "regions": {
-          "count": 70,
-          "covered": 19,
+          "count": 69,
+          "covered": 18,
           "notcovered": 51,
-          "percent": 27.142857142857142
+          "percent": 26.08695652173913
         }
       }
     }
diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.while_early_return.json b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.while_early_return.json
index a116a91a60a..a9e01604ccd 100644
--- a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.while_early_return.json
+++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_export_coverage.while_early_return.json
@@ -21,10 +21,10 @@
               "percent": 88.23529411764706
             },
             "regions": {
-              "count": 10,
-              "covered": 8,
+              "count": 9,
+              "covered": 7,
               "notcovered": 2,
-              "percent": 80
+              "percent": 77.77777777777779
             }
           }
         }
@@ -46,10 +46,10 @@
           "percent": 88.23529411764706
         },
         "regions": {
-          "count": 10,
-          "covered": 8,
+          "count": 9,
+          "covered": 7,
           "notcovered": 2,
-          "percent": 80
+          "percent": 77.77777777777779
         }
       }
     }
diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.drop_trait.txt b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.drop_trait.txt
index 43592df1059..72aa020ca16 100644
--- a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.drop_trait.txt
+++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.drop_trait.txt
@@ -24,7 +24,7 @@
    24|       |    let _ = Firework { strength: 1000 };
    25|       |
    26|       |    Ok(())
-   27|      2|}
+   27|      1|}
    28|       |
    29|       |// Expected program output:
    30|       |//   Exiting with error...
diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.generics.txt b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.generics.txt
index 11dc0aa65e2..86199d74763 100644
--- a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.generics.txt
+++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.generics.txt
@@ -57,7 +57,7 @@
    35|       |    let _ = Firework { strength: 1000 };
    36|       |
    37|       |    Ok(())
-   38|      2|}
+   38|      1|}
    39|       |
    40|       |// Expected program output:
    41|       |//   Exiting with error...
diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.if_else.txt b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.if_else.txt
index 64cbc262521..5f899723e25 100644
--- a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.if_else.txt
+++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.if_else.txt
@@ -20,7 +20,7 @@
    20|      0|        countdown
    21|      0|        =
    22|      0|            100
-   23|      1|    }
+   23|       |    }
    24|       |
    25|       |    if
    26|      1|        is_true
@@ -36,6 +36,6 @@
    36|      0|        =
    37|      0|            100
    38|      0|        ;
-   39|      1|    }
+   39|      0|    }
    40|      1|}
 
diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.try_error_result.txt b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.try_error_result.txt
index c43b492db60..94c63c9a2b9 100644
--- a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.try_error_result.txt
+++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.try_error_result.txt
@@ -33,5 +33,5 @@
    32|      5|        }
    33|      5|    }
    34|      0|    Ok(())
-   35|      2|}
+   35|      1|}
 
diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.various_conditions.txt b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.various_conditions.txt
index e0efe75043d..173ff4aa4c4 100644
--- a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.various_conditions.txt
+++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.various_conditions.txt
@@ -65,5 +65,5 @@
    64|       |    } else {
    65|      0|        return;
    66|       |    };
-   67|      2|}
+   67|      1|}
 
diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.while_early_return.txt b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.while_early_return.txt
index e5c5b05a6fc..26041136d2f 100644
--- a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.while_early_return.txt
+++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage.while_early_return.txt
@@ -33,7 +33,7 @@
    33|       |        ;
    34|       |    }
    35|      0|    Ok(())
-   36|      2|}
+   36|      1|}
    37|       |
    38|       |// ISSUE(77553): Originally, this test had `Err(1)` on line 22 (instead of `Ok(())`) and
    39|       |// `std::process::exit(2)` on line 26 (instead of `Err(1)`); and this worked as expected on Linux
diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.closure.txt b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.closure.txt
index 39bf7bad9a1..d443ba0aba3 100644
--- a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.closure.txt
+++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.closure.txt
@@ -2,8 +2,8 @@ Args: /usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/llvm/
 Counter in file 0 20:21 -> 20:38, #1
 Counter in file 0 21:20 -> 21:28, (#1 + 0)
 Counter in file 0 21:29 -> 23:18, #2
-Counter in file 0 23:18 -> 23:19, #3
-Counter in file 0 24:17 -> 25:14, #4
+Counter in file 0 23:18 -> 23:19, (#1 - #2)
+Counter in file 0 24:17 -> 25:14, (#2 + (#1 - #2))
 Counter in file 0 3:11 -> 18:13, #1
 Counter in file 0 25:14 -> 33:9, (#1 + 0)
 Counter in file 0 40:6 -> 60:13, (#1 + 0)
@@ -12,18 +12,18 @@ Counter in file 0 82:6 -> 93:2, (#1 + 0)
 Counter in file 0 77:13 -> 77:30, #1
 Counter in file 0 78:12 -> 78:20, (#1 + 0)
 Counter in file 0 78:21 -> 80:10, #2
-Counter in file 0 80:10 -> 80:11, #3
-Counter in file 0 81:9 -> 82:6, #4
+Counter in file 0 80:10 -> 80:11, (#1 - #2)
+Counter in file 0 81:9 -> 82:6, (#2 + (#1 - #2))
 Counter in file 0 62:21 -> 62:38, #1
 Counter in file 0 63:20 -> 63:28, (#1 + 0)
 Counter in file 0 63:29 -> 65:18, #2
-Counter in file 0 65:18 -> 65:19, #3
-Counter in file 0 66:17 -> 67:14, #4
+Counter in file 0 65:18 -> 65:19, (#1 - #2)
+Counter in file 0 66:17 -> 67:14, (#2 + (#1 - #2))
 Counter in file 0 35:13 -> 35:30, #1
 Counter in file 0 36:12 -> 36:20, (#1 + 0)
 Counter in file 0 36:21 -> 38:10, #2
-Counter in file 0 38:10 -> 38:11, #3
-Counter in file 0 39:9 -> 40:6, #4
+Counter in file 0 38:10 -> 38:11, (#1 - #2)
+Counter in file 0 39:9 -> 40:6, (#2 + (#1 - #2))
 Emitting segments for file: ../coverage/closure.rs
 Combined regions:
   3:11 -> 18:13 (count=1)
diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.drop_trait.txt b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.drop_trait.txt
index 124a01af342..08fbbd13adb 100644
--- a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.drop_trait.txt
+++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.drop_trait.txt
@@ -3,7 +3,7 @@ Counter in file 0 9:24 -> 11:6, #1
 Counter in file 0 15:9 -> 17:42, #1
 Counter in file 0 19:8 -> 19:12, (#1 + 0)
 Counter in file 0 20:9 -> 21:22, #2
-Counter in file 0 27:1 -> 27:2, #4
+Counter in file 0 27:1 -> 27:2, (#2 + 0)
 Emitting segments for file: ../coverage/drop_trait.rs
 Combined regions:
   9:24 -> 11:6 (count=2)
diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.generics.txt b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.generics.txt
index a0e9146035e..eb707c5e7ac 100644
--- a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.generics.txt
+++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.generics.txt
@@ -4,7 +4,7 @@ Counter in file 0 17:24 -> 19:6, #1
 Counter in file 0 23:9 -> 28:28, #1
 Counter in file 0 30:8 -> 30:12, (#1 + 0)
 Counter in file 0 31:9 -> 32:22, #2
-Counter in file 0 38:1 -> 38:2, #4
+Counter in file 0 38:1 -> 38:2, (#2 + 0)
 Counter in file 0 10:49 -> 12:6, #1
 Counter in file 0 10:49 -> 12:6, #1
 Emitting segments for file: ../coverage/generics.rs
diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.if.txt b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.if.txt
index 325e6985e30..d186f440ddb 100644
--- a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.if.txt
+++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.if.txt
@@ -2,8 +2,8 @@ Args: /usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/llvm/
 Counter in file 0 8:5 -> 18:10, #1
 Counter in file 0 21:9 -> 21:16, (#1 + 0)
 Counter in file 0 22:5 -> 27:6, #2
-Counter in file 0 27:6 -> 27:7, #3
-Counter in file 0 28:1 -> 28:2, #4
+Counter in file 0 27:6 -> 27:7, (#1 - #2)
+Counter in file 0 28:1 -> 28:2, (#2 + (#1 - #2))
 Emitting segments for file: ../coverage/if.rs
 Combined regions:
   8:5 -> 18:10 (count=1)
diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.if_else.txt b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.if_else.txt
index 9406b6a269d..8220060f26f 100644
--- a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.if_else.txt
+++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.if_else.txt
@@ -1,11 +1,11 @@
 Args: /usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/llvm/build/bin/llvm-cov show --debug --Xdemangler=/usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/stage0-tools-bin/rust-demangler --show-line-counts-or-regions --instr-profile=/usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/coverage-reports-deadcode/coverage-reports-deadcode/if_else.profdata /usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/coverage-reports-deadcode/coverage-reports-deadcode/if_else 
 Counter in file 0 7:9 -> 11:16, #1
 Counter in file 0 12:5 -> 17:6, #2
-Counter in file 0 20:9 -> 22:16, #3
-Counter in file 0 26:9 -> 26:16, #4
-Counter in file 0 27:5 -> 32:6, #5
-Counter in file 0 34:5 -> 39:6, #6
-Counter in file 0 40:1 -> 40:2, #7
+Counter in file 0 20:9 -> 22:16, (#1 - #2)
+Counter in file 0 26:9 -> 26:16, (#2 + (#1 - #2))
+Counter in file 0 27:5 -> 32:6, #3
+Counter in file 0 34:5 -> 39:6, ((#2 + (#1 - #2)) - #3)
+Counter in file 0 40:1 -> 40:2, (#3 + ((#2 + (#1 - #2)) - #3))
 Emitting segments for file: ../coverage/if_else.rs
 Combined regions:
   7:9 -> 11:16 (count=1)
diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.inner_items.txt b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.inner_items.txt
index ea6db9452a7..c173cc20f81 100644
--- a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.inner_items.txt
+++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.inner_items.txt
@@ -6,11 +6,11 @@ Counter in file 0 21:9 -> 22:6, (#2 + 0)
 Counter in file 0 7:9 -> 9:26, #1
 Counter in file 0 10:8 -> 10:15, (#1 + 0)
 Counter in file 0 10:16 -> 12:6, #2
-Counter in file 0 12:6 -> 12:7, #3
-Counter in file 0 48:8 -> 48:15, #4
-Counter in file 0 48:16 -> 50:6, #5
-Counter in file 0 50:6 -> 50:7, #6
-Counter in file 0 52:9 -> 57:2, #7
+Counter in file 0 12:6 -> 12:7, (#1 - #2)
+Counter in file 0 48:8 -> 48:15, (#2 + (#1 - #2))
+Counter in file 0 48:16 -> 50:6, #3
+Counter in file 0 50:6 -> 50:7, ((#2 + (#1 - #2)) - #3)
+Counter in file 0 52:9 -> 57:2, (#3 + ((#2 + (#1 - #2)) - #3))
 Counter in file 0 33:42 -> 36:10, #1
 Counter in file 0 41:37 -> 41:41, #1
 Counter in file 0 42:13 -> 43:10, #2
diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.lazy_boolean.txt b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.lazy_boolean.txt
index c95275c6223..191a3a58355 100644
--- a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.lazy_boolean.txt
+++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.lazy_boolean.txt
@@ -2,40 +2,40 @@ Args: /usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/llvm/
 Counter in file 0 7:9 -> 9:42, #1
 Counter in file 0 10:8 -> 10:15, (#1 + 0)
 Counter in file 0 10:16 -> 14:6, #2
-Counter in file 0 14:6 -> 14:7, #3
-Counter in file 0 16:9 -> 16:17, #4
-Counter in file 0 18:13 -> 18:18, #5
-Counter in file 0 20:13 -> 20:18, #6
-Counter in file 0 20:18 -> 20:19, #7
-Counter in file 0 20:18 -> 20:19, #8
-Counter in file 0 23:9 -> 23:17, #9
-Counter in file 0 25:13 -> 25:18, (#4 + 0)
-Counter in file 0 27:13 -> 27:18, #10
-Counter in file 0 27:18 -> 27:19, #11
-Counter in file 0 27:18 -> 27:19, #12
-Counter in file 0 29:9 -> 29:17, #13
-Counter in file 0 29:20 -> 29:25, (#9 + 0)
-Counter in file 0 29:29 -> 29:34, #14
-Counter in file 0 29:34 -> 29:35, #15
-Counter in file 0 29:34 -> 29:35, #16
-Counter in file 0 30:9 -> 30:17, #17
-Counter in file 0 30:20 -> 30:25, (#13 + 0)
-Counter in file 0 30:29 -> 30:34, #18
-Counter in file 0 30:34 -> 30:35, #19
-Counter in file 0 30:34 -> 30:35, #20
-Counter in file 0 33:9 -> 34:16, (#17 + 0)
-Counter in file 0 35:5 -> 38:6, #21
-Counter in file 0 38:6 -> 38:7, #22
-Counter in file 0 41:9 -> 41:16, #23
-Counter in file 0 42:5 -> 45:6, #24
-Counter in file 0 47:5 -> 50:6, #25
-Counter in file 0 52:8 -> 52:16, #26
-Counter in file 0 52:17 -> 54:6, #27
-Counter in file 0 54:6 -> 54:7, #28
-Counter in file 0 56:8 -> 56:15, #29
-Counter in file 0 56:16 -> 58:6, #30
-Counter in file 0 58:12 -> 60:6, #31
-Counter in file 0 61:1 -> 61:2, #32
+Counter in file 0 14:6 -> 14:7, (#1 - #2)
+Counter in file 0 16:9 -> 16:17, ((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4))
+Counter in file 0 18:13 -> 18:18, (#2 + (#1 - #2))
+Counter in file 0 20:13 -> 20:18, ((#2 + (#1 - #2)) - #3)
+Counter in file 0 20:18 -> 20:19, (#3 + #4)
+Counter in file 0 20:18 -> 20:19, (((#2 + (#1 - #2)) - #3) - #4)
+Counter in file 0 23:9 -> 23:17, ((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6))
+Counter in file 0 25:13 -> 25:18, (((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) + 0)
+Counter in file 0 27:13 -> 27:18, (((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5)
+Counter in file 0 27:18 -> 27:19, (#5 + #6)
+Counter in file 0 27:18 -> 27:19, ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6)
+Counter in file 0 29:9 -> 29:17, ((#7 - #8) + ((((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6)) - #7) + #8))
+Counter in file 0 29:20 -> 29:25, (((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6)) + 0)
+Counter in file 0 29:29 -> 29:34, #7
+Counter in file 0 29:34 -> 29:35, ((((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6)) - #7) + #8)
+Counter in file 0 29:34 -> 29:35, (#7 - #8)
+Counter in file 0 30:9 -> 30:17, ((#9 - #10) + ((((#7 - #8) + ((((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6)) - #7) + #8)) - #9) + #10))
+Counter in file 0 30:20 -> 30:25, (((#7 - #8) + ((((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6)) - #7) + #8)) + 0)
+Counter in file 0 30:29 -> 30:34, #9
+Counter in file 0 30:34 -> 30:35, ((((#7 - #8) + ((((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6)) - #7) + #8)) - #9) + #10)
+Counter in file 0 30:34 -> 30:35, (#9 - #10)
+Counter in file 0 33:9 -> 34:16, (((#9 - #10) + ((((#7 - #8) + ((((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6)) - #7) + #8)) - #9) + #10)) + 0)
+Counter in file 0 35:5 -> 38:6, #11
+Counter in file 0 38:6 -> 38:7, (((#9 - #10) + ((((#7 - #8) + ((((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6)) - #7) + #8)) - #9) + #10)) - #11)
+Counter in file 0 41:9 -> 41:16, (#11 + (((#9 - #10) + ((((#7 - #8) + ((((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6)) - #7) + #8)) - #9) + #10)) - #11))
+Counter in file 0 42:5 -> 45:6, #12
+Counter in file 0 47:5 -> 50:6, ((#11 + (((#9 - #10) + ((((#7 - #8) + ((((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6)) - #7) + #8)) - #9) + #10)) - #11)) - #12)
+Counter in file 0 52:8 -> 52:16, (#12 + ((#11 + (((#9 - #10) + ((((#7 - #8) + ((((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6)) - #7) + #8)) - #9) + #10)) - #11)) - #12))
+Counter in file 0 52:17 -> 54:6, #13
+Counter in file 0 54:6 -> 54:7, ((#12 + ((#11 + (((#9 - #10) + ((((#7 - #8) + ((((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6)) - #7) + #8)) - #9) + #10)) - #11)) - #12)) - #13)
+Counter in file 0 56:8 -> 56:15, (#13 + ((#12 + ((#11 + (((#9 - #10) + ((((#7 - #8) + ((((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6)) - #7) + #8)) - #9) + #10)) - #11)) - #12)) - #13))
+Counter in file 0 56:16 -> 58:6, #14
+Counter in file 0 58:12 -> 60:6, ((#13 + ((#12 + ((#11 + (((#9 - #10) + ((((#7 - #8) + ((((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6)) - #7) + #8)) - #9) + #10)) - #11)) - #12)) - #13)) - #14)
+Counter in file 0 61:1 -> 61:2, (#14 + ((#13 + ((#12 + ((#11 + (((#9 - #10) + ((((#7 - #8) + ((((#5 + #6) + ((((#3 + #4) + (((#2 + (#1 - #2)) - #3) - #4)) - #5) - #6)) - #7) + #8)) - #9) + #10)) - #11)) - #12)) - #13)) - #14))
 Emitting segments for file: ../coverage/lazy_boolean.rs
 Combined regions:
   7:9 -> 9:42 (count=1)
diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.loops_and_branches.txt b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.loops_and_branches.txt
index 3e0bc6e4959..235557ba349 100644
--- a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.loops_and_branches.txt
+++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.loops_and_branches.txt
@@ -1,12 +1,12 @@
 Args: /usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/llvm/build/bin/llvm-cov show --debug --Xdemangler=/usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/stage0-tools-bin/rust-demangler --show-line-counts-or-regions --instr-profile=/usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/coverage-reports-deadcode/coverage-reports-deadcode/loops_and_branches.profdata /usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/coverage-reports-deadcode/coverage-reports-deadcode/loops_and_branches 
 Counter in file 0 10:12 -> 10:16, #1
 Counter in file 0 11:16 -> 11:21, #2
-Counter in file 0 14:14 -> 14:15, #6
-Counter in file 0 15:13 -> 15:31, #7
-Counter in file 0 15:31 -> 15:32, #8
-Counter in file 0 17:10 -> 17:11, #10
-Counter in file 0 18:9 -> 18:15, #11
-Counter in file 0 19:5 -> 19:6, #12
+Counter in file 0 14:14 -> 14:15, (#2 - #5)
+Counter in file 0 15:13 -> 15:31, (0 + (#2 - #5))
+Counter in file 0 15:31 -> 15:32, #4
+Counter in file 0 17:10 -> 17:11, #3
+Counter in file 0 18:9 -> 18:15, (#3 + 0)
+Counter in file 0 19:5 -> 19:6, (#4 + (#3 + 0))
 Counter in file 0 22:11 -> 25:2, #1
 Emitting segments for file: ../coverage/loops_and_branches.rs
 Combined regions:
diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.nested_loops.txt b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.nested_loops.txt
index a19f6253316..6bc26f94ac7 100644
--- a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.nested_loops.txt
+++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.nested_loops.txt
@@ -1,22 +1,22 @@
 Args: /usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/llvm/build/bin/llvm-cov show --debug --Xdemangler=/usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/stage0-tools-bin/rust-demangler --show-line-counts-or-regions --instr-profile=/usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/coverage-reports-deadcode/coverage-reports-deadcode/nested_loops.profdata /usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/coverage-reports-deadcode/coverage-reports-deadcode/nested_loops 
 Counter in file 0 2:9 -> 3:27, #1
-Counter in file 0 5:19 -> 5:32, #2
-Counter in file 0 6:13 -> 7:24, #3
-Counter in file 0 8:13 -> 8:14, #4
-Counter in file 0 8:18 -> 8:23, #5
-Counter in file 0 9:16 -> 9:22, (#4 + 0)
-Counter in file 0 10:17 -> 10:22, #6
-Counter in file 0 12:13 -> 12:19, #7
-Counter in file 0 13:13 -> 13:19, #8
-Counter in file 0 14:16 -> 14:22, (#8 + 0)
-Counter in file 0 15:17 -> 16:27, #9
-Counter in file 0 17:21 -> 17:33, #10
-Counter in file 0 19:21 -> 21:14, #11
-Counter in file 0 21:14 -> 21:15, #12
-Counter in file 0 22:10 -> 22:11, #13
-Counter in file 0 23:9 -> 23:23, #14
-Counter in file 0 24:6 -> 24:7, #15
-Counter in file 0 25:1 -> 25:2, #16
+Counter in file 0 5:19 -> 5:32, (#1 + #2)
+Counter in file 0 6:13 -> 7:24, ((#1 + #2) - #3)
+Counter in file 0 8:13 -> 8:14, ((((#1 + #2) - #3) + (#5 + #6)) - #7)
+Counter in file 0 8:18 -> 8:23, (((#1 + #2) - #3) + (#5 + #6))
+Counter in file 0 9:16 -> 9:22, (((((#1 + #2) - #3) + (#5 + #6)) - #7) + 0)
+Counter in file 0 10:17 -> 10:22, #8
+Counter in file 0 12:13 -> 12:19, #9
+Counter in file 0 13:13 -> 13:19, #10
+Counter in file 0 14:16 -> 14:22, (#10 + 0)
+Counter in file 0 15:17 -> 16:27, #11
+Counter in file 0 17:21 -> 17:33, #4
+Counter in file 0 19:21 -> 21:14, #5
+Counter in file 0 21:14 -> 21:15, #6
+Counter in file 0 22:10 -> 22:11, (#5 + #6)
+Counter in file 0 23:9 -> 23:23, #2
+Counter in file 0 24:6 -> 24:7, #3
+Counter in file 0 25:1 -> 25:2, (#4 + #3)
 Emitting segments for file: ../coverage/nested_loops.rs
 Combined regions:
   2:9 -> 3:27 (count=1)
diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.partial_eq_counter_without_region.txt b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.partial_eq_counter_without_region.txt
index a444ea44901..5ab9a99d686 100644
--- a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.partial_eq_counter_without_region.txt
+++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.partial_eq_counter_without_region.txt
@@ -1,8 +1,5 @@
 Args: /usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/llvm/build/bin/llvm-cov show --debug --Xdemangler=/usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/stage0-tools-bin/rust-demangler --show-line-counts-or-regions --instr-profile=/usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/coverage-reports-deadcode/coverage-reports-deadcode/partial_eq_counter_without_region.profdata /usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/coverage-reports-deadcode/coverage-reports-deadcode/partial_eq_counter_without_region 
-Counter in file 0 4:39 -> 4:49, #1
-Counter in file 0 4:39 -> 4:49, #2
-Counter in file 0 4:39 -> 4:49, #3
-Counter in file 0 4:48 -> 4:49, #4
+Counter in file 0 4:48 -> 4:49, ((#1 + #2) + ((#3 + #4) + ((#5 + #6) + #7)))
 Counter in file 0 8:5 -> 8:17, #1
 Counter in file 0 21:11 -> 26:2, #1
 Counter in file 0 4:39 -> 4:40, #1
@@ -11,15 +8,8 @@ Counter in file 0 7:5 -> 7:6, #1
 Counter in file 0 8:5 -> 8:17, #1
 Counter in file 0 4:39 -> 4:40, #1
 Counter in file 0 4:48 -> 4:49, (#1 + 0)
-Counter in file 0 4:24 -> 4:33, #1
-Counter in file 0 4:24 -> 4:33, #2
-Counter in file 0 4:24 -> 4:33, #3
-Counter in file 0 4:24 -> 4:33, #4
-Counter in file 0 4:32 -> 4:33, #5
-Counter in file 0 4:51 -> 4:54, #1
-Counter in file 0 4:51 -> 4:54, #2
-Counter in file 0 4:51 -> 4:54, #3
-Counter in file 0 4:53 -> 4:54, #4
+Counter in file 0 4:32 -> 4:33, ((#4 + #5) + #6)
+Counter in file 0 4:53 -> 4:54, (#1 + (#2 + (#3 + #4)))
 Counter in file 0 13:9 -> 18:6, #1
 Counter in file 0 7:5 -> 7:6, #1
 Counter in file 0 4:39 -> 4:40, #1
@@ -33,9 +23,7 @@ Counter in file 0 4:17 -> 4:22, #1
 Counter in file 0 8:5 -> 8:17, #1
 Counter in file 0 4:39 -> 4:40, #1
 Counter in file 0 4:48 -> 4:49, (#1 + 0)
-Counter in file 0 4:24 -> 4:33, #1
-Counter in file 0 4:24 -> 4:33, #2
-Counter in file 0 4:32 -> 4:33, #3
+Counter in file 0 4:32 -> 4:33, (#3 + (#1 + #2))
 Emitting segments for file: ../coverage/partial_eq_counter_without_region.rs
 Combined regions:
   4:17 -> 4:22 (count=2)
diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.simple_loop.txt b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.simple_loop.txt
index 90e09099dcc..60d861e9d2e 100644
--- a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.simple_loop.txt
+++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.simple_loop.txt
@@ -2,12 +2,12 @@ Args: /usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/llvm/
 Counter in file 0 7:9 -> 9:26, #1
 Counter in file 0 12:9 -> 12:16, (#1 + 0)
 Counter in file 0 13:5 -> 18:6, #2
-Counter in file 0 18:6 -> 18:7, #3
-Counter in file 0 23:13 -> 25:14, #4
-Counter in file 0 27:13 -> 27:18, #5
-Counter in file 0 30:9 -> 32:10, #6
-Counter in file 0 34:6 -> 34:7, #7
-Counter in file 0 35:1 -> 35:2, (#5 + 0)
+Counter in file 0 18:6 -> 18:7, (#1 - #2)
+Counter in file 0 23:13 -> 25:14, ((#2 + (#1 - #2)) + #3)
+Counter in file 0 27:13 -> 27:18, #4
+Counter in file 0 30:9 -> 32:10, #3
+Counter in file 0 34:6 -> 34:7, (#2 + (#1 - #2))
+Counter in file 0 35:1 -> 35:2, (#4 + 0)
 Emitting segments for file: ../coverage/simple_loop.rs
 Combined regions:
   7:9 -> 9:26 (count=1)
diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.simple_match.txt b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.simple_match.txt
index 39a986332cd..1683b68e966 100644
--- a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.simple_match.txt
+++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.simple_match.txt
@@ -2,18 +2,18 @@ Args: /usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/llvm/
 Counter in file 0 7:9 -> 9:26, #1
 Counter in file 0 10:8 -> 10:15, (#1 + 0)
 Counter in file 0 10:16 -> 12:6, #2
-Counter in file 0 12:6 -> 12:7, #3
-Counter in file 0 15:9 -> 15:10, #4
-Counter in file 0 17:9 -> 17:13, #5
-Counter in file 0 22:13 -> 22:22, (#4 + 0)
-Counter in file 0 24:13 -> 24:14, #6
-Counter in file 0 26:17 -> 28:18, (#4 + 0)
-Counter in file 0 28:18 -> 28:19, #7
-Counter in file 0 30:13 -> 37:14, (#6 + 0)
-Counter in file 0 40:13 -> 40:15, #8
-Counter in file 0 42:6 -> 42:7, #9
-Counter in file 0 42:6 -> 42:7, #10
-Counter in file 0 43:1 -> 43:2, #11
+Counter in file 0 12:6 -> 12:7, (#1 - #2)
+Counter in file 0 15:9 -> 15:10, (((#2 + (#1 - #2)) + (#3 + #4)) - #5)
+Counter in file 0 17:9 -> 17:13, ((#2 + (#1 - #2)) + (#3 + #4))
+Counter in file 0 22:13 -> 22:22, ((((#2 + (#1 - #2)) + (#3 + #4)) - #5) + 0)
+Counter in file 0 24:13 -> 24:14, #3
+Counter in file 0 26:17 -> 28:18, ((((#2 + (#1 - #2)) + (#3 + #4)) - #5) + 0)
+Counter in file 0 28:18 -> 28:19, ((((#2 + (#1 - #2)) + (#3 + #4)) - #5) - #3)
+Counter in file 0 30:13 -> 37:14, (#3 + 0)
+Counter in file 0 40:13 -> 40:15, #4
+Counter in file 0 42:6 -> 42:7, (#2 + (#1 - #2))
+Counter in file 0 42:6 -> 42:7, (#3 + #4)
+Counter in file 0 43:1 -> 43:2, #5
 Emitting segments for file: ../coverage/simple_match.rs
 Combined regions:
   7:9 -> 9:26 (count=1)
diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.tight_infinite_loop.txt b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.tight_infinite_loop.txt
index a0687815fb9..39a3cf5458c 100644
--- a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.tight_infinite_loop.txt
+++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.tight_infinite_loop.txt
@@ -1,6 +1,6 @@
 Args: /usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/llvm/build/bin/llvm-cov show --debug --Xdemangler=/usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/stage0-tools-bin/rust-demangler --show-line-counts-or-regions --instr-profile=/usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/coverage-reports-deadcode/coverage-reports-deadcode/tight_infinite_loop.profdata /usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/coverage-reports-deadcode/coverage-reports-deadcode/tight_infinite_loop 
 Counter in file 0 2:8 -> 2:13, #1
-Counter in file 0 5:1 -> 5:2, #4
+Counter in file 0 5:1 -> 5:2, (#1 - #2)
 Emitting segments for file: ../coverage/tight_infinite_loop.rs
 Combined regions:
   2:8 -> 2:13 (count=1)
diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.try_error_result.txt b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.try_error_result.txt
index 25e1c8930bc..9cfc05e874a 100644
--- a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.try_error_result.txt
+++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.try_error_result.txt
@@ -1,22 +1,21 @@
 Args: /usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/llvm/build/bin/llvm-cov show --debug --Xdemangler=/usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/stage0-tools-bin/rust-demangler --show-line-counts-or-regions --instr-profile=/usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/coverage-reports-deadcode/coverage-reports-deadcode/try_error_result.profdata /usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/coverage-reports-deadcode/coverage-reports-deadcode/try_error_result 
 Counter in file 0 13:9 -> 14:23, #1
-Counter in file 0 17:9 -> 17:10, #2
-Counter in file 0 19:9 -> 19:14, #3
-Counter in file 0 21:9 -> 25:26, #4
-Counter in file 0 27:13 -> 27:41, #5
-Counter in file 0 27:41 -> 27:42, #6
-Counter in file 0 31:13 -> 31:42, #7
-Counter in file 0 31:42 -> 31:43, #8
-Counter in file 0 32:10 -> 32:11, #9
-Counter in file 0 32:10 -> 32:11, #10
-Counter in file 0 33:6 -> 33:7, #11
-Counter in file 0 34:5 -> 34:11, #12
-Counter in file 0 35:1 -> 35:2, #13
-Counter in file 0 35:1 -> 35:2, #14
+Counter in file 0 17:9 -> 17:10, ((#1 + (#2 + #3)) - #4)
+Counter in file 0 19:9 -> 19:14, (#1 + (#2 + #3))
+Counter in file 0 21:9 -> 25:26, #7
+Counter in file 0 27:13 -> 27:41, #8
+Counter in file 0 27:41 -> 27:42, #5
+Counter in file 0 31:13 -> 31:42, (#7 - #8)
+Counter in file 0 31:42 -> 31:43, #6
+Counter in file 0 32:10 -> 32:11, #2
+Counter in file 0 32:10 -> 32:11, #3
+Counter in file 0 33:6 -> 33:7, (#2 + #3)
+Counter in file 0 34:5 -> 34:11, #4
+Counter in file 0 35:1 -> 35:2, ((#5 + #6) + #4)
 Counter in file 0 5:8 -> 5:20, #1
 Counter in file 0 6:9 -> 6:16, #2
-Counter in file 0 8:9 -> 8:15, #3
-Counter in file 0 10:1 -> 10:2, #4
+Counter in file 0 8:9 -> 8:15, (#1 - #2)
+Counter in file 0 10:1 -> 10:2, (#2 + (#1 - #2))
 Emitting segments for file: ../coverage/try_error_result.rs
 Combined regions:
   5:8 -> 5:20 (count=6)
@@ -34,7 +33,7 @@ Combined regions:
   32:10 -> 32:11 (count=5)
   33:6 -> 33:7 (count=5)
   34:5 -> 34:11 (count=0)
-  35:1 -> 35:2 (count=2)
+  35:1 -> 35:2 (count=1)
 Segment at 5:8 (count = 6), RegionEntry
 Segment at 5:20 (count = 0), Skipped
 Segment at 6:9 (count = 1), RegionEntry
@@ -63,5 +62,5 @@ Segment at 33:6 (count = 5), RegionEntry
 Segment at 33:7 (count = 0), Skipped
 Segment at 34:5 (count = 0), RegionEntry
 Segment at 34:11 (count = 0), Skipped
-Segment at 35:1 (count = 2), RegionEntry
+Segment at 35:1 (count = 1), RegionEntry
 Segment at 35:2 (count = 0), Skipped
diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.various_conditions.txt b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.various_conditions.txt
index 567c8cd9b6d..ba80cadbd3c 100644
--- a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.various_conditions.txt
+++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.various_conditions.txt
@@ -2,73 +2,72 @@ Args: /usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/llvm/
 Counter in file 0 4:9 -> 4:26, #1
 Counter in file 0 5:8 -> 5:12, (#1 + 0)
 Counter in file 0 5:13 -> 7:6, #2
-Counter in file 0 10:9 -> 10:10, #4
-Counter in file 0 10:16 -> 10:29, #5
-Counter in file 0 11:9 -> 12:10, #6
-Counter in file 0 13:15 -> 13:28, #7
-Counter in file 0 14:12 -> 14:25, #8
-Counter in file 0 14:29 -> 14:42, #9
-Counter in file 0 14:42 -> 14:43, #10
-Counter in file 0 14:42 -> 14:43, #11
-Counter in file 0 14:46 -> 14:60, #12
-Counter in file 0 14:60 -> 14:61, #13
-Counter in file 0 14:60 -> 14:61, #14
-Counter in file 0 14:61 -> 16:10, #15
-Counter in file 0 16:10 -> 16:11, #16
-Counter in file 0 17:9 -> 18:18, #17
-Counter in file 0 20:9 -> 20:15, #18
-Counter in file 0 23:9 -> 23:26, (#4 + 0)
-Counter in file 0 24:8 -> 24:12, (#4 + 0)
-Counter in file 0 24:13 -> 26:6, #19
-Counter in file 0 28:8 -> 28:21, #21
-Counter in file 0 29:9 -> 29:23, #22
-Counter in file 0 30:15 -> 30:28, #23
-Counter in file 0 31:12 -> 31:25, #24
-Counter in file 0 31:29 -> 31:42, #25
-Counter in file 0 31:42 -> 31:43, #26
-Counter in file 0 31:42 -> 31:43, #27
-Counter in file 0 31:46 -> 31:60, #28
-Counter in file 0 31:60 -> 31:61, #29
-Counter in file 0 31:60 -> 31:61, #30
-Counter in file 0 31:61 -> 33:10, #31
-Counter in file 0 33:10 -> 33:11, #32
-Counter in file 0 34:9 -> 34:23, #33
-Counter in file 0 36:9 -> 36:15, #34
-Counter in file 0 39:9 -> 39:26, #35
-Counter in file 0 40:8 -> 40:12, (#35 + 0)
-Counter in file 0 40:13 -> 42:6, #36
-Counter in file 0 44:9 -> 44:10, #38
-Counter in file 0 44:16 -> 44:29, #39
-Counter in file 0 45:9 -> 45:23, #40
-Counter in file 0 46:15 -> 46:28, #41
-Counter in file 0 47:12 -> 47:25, #42
-Counter in file 0 47:29 -> 47:42, #43
-Counter in file 0 47:42 -> 47:43, #44
-Counter in file 0 47:42 -> 47:43, #45
-Counter in file 0 47:46 -> 47:60, #46
-Counter in file 0 47:60 -> 47:61, #47
-Counter in file 0 47:60 -> 47:61, #48
-Counter in file 0 47:61 -> 49:10, #49
-Counter in file 0 49:10 -> 49:11, #50
-Counter in file 0 50:9 -> 50:23, #51
-Counter in file 0 52:13 -> 54:15, #52
-Counter in file 0 57:9 -> 57:10, #53
-Counter in file 0 57:16 -> 57:29, (#38 + 0)
-Counter in file 0 58:9 -> 58:23, #54
-Counter in file 0 59:15 -> 59:28, #55
-Counter in file 0 60:12 -> 60:25, #56
-Counter in file 0 60:29 -> 60:42, #57
-Counter in file 0 60:42 -> 60:43, #58
-Counter in file 0 60:42 -> 60:43, #59
-Counter in file 0 60:46 -> 60:60, #60
-Counter in file 0 60:60 -> 60:61, #61
-Counter in file 0 60:60 -> 60:61, #62
-Counter in file 0 60:61 -> 62:10, #63
-Counter in file 0 62:10 -> 62:11, #64
-Counter in file 0 63:9 -> 63:23, #65
-Counter in file 0 65:9 -> 65:15, #66
-Counter in file 0 67:1 -> 67:2, #67
-Counter in file 0 67:1 -> 67:2, #68
+Counter in file 0 10:9 -> 10:10, (#4 + #11)
+Counter in file 0 10:16 -> 10:29, (#2 + 0)
+Counter in file 0 11:9 -> 12:10, #4
+Counter in file 0 13:15 -> 13:28, ((#2 + 0) - #3)
+Counter in file 0 14:12 -> 14:25, #5
+Counter in file 0 14:29 -> 14:42, (#5 - #13)
+Counter in file 0 14:42 -> 14:43, (#13 + #14)
+Counter in file 0 14:42 -> 14:43, ((#5 - #13) - #14)
+Counter in file 0 14:46 -> 14:60, #21
+Counter in file 0 14:60 -> 14:61, (#17 + #18)
+Counter in file 0 14:60 -> 14:61, (#21 - #18)
+Counter in file 0 14:61 -> 16:10, #22
+Counter in file 0 16:10 -> 16:11, #23
+Counter in file 0 17:9 -> 18:18, #11
+Counter in file 0 20:9 -> 20:15, (((#2 + 0) - #3) - #5)
+Counter in file 0 23:9 -> 23:26, ((#4 + #11) + 0)
+Counter in file 0 24:8 -> 24:12, ((#4 + #11) + 0)
+Counter in file 0 24:13 -> 26:6, #12
+Counter in file 0 28:8 -> 28:21, (#12 + 0)
+Counter in file 0 29:9 -> 29:23, #16
+Counter in file 0 30:15 -> 30:28, ((#12 + 0) - #15)
+Counter in file 0 31:12 -> 31:25, (((#12 + 0) - #15) - #8)
+Counter in file 0 31:29 -> 31:42, ((((#12 + 0) - #15) - #8) - #24)
+Counter in file 0 31:42 -> 31:43, (((((#12 + 0) - #15) - #8) - #24) - #25)
+Counter in file 0 31:42 -> 31:43, (#24 + #25)
+Counter in file 0 31:46 -> 31:60, #32
+Counter in file 0 31:60 -> 31:61, (#28 + #29)
+Counter in file 0 31:60 -> 31:61, (#32 - #29)
+Counter in file 0 31:61 -> 33:10, #33
+Counter in file 0 33:10 -> 33:11, #34
+Counter in file 0 34:9 -> 34:23, #19
+Counter in file 0 36:9 -> 36:15, #8
+Counter in file 0 39:9 -> 39:26, (#16 + #19)
+Counter in file 0 40:8 -> 40:12, ((#16 + #19) + 0)
+Counter in file 0 40:13 -> 42:6, #20
+Counter in file 0 44:9 -> 44:10, (#27 + #30)
+Counter in file 0 44:16 -> 44:29, (#20 + 0)
+Counter in file 0 45:9 -> 45:23, #27
+Counter in file 0 46:15 -> 46:28, ((#20 + 0) - #26)
+Counter in file 0 47:12 -> 47:25, (((#20 + 0) - #26) - #7)
+Counter in file 0 47:29 -> 47:42, ((((#20 + 0) - #26) - #7) - #35)
+Counter in file 0 47:42 -> 47:43, (#35 + #36)
+Counter in file 0 47:42 -> 47:43, (((((#20 + 0) - #26) - #7) - #35) - #36)
+Counter in file 0 47:46 -> 47:60, #41
+Counter in file 0 47:60 -> 47:61, (#37 + #38)
+Counter in file 0 47:60 -> 47:61, (#41 - #38)
+Counter in file 0 47:61 -> 49:10, #42
+Counter in file 0 49:10 -> 49:11, #43
+Counter in file 0 50:9 -> 50:23, #30
+Counter in file 0 52:13 -> 54:15, #7
+Counter in file 0 57:9 -> 57:10, (#9 + #10)
+Counter in file 0 57:16 -> 57:29, ((#27 + #30) + 0)
+Counter in file 0 58:9 -> 58:23, #9
+Counter in file 0 59:15 -> 59:28, ((#27 + #30) - #31)
+Counter in file 0 60:12 -> 60:25, (((#27 + #30) - #31) - #6)
+Counter in file 0 60:29 -> 60:42, ((((#27 + #30) - #31) - #6) - #39)
+Counter in file 0 60:42 -> 60:43, (#39 + #40)
+Counter in file 0 60:42 -> 60:43, (((((#27 + #30) - #31) - #6) - #39) - #40)
+Counter in file 0 60:46 -> 60:60, #46
+Counter in file 0 60:60 -> 60:61, (#46 - #45)
+Counter in file 0 60:60 -> 60:61, (#44 + #45)
+Counter in file 0 60:61 -> 62:10, #47
+Counter in file 0 62:10 -> 62:11, #48
+Counter in file 0 63:9 -> 63:23, #10
+Counter in file 0 65:9 -> 65:15, #6
+Counter in file 0 67:1 -> 67:2, ((#9 + #10) + (((#6 + #7) + #8) + (((#2 + 0) - #3) - #5)))
 Emitting segments for file: ../coverage/various_conditions.rs
 Combined regions:
   4:9 -> 4:26 (count=1)
@@ -131,7 +130,7 @@ Combined regions:
   62:10 -> 62:11 (count=0)
   63:9 -> 63:23 (count=0)
   65:9 -> 65:15 (count=0)
-  67:1 -> 67:2 (count=2)
+  67:1 -> 67:2 (count=1)
 Segment at 4:9 (count = 1), RegionEntry
 Segment at 4:26 (count = 0), Skipped
 Segment at 5:8 (count = 1), RegionEntry
@@ -236,5 +235,5 @@ Segment at 63:9 (count = 0), RegionEntry
 Segment at 63:23 (count = 0), Skipped
 Segment at 65:9 (count = 0), RegionEntry
 Segment at 65:15 (count = 0), Skipped
-Segment at 67:1 (count = 2), RegionEntry
+Segment at 67:1 (count = 1), RegionEntry
 Segment at 67:2 (count = 0), Skipped
diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.while.txt b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.while.txt
index b75a88b2e92..76cf1e92ecd 100644
--- a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.while.txt
+++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.while.txt
@@ -1,8 +1,8 @@
 Args: /usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/llvm/build/bin/llvm-cov show --debug --Xdemangler=/usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/stage0-tools-bin/rust-demangler --show-line-counts-or-regions --instr-profile=/usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/coverage-reports-deadcode/coverage-reports-deadcode/while.profdata /usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/coverage-reports-deadcode/coverage-reports-deadcode/while 
 Counter in file 0 2:9 -> 2:16, #1
-Counter in file 0 3:11 -> 3:20, #2
-Counter in file 0 3:21 -> 4:6, #3
-Counter in file 0 5:1 -> 5:2, #4
+Counter in file 0 3:11 -> 3:20, (#1 + #2)
+Counter in file 0 3:21 -> 4:6, #2
+Counter in file 0 5:1 -> 5:2, ((#1 + #2) - #2)
 Emitting segments for file: ../coverage/while.rs
 Combined regions:
   2:9 -> 2:16 (count=1)
diff --git a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.while_early_return.txt b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.while_early_return.txt
index 908613018a4..60f389fc9d4 100644
--- a/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.while_early_return.txt
+++ b/src/test/run-make-fulldeps/coverage-reports-deadcode/expected_show_coverage_counters.while_early_return.txt
@@ -1,14 +1,13 @@
 Args: /usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/llvm/build/bin/llvm-cov show --debug --Xdemangler=/usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/stage0-tools-bin/rust-demangler --show-line-counts-or-regions --instr-profile=/usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/coverage-reports-deadcode/coverage-reports-deadcode/while_early_return.profdata /usr/local/google/home/richkadel/rust/build/x86_64-unknown-linux-gnu/test/run-make-fulldeps/coverage-reports-deadcode/coverage-reports-deadcode/while_early_return 
 Counter in file 0 5:9 -> 5:27, #1
-Counter in file 0 7:9 -> 9:10, #2
-Counter in file 0 12:13 -> 14:14, #3
-Counter in file 0 18:21 -> 20:22, #4
-Counter in file 0 22:21 -> 22:27, #5
-Counter in file 0 26:21 -> 26:27, #6
-Counter in file 0 30:9 -> 32:10, #7
-Counter in file 0 35:5 -> 35:11, #8
-Counter in file 0 36:1 -> 36:2, #9
-Counter in file 0 36:1 -> 36:2, #10
+Counter in file 0 7:9 -> 9:10, (#1 + #2)
+Counter in file 0 12:13 -> 14:14, ((#1 + #2) - #3)
+Counter in file 0 18:21 -> 20:22, #6
+Counter in file 0 22:21 -> 22:27, #4
+Counter in file 0 26:21 -> 26:27, #5
+Counter in file 0 30:9 -> 32:10, #2
+Counter in file 0 35:5 -> 35:11, #3
+Counter in file 0 36:1 -> 36:2, ((#4 + #5) + #3)
 Emitting segments for file: ../coverage/while_early_return.rs
 Combined regions:
   5:9 -> 5:27 (count=1)
@@ -19,7 +18,7 @@ Combined regions:
   26:21 -> 26:27 (count=1)
   30:9 -> 32:10 (count=6)
   35:5 -> 35:11 (count=0)
-  36:1 -> 36:2 (count=2)
+  36:1 -> 36:2 (count=1)
 Segment at 5:9 (count = 1), RegionEntry
 Segment at 5:27 (count = 0), Skipped
 Segment at 7:9 (count = 7), RegionEntry
@@ -36,5 +35,5 @@ Segment at 30:9 (count = 6), RegionEntry
 Segment at 32:10 (count = 0), Skipped
 Segment at 35:5 (count = 0), RegionEntry
 Segment at 35:11 (count = 0), Skipped
-Segment at 36:1 (count = 2), RegionEntry
+Segment at 36:1 (count = 1), RegionEntry
 Segment at 36:2 (count = 0), Skipped
diff --git a/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.drop_trait/drop_trait.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.drop_trait/drop_trait.main.-------.InstrumentCoverage.0.html
index 325b6c64345..494e6f20ea7 100644
--- a/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.drop_trait/drop_trait.main.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.drop_trait/drop_trait.main.-------.InstrumentCoverage.0.html
@@ -114,6 +114,6 @@
 <span class="line"><span class="code even" style="--layer: 1" title="24:13-24:40: @2[4]: _18 = Firework { strength: const 1000_i32 }
 26:8-26:10: @6[2]: _19 = ()
 26:5-26:11: @6[3]: _0 = std::result::Result::&lt;(), u8&gt;::Ok(move _19)">    Ok(())<span class="annotation">⦉@2,6,7,8</span></span></span><span class="code" style="--layer: 0"></span></span>
-<span class="line"><span class="code" style="--layer: 0">}</span><span><span class="code odd" style="--layer: 1" title="27:2-27:2: @10.Goto: goto -&gt; bb11"><span class="annotation">@1,3,4,5,9,10⦊</span>‸<span class="annotation">⦉@1,3,4,5,9,10</span></span></span><span><span class="code even" style="--layer: 1" title="27:2-27:2: @8.Goto: goto -&gt; bb11"><span class="annotation">@2,6,7,8⦊</span>‸<span class="annotation">⦉@2,6,7,8</span></span></span><span><span class="code odd" style="--layer: 1" title="27:2-27:2: @11.Return: return"><span class="annotation">@11⦊</span>‸<span class="annotation">⦉@11</span></span></span></span></div>
+<span class="line"><span class="code" style="--layer: 0">}</span><span><span class="code odd" style="--layer: 1" title="27:2-27:2: @11.Return: return"><span class="annotation">@11⦊</span>‸<span class="annotation">⦉@11</span></span></span></span></div>
 </body>
 </html>
diff --git a/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.generics/generics.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.generics/generics.main.-------.InstrumentCoverage.0.html
index 55d7e8bfbae..6dc893d28ff 100644
--- a/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.generics/generics.main.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.generics/generics.main.-------.InstrumentCoverage.0.html
@@ -162,6 +162,6 @@
 <span class="line"><span class="code even" style="--layer: 1" title="35:13-35:40: @5[4]: _24 = Firework::&lt;i32&gt; { strength: const 1000_i32 }
 37:8-37:10: @9[2]: _25 = ()
 37:5-37:11: @9[3]: _0 = std::result::Result::&lt;(), u8&gt;::Ok(move _25)">    Ok(())<span class="annotation">⦉@5,9,10,11</span></span></span><span class="code" style="--layer: 0"></span></span>
-<span class="line"><span class="code" style="--layer: 0">}</span><span><span class="code odd" style="--layer: 1" title="38:2-38:2: @13.Goto: goto -&gt; bb14"><span class="annotation">@4,6,7,8,12,13⦊</span>‸<span class="annotation">⦉@4,6,7,8,12,13</span></span></span><span><span class="code even" style="--layer: 1" title="38:2-38:2: @11.Goto: goto -&gt; bb14"><span class="annotation">@5,9,10,11⦊</span>‸<span class="annotation">⦉@5,9,10,11</span></span></span><span><span class="code odd" style="--layer: 1" title="38:2-38:2: @14.Return: return"><span class="annotation">@14⦊</span>‸<span class="annotation">⦉@14</span></span></span></span></div>
+<span class="line"><span class="code" style="--layer: 0">}</span><span><span class="code odd" style="--layer: 1" title="38:2-38:2: @14.Return: return"><span class="annotation">@14⦊</span>‸<span class="annotation">⦉@14</span></span></span></span></div>
 </body>
 </html>
diff --git a/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.if_else/if_else.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.if_else/if_else.main.-------.InstrumentCoverage.0.html
index 094dacde986..b51c5c84c0d 100644
--- a/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.if_else/if_else.main.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.if_else/if_else.main.-------.InstrumentCoverage.0.html
@@ -128,36 +128,36 @@
 20:9-22:16: @5[1]: _6 = const ()">        =</span></span>
 <span class="line"><span class="code even" style="--layer: 1" title="20:9-22:16: @5[0]: _5 = const 100_i32
 20:9-22:16: @5[1]: _6 = const ()">            100<span class="annotation">⦉@5</span></span></span><span class="code" style="--layer: 0"></span></span>
-<span class="line"><span class="code" style="--layer: 0">    }</span><span><span class="code odd" style="--layer: 1" title="23:6-23:6: @6.Goto: goto -&gt; bb7"><span class="annotation">@4,6⦊</span>‸<span class="annotation">⦉@4,6</span></span></span><span class="code" style="--layer: 0"></span></span>
+<span class="line"><span class="code" style="--layer: 0">    }</span></span>
 <span class="line"><span class="code" style="--layer: 0"></span></span>
 <span class="line"><span class="code" style="--layer: 0">    if</span></span>
-<span class="line"><span class="code" style="--layer: 0">        </span><span><span class="code even" style="--layer: 1" title="26:9-26:16: @7[3]: _8 = _1
+<span class="line"><span class="code" style="--layer: 0">        </span><span><span class="code odd" style="--layer: 1" title="26:9-26:16: @7[3]: _8 = _1
 26:9-26:16: @7[4]: FakeRead(ForMatchedPlace, _8)"><span class="annotation">@7⦊</span>is_true<span class="annotation">⦉@7</span></span></span><span class="code" style="--layer: 0"></span></span>
-<span class="line"><span class="code" style="--layer: 0">    </span><span><span class="code odd" style="--layer: 1" title="28:9-30:15: @10[0]: _5 = const 10_i32
+<span class="line"><span class="code" style="--layer: 0">    </span><span><span class="code even" style="--layer: 1" title="28:9-30:15: @10[0]: _5 = const 10_i32
 27:5-32:6: @10[1]: _0 = const ()"><span class="annotation">@8,10⦊</span>{</span></span>
-<span class="line"><span class="code odd" style="--layer: 1" title="28:9-30:15: @10[0]: _5 = const 10_i32
+<span class="line"><span class="code even" style="--layer: 1" title="28:9-30:15: @10[0]: _5 = const 10_i32
 27:5-32:6: @10[1]: _0 = const ()">        countdown</span></span>
-<span class="line"><span class="code odd" style="--layer: 1" title="28:9-30:15: @10[0]: _5 = const 10_i32
+<span class="line"><span class="code even" style="--layer: 1" title="28:9-30:15: @10[0]: _5 = const 10_i32
 27:5-32:6: @10[1]: _0 = const ()">        =</span></span>
-<span class="line"><span class="code odd" style="--layer: 1" title="28:9-30:15: @10[0]: _5 = const 10_i32
+<span class="line"><span class="code even" style="--layer: 1" title="28:9-30:15: @10[0]: _5 = const 10_i32
 27:5-32:6: @10[1]: _0 = const ()">            10</span></span>
-<span class="line"><span class="code odd" style="--layer: 1" title="28:9-30:15: @10[0]: _5 = const 10_i32
+<span class="line"><span class="code even" style="--layer: 1" title="28:9-30:15: @10[0]: _5 = const 10_i32
 27:5-32:6: @10[1]: _0 = const ()">        ;</span></span>
-<span class="line"><span class="code odd" style="--layer: 1" title="28:9-30:15: @10[0]: _5 = const 10_i32
+<span class="line"><span class="code even" style="--layer: 1" title="28:9-30:15: @10[0]: _5 = const 10_i32
 27:5-32:6: @10[1]: _0 = const ()">    }<span class="annotation">⦉@8,10</span></span></span><span class="code" style="--layer: 0"></span></span>
 <span class="line"><span class="code" style="--layer: 0">    else</span></span>
-<span class="line"><span class="code" style="--layer: 0">    </span><span><span class="code even" style="--layer: 1" title="35:9-37:16: @9[0]: _5 = const 100_i32
+<span class="line"><span class="code" style="--layer: 0">    </span><span><span class="code odd" style="--layer: 1" title="35:9-37:16: @9[0]: _5 = const 100_i32
 34:5-39:6: @9[1]: _0 = const ()"><span class="annotation">@9⦊</span>{</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="35:9-37:16: @9[0]: _5 = const 100_i32
+<span class="line"><span class="code odd" style="--layer: 1" title="35:9-37:16: @9[0]: _5 = const 100_i32
 34:5-39:6: @9[1]: _0 = const ()">        countdown</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="35:9-37:16: @9[0]: _5 = const 100_i32
+<span class="line"><span class="code odd" style="--layer: 1" title="35:9-37:16: @9[0]: _5 = const 100_i32
 34:5-39:6: @9[1]: _0 = const ()">        =</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="35:9-37:16: @9[0]: _5 = const 100_i32
+<span class="line"><span class="code odd" style="--layer: 1" title="35:9-37:16: @9[0]: _5 = const 100_i32
 34:5-39:6: @9[1]: _0 = const ()">            100</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="35:9-37:16: @9[0]: _5 = const 100_i32
+<span class="line"><span class="code odd" style="--layer: 1" title="35:9-37:16: @9[0]: _5 = const 100_i32
 34:5-39:6: @9[1]: _0 = const ()">        ;</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="35:9-37:16: @9[0]: _5 = const 100_i32
-34:5-39:6: @9[1]: _0 = const ()">    }<span class="annotation">⦉@9</span></span></span><span><span class="code odd" style="--layer: 1" title="39:6-39:6: @10.Goto: goto -&gt; bb11"><span class="annotation">@8,10⦊</span>‸<span class="annotation">⦉@8,10</span></span></span><span class="code" style="--layer: 0"></span></span>
+<span class="line"><span class="code odd" style="--layer: 1" title="35:9-37:16: @9[0]: _5 = const 100_i32
+34:5-39:6: @9[1]: _0 = const ()">    }<span class="annotation">⦉@9</span></span></span><span class="code" style="--layer: 0"></span></span>
 <span class="line"><span class="code" style="--layer: 0">}</span><span><span class="code even" style="--layer: 1" title="40:2-40:2: @11.Return: return"><span class="annotation">@11⦊</span>‸<span class="annotation">⦉@11</span></span></span></span></div>
 </body>
 </html>
diff --git a/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.try_error_result/try_error_result.call.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.try_error_result/try_error_result.call.-------.InstrumentCoverage.0.html
index 8a0b1ae8dab..9f993342340 100644
--- a/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.try_error_result/try_error_result.call.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview-base/expected_mir_dump.try_error_result/try_error_result.call.-------.InstrumentCoverage.0.html
@@ -67,7 +67,7 @@
 <span class="line"><span class="code" style="--layer: 0">    } else {</span></span>
 <span class="line"><span class="code" style="--layer: 0">        </span><span><span class="code even" style="--layer: 1" title="8:12-8:14: @2[1]: _4 = ()
 8:9-8:15: @2[2]: _0 = std::result::Result::&lt;(), ()&gt;::Ok(move _4)"><span class="annotation">@2⦊</span>Ok(())<span class="annotation">⦉@2</span></span></span><span class="code" style="--layer: 0"></span></span>
-<span class="line"><span class="code" style="--layer: 0">    }</span><span><span class="code odd" style="--layer: 1" title="9:6-9:6: @3.Goto: goto -&gt; bb4"><span class="annotation">@1,3⦊</span>‸<span class="annotation">⦉@1,3</span></span></span><span class="code" style="--layer: 0"></span></span>
-<span class="line"><span class="code" style="--layer: 0">}</span><span><span class="code even" style="--layer: 1" title="10:2-10:2: @4.Return: return"><span class="annotation">@4⦊</span>‸<span class="annotation">⦉@4</span></span></span></span></div>
+<span class="line"><span class="code" style="--layer: 0">    }</span></span>
+<span class="line"><span class="code" style="--layer: 0">}</span><span><span class="code odd" style="--layer: 1" title="10:2-10:2: @4.Return: return"><span class="annotation">@4⦊</span>‸<span class="annotation">⦉@4</span></span></span></span></div>
 </body>
 </html>
diff --git a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.drop_trait/drop_trait.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.drop_trait/drop_trait.main.-------.InstrumentCoverage.0.html
index 325b6c64345..494e6f20ea7 100644
--- a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.drop_trait/drop_trait.main.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.drop_trait/drop_trait.main.-------.InstrumentCoverage.0.html
@@ -114,6 +114,6 @@
 <span class="line"><span class="code even" style="--layer: 1" title="24:13-24:40: @2[4]: _18 = Firework { strength: const 1000_i32 }
 26:8-26:10: @6[2]: _19 = ()
 26:5-26:11: @6[3]: _0 = std::result::Result::&lt;(), u8&gt;::Ok(move _19)">    Ok(())<span class="annotation">⦉@2,6,7,8</span></span></span><span class="code" style="--layer: 0"></span></span>
-<span class="line"><span class="code" style="--layer: 0">}</span><span><span class="code odd" style="--layer: 1" title="27:2-27:2: @10.Goto: goto -&gt; bb11"><span class="annotation">@1,3,4,5,9,10⦊</span>‸<span class="annotation">⦉@1,3,4,5,9,10</span></span></span><span><span class="code even" style="--layer: 1" title="27:2-27:2: @8.Goto: goto -&gt; bb11"><span class="annotation">@2,6,7,8⦊</span>‸<span class="annotation">⦉@2,6,7,8</span></span></span><span><span class="code odd" style="--layer: 1" title="27:2-27:2: @11.Return: return"><span class="annotation">@11⦊</span>‸<span class="annotation">⦉@11</span></span></span></span></div>
+<span class="line"><span class="code" style="--layer: 0">}</span><span><span class="code odd" style="--layer: 1" title="27:2-27:2: @11.Return: return"><span class="annotation">@11⦊</span>‸<span class="annotation">⦉@11</span></span></span></span></div>
 </body>
 </html>
diff --git a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.generics/generics.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.generics/generics.main.-------.InstrumentCoverage.0.html
index 55d7e8bfbae..6dc893d28ff 100644
--- a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.generics/generics.main.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.generics/generics.main.-------.InstrumentCoverage.0.html
@@ -162,6 +162,6 @@
 <span class="line"><span class="code even" style="--layer: 1" title="35:13-35:40: @5[4]: _24 = Firework::&lt;i32&gt; { strength: const 1000_i32 }
 37:8-37:10: @9[2]: _25 = ()
 37:5-37:11: @9[3]: _0 = std::result::Result::&lt;(), u8&gt;::Ok(move _25)">    Ok(())<span class="annotation">⦉@5,9,10,11</span></span></span><span class="code" style="--layer: 0"></span></span>
-<span class="line"><span class="code" style="--layer: 0">}</span><span><span class="code odd" style="--layer: 1" title="38:2-38:2: @13.Goto: goto -&gt; bb14"><span class="annotation">@4,6,7,8,12,13⦊</span>‸<span class="annotation">⦉@4,6,7,8,12,13</span></span></span><span><span class="code even" style="--layer: 1" title="38:2-38:2: @11.Goto: goto -&gt; bb14"><span class="annotation">@5,9,10,11⦊</span>‸<span class="annotation">⦉@5,9,10,11</span></span></span><span><span class="code odd" style="--layer: 1" title="38:2-38:2: @14.Return: return"><span class="annotation">@14⦊</span>‸<span class="annotation">⦉@14</span></span></span></span></div>
+<span class="line"><span class="code" style="--layer: 0">}</span><span><span class="code odd" style="--layer: 1" title="38:2-38:2: @14.Return: return"><span class="annotation">@14⦊</span>‸<span class="annotation">⦉@14</span></span></span></span></div>
 </body>
 </html>
diff --git a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.if_else/if_else.main.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.if_else/if_else.main.-------.InstrumentCoverage.0.html
index 094dacde986..b51c5c84c0d 100644
--- a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.if_else/if_else.main.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.if_else/if_else.main.-------.InstrumentCoverage.0.html
@@ -128,36 +128,36 @@
 20:9-22:16: @5[1]: _6 = const ()">        =</span></span>
 <span class="line"><span class="code even" style="--layer: 1" title="20:9-22:16: @5[0]: _5 = const 100_i32
 20:9-22:16: @5[1]: _6 = const ()">            100<span class="annotation">⦉@5</span></span></span><span class="code" style="--layer: 0"></span></span>
-<span class="line"><span class="code" style="--layer: 0">    }</span><span><span class="code odd" style="--layer: 1" title="23:6-23:6: @6.Goto: goto -&gt; bb7"><span class="annotation">@4,6⦊</span>‸<span class="annotation">⦉@4,6</span></span></span><span class="code" style="--layer: 0"></span></span>
+<span class="line"><span class="code" style="--layer: 0">    }</span></span>
 <span class="line"><span class="code" style="--layer: 0"></span></span>
 <span class="line"><span class="code" style="--layer: 0">    if</span></span>
-<span class="line"><span class="code" style="--layer: 0">        </span><span><span class="code even" style="--layer: 1" title="26:9-26:16: @7[3]: _8 = _1
+<span class="line"><span class="code" style="--layer: 0">        </span><span><span class="code odd" style="--layer: 1" title="26:9-26:16: @7[3]: _8 = _1
 26:9-26:16: @7[4]: FakeRead(ForMatchedPlace, _8)"><span class="annotation">@7⦊</span>is_true<span class="annotation">⦉@7</span></span></span><span class="code" style="--layer: 0"></span></span>
-<span class="line"><span class="code" style="--layer: 0">    </span><span><span class="code odd" style="--layer: 1" title="28:9-30:15: @10[0]: _5 = const 10_i32
+<span class="line"><span class="code" style="--layer: 0">    </span><span><span class="code even" style="--layer: 1" title="28:9-30:15: @10[0]: _5 = const 10_i32
 27:5-32:6: @10[1]: _0 = const ()"><span class="annotation">@8,10⦊</span>{</span></span>
-<span class="line"><span class="code odd" style="--layer: 1" title="28:9-30:15: @10[0]: _5 = const 10_i32
+<span class="line"><span class="code even" style="--layer: 1" title="28:9-30:15: @10[0]: _5 = const 10_i32
 27:5-32:6: @10[1]: _0 = const ()">        countdown</span></span>
-<span class="line"><span class="code odd" style="--layer: 1" title="28:9-30:15: @10[0]: _5 = const 10_i32
+<span class="line"><span class="code even" style="--layer: 1" title="28:9-30:15: @10[0]: _5 = const 10_i32
 27:5-32:6: @10[1]: _0 = const ()">        =</span></span>
-<span class="line"><span class="code odd" style="--layer: 1" title="28:9-30:15: @10[0]: _5 = const 10_i32
+<span class="line"><span class="code even" style="--layer: 1" title="28:9-30:15: @10[0]: _5 = const 10_i32
 27:5-32:6: @10[1]: _0 = const ()">            10</span></span>
-<span class="line"><span class="code odd" style="--layer: 1" title="28:9-30:15: @10[0]: _5 = const 10_i32
+<span class="line"><span class="code even" style="--layer: 1" title="28:9-30:15: @10[0]: _5 = const 10_i32
 27:5-32:6: @10[1]: _0 = const ()">        ;</span></span>
-<span class="line"><span class="code odd" style="--layer: 1" title="28:9-30:15: @10[0]: _5 = const 10_i32
+<span class="line"><span class="code even" style="--layer: 1" title="28:9-30:15: @10[0]: _5 = const 10_i32
 27:5-32:6: @10[1]: _0 = const ()">    }<span class="annotation">⦉@8,10</span></span></span><span class="code" style="--layer: 0"></span></span>
 <span class="line"><span class="code" style="--layer: 0">    else</span></span>
-<span class="line"><span class="code" style="--layer: 0">    </span><span><span class="code even" style="--layer: 1" title="35:9-37:16: @9[0]: _5 = const 100_i32
+<span class="line"><span class="code" style="--layer: 0">    </span><span><span class="code odd" style="--layer: 1" title="35:9-37:16: @9[0]: _5 = const 100_i32
 34:5-39:6: @9[1]: _0 = const ()"><span class="annotation">@9⦊</span>{</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="35:9-37:16: @9[0]: _5 = const 100_i32
+<span class="line"><span class="code odd" style="--layer: 1" title="35:9-37:16: @9[0]: _5 = const 100_i32
 34:5-39:6: @9[1]: _0 = const ()">        countdown</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="35:9-37:16: @9[0]: _5 = const 100_i32
+<span class="line"><span class="code odd" style="--layer: 1" title="35:9-37:16: @9[0]: _5 = const 100_i32
 34:5-39:6: @9[1]: _0 = const ()">        =</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="35:9-37:16: @9[0]: _5 = const 100_i32
+<span class="line"><span class="code odd" style="--layer: 1" title="35:9-37:16: @9[0]: _5 = const 100_i32
 34:5-39:6: @9[1]: _0 = const ()">            100</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="35:9-37:16: @9[0]: _5 = const 100_i32
+<span class="line"><span class="code odd" style="--layer: 1" title="35:9-37:16: @9[0]: _5 = const 100_i32
 34:5-39:6: @9[1]: _0 = const ()">        ;</span></span>
-<span class="line"><span class="code even" style="--layer: 1" title="35:9-37:16: @9[0]: _5 = const 100_i32
-34:5-39:6: @9[1]: _0 = const ()">    }<span class="annotation">⦉@9</span></span></span><span><span class="code odd" style="--layer: 1" title="39:6-39:6: @10.Goto: goto -&gt; bb11"><span class="annotation">@8,10⦊</span>‸<span class="annotation">⦉@8,10</span></span></span><span class="code" style="--layer: 0"></span></span>
+<span class="line"><span class="code odd" style="--layer: 1" title="35:9-37:16: @9[0]: _5 = const 100_i32
+34:5-39:6: @9[1]: _0 = const ()">    }<span class="annotation">⦉@9</span></span></span><span class="code" style="--layer: 0"></span></span>
 <span class="line"><span class="code" style="--layer: 0">}</span><span><span class="code even" style="--layer: 1" title="40:2-40:2: @11.Return: return"><span class="annotation">@11⦊</span>‸<span class="annotation">⦉@11</span></span></span></span></div>
 </body>
 </html>
diff --git a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.try_error_result/try_error_result.call.-------.InstrumentCoverage.0.html b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.try_error_result/try_error_result.call.-------.InstrumentCoverage.0.html
index 8a0b1ae8dab..9f993342340 100644
--- a/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.try_error_result/try_error_result.call.-------.InstrumentCoverage.0.html
+++ b/src/test/run-make-fulldeps/coverage-spanview-deadcode/expected_mir_dump.try_error_result/try_error_result.call.-------.InstrumentCoverage.0.html
@@ -67,7 +67,7 @@
 <span class="line"><span class="code" style="--layer: 0">    } else {</span></span>
 <span class="line"><span class="code" style="--layer: 0">        </span><span><span class="code even" style="--layer: 1" title="8:12-8:14: @2[1]: _4 = ()
 8:9-8:15: @2[2]: _0 = std::result::Result::&lt;(), ()&gt;::Ok(move _4)"><span class="annotation">@2⦊</span>Ok(())<span class="annotation">⦉@2</span></span></span><span class="code" style="--layer: 0"></span></span>
-<span class="line"><span class="code" style="--layer: 0">    }</span><span><span class="code odd" style="--layer: 1" title="9:6-9:6: @3.Goto: goto -&gt; bb4"><span class="annotation">@1,3⦊</span>‸<span class="annotation">⦉@1,3</span></span></span><span class="code" style="--layer: 0"></span></span>
-<span class="line"><span class="code" style="--layer: 0">}</span><span><span class="code even" style="--layer: 1" title="10:2-10:2: @4.Return: return"><span class="annotation">@4⦊</span>‸<span class="annotation">⦉@4</span></span></span></span></div>
+<span class="line"><span class="code" style="--layer: 0">    }</span></span>
+<span class="line"><span class="code" style="--layer: 0">}</span><span><span class="code odd" style="--layer: 1" title="10:2-10:2: @4.Return: return"><span class="annotation">@4⦊</span>‸<span class="annotation">⦉@4</span></span></span></span></div>
 </body>
 </html>