about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSimon Vandel Sillesen <simon.vandel@gmail.com>2020-09-20 14:45:08 +0200
committerSimon Vandel Sillesen <simon.vandel@gmail.com>2020-09-20 16:14:17 +0200
commit0363694c7ff72d0a4b1c52ebf2320930c3b60da8 (patch)
tree8b650b5f0d107173d58b650fddbcc96a1378e5b6
parente25738f529b431d5b824eb8b7510fbe86cf0c9fa (diff)
downloadrust-0363694c7ff72d0a4b1c52ebf2320930c3b60da8.tar.gz
rust-0363694c7ff72d0a4b1c52ebf2320930c3b60da8.zip
emit diff after SimplifyBranches-after-copy-prop
-rw-r--r--src/test/mir-opt/early_otherwise_branch_68867.rs10
-rw-r--r--src/test/mir-opt/early_otherwise_branch_68867.try_sum.EarlyOtherwiseBranch.before-SimplifyBranches-after-copy-prop.after.diff310
-rw-r--r--src/test/mir-opt/early_otherwise_branch_68867.try_sum.EarlyOtherwiseBranch.diff328
3 files changed, 480 insertions, 168 deletions
diff --git a/src/test/mir-opt/early_otherwise_branch_68867.rs b/src/test/mir-opt/early_otherwise_branch_68867.rs
index abe666f9ca4..5922e73e5d2 100644
--- a/src/test/mir-opt/early_otherwise_branch_68867.rs
+++ b/src/test/mir-opt/early_otherwise_branch_68867.rs
@@ -1,3 +1,4 @@
+// ignore-tidy-linelength
 // compile-flags: -Z mir-opt-level=3
 
 // example from #68867
@@ -11,10 +12,12 @@ pub enum ViewportPercentageLength {
 }
 
 // EMIT_MIR early_otherwise_branch_68867.try_sum.EarlyOtherwiseBranch.diff
+// EMIT_MIR early_otherwise_branch_68867.try_sum EarlyOtherwiseBranch.before SimplifyBranches-after-copy-prop.after
 #[no_mangle]
-pub extern "C" fn try_sum(x: &ViewportPercentageLength,
-                          other: &ViewportPercentageLength)
-                        -> Result<ViewportPercentageLength, ()> {
+pub extern "C" fn try_sum(
+    x: &ViewportPercentageLength,
+    other: &ViewportPercentageLength,
+) -> Result<ViewportPercentageLength, ()> {
     use self::ViewportPercentageLength::*;
     Ok(match (x, other) {
         (&Vw(one), &Vw(other)) => Vw(one + other),
@@ -25,7 +28,6 @@ pub extern "C" fn try_sum(x: &ViewportPercentageLength,
     })
 }
 
-
 fn main() {
     try_sum(&ViewportPercentageLength::Vw(1.0), &ViewportPercentageLength::Vw(2.0));
 }
diff --git a/src/test/mir-opt/early_otherwise_branch_68867.try_sum.EarlyOtherwiseBranch.before-SimplifyBranches-after-copy-prop.after.diff b/src/test/mir-opt/early_otherwise_branch_68867.try_sum.EarlyOtherwiseBranch.before-SimplifyBranches-after-copy-prop.after.diff
new file mode 100644
index 00000000000..fbc46c9d196
--- /dev/null
+++ b/src/test/mir-opt/early_otherwise_branch_68867.try_sum.EarlyOtherwiseBranch.before-SimplifyBranches-after-copy-prop.after.diff
@@ -0,0 +1,310 @@
+- // MIR for `try_sum` before EarlyOtherwiseBranch
++ // MIR for `try_sum` after SimplifyBranches-after-copy-prop
+  
+  fn try_sum(_1: &ViewportPercentageLength, _2: &ViewportPercentageLength) -> std::result::Result<ViewportPercentageLength, ()> {
+      debug x => _1;                       // in scope 0 at $DIR/early_otherwise_branch_68867.rs:18:5: 18:6
+      debug other => _2;                   // in scope 0 at $DIR/early_otherwise_branch_68867.rs:19:5: 19:10
+      let mut _0: std::result::Result<ViewportPercentageLength, ()>; // return place in scope 0 at $DIR/early_otherwise_branch_68867.rs:20:6: 20:42
+      let mut _3: ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:22:8: 28:6
+      let mut _4: (&ViewportPercentageLength, &ViewportPercentageLength); // in scope 0 at $DIR/early_otherwise_branch_68867.rs:22:14: 22:24
+      let mut _5: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:22:15: 22:16
+      let mut _6: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:22:18: 22:23
+      let mut _7: isize;                   // in scope 0 at $DIR/early_otherwise_branch_68867.rs:23:21: 23:30
+      let mut _8: isize;                   // in scope 0 at $DIR/early_otherwise_branch_68867.rs:24:21: 24:30
+      let mut _9: isize;                   // in scope 0 at $DIR/early_otherwise_branch_68867.rs:25:23: 25:34
+      let mut _10: isize;                  // in scope 0 at $DIR/early_otherwise_branch_68867.rs:26:23: 26:34
+      let mut _11: isize;                  // in scope 0 at $DIR/early_otherwise_branch_68867.rs:23:11: 23:18
+      let _12: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:23:14: 23:17
+      let _13: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:23:24: 23:29
+      let mut _14: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:23:38: 23:49
+      let mut _15: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:23:38: 23:41
+      let mut _16: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:23:44: 23:49
+      let _17: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:24:14: 24:17
+      let _18: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:24:24: 24:29
+      let mut _19: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:24:38: 24:49
+      let mut _20: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:24:38: 24:41
+      let mut _21: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:24:44: 24:49
+      let _22: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:25:16: 25:19
+      let _23: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:25:28: 25:33
+      let mut _24: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:25:44: 25:55
+      let mut _25: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:25:44: 25:47
+      let mut _26: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:25:50: 25:55
+      let _27: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:26:16: 26:19
+      let _28: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:26:28: 26:33
+      let mut _29: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:26:44: 26:55
+      let mut _30: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:26:44: 26:47
+      let mut _31: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:26:50: 26:55
+      let mut _32: !;                      // in scope 0 at $DIR/early_otherwise_branch_68867.rs:27:14: 27:28
+      let mut _33: ();                     // in scope 0 at $DIR/early_otherwise_branch_68867.rs:27:25: 27:27
++     let mut _34: isize;                  // in scope 0 at $DIR/early_otherwise_branch_68867.rs:23:21: 23:30
++     let mut _35: bool;                   // in scope 0 at $DIR/early_otherwise_branch_68867.rs:23:21: 23:30
+      scope 1 {
+-         debug one => _12;                // in scope 1 at $DIR/early_otherwise_branch_68867.rs:23:14: 23:17
+-         debug other => _13;              // in scope 1 at $DIR/early_otherwise_branch_68867.rs:23:24: 23:29
++         debug one => _15;                // in scope 1 at $DIR/early_otherwise_branch_68867.rs:23:14: 23:17
++         debug other => _16;              // in scope 1 at $DIR/early_otherwise_branch_68867.rs:23:24: 23:29
+      }
+      scope 2 {
+-         debug one => _17;                // in scope 2 at $DIR/early_otherwise_branch_68867.rs:24:14: 24:17
+-         debug other => _18;              // in scope 2 at $DIR/early_otherwise_branch_68867.rs:24:24: 24:29
++         debug one => _20;                // in scope 2 at $DIR/early_otherwise_branch_68867.rs:24:14: 24:17
++         debug other => _21;              // in scope 2 at $DIR/early_otherwise_branch_68867.rs:24:24: 24:29
+      }
+      scope 3 {
+-         debug one => _22;                // in scope 3 at $DIR/early_otherwise_branch_68867.rs:25:16: 25:19
+-         debug other => _23;              // in scope 3 at $DIR/early_otherwise_branch_68867.rs:25:28: 25:33
++         debug one => _25;                // in scope 3 at $DIR/early_otherwise_branch_68867.rs:25:16: 25:19
++         debug other => _26;              // in scope 3 at $DIR/early_otherwise_branch_68867.rs:25:28: 25:33
+      }
+      scope 4 {
+-         debug one => _27;                // in scope 4 at $DIR/early_otherwise_branch_68867.rs:26:16: 26:19
+-         debug other => _28;              // in scope 4 at $DIR/early_otherwise_branch_68867.rs:26:28: 26:33
++         debug one => _30;                // in scope 4 at $DIR/early_otherwise_branch_68867.rs:26:16: 26:19
++         debug other => _31;              // in scope 4 at $DIR/early_otherwise_branch_68867.rs:26:28: 26:33
+      }
+  
+      bb0: {
+-         StorageLive(_3);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:8: 28:6
+-         StorageLive(_4);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:14: 22:24
+-         StorageLive(_5);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:15: 22:16
+-         _5 = _1;                         // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:15: 22:16
+-         StorageLive(_6);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:18: 22:23
+-         _6 = _2;                         // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:18: 22:23
+-         (_4.0: &ViewportPercentageLength) = move _5; // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:14: 22:24
+-         (_4.1: &ViewportPercentageLength) = move _6; // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:14: 22:24
+-         StorageDead(_6);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:23: 22:24
+-         StorageDead(_5);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:23: 22:24
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:8: 28:6
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:14: 22:24
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:15: 22:16
++         (_4.0: &ViewportPercentageLength) = _1; // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:15: 22:16
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:18: 22:23
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:18: 22:23
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:14: 22:24
++         (_4.1: &ViewportPercentageLength) = move _2; // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:14: 22:24
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:23: 22:24
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:23: 22:24
+          _11 = discriminant((*(_4.0: &ViewportPercentageLength))); // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:11: 23:18
+-         switchInt(move _11) -> [0_isize: bb1, 1_isize: bb3, 2_isize: bb4, 3_isize: bb5, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:11: 23:18
++         StorageLive(_34);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:11: 23:18
++         _34 = discriminant((*(_4.1: &ViewportPercentageLength))); // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:11: 23:18
++         StorageLive(_35);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:11: 23:18
++         _35 = Ne(_34, _11);              // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:11: 23:18
++         StorageDead(_34);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:11: 23:18
++         switchInt(move _35) -> [false: bb8, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:11: 23:18
+      }
+  
+      bb1: {
+-         _7 = discriminant((*(_4.1: &ViewportPercentageLength))); // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:21: 23:30
+-         switchInt(move _7) -> [0_isize: bb6, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:21: 23:30
+-     }
+- 
+-     bb2: {
++         StorageDead(_35);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:27:25: 27:27
+          StorageLive(_33);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:27:25: 27:27
+          ((_0 as Err).0: ()) = const ();  // scope 0 at $DIR/early_otherwise_branch_68867.rs:27:21: 27:28
+          discriminant(_0) = 1;            // scope 0 at $DIR/early_otherwise_branch_68867.rs:27:21: 27:28
+          StorageDead(_33);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:27:27: 27:28
+-         StorageDead(_3);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:28:6: 28:7
+-         StorageDead(_4);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:29:1: 29:2
+-         goto -> bb10;                    // scope 0 at $DIR/early_otherwise_branch_68867.rs:27:14: 27:28
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:28:6: 28:7
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:29:1: 29:2
++         goto -> bb6;                     // scope 0 at $DIR/early_otherwise_branch_68867.rs:27:14: 27:28
+      }
+  
++     bb2: {
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:14: 23:17
++         _15 = (((*(_4.0: &ViewportPercentageLength)) as Vw).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:14: 23:17
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:24: 23:29
++         _16 = (((*(_4.1: &ViewportPercentageLength)) as Vw).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:24: 23:29
++         nop;                             // scope 1 at $DIR/early_otherwise_branch_68867.rs:23:38: 23:49
++         nop;                             // scope 1 at $DIR/early_otherwise_branch_68867.rs:23:38: 23:41
++         nop;                             // scope 1 at $DIR/early_otherwise_branch_68867.rs:23:38: 23:41
++         nop;                             // scope 1 at $DIR/early_otherwise_branch_68867.rs:23:44: 23:49
++         nop;                             // scope 1 at $DIR/early_otherwise_branch_68867.rs:23:44: 23:49
++         ((((_0 as Ok).0: ViewportPercentageLength) as Vw).0: f32) = Add(move _15, move _16); // scope 1 at $DIR/early_otherwise_branch_68867.rs:23:38: 23:49
++         nop;                             // scope 1 at $DIR/early_otherwise_branch_68867.rs:23:48: 23:49
++         nop;                             // scope 1 at $DIR/early_otherwise_branch_68867.rs:23:48: 23:49
++         nop;                             // scope 1 at $DIR/early_otherwise_branch_68867.rs:23:35: 23:50
++         discriminant(((_0 as Ok).0: ViewportPercentageLength)) = 0; // scope 1 at $DIR/early_otherwise_branch_68867.rs:23:35: 23:50
++         nop;                             // scope 1 at $DIR/early_otherwise_branch_68867.rs:23:49: 23:50
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:49: 23:50
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:49: 23:50
++         goto -> bb7;                     // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:8: 28:6
++     }
++ 
+      bb3: {
+-         _8 = discriminant((*(_4.1: &ViewportPercentageLength))); // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:21: 24:30
+-         switchInt(move _8) -> [1_isize: bb7, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:21: 24:30
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:14: 24:17
++         _20 = (((*(_4.0: &ViewportPercentageLength)) as Vh).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:14: 24:17
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:24: 24:29
++         _21 = (((*(_4.1: &ViewportPercentageLength)) as Vh).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:24: 24:29
++         nop;                             // scope 2 at $DIR/early_otherwise_branch_68867.rs:24:38: 24:49
++         nop;                             // scope 2 at $DIR/early_otherwise_branch_68867.rs:24:38: 24:41
++         nop;                             // scope 2 at $DIR/early_otherwise_branch_68867.rs:24:38: 24:41
++         nop;                             // scope 2 at $DIR/early_otherwise_branch_68867.rs:24:44: 24:49
++         nop;                             // scope 2 at $DIR/early_otherwise_branch_68867.rs:24:44: 24:49
++         ((((_0 as Ok).0: ViewportPercentageLength) as Vh).0: f32) = Add(move _20, move _21); // scope 2 at $DIR/early_otherwise_branch_68867.rs:24:38: 24:49
++         nop;                             // scope 2 at $DIR/early_otherwise_branch_68867.rs:24:48: 24:49
++         nop;                             // scope 2 at $DIR/early_otherwise_branch_68867.rs:24:48: 24:49
++         nop;                             // scope 2 at $DIR/early_otherwise_branch_68867.rs:24:35: 24:50
++         discriminant(((_0 as Ok).0: ViewportPercentageLength)) = 1; // scope 2 at $DIR/early_otherwise_branch_68867.rs:24:35: 24:50
++         nop;                             // scope 2 at $DIR/early_otherwise_branch_68867.rs:24:49: 24:50
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:49: 24:50
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:49: 24:50
++         goto -> bb7;                     // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:8: 28:6
+      }
+  
+      bb4: {
+-         _9 = discriminant((*(_4.1: &ViewportPercentageLength))); // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:23: 25:34
+-         switchInt(move _9) -> [2_isize: bb8, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:23: 25:34
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:16: 25:19
++         _25 = (((*(_4.0: &ViewportPercentageLength)) as Vmin).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:16: 25:19
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:28: 25:33
++         _26 = (((*(_4.1: &ViewportPercentageLength)) as Vmin).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:28: 25:33
++         nop;                             // scope 3 at $DIR/early_otherwise_branch_68867.rs:25:44: 25:55
++         nop;                             // scope 3 at $DIR/early_otherwise_branch_68867.rs:25:44: 25:47
++         nop;                             // scope 3 at $DIR/early_otherwise_branch_68867.rs:25:44: 25:47
++         nop;                             // scope 3 at $DIR/early_otherwise_branch_68867.rs:25:50: 25:55
++         nop;                             // scope 3 at $DIR/early_otherwise_branch_68867.rs:25:50: 25:55
++         ((((_0 as Ok).0: ViewportPercentageLength) as Vmin).0: f32) = Add(move _25, move _26); // scope 3 at $DIR/early_otherwise_branch_68867.rs:25:44: 25:55
++         nop;                             // scope 3 at $DIR/early_otherwise_branch_68867.rs:25:54: 25:55
++         nop;                             // scope 3 at $DIR/early_otherwise_branch_68867.rs:25:54: 25:55
++         nop;                             // scope 3 at $DIR/early_otherwise_branch_68867.rs:25:39: 25:56
++         discriminant(((_0 as Ok).0: ViewportPercentageLength)) = 2; // scope 3 at $DIR/early_otherwise_branch_68867.rs:25:39: 25:56
++         nop;                             // scope 3 at $DIR/early_otherwise_branch_68867.rs:25:55: 25:56
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:55: 25:56
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:55: 25:56
++         goto -> bb7;                     // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:8: 28:6
+      }
+  
+      bb5: {
+-         _10 = discriminant((*(_4.1: &ViewportPercentageLength))); // scope 0 at $DIR/early_otherwise_branch_68867.rs:26:23: 26:34
+-         switchInt(move _10) -> [3_isize: bb9, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch_68867.rs:26:23: 26:34
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:26:16: 26:19
++         _30 = (((*(_4.0: &ViewportPercentageLength)) as Vmax).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:26:16: 26:19
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:26:28: 26:33
++         _31 = (((*(_4.1: &ViewportPercentageLength)) as Vmax).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:26:28: 26:33
++         nop;                             // scope 4 at $DIR/early_otherwise_branch_68867.rs:26:44: 26:55
++         nop;                             // scope 4 at $DIR/early_otherwise_branch_68867.rs:26:44: 26:47
++         nop;                             // scope 4 at $DIR/early_otherwise_branch_68867.rs:26:44: 26:47
++         nop;                             // scope 4 at $DIR/early_otherwise_branch_68867.rs:26:50: 26:55
++         nop;                             // scope 4 at $DIR/early_otherwise_branch_68867.rs:26:50: 26:55
++         ((((_0 as Ok).0: ViewportPercentageLength) as Vmax).0: f32) = Add(move _30, move _31); // scope 4 at $DIR/early_otherwise_branch_68867.rs:26:44: 26:55
++         nop;                             // scope 4 at $DIR/early_otherwise_branch_68867.rs:26:54: 26:55
++         nop;                             // scope 4 at $DIR/early_otherwise_branch_68867.rs:26:54: 26:55
++         nop;                             // scope 4 at $DIR/early_otherwise_branch_68867.rs:26:39: 26:56
++         discriminant(((_0 as Ok).0: ViewportPercentageLength)) = 3; // scope 4 at $DIR/early_otherwise_branch_68867.rs:26:39: 26:56
++         nop;                             // scope 4 at $DIR/early_otherwise_branch_68867.rs:26:55: 26:56
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:26:55: 26:56
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:26:55: 26:56
++         goto -> bb7;                     // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:8: 28:6
+      }
+  
+      bb6: {
+-         StorageLive(_12);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:14: 23:17
+-         _12 = (((*(_4.0: &ViewportPercentageLength)) as Vw).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:14: 23:17
+-         StorageLive(_13);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:24: 23:29
+-         _13 = (((*(_4.1: &ViewportPercentageLength)) as Vw).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:24: 23:29
+-         StorageLive(_14);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:23:38: 23:49
+-         StorageLive(_15);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:23:38: 23:41
+-         _15 = _12;                       // scope 1 at $DIR/early_otherwise_branch_68867.rs:23:38: 23:41
+-         StorageLive(_16);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:23:44: 23:49
+-         _16 = _13;                       // scope 1 at $DIR/early_otherwise_branch_68867.rs:23:44: 23:49
+-         _14 = Add(move _15, move _16);   // scope 1 at $DIR/early_otherwise_branch_68867.rs:23:38: 23:49
+-         StorageDead(_16);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:23:48: 23:49
+-         StorageDead(_15);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:23:48: 23:49
+-         ((_3 as Vw).0: f32) = move _14;  // scope 1 at $DIR/early_otherwise_branch_68867.rs:23:35: 23:50
+-         discriminant(_3) = 0;            // scope 1 at $DIR/early_otherwise_branch_68867.rs:23:35: 23:50
+-         StorageDead(_14);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:23:49: 23:50
+-         StorageDead(_13);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:49: 23:50
+-         StorageDead(_12);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:49: 23:50
+-         goto -> bb11;                    // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:8: 28:6
++         return;                          // scope 0 at $DIR/early_otherwise_branch_68867.rs:29:2: 29:2
+      }
+  
+      bb7: {
+-         StorageLive(_17);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:14: 24:17
+-         _17 = (((*(_4.0: &ViewportPercentageLength)) as Vh).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:14: 24:17
+-         StorageLive(_18);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:24: 24:29
+-         _18 = (((*(_4.1: &ViewportPercentageLength)) as Vh).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:24: 24:29
+-         StorageLive(_19);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:24:38: 24:49
+-         StorageLive(_20);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:24:38: 24:41
+-         _20 = _17;                       // scope 2 at $DIR/early_otherwise_branch_68867.rs:24:38: 24:41
+-         StorageLive(_21);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:24:44: 24:49
+-         _21 = _18;                       // scope 2 at $DIR/early_otherwise_branch_68867.rs:24:44: 24:49
+-         _19 = Add(move _20, move _21);   // scope 2 at $DIR/early_otherwise_branch_68867.rs:24:38: 24:49
+-         StorageDead(_21);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:24:48: 24:49
+-         StorageDead(_20);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:24:48: 24:49
+-         ((_3 as Vh).0: f32) = move _19;  // scope 2 at $DIR/early_otherwise_branch_68867.rs:24:35: 24:50
+-         discriminant(_3) = 1;            // scope 2 at $DIR/early_otherwise_branch_68867.rs:24:35: 24:50
+-         StorageDead(_19);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:24:49: 24:50
+-         StorageDead(_18);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:49: 24:50
+-         StorageDead(_17);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:49: 24:50
+-         goto -> bb11;                    // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:8: 28:6
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:5: 28:7
++         discriminant(_0) = 0;            // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:5: 28:7
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:28:6: 28:7
++         nop;                             // scope 0 at $DIR/early_otherwise_branch_68867.rs:29:1: 29:2
++         goto -> bb6;                     // scope 0 at $DIR/early_otherwise_branch_68867.rs:29:2: 29:2
+      }
+  
+      bb8: {
+-         StorageLive(_22);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:16: 25:19
+-         _22 = (((*(_4.0: &ViewportPercentageLength)) as Vmin).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:16: 25:19
+-         StorageLive(_23);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:28: 25:33
+-         _23 = (((*(_4.1: &ViewportPercentageLength)) as Vmin).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:28: 25:33
+-         StorageLive(_24);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:25:44: 25:55
+-         StorageLive(_25);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:25:44: 25:47
+-         _25 = _22;                       // scope 3 at $DIR/early_otherwise_branch_68867.rs:25:44: 25:47
+-         StorageLive(_26);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:25:50: 25:55
+-         _26 = _23;                       // scope 3 at $DIR/early_otherwise_branch_68867.rs:25:50: 25:55
+-         _24 = Add(move _25, move _26);   // scope 3 at $DIR/early_otherwise_branch_68867.rs:25:44: 25:55
+-         StorageDead(_26);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:25:54: 25:55
+-         StorageDead(_25);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:25:54: 25:55
+-         ((_3 as Vmin).0: f32) = move _24; // scope 3 at $DIR/early_otherwise_branch_68867.rs:25:39: 25:56
+-         discriminant(_3) = 2;            // scope 3 at $DIR/early_otherwise_branch_68867.rs:25:39: 25:56
+-         StorageDead(_24);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:25:55: 25:56
+-         StorageDead(_23);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:55: 25:56
+-         StorageDead(_22);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:55: 25:56
+-         goto -> bb11;                    // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:8: 28:6
+-     }
+- 
+-     bb9: {
+-         StorageLive(_27);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:26:16: 26:19
+-         _27 = (((*(_4.0: &ViewportPercentageLength)) as Vmax).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:26:16: 26:19
+-         StorageLive(_28);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:26:28: 26:33
+-         _28 = (((*(_4.1: &ViewportPercentageLength)) as Vmax).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:26:28: 26:33
+-         StorageLive(_29);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:26:44: 26:55
+-         StorageLive(_30);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:26:44: 26:47
+-         _30 = _27;                       // scope 4 at $DIR/early_otherwise_branch_68867.rs:26:44: 26:47
+-         StorageLive(_31);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:26:50: 26:55
+-         _31 = _28;                       // scope 4 at $DIR/early_otherwise_branch_68867.rs:26:50: 26:55
+-         _29 = Add(move _30, move _31);   // scope 4 at $DIR/early_otherwise_branch_68867.rs:26:44: 26:55
+-         StorageDead(_31);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:26:54: 26:55
+-         StorageDead(_30);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:26:54: 26:55
+-         ((_3 as Vmax).0: f32) = move _29; // scope 4 at $DIR/early_otherwise_branch_68867.rs:26:39: 26:56
+-         discriminant(_3) = 3;            // scope 4 at $DIR/early_otherwise_branch_68867.rs:26:39: 26:56
+-         StorageDead(_29);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:26:55: 26:56
+-         StorageDead(_28);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:26:55: 26:56
+-         StorageDead(_27);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:26:55: 26:56
+-         goto -> bb11;                    // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:8: 28:6
+-     }
+- 
+-     bb10: {
+-         return;                          // scope 0 at $DIR/early_otherwise_branch_68867.rs:29:2: 29:2
+-     }
+- 
+-     bb11: {
+-         ((_0 as Ok).0: ViewportPercentageLength) = move _3; // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:5: 28:7
+-         discriminant(_0) = 0;            // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:5: 28:7
+-         StorageDead(_3);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:28:6: 28:7
+-         StorageDead(_4);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:29:1: 29:2
+-         goto -> bb10;                    // scope 0 at $DIR/early_otherwise_branch_68867.rs:29:2: 29:2
++         StorageDead(_35);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:21: 23:30
++         switchInt(_11) -> [0_isize: bb2, 1_isize: bb3, 2_isize: bb4, 3_isize: bb5, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:21: 23:30
+      }
+  }
+  
diff --git a/src/test/mir-opt/early_otherwise_branch_68867.try_sum.EarlyOtherwiseBranch.diff b/src/test/mir-opt/early_otherwise_branch_68867.try_sum.EarlyOtherwiseBranch.diff
index 57f9b1dd3ca..54e4b082626 100644
--- a/src/test/mir-opt/early_otherwise_branch_68867.try_sum.EarlyOtherwiseBranch.diff
+++ b/src/test/mir-opt/early_otherwise_branch_68867.try_sum.EarlyOtherwiseBranch.diff
@@ -2,222 +2,222 @@
 + // MIR for `try_sum` after EarlyOtherwiseBranch
   
   fn try_sum(_1: &ViewportPercentageLength, _2: &ViewportPercentageLength) -> std::result::Result<ViewportPercentageLength, ()> {
-      debug x => _1;                       // in scope 0 at $DIR/early_otherwise_branch_68867.rs:15:27: 15:28
-      debug other => _2;                   // in scope 0 at $DIR/early_otherwise_branch_68867.rs:16:27: 16:32
-      let mut _0: std::result::Result<ViewportPercentageLength, ()>; // return place in scope 0 at $DIR/early_otherwise_branch_68867.rs:17:28: 17:64
-      let mut _3: ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:19:8: 25:6
-      let mut _4: (&ViewportPercentageLength, &ViewportPercentageLength); // in scope 0 at $DIR/early_otherwise_branch_68867.rs:19:14: 19:24
-      let mut _5: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:19:15: 19:16
-      let mut _6: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:19:18: 19:23
-      let mut _7: isize;                   // in scope 0 at $DIR/early_otherwise_branch_68867.rs:20:21: 20:30
-      let mut _8: isize;                   // in scope 0 at $DIR/early_otherwise_branch_68867.rs:21:21: 21:30
-      let mut _9: isize;                   // in scope 0 at $DIR/early_otherwise_branch_68867.rs:22:23: 22:34
-      let mut _10: isize;                  // in scope 0 at $DIR/early_otherwise_branch_68867.rs:23:23: 23:34
-      let mut _11: isize;                  // in scope 0 at $DIR/early_otherwise_branch_68867.rs:20:11: 20:18
-      let _12: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:20:14: 20:17
-      let _13: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:20:24: 20:29
-      let mut _14: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:20:38: 20:49
-      let mut _15: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:20:38: 20:41
-      let mut _16: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:20:44: 20:49
-      let _17: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:17
-      let _18: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:21:24: 21:29
-      let mut _19: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:21:38: 21:49
-      let mut _20: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:21:38: 21:41
-      let mut _21: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:21:44: 21:49
-      let _22: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:22:16: 22:19
-      let _23: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:22:28: 22:33
-      let mut _24: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:22:44: 22:55
-      let mut _25: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:22:44: 22:47
-      let mut _26: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:22:50: 22:55
-      let _27: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:23:16: 23:19
-      let _28: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:23:28: 23:33
-      let mut _29: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:23:44: 23:55
-      let mut _30: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:23:44: 23:47
-      let mut _31: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:23:50: 23:55
-      let mut _32: !;                      // in scope 0 at $DIR/early_otherwise_branch_68867.rs:24:14: 24:28
-      let mut _33: ();                     // in scope 0 at $DIR/early_otherwise_branch_68867.rs:24:25: 24:27
-+     let mut _34: isize;                  // in scope 0 at $DIR/early_otherwise_branch_68867.rs:20:21: 20:30
-+     let mut _35: bool;                   // in scope 0 at $DIR/early_otherwise_branch_68867.rs:20:21: 20:30
+      debug x => _1;                       // in scope 0 at $DIR/early_otherwise_branch_68867.rs:18:5: 18:6
+      debug other => _2;                   // in scope 0 at $DIR/early_otherwise_branch_68867.rs:19:5: 19:10
+      let mut _0: std::result::Result<ViewportPercentageLength, ()>; // return place in scope 0 at $DIR/early_otherwise_branch_68867.rs:20:6: 20:42
+      let mut _3: ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:22:8: 28:6
+      let mut _4: (&ViewportPercentageLength, &ViewportPercentageLength); // in scope 0 at $DIR/early_otherwise_branch_68867.rs:22:14: 22:24
+      let mut _5: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:22:15: 22:16
+      let mut _6: &ViewportPercentageLength; // in scope 0 at $DIR/early_otherwise_branch_68867.rs:22:18: 22:23
+      let mut _7: isize;                   // in scope 0 at $DIR/early_otherwise_branch_68867.rs:23:21: 23:30
+      let mut _8: isize;                   // in scope 0 at $DIR/early_otherwise_branch_68867.rs:24:21: 24:30
+      let mut _9: isize;                   // in scope 0 at $DIR/early_otherwise_branch_68867.rs:25:23: 25:34
+      let mut _10: isize;                  // in scope 0 at $DIR/early_otherwise_branch_68867.rs:26:23: 26:34
+      let mut _11: isize;                  // in scope 0 at $DIR/early_otherwise_branch_68867.rs:23:11: 23:18
+      let _12: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:23:14: 23:17
+      let _13: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:23:24: 23:29
+      let mut _14: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:23:38: 23:49
+      let mut _15: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:23:38: 23:41
+      let mut _16: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:23:44: 23:49
+      let _17: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:24:14: 24:17
+      let _18: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:24:24: 24:29
+      let mut _19: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:24:38: 24:49
+      let mut _20: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:24:38: 24:41
+      let mut _21: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:24:44: 24:49
+      let _22: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:25:16: 25:19
+      let _23: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:25:28: 25:33
+      let mut _24: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:25:44: 25:55
+      let mut _25: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:25:44: 25:47
+      let mut _26: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:25:50: 25:55
+      let _27: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:26:16: 26:19
+      let _28: f32;                        // in scope 0 at $DIR/early_otherwise_branch_68867.rs:26:28: 26:33
+      let mut _29: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:26:44: 26:55
+      let mut _30: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:26:44: 26:47
+      let mut _31: f32;                    // in scope 0 at $DIR/early_otherwise_branch_68867.rs:26:50: 26:55
+      let mut _32: !;                      // in scope 0 at $DIR/early_otherwise_branch_68867.rs:27:14: 27:28
+      let mut _33: ();                     // in scope 0 at $DIR/early_otherwise_branch_68867.rs:27:25: 27:27
++     let mut _34: isize;                  // in scope 0 at $DIR/early_otherwise_branch_68867.rs:23:21: 23:30
++     let mut _35: bool;                   // in scope 0 at $DIR/early_otherwise_branch_68867.rs:23:21: 23:30
       scope 1 {
-          debug one => _12;                // in scope 1 at $DIR/early_otherwise_branch_68867.rs:20:14: 20:17
-          debug other => _13;              // in scope 1 at $DIR/early_otherwise_branch_68867.rs:20:24: 20:29
+          debug one => _12;                // in scope 1 at $DIR/early_otherwise_branch_68867.rs:23:14: 23:17
+          debug other => _13;              // in scope 1 at $DIR/early_otherwise_branch_68867.rs:23:24: 23:29
       }
       scope 2 {
-          debug one => _17;                // in scope 2 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:17
-          debug other => _18;              // in scope 2 at $DIR/early_otherwise_branch_68867.rs:21:24: 21:29
+          debug one => _17;                // in scope 2 at $DIR/early_otherwise_branch_68867.rs:24:14: 24:17
+          debug other => _18;              // in scope 2 at $DIR/early_otherwise_branch_68867.rs:24:24: 24:29
       }
       scope 3 {
-          debug one => _22;                // in scope 3 at $DIR/early_otherwise_branch_68867.rs:22:16: 22:19
-          debug other => _23;              // in scope 3 at $DIR/early_otherwise_branch_68867.rs:22:28: 22:33
+          debug one => _22;                // in scope 3 at $DIR/early_otherwise_branch_68867.rs:25:16: 25:19
+          debug other => _23;              // in scope 3 at $DIR/early_otherwise_branch_68867.rs:25:28: 25:33
       }
       scope 4 {
-          debug one => _27;                // in scope 4 at $DIR/early_otherwise_branch_68867.rs:23:16: 23:19
-          debug other => _28;              // in scope 4 at $DIR/early_otherwise_branch_68867.rs:23:28: 23:33
+          debug one => _27;                // in scope 4 at $DIR/early_otherwise_branch_68867.rs:26:16: 26:19
+          debug other => _28;              // in scope 4 at $DIR/early_otherwise_branch_68867.rs:26:28: 26:33
       }
   
       bb0: {
-          StorageLive(_3);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:19:8: 25:6
-          StorageLive(_4);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:19:14: 19:24
-          StorageLive(_5);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:19:15: 19:16
-          _5 = _1;                         // scope 0 at $DIR/early_otherwise_branch_68867.rs:19:15: 19:16
-          StorageLive(_6);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:19:18: 19:23
-          _6 = _2;                         // scope 0 at $DIR/early_otherwise_branch_68867.rs:19:18: 19:23
-          (_4.0: &ViewportPercentageLength) = move _5; // scope 0 at $DIR/early_otherwise_branch_68867.rs:19:14: 19:24
-          (_4.1: &ViewportPercentageLength) = move _6; // scope 0 at $DIR/early_otherwise_branch_68867.rs:19:14: 19:24
-          StorageDead(_6);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:19:23: 19:24
-          StorageDead(_5);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:19:23: 19:24
-          _11 = discriminant((*(_4.0: &ViewportPercentageLength))); // scope 0 at $DIR/early_otherwise_branch_68867.rs:20:11: 20:18
--         switchInt(move _11) -> [0_isize: bb1, 1_isize: bb3, 2_isize: bb4, 3_isize: bb5, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch_68867.rs:20:11: 20:18
-+         StorageLive(_34);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:20:11: 20:18
-+         _34 = discriminant((*(_4.1: &ViewportPercentageLength))); // scope 0 at $DIR/early_otherwise_branch_68867.rs:20:11: 20:18
-+         StorageLive(_35);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:20:11: 20:18
-+         _35 = Ne(_34, _11);              // scope 0 at $DIR/early_otherwise_branch_68867.rs:20:11: 20:18
-+         StorageDead(_34);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:20:11: 20:18
-+         switchInt(move _35) -> [false: bb8, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_68867.rs:20:11: 20:18
+          StorageLive(_3);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:8: 28:6
+          StorageLive(_4);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:14: 22:24
+          StorageLive(_5);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:15: 22:16
+          _5 = _1;                         // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:15: 22:16
+          StorageLive(_6);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:18: 22:23
+          _6 = _2;                         // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:18: 22:23
+          (_4.0: &ViewportPercentageLength) = move _5; // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:14: 22:24
+          (_4.1: &ViewportPercentageLength) = move _6; // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:14: 22:24
+          StorageDead(_6);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:23: 22:24
+          StorageDead(_5);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:23: 22:24
+          _11 = discriminant((*(_4.0: &ViewportPercentageLength))); // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:11: 23:18
+-         switchInt(move _11) -> [0_isize: bb1, 1_isize: bb3, 2_isize: bb4, 3_isize: bb5, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:11: 23:18
++         StorageLive(_34);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:11: 23:18
++         _34 = discriminant((*(_4.1: &ViewportPercentageLength))); // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:11: 23:18
++         StorageLive(_35);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:11: 23:18
++         _35 = Ne(_34, _11);              // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:11: 23:18
++         StorageDead(_34);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:11: 23:18
++         switchInt(move _35) -> [false: bb8, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:11: 23:18
       }
   
       bb1: {
--         _7 = discriminant((*(_4.1: &ViewportPercentageLength))); // scope 0 at $DIR/early_otherwise_branch_68867.rs:20:21: 20:30
--         switchInt(move _7) -> [0_isize: bb6, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch_68867.rs:20:21: 20:30
+-         _7 = discriminant((*(_4.1: &ViewportPercentageLength))); // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:21: 23:30
+-         switchInt(move _7) -> [0_isize: bb6, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:21: 23:30
 -     }
 - 
 -     bb2: {
-+         StorageDead(_35);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:25: 24:27
-          StorageLive(_33);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:25: 24:27
-          ((_0 as Err).0: ()) = const ();  // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:21: 24:28
-          discriminant(_0) = 1;            // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:21: 24:28
-          StorageDead(_33);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:27: 24:28
-          StorageDead(_3);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:6: 25:7
-          StorageDead(_4);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:26:1: 26:2
--         goto -> bb10;                    // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:14: 24:28
-+         goto -> bb6;                     // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:14: 24:28
++         StorageDead(_35);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:27:25: 27:27
+          StorageLive(_33);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:27:25: 27:27
+          ((_0 as Err).0: ()) = const ();  // scope 0 at $DIR/early_otherwise_branch_68867.rs:27:21: 27:28
+          discriminant(_0) = 1;            // scope 0 at $DIR/early_otherwise_branch_68867.rs:27:21: 27:28
+          StorageDead(_33);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:27:27: 27:28
+          StorageDead(_3);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:28:6: 28:7
+          StorageDead(_4);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:29:1: 29:2
+-         goto -> bb10;                    // scope 0 at $DIR/early_otherwise_branch_68867.rs:27:14: 27:28
++         goto -> bb6;                     // scope 0 at $DIR/early_otherwise_branch_68867.rs:27:14: 27:28
       }
   
 -     bb3: {
--         _8 = discriminant((*(_4.1: &ViewportPercentageLength))); // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:21: 21:30
--         switchInt(move _8) -> [1_isize: bb7, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:21: 21:30
+-         _8 = discriminant((*(_4.1: &ViewportPercentageLength))); // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:21: 24:30
+-         switchInt(move _8) -> [1_isize: bb7, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:21: 24:30
 -     }
 - 
 -     bb4: {
--         _9 = discriminant((*(_4.1: &ViewportPercentageLength))); // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:23: 22:34
--         switchInt(move _9) -> [2_isize: bb8, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:23: 22:34
+-         _9 = discriminant((*(_4.1: &ViewportPercentageLength))); // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:23: 25:34
+-         switchInt(move _9) -> [2_isize: bb8, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:23: 25:34
 -     }
 - 
 -     bb5: {
--         _10 = discriminant((*(_4.1: &ViewportPercentageLength))); // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:23: 23:34
--         switchInt(move _10) -> [3_isize: bb9, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:23: 23:34
+-         _10 = discriminant((*(_4.1: &ViewportPercentageLength))); // scope 0 at $DIR/early_otherwise_branch_68867.rs:26:23: 26:34
+-         switchInt(move _10) -> [3_isize: bb9, otherwise: bb2]; // scope 0 at $DIR/early_otherwise_branch_68867.rs:26:23: 26:34
 -     }
 - 
 -     bb6: {
 +     bb2: {
-          StorageLive(_12);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:20:14: 20:17
-          _12 = (((*(_4.0: &ViewportPercentageLength)) as Vw).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:20:14: 20:17
-          StorageLive(_13);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:20:24: 20:29
-          _13 = (((*(_4.1: &ViewportPercentageLength)) as Vw).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:20:24: 20:29
-          StorageLive(_14);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:20:38: 20:49
-          StorageLive(_15);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:20:38: 20:41
-          _15 = _12;                       // scope 1 at $DIR/early_otherwise_branch_68867.rs:20:38: 20:41
-          StorageLive(_16);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:20:44: 20:49
-          _16 = _13;                       // scope 1 at $DIR/early_otherwise_branch_68867.rs:20:44: 20:49
-          _14 = Add(move _15, move _16);   // scope 1 at $DIR/early_otherwise_branch_68867.rs:20:38: 20:49
-          StorageDead(_16);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:20:48: 20:49
-          StorageDead(_15);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:20:48: 20:49
-          ((_3 as Vw).0: f32) = move _14;  // scope 1 at $DIR/early_otherwise_branch_68867.rs:20:35: 20:50
-          discriminant(_3) = 0;            // scope 1 at $DIR/early_otherwise_branch_68867.rs:20:35: 20:50
-          StorageDead(_14);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:20:49: 20:50
-          StorageDead(_13);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:20:49: 20:50
-          StorageDead(_12);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:20:49: 20:50
--         goto -> bb11;                    // scope 0 at $DIR/early_otherwise_branch_68867.rs:19:8: 25:6
-+         goto -> bb7;                     // scope 0 at $DIR/early_otherwise_branch_68867.rs:19:8: 25:6
+          StorageLive(_12);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:14: 23:17
+          _12 = (((*(_4.0: &ViewportPercentageLength)) as Vw).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:14: 23:17
+          StorageLive(_13);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:24: 23:29
+          _13 = (((*(_4.1: &ViewportPercentageLength)) as Vw).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:24: 23:29
+          StorageLive(_14);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:23:38: 23:49
+          StorageLive(_15);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:23:38: 23:41
+          _15 = _12;                       // scope 1 at $DIR/early_otherwise_branch_68867.rs:23:38: 23:41
+          StorageLive(_16);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:23:44: 23:49
+          _16 = _13;                       // scope 1 at $DIR/early_otherwise_branch_68867.rs:23:44: 23:49
+          _14 = Add(move _15, move _16);   // scope 1 at $DIR/early_otherwise_branch_68867.rs:23:38: 23:49
+          StorageDead(_16);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:23:48: 23:49
+          StorageDead(_15);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:23:48: 23:49
+          ((_3 as Vw).0: f32) = move _14;  // scope 1 at $DIR/early_otherwise_branch_68867.rs:23:35: 23:50
+          discriminant(_3) = 0;            // scope 1 at $DIR/early_otherwise_branch_68867.rs:23:35: 23:50
+          StorageDead(_14);                // scope 1 at $DIR/early_otherwise_branch_68867.rs:23:49: 23:50
+          StorageDead(_13);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:49: 23:50
+          StorageDead(_12);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:49: 23:50
+-         goto -> bb11;                    // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:8: 28:6
++         goto -> bb7;                     // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:8: 28:6
       }
   
 -     bb7: {
 +     bb3: {
-          StorageLive(_17);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:17
-          _17 = (((*(_4.0: &ViewportPercentageLength)) as Vh).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:14: 21:17
-          StorageLive(_18);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:24: 21:29
-          _18 = (((*(_4.1: &ViewportPercentageLength)) as Vh).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:24: 21:29
-          StorageLive(_19);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:21:38: 21:49
-          StorageLive(_20);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:21:38: 21:41
-          _20 = _17;                       // scope 2 at $DIR/early_otherwise_branch_68867.rs:21:38: 21:41
-          StorageLive(_21);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:21:44: 21:49
-          _21 = _18;                       // scope 2 at $DIR/early_otherwise_branch_68867.rs:21:44: 21:49
-          _19 = Add(move _20, move _21);   // scope 2 at $DIR/early_otherwise_branch_68867.rs:21:38: 21:49
-          StorageDead(_21);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:21:48: 21:49
-          StorageDead(_20);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:21:48: 21:49
-          ((_3 as Vh).0: f32) = move _19;  // scope 2 at $DIR/early_otherwise_branch_68867.rs:21:35: 21:50
-          discriminant(_3) = 1;            // scope 2 at $DIR/early_otherwise_branch_68867.rs:21:35: 21:50
-          StorageDead(_19);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:21:49: 21:50
-          StorageDead(_18);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:49: 21:50
-          StorageDead(_17);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:21:49: 21:50
--         goto -> bb11;                    // scope 0 at $DIR/early_otherwise_branch_68867.rs:19:8: 25:6
-+         goto -> bb7;                     // scope 0 at $DIR/early_otherwise_branch_68867.rs:19:8: 25:6
+          StorageLive(_17);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:14: 24:17
+          _17 = (((*(_4.0: &ViewportPercentageLength)) as Vh).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:14: 24:17
+          StorageLive(_18);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:24: 24:29
+          _18 = (((*(_4.1: &ViewportPercentageLength)) as Vh).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:24: 24:29
+          StorageLive(_19);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:24:38: 24:49
+          StorageLive(_20);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:24:38: 24:41
+          _20 = _17;                       // scope 2 at $DIR/early_otherwise_branch_68867.rs:24:38: 24:41
+          StorageLive(_21);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:24:44: 24:49
+          _21 = _18;                       // scope 2 at $DIR/early_otherwise_branch_68867.rs:24:44: 24:49
+          _19 = Add(move _20, move _21);   // scope 2 at $DIR/early_otherwise_branch_68867.rs:24:38: 24:49
+          StorageDead(_21);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:24:48: 24:49
+          StorageDead(_20);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:24:48: 24:49
+          ((_3 as Vh).0: f32) = move _19;  // scope 2 at $DIR/early_otherwise_branch_68867.rs:24:35: 24:50
+          discriminant(_3) = 1;            // scope 2 at $DIR/early_otherwise_branch_68867.rs:24:35: 24:50
+          StorageDead(_19);                // scope 2 at $DIR/early_otherwise_branch_68867.rs:24:49: 24:50
+          StorageDead(_18);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:49: 24:50
+          StorageDead(_17);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:24:49: 24:50
+-         goto -> bb11;                    // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:8: 28:6
++         goto -> bb7;                     // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:8: 28:6
       }
   
 -     bb8: {
 +     bb4: {
-          StorageLive(_22);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:16: 22:19
-          _22 = (((*(_4.0: &ViewportPercentageLength)) as Vmin).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:16: 22:19
-          StorageLive(_23);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:28: 22:33
-          _23 = (((*(_4.1: &ViewportPercentageLength)) as Vmin).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:28: 22:33
-          StorageLive(_24);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:22:44: 22:55
-          StorageLive(_25);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:22:44: 22:47
-          _25 = _22;                       // scope 3 at $DIR/early_otherwise_branch_68867.rs:22:44: 22:47
-          StorageLive(_26);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:22:50: 22:55
-          _26 = _23;                       // scope 3 at $DIR/early_otherwise_branch_68867.rs:22:50: 22:55
-          _24 = Add(move _25, move _26);   // scope 3 at $DIR/early_otherwise_branch_68867.rs:22:44: 22:55
-          StorageDead(_26);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:22:54: 22:55
-          StorageDead(_25);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:22:54: 22:55
-          ((_3 as Vmin).0: f32) = move _24; // scope 3 at $DIR/early_otherwise_branch_68867.rs:22:39: 22:56
-          discriminant(_3) = 2;            // scope 3 at $DIR/early_otherwise_branch_68867.rs:22:39: 22:56
-          StorageDead(_24);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:22:55: 22:56
-          StorageDead(_23);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:55: 22:56
-          StorageDead(_22);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:55: 22:56
--         goto -> bb11;                    // scope 0 at $DIR/early_otherwise_branch_68867.rs:19:8: 25:6
-+         goto -> bb7;                     // scope 0 at $DIR/early_otherwise_branch_68867.rs:19:8: 25:6
+          StorageLive(_22);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:16: 25:19
+          _22 = (((*(_4.0: &ViewportPercentageLength)) as Vmin).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:16: 25:19
+          StorageLive(_23);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:28: 25:33
+          _23 = (((*(_4.1: &ViewportPercentageLength)) as Vmin).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:28: 25:33
+          StorageLive(_24);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:25:44: 25:55
+          StorageLive(_25);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:25:44: 25:47
+          _25 = _22;                       // scope 3 at $DIR/early_otherwise_branch_68867.rs:25:44: 25:47
+          StorageLive(_26);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:25:50: 25:55
+          _26 = _23;                       // scope 3 at $DIR/early_otherwise_branch_68867.rs:25:50: 25:55
+          _24 = Add(move _25, move _26);   // scope 3 at $DIR/early_otherwise_branch_68867.rs:25:44: 25:55
+          StorageDead(_26);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:25:54: 25:55
+          StorageDead(_25);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:25:54: 25:55
+          ((_3 as Vmin).0: f32) = move _24; // scope 3 at $DIR/early_otherwise_branch_68867.rs:25:39: 25:56
+          discriminant(_3) = 2;            // scope 3 at $DIR/early_otherwise_branch_68867.rs:25:39: 25:56
+          StorageDead(_24);                // scope 3 at $DIR/early_otherwise_branch_68867.rs:25:55: 25:56
+          StorageDead(_23);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:55: 25:56
+          StorageDead(_22);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:55: 25:56
+-         goto -> bb11;                    // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:8: 28:6
++         goto -> bb7;                     // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:8: 28:6
       }
   
 -     bb9: {
 +     bb5: {
-          StorageLive(_27);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:16: 23:19
-          _27 = (((*(_4.0: &ViewportPercentageLength)) as Vmax).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:16: 23:19
-          StorageLive(_28);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:28: 23:33
-          _28 = (((*(_4.1: &ViewportPercentageLength)) as Vmax).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:28: 23:33
-          StorageLive(_29);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:23:44: 23:55
-          StorageLive(_30);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:23:44: 23:47
-          _30 = _27;                       // scope 4 at $DIR/early_otherwise_branch_68867.rs:23:44: 23:47
-          StorageLive(_31);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:23:50: 23:55
-          _31 = _28;                       // scope 4 at $DIR/early_otherwise_branch_68867.rs:23:50: 23:55
-          _29 = Add(move _30, move _31);   // scope 4 at $DIR/early_otherwise_branch_68867.rs:23:44: 23:55
-          StorageDead(_31);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:23:54: 23:55
-          StorageDead(_30);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:23:54: 23:55
-          ((_3 as Vmax).0: f32) = move _29; // scope 4 at $DIR/early_otherwise_branch_68867.rs:23:39: 23:56
-          discriminant(_3) = 3;            // scope 4 at $DIR/early_otherwise_branch_68867.rs:23:39: 23:56
-          StorageDead(_29);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:23:55: 23:56
-          StorageDead(_28);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:55: 23:56
-          StorageDead(_27);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:55: 23:56
--         goto -> bb11;                    // scope 0 at $DIR/early_otherwise_branch_68867.rs:19:8: 25:6
-+         goto -> bb7;                     // scope 0 at $DIR/early_otherwise_branch_68867.rs:19:8: 25:6
+          StorageLive(_27);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:26:16: 26:19
+          _27 = (((*(_4.0: &ViewportPercentageLength)) as Vmax).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:26:16: 26:19
+          StorageLive(_28);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:26:28: 26:33
+          _28 = (((*(_4.1: &ViewportPercentageLength)) as Vmax).0: f32); // scope 0 at $DIR/early_otherwise_branch_68867.rs:26:28: 26:33
+          StorageLive(_29);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:26:44: 26:55
+          StorageLive(_30);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:26:44: 26:47
+          _30 = _27;                       // scope 4 at $DIR/early_otherwise_branch_68867.rs:26:44: 26:47
+          StorageLive(_31);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:26:50: 26:55
+          _31 = _28;                       // scope 4 at $DIR/early_otherwise_branch_68867.rs:26:50: 26:55
+          _29 = Add(move _30, move _31);   // scope 4 at $DIR/early_otherwise_branch_68867.rs:26:44: 26:55
+          StorageDead(_31);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:26:54: 26:55
+          StorageDead(_30);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:26:54: 26:55
+          ((_3 as Vmax).0: f32) = move _29; // scope 4 at $DIR/early_otherwise_branch_68867.rs:26:39: 26:56
+          discriminant(_3) = 3;            // scope 4 at $DIR/early_otherwise_branch_68867.rs:26:39: 26:56
+          StorageDead(_29);                // scope 4 at $DIR/early_otherwise_branch_68867.rs:26:55: 26:56
+          StorageDead(_28);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:26:55: 26:56
+          StorageDead(_27);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:26:55: 26:56
+-         goto -> bb11;                    // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:8: 28:6
++         goto -> bb7;                     // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:8: 28:6
       }
   
 -     bb10: {
 +     bb6: {
-          return;                          // scope 0 at $DIR/early_otherwise_branch_68867.rs:26:2: 26:2
+          return;                          // scope 0 at $DIR/early_otherwise_branch_68867.rs:29:2: 29:2
       }
   
 -     bb11: {
 +     bb7: {
-          ((_0 as Ok).0: ViewportPercentageLength) = move _3; // scope 0 at $DIR/early_otherwise_branch_68867.rs:19:5: 25:7
-          discriminant(_0) = 0;            // scope 0 at $DIR/early_otherwise_branch_68867.rs:19:5: 25:7
-          StorageDead(_3);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:25:6: 25:7
-          StorageDead(_4);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:26:1: 26:2
--         goto -> bb10;                    // scope 0 at $DIR/early_otherwise_branch_68867.rs:26:2: 26:2
-+         goto -> bb6;                     // scope 0 at $DIR/early_otherwise_branch_68867.rs:26:2: 26:2
+          ((_0 as Ok).0: ViewportPercentageLength) = move _3; // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:5: 28:7
+          discriminant(_0) = 0;            // scope 0 at $DIR/early_otherwise_branch_68867.rs:22:5: 28:7
+          StorageDead(_3);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:28:6: 28:7
+          StorageDead(_4);                 // scope 0 at $DIR/early_otherwise_branch_68867.rs:29:1: 29:2
+-         goto -> bb10;                    // scope 0 at $DIR/early_otherwise_branch_68867.rs:29:2: 29:2
++         goto -> bb6;                     // scope 0 at $DIR/early_otherwise_branch_68867.rs:29:2: 29:2
 +     }
 + 
 +     bb8: {
-+         StorageDead(_35);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:20:21: 20:30
-+         switchInt(_11) -> [0_isize: bb2, 1_isize: bb3, 2_isize: bb4, 3_isize: bb5, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_68867.rs:20:21: 20:30
++         StorageDead(_35);                // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:21: 23:30
++         switchInt(_11) -> [0_isize: bb2, 1_isize: bb3, 2_isize: bb4, 3_isize: bb5, otherwise: bb1]; // scope 0 at $DIR/early_otherwise_branch_68867.rs:23:21: 23:30
       }
   }