// MIR for `demo_le_total` after PreCodegen fn demo_le_total(_1: &(u16, i16), _2: &(u16, i16)) -> bool { debug a => _1; debug b => _2; let mut _0: bool; scope 1 (inlined std::cmp::impls::::le) { scope 2 (inlined core::tuple::::le) { let mut _7: std::ops::ControlFlow; scope 3 { } scope 4 (inlined std::cmp::impls::::__chaining_le) { let mut _3: u16; let mut _4: u16; let mut _5: bool; let mut _6: bool; scope 5 { } } scope 6 (inlined std::cmp::impls::::le) { let mut _8: i16; let mut _9: i16; } } } bb0: { StorageLive(_7); StorageLive(_3); StorageLive(_4); _3 = copy ((*_1).0: u16); _4 = copy ((*_2).0: u16); StorageLive(_5); _5 = Eq(copy _3, copy _4); switchInt(move _5) -> [0: bb1, otherwise: bb2]; } bb1: { StorageLive(_6); _6 = Le(copy _3, copy _4); _7 = ControlFlow::::Break(move _6); StorageDead(_6); StorageDead(_5); StorageDead(_4); StorageDead(_3); _0 = copy ((_7 as Break).0: bool); goto -> bb3; } bb2: { StorageDead(_5); StorageDead(_4); StorageDead(_3); StorageLive(_8); _8 = copy ((*_1).1: i16); StorageLive(_9); _9 = copy ((*_2).1: i16); _0 = Le(move _8, move _9); StorageDead(_9); StorageDead(_8); goto -> bb3; } bb3: { StorageDead(_7); return; } }