// MIR for `naive` after PreCodegen fn naive(_1: &Blueprint, _2: &Blueprint) -> bool { debug a => _1; debug b => _2; let mut _0: bool; let mut _3: u32; let mut _4: u32; let mut _5: bool; let mut _6: u32; let mut _7: u32; let mut _8: bool; let mut _9: u32; let mut _10: u32; let mut _11: bool; let mut _12: u32; let mut _13: u32; let mut _14: bool; let mut _15: u32; let mut _16: u32; bb0: { StorageLive(_5); StorageLive(_3); _3 = ((*_1).0: u32); StorageLive(_4); _4 = ((*_2).0: u32); _5 = Eq(move _3, move _4); switchInt(move _5) -> [0: bb1, otherwise: bb2]; } bb1: { StorageDead(_4); StorageDead(_3); goto -> bb8; } bb2: { StorageDead(_4); StorageDead(_3); StorageLive(_8); StorageLive(_6); _6 = ((*_1).1: u32); StorageLive(_7); _7 = ((*_2).1: u32); _8 = Eq(move _6, move _7); switchInt(move _8) -> [0: bb3, otherwise: bb4]; } bb3: { StorageDead(_7); StorageDead(_6); goto -> bb8; } bb4: { StorageDead(_7); StorageDead(_6); StorageLive(_11); StorageLive(_9); _9 = ((*_1).2: u32); StorageLive(_10); _10 = ((*_2).2: u32); _11 = Eq(move _9, move _10); switchInt(move _11) -> [0: bb5, otherwise: bb6]; } bb5: { StorageDead(_10); StorageDead(_9); goto -> bb8; } bb6: { StorageDead(_10); StorageDead(_9); StorageLive(_14); StorageLive(_12); _12 = ((*_1).3: u32); StorageLive(_13); _13 = ((*_2).3: u32); _14 = Eq(move _12, move _13); switchInt(move _14) -> [0: bb7, otherwise: bb9]; } bb7: { StorageDead(_13); StorageDead(_12); goto -> bb8; } bb8: { _0 = const false; goto -> bb10; } bb9: { StorageDead(_13); StorageDead(_12); StorageLive(_15); _15 = ((*_1).4: u32); StorageLive(_16); _16 = ((*_2).4: u32); _0 = Eq(move _15, move _16); StorageDead(_16); StorageDead(_15); goto -> bb10; } bb10: { StorageDead(_14); StorageDead(_11); StorageDead(_8); StorageDead(_5); return; } }