- // MIR for `float_to_exponential_common` before ConstProp + // MIR for `float_to_exponential_common` after ConstProp fn float_to_exponential_common(_1: &mut Formatter<'_>, _2: &T, _3: bool) -> Result<(), std::fmt::Error> { debug fmt => _1; debug num => _2; debug upper => _3; let mut _0: std::result::Result<(), std::fmt::Error>; let _4: bool; let mut _6: std::option::Option; let mut _7: isize; let mut _9: &mut std::fmt::Formatter<'_>; let mut _10: &T; let mut _11: core::num::flt2dec::Sign; let mut _12: u32; let mut _13: u32; let mut _14: usize; let mut _15: bool; let mut _16: &mut std::fmt::Formatter<'_>; let mut _17: &T; let mut _18: core::num::flt2dec::Sign; let mut _19: bool; scope 1 { debug force_sign => _4; let _5: core::num::flt2dec::Sign; scope 2 { debug sign => _5; scope 3 { debug precision => _8; let _8: usize; scope 5 (inlined Formatter::<'_>::precision) { debug self => _1; } } } } scope 4 (inlined Formatter::<'_>::sign_plus) { debug self => _1; let mut _20: u32; let mut _21: u32; } bb0: { StorageLive(_4); StorageLive(_20); StorageLive(_21); _21 = ((*_1).0: u32); _20 = BitAnd(move _21, const 1_u32); StorageDead(_21); _4 = Ne(move _20, const 0_u32); StorageDead(_20); StorageLive(_5); switchInt(_4) -> [0: bb2, otherwise: bb1]; } bb1: { - _5 = MinusPlus; + _5 = const MinusPlus; goto -> bb3; } bb2: { - _5 = Minus; + _5 = const Minus; goto -> bb3; } bb3: { StorageLive(_6); _6 = ((*_1).4: std::option::Option); _7 = discriminant(_6); switchInt(move _7) -> [1: bb4, otherwise: bb6]; } bb4: { _8 = ((_6 as Some).0: usize); StorageLive(_11); _11 = _5; StorageLive(_12); StorageLive(_13); _13 = _8 as u32 (IntToInt); _12 = Add(move _13, const 1_u32); StorageDead(_13); _0 = float_to_exponential_common_exact::(_1, _2, move _11, move _12, _3) -> [return: bb5, unwind continue]; } bb5: { StorageDead(_12); StorageDead(_11); goto -> bb8; } bb6: { StorageLive(_18); _18 = _5; _0 = float_to_exponential_common_shortest::(_1, _2, move _18, _3) -> [return: bb7, unwind continue]; } bb7: { StorageDead(_18); goto -> bb8; } bb8: { StorageDead(_5); StorageDead(_4); StorageDead(_6); return; } }