- // MIR for `norm2` before InstSimplify-after-simplifycfg + // MIR for `norm2` after InstSimplify-after-simplifycfg fn norm2(_1: [f32; 2]) -> f32 { debug x => _1; let mut _0: f32; let _2: f32; let _3: usize; let mut _4: usize; let mut _5: bool; let _7: usize; let mut _8: usize; let mut _9: bool; let mut _10: f32; let mut _11: f32; let mut _12: f32; let mut _13: f32; let mut _14: f32; let mut _15: f32; scope 1 { debug a => _2; let _6: f32; scope 2 { debug b => _6; } } bb0: { StorageLive(_2); StorageLive(_3); _3 = const 0_usize; - _4 = Len(_1); + _4 = const 2_usize; _5 = Lt(copy _3, copy _4); assert(move _5, "index out of bounds: the length is {} but the index is {}", move _4, copy _3) -> [success: bb1, unwind unreachable]; } bb1: { _2 = copy _1[_3]; StorageDead(_3); StorageLive(_6); StorageLive(_7); _7 = const 1_usize; - _8 = Len(_1); + _8 = const 2_usize; _9 = Lt(copy _7, copy _8); assert(move _9, "index out of bounds: the length is {} but the index is {}", move _8, copy _7) -> [success: bb2, unwind unreachable]; } bb2: { _6 = copy _1[_7]; StorageDead(_7); StorageLive(_10); StorageLive(_11); _11 = copy _2; StorageLive(_12); _12 = copy _2; _10 = Mul(move _11, move _12); StorageDead(_12); StorageDead(_11); StorageLive(_13); StorageLive(_14); _14 = copy _6; StorageLive(_15); _15 = copy _6; _13 = Mul(move _14, move _15); StorageDead(_15); StorageDead(_14); _0 = Add(move _10, move _13); StorageDead(_13); StorageDead(_10); StorageDead(_6); StorageDead(_2); return; } }