- // MIR for `opt_u32` before SimplifyComparisonIntegral
+ // MIR for `opt_u32` after SimplifyComparisonIntegral
  
  fn opt_u32(_1: u32) -> u32 {
      debug x => _1;
      let mut _0: u32;
      let mut _2: bool;
      let mut _3: u32;
  
      bb0: {
          StorageLive(_2);
          StorageLive(_3);
          _3 = copy _1;
-         _2 = Eq(move _3, const 42_u32);
-         switchInt(move _2) -> [0: bb2, otherwise: bb1];
+         nop;
+         switchInt(move _3) -> [42: bb1, otherwise: bb2];
      }
  
      bb1: {
          StorageDead(_3);
          _0 = const 0_u32;
          goto -> bb3;
      }
  
      bb2: {
          StorageDead(_3);
          _0 = const 1_u32;
          goto -> bb3;
      }
  
      bb3: {
          StorageDead(_2);
          return;
      }
  }
  
