- // MIR for `arithmetic_float` before GVN
+ // MIR for `arithmetic_float` after GVN
  
  fn arithmetic_float(_1: f64) -> () {
      debug x => _1;
      let mut _0: ();
      let _2: ();
      let mut _3: f64;
      let mut _4: f64;
      let _5: ();
      let mut _6: f64;
      let mut _7: f64;
      let _8: ();
      let mut _9: f64;
      let mut _10: f64;
      let _11: ();
      let mut _12: f64;
      let mut _13: f64;
      let _14: ();
      let mut _15: f64;
      let mut _16: f64;
      let _17: ();
      let mut _18: f64;
      let mut _19: f64;
      let _20: ();
      let mut _21: f64;
      let mut _22: f64;
      let _23: ();
      let mut _24: bool;
      let mut _25: f64;
      let mut _26: f64;
      let _27: ();
      let mut _28: bool;
      let mut _29: f64;
      let mut _30: f64;
  
      bb0: {
          StorageLive(_2);
          StorageLive(_3);
          StorageLive(_4);
          _4 = copy _1;
-         _3 = Add(move _4, const 0f64);
+         _3 = Add(copy _1, const 0f64);
          StorageDead(_4);
          _2 = opaque::<f64>(move _3) -> [return: bb1, unwind continue];
      }
  
      bb1: {
          StorageDead(_3);
          StorageDead(_2);
          StorageLive(_5);
          StorageLive(_6);
          StorageLive(_7);
          _7 = copy _1;
-         _6 = Sub(move _7, const 0f64);
+         _6 = Sub(copy _1, const 0f64);
          StorageDead(_7);
          _5 = opaque::<f64>(move _6) -> [return: bb2, unwind continue];
      }
  
      bb2: {
          StorageDead(_6);
          StorageDead(_5);
          StorageLive(_8);
          StorageLive(_9);
          StorageLive(_10);
          _10 = copy _1;
-         _9 = Mul(move _10, const 0f64);
+         _9 = Mul(copy _1, const 0f64);
          StorageDead(_10);
          _8 = opaque::<f64>(move _9) -> [return: bb3, unwind continue];
      }
  
      bb3: {
          StorageDead(_9);
          StorageDead(_8);
          StorageLive(_11);
          StorageLive(_12);
          StorageLive(_13);
          _13 = copy _1;
-         _12 = Div(move _13, const 0f64);
+         _12 = Div(copy _1, const 0f64);
          StorageDead(_13);
          _11 = opaque::<f64>(move _12) -> [return: bb4, unwind continue];
      }
  
      bb4: {
          StorageDead(_12);
          StorageDead(_11);
          StorageLive(_14);
          StorageLive(_15);
          StorageLive(_16);
          _16 = copy _1;
-         _15 = Div(const 0f64, move _16);
+         _15 = Div(const 0f64, copy _1);
          StorageDead(_16);
          _14 = opaque::<f64>(move _15) -> [return: bb5, unwind continue];
      }
  
      bb5: {
          StorageDead(_15);
          StorageDead(_14);
          StorageLive(_17);
          StorageLive(_18);
          StorageLive(_19);
          _19 = copy _1;
-         _18 = Rem(move _19, const 0f64);
+         _18 = Rem(copy _1, const 0f64);
          StorageDead(_19);
          _17 = opaque::<f64>(move _18) -> [return: bb6, unwind continue];
      }
  
      bb6: {
          StorageDead(_18);
          StorageDead(_17);
          StorageLive(_20);
          StorageLive(_21);
          StorageLive(_22);
          _22 = copy _1;
-         _21 = Rem(const 0f64, move _22);
+         _21 = Rem(const 0f64, copy _1);
          StorageDead(_22);
          _20 = opaque::<f64>(move _21) -> [return: bb7, unwind continue];
      }
  
      bb7: {
          StorageDead(_21);
          StorageDead(_20);
          StorageLive(_23);
          StorageLive(_24);
          StorageLive(_25);
          _25 = copy _1;
          StorageLive(_26);
          _26 = copy _1;
-         _24 = Eq(move _25, move _26);
+         _24 = Eq(copy _1, copy _1);
          StorageDead(_26);
          StorageDead(_25);
          _23 = opaque::<bool>(move _24) -> [return: bb8, unwind continue];
      }
  
      bb8: {
          StorageDead(_24);
          StorageDead(_23);
          StorageLive(_27);
          StorageLive(_28);
          StorageLive(_29);
          _29 = copy _1;
          StorageLive(_30);
          _30 = copy _1;
-         _28 = Ne(move _29, move _30);
+         _28 = Ne(copy _1, copy _1);
          StorageDead(_30);
          StorageDead(_29);
          _27 = opaque::<bool>(move _28) -> [return: bb9, unwind continue];
      }
  
      bb9: {
          StorageDead(_28);
          StorageDead(_27);
          _0 = const ();
          return;
      }
  }
  
