- // MIR for `floats` before JumpThreading + // MIR for `floats` after JumpThreading fn floats() -> u32 { let mut _0: u32; let _1: f64; let mut _2: bool; let mut _3: bool; let mut _4: f64; scope 1 { debug x => _1; } bb0: { StorageLive(_1); StorageLive(_2); _2 = const true; - switchInt(move _2) -> [0: bb2, otherwise: bb1]; + goto -> bb1; } bb1: { _1 = const -0f64; goto -> bb3; } bb2: { _1 = const 1f64; goto -> bb3; } bb3: { StorageDead(_2); StorageLive(_3); StorageLive(_4); _4 = copy _1; _3 = Eq(move _4, const 0f64); switchInt(move _3) -> [0: bb5, otherwise: bb4]; } bb4: { StorageDead(_4); _0 = const 0_u32; goto -> bb6; } bb5: { StorageDead(_4); _0 = const 1_u32; goto -> bb6; } bb6: { StorageDead(_3); StorageDead(_1); return; } }