[Debug] struct test1::Pair{ x : T1, y : T2} enum test1::List = | Cons(0 : T, 1 : std::boxed::Box>) | Nil() enum test1::One = | One(0 : T1) enum test1::EmptyEnum = | Empty() enum test1::Enum = | Variant1() | Variant2() struct test1::EmptyStruct{} enum test1::Sum = | Left(0 : T1) | Right(0 : T2) fn add_test(x : u32, y : u32) -> u32 { var@0 : u32; x : u32; y : u32; var@3 : u32; var@4 : u32; var@5 : (u32, bool); var@3 := copy x; var@4 := copy y; var@0 := copy var@3 + copy var@4; return } fn subs_test(x : u32, y : u32) -> u32 { var@0 : u32; x : u32; y : u32; var@3 : u32; var@4 : u32; var@5 : (u32, bool); var@3 := copy x; var@4 := copy y; var@0 := copy var@3 - copy var@4; return } fn div_test(x : u32, y : u32) -> u32 { var@0 : u32; x : u32; y : u32; var@3 : u32; var@4 : u32; var@5 : bool; var@3 := copy x; var@4 := copy y; var@0 := move var@3 / move var@4; return } fn rem_test(x : u32, y : u32) -> u32 { var@0 : u32; x : u32; y : u32; var@3 : u32; var@4 : u32; var@5 : bool; var@3 := copy x; var@4 := copy y; var@0 := move var@3 % move var@4; return } fn test2() { var@0 : (); x : u32; y : u32; z : u32; p : test1::Pair; var@5 : u32; s : test1::Sum; o : test1::One; e0 : test1::EmptyEnum; e1 : test1::EmptyEnum; enum0 : test1::Enum; x := 23: u32; y := 44: u32; z := 67: u32; var@5 := copy x; (p).x := move var@5; (p).y := 67: u32; (s as test1::Sum::Right).0 := true; set_discriminant(s, 1); (o as test1::One::One).0 := 3: u64; set_discriminant(o, 0); set_discriminant(e0, 0); set_discriminant(enum0, 0); return } fn get_max(x : u32, y : u32) -> u32 { var@0 : u32; x : u32; y : u32; var@3 : bool; var@4 : u32; var@5 : u32; var@4 := copy x; var@5 := copy y; var@3 := move var@4 >= move var@5; if (move var@3) { var@0 := copy x } else { var@0 := copy y }; return } fn test3() { var@0 : (); x : u32; y : u32; z : u32; var@4 : u32; var@5 : u32; var@6 : (u32, bool); var@7 : bool; var@8 : bool; var@9 : u32; x := move get_max(4: u32, 3: u32); y := move get_max(10: u32, 11: u32); var@4 := copy x; var@5 := copy y; z := copy var@4 + copy var@5; var@9 := copy z; var@8 := move var@9 == 15: u32; var@7 := ¬ move var@8; assert(¬move var@7); return } fn test_neg(x : i32) -> i32 { var@0 : i32; x : i32; var@2 : i32; var@3 : bool; var@2 := copy x; var@3 := copy var@2 == -2147483648: i32; assert(¬move var@3); var@0 := - move var@2; return } fn test_neg1() { var@0 : (); x : i32; y : i32; x := 3: i32; y := -3: i32; return } fn refs_test1() { var@0 : (); x : i32; px : &'_ mut (i32); ppx : &'_ mut (&'_ mut (i32)); var@4 : bool; var@5 : bool; var@6 : i32; x := 0: i32; px := &mut x; ppx := &mut px; *(*(ppx)) := 1: i32; var@6 := copy x; var@5 := move var@6 == 1: i32; var@4 := ¬ move var@5; assert(¬move var@4); return } fn refs_test2() { var@0 : (); x : i32; y : i32; px : &'_ mut (i32); py : &'_ mut (i32); ppx : &'_ mut (&'_ mut (i32)); var@6 : &'_ mut (i32); var@7 : bool; var@8 : bool; var@9 : i32; var@10 : bool; var@11 : bool; var@12 : i32; var@13 : bool; var@14 : bool; var@15 : i32; var@16 : bool; var@17 : bool; var@18 : i32; x := 0: i32; y := 1: i32; px := &mut x; py := &mut y; ppx := &mut px; var@6 := &mut *(py); *(ppx) := move var@6; *(*(ppx)) := 2: i32; var@9 := copy *(px); var@8 := move var@9 == 2: i32; var@7 := ¬ move var@8; assert(¬move var@7); var@12 := copy x; var@11 := move var@12 == 0: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy *(py); var@14 := move var@15 == 2: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 2: i32; var@16 := ¬ move var@17; assert(¬move var@16); return } fn test_list1() { var@0 : (); l : test1::List; var@2 : std::boxed::Box>; var@3 : test1::List; set_discriminant(var@3, 1); var@2 := move alloc::boxed::Box>::new(move var@3); (l as test1::List::Cons).0 := 0: i32; (l as test1::List::Cons).1 := move var@2; set_discriminant(l, 0); drop(l); return } fn test_box1() { var@0 : (); b : std::boxed::Box; x : &'_ mut (i32); var@3 : &'_ mut (std::boxed::Box); x : &'_ (i32); var@5 : &'_ (std::boxed::Box); var@6 : bool; var@7 : bool; var@8 : i32; b := move alloc::boxed::Box::new(0: i32); var@3 := &two-phase b; x := move core::ops::deref::DerefMut::deref_mut(move var@3); *(x) := 1: i32; var@5 := &b; x := move core::ops::deref::Deref>::deref(move var@5); var@8 := copy *(x); var@7 := move var@8 == 1: i32; var@6 := ¬ move var@7; assert(¬move var@6); drop(b); return } fn copy_int(x : i32) -> i32 { var@0 : i32; x : i32; var@0 := copy x; return } fn test_copy_int() { var@0 : (); x : i32; px : &'_ (i32); y : i32; var@4 : i32; var@5 : bool; var@6 : bool; var@7 : i32; var@8 : i32; x := 0: i32; px := &x; var@4 := copy x; y := move copy_int(move var@4); var@7 := copy *(px); var@8 := copy y; var@6 := move var@7 == move var@8; var@5 := ¬ move var@6; assert(¬move var@5); return } fn is_cons<0,T>(l : &0 (test1::List)) -> bool { var@0 : bool; l : &'_ (test1::List); var@2 : isize; var@2 := discriminant(*(l)); switch (move var@2) { 0: isize => { var@0 := true } 1: isize => { var@0 := false } _ => { panic } }; return } fn test_is_cons() { var@0 : (); l : test1::List; var@2 : std::boxed::Box>; var@3 : test1::List; var@4 : bool; var@5 : bool; var@6 : &'_ (test1::List); var@7 : &'_ (test1::List); set_discriminant(var@3, 1); var@2 := move alloc::boxed::Box>::new(move var@3); (l as test1::List::Cons).0 := 0: i32; (l as test1::List::Cons).1 := move var@2; set_discriminant(l, 0); var@7 := &l; var@6 := copy var@7; var@5 := move is_cons(move var@6); var@4 := ¬ move var@5; assert(¬move var@4); drop(l); return } fn split_list(l : test1::List) -> (T, test1::List) { var@0 : (T, test1::List); l : test1::List; var@2 : isize; hd : T; tl : std::boxed::Box>; var@5 : T; var@6 : test1::List; var@7 : bool; var@8 : bool; var@9 : (); var@10 : isize; var@8 := false; var@7 := false; var@7 := true; var@8 := true; var@2 := discriminant(l); switch (move var@2) { 0: isize => { var@8 := false; hd := move (l as test1::List::Cons).0; var@7 := false; tl := move (l as test1::List::Cons).1; var@5 := move hd; var@6 := move deref_box(tl); (var@0).0 := move var@5; (var@0).1 := move var@6; var@9 := move alloc::alloc::box_free>(move tl); return } _ => { panic } } } fn test_split_list() { var@0 : (); l : test1::List; var@2 : std::boxed::Box>; var@3 : test1::List; hd : i32; tl : test1::List; var@6 : (i32, test1::List); var@7 : test1::List; var@8 : bool; var@9 : bool; var@10 : i32; set_discriminant(var@3, 1); var@2 := move alloc::boxed::Box>::new(move var@3); (l as test1::List::Cons).0 := 0: i32; (l as test1::List::Cons).1 := move var@2; set_discriminant(l, 0); var@7 := move l; var@6 := move split_list(move var@7); hd := copy (var@6).0; tl := move (var@6).1; var@10 := copy hd; var@9 := move var@10 == 0: i32; var@8 := ¬ move var@9; assert(¬move var@8); drop(tl); return } fn get_elem<'a,T>(b : bool, x : &'a mut (T), y : &'a mut (T)) -> &'a mut (T) { var@0 : &'_ mut (T); b : bool; x : &'_ mut (T); y : &'_ mut (T); var@4 : bool; var@4 := copy b; if (move var@4) { var@0 := &mut *(x) } else { var@0 := move y }; return } fn get_elem_test() { var@0 : (); x : i32; y : i32; z : &'_ mut (i32); var@4 : &'_ mut (i32); var@5 : &'_ mut (i32); var@6 : &'_ mut (i32); var@7 : &'_ mut (i32); var@8 : i32; var@9 : (i32, bool); var@10 : bool; var@11 : bool; var@12 : i32; var@13 : bool; var@14 : bool; var@15 : i32; var@16 : bool; var@17 : bool; var@18 : i32; x := 0: i32; y := 0: i32; var@5 := &mut x; var@4 := &two-phase *(var@5); var@7 := &mut y; var@6 := &two-phase *(var@7); z := move get_elem(true, move var@4, move var@6); var@8 := copy *(z); *(z) := copy var@8 + 1: i32; var@12 := copy *(z); var@11 := move var@12 == 1: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy x; var@14 := move var@15 == 1: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 0: i32; var@16 := ¬ move var@17; assert(¬move var@16); return } fn id_mut_mut<'a,'b,T>(x : &'a mut (&'b mut (T))) -> &'a mut (&'b mut (T)) { var@0 : &'_ mut (&'_ mut (T)); x : &'_ mut (&'_ mut (T)); var@2 : &'_ mut (&'_ mut (T)); var@2 := &mut *(x); var@0 := &mut *(var@2); return } fn id_mut_pair<'a,T>(x : &'a mut ((&'a mut (T), u32))) -> &'a mut ((&'a mut (T), u32)) { var@0 : &'_ mut ((&'_ mut (T), u32)); x : &'_ mut ((&'_ mut (T), u32)); var@2 : &'_ mut ((&'_ mut (T), u32)); var@2 := &mut *(x); var@0 := &mut *(var@2); return } fn id_mut_pair_test1() { var@0 : (); x : u32; px : &'_ mut (u32); p : (&'_ mut (u32), u32); var@4 : &'_ mut (u32); pp0 : &'_ mut ((&'_ mut (u32), u32)); pp1 : &'_ mut ((&'_ mut (u32), u32)); var@7 : &'_ mut ((&'_ mut (u32), u32)); y : u32; var@9 : &'_ mut (u32); var@10 : &'_ mut (u32); x := 0: u32; px := &mut x; var@4 := move px; (p).0 := move var@4; (p).1 := 1: u32; pp0 := &mut p; var@7 := &two-phase *(pp0); pp1 := move id_mut_pair(move var@7); y := 2: u32; var@10 := &mut y; var@9 := &mut *(var@10); *((pp1).0) := move var@9; *((pp1).1) := 3: u32; return } fn id_mut_mut_pair<'a,T>(x : &'a mut (&'a mut ((&'a mut (T), u32)))) -> &'a mut (&'a mut ((&'a mut (T), u32))) { var@0 : &'_ mut (&'_ mut ((&'_ mut (T), u32))); x : &'_ mut (&'_ mut ((&'_ mut (T), u32))); var@2 : &'_ mut (&'_ mut ((&'_ mut (T), u32))); var@2 := &mut *(x); var@0 := &mut *(var@2); return } fn id_mut_mut_mut_same<'a,T>(x : &'a mut (&'a mut (&'a mut (u32)))) -> &'a mut (&'a mut (&'a mut (u32))) { var@0 : &'_ mut (&'_ mut (&'_ mut (u32))); x : &'_ mut (&'_ mut (&'_ mut (u32))); var@2 : &'_ mut (&'_ mut (&'_ mut (u32))); var@2 := &mut *(x); var@0 := &mut *(var@2); return } fn id_borrow1<'a,'b>(_x : &'a mut (&'b (u32)), _y : &'a (&'a mut (u32))) { var@0 : (); _x : &'_ mut (&'_ (u32)); _y : &'_ (&'_ mut (u32)); return } fn test_loop1(max : u32) -> u32 { s : u32; max : u32; i : u32; var@3 : bool; var@4 : u32; var@5 : u32; var@6 : u32; var@7 : (u32, bool); var@8 : (u32, bool); var@9 : (u32, bool); i := 0: u32; s := 0: u32; loop { var@4 := copy i; var@5 := copy max; var@3 := move var@4 < move var@5; if (move var@3) { var@6 := copy i; s := copy s + copy var@6; i := copy i + 1: u32; continue 0 } else { break 0 } }; s := copy s * 2: u32; return } fn test_loop2(max : u32) -> u32 { s : u32; max : u32; i : u32; var@3 : bool; var@4 : u32; var@5 : u32; var@6 : u32; var@7 : u32; var@8 : (u32, bool); var@9 : (u32, bool); i := 0: u32; s := 0: u32; loop { var@4 := copy i; var@5 := copy max; var@3 := move var@4 < move var@5; if (move var@3) { var@6 := copy i; switch (move var@6) { 17: u32 => { break 0 } _ => { var@7 := copy i; s := copy s + copy var@7; i := copy i + 1: u32; continue 0 } } } else { break 0 } }; return } fn test_loop3(max : u32) -> u32 { s : u32; max : u32; i : u32; j : u32; var@4 : bool; var@5 : u32; var@6 : u32; var@7 : bool; var@8 : u32; var@9 : u32; var@10 : u32; var@11 : u32; var@12 : u32; var@13 : (u32, bool); var@14 : u32; var@15 : (u32, bool); var@16 : (u32, bool); var@17 : u32; var@18 : (u32, bool); var@19 : (u32, bool); i := 0: u32; j := 0: u32; s := 0: u32; loop { var@5 := copy i; var@6 := copy max; var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 } else { break 0 } }; return } fn test_loop4(max : u32) -> u32 { s : u32; max : u32; i : u32; j : u32; var@4 : bool; var@5 : u32; var@6 : u32; var@7 : bool; var@8 : u32; var@9 : u32; var@10 : u32; var@11 : u32; var@12 : u32; var@13 : (u32, bool); var@14 : u32; var@15 : (u32, bool); var@16 : (u32, bool); var@17 : u32; var@18 : (u32, bool); var@19 : (u32, bool); i := 1: u32; j := 0: u32; s := 0: u32; loop { var@5 := copy i; var@6 := copy max; var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; break 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 } else { break 0 } }; return } fn test_loop5(max : u32) -> u32 { s : u32; max : u32; i : u32; j : u32; var@4 : bool; var@5 : u32; var@6 : u32; var@7 : bool; var@8 : u32; var@9 : u32; var@10 : u32; var@11 : (u32, bool); var@12 : (u32, bool); var@13 : u32; var@14 : (u32, bool); var@15 : (u32, bool); i := 0: u32; j := 0: u32; s := 0: u32; loop { var@5 := copy i; var@6 := copy max; var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@10 := copy j; s := copy s + copy var@10; j := copy j + 1: u32; continue 0 } else { break 0 } }; var@13 := copy i; s := copy s + copy var@13; i := copy i + 1: u32; continue 0 } else { break 0 } }; return } fn test_loop6(max : u32) -> u32 { s : u32; max : u32; i : u32; var@3 : bool; var@4 : u32; var@5 : u32; var@6 : bool; var@7 : u32; var@8 : u32; var@9 : (u32, bool); var@10 : (u32, bool); var@11 : (u32, bool); i := 0: u32; s := 0: u32; loop { var@4 := copy i; var@5 := copy max; var@3 := move var@4 < move var@5; if (move var@3) { var@7 := copy i; var@6 := move var@7 > 3: u32; if (move var@6) { break 0 } else { var@8 := copy i; s := copy s + copy var@8; i := copy i + 1: u32; continue 0 } } else { break 0 } }; s := copy s + 1: u32; return } fn test_static(x : &'static (u32)) -> &'static (u32) { var@0 : &'_ (u32); x : &'_ (u32); var@0 := copy x; return } fn test_char() -> char { var@0 : char; var@0 := a; return } fn test_loops() { var@0 : (); x : u32; var@2 : bool; var@3 : bool; var@4 : u32; x : u32; var@6 : bool; var@7 : bool; var@8 : u32; x : u32; var@10 : bool; var@11 : bool; var@12 : u32; x : u32; var@14 : bool; var@15 : bool; var@16 : u32; x : u32; var@18 : bool; var@19 : bool; var@20 : u32; x : u32; var@22 : bool; var@23 : bool; var@24 : u32; x := move test_loop1(2: u32); var@4 := copy x; var@3 := move var@4 == 2: u32; var@2 := ¬ move var@3; assert(¬move var@2); x := move test_loop2(2: u32); var@8 := copy x; var@7 := move var@8 == 1: u32; var@6 := ¬ move var@7; assert(¬move var@6); x := move test_loop3(2: u32); var@12 := copy x; var@11 := move var@12 == 3: u32; var@10 := ¬ move var@11; assert(¬move var@10); x := move test_loop4(20: u32); var@16 := copy x; var@15 := move var@16 == 1: u32; var@14 := ¬ move var@15; assert(¬move var@14); x := move test_loop5(2: u32); var@20 := copy x; var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return } fn id_mut_mut_test1() { var@0 : (); x : i32; px : &'_ mut (i32); ppx : &'_ mut (&'_ mut (i32)); ppy : &'_ mut (&'_ mut (i32)); var@5 : &'_ mut (&'_ mut (i32)); var@6 : bool; var@7 : bool; var@8 : i32; var@9 : bool; var@10 : bool; var@11 : i32; x := 0: i32; px := &mut x; ppx := &mut px; var@5 := &two-phase *(ppx); ppy := move id_mut_mut(move var@5); *(*(ppy)) := 1: i32; var@8 := copy *(px); var@7 := move var@8 == 1: i32; var@6 := ¬ move var@7; assert(¬move var@6); var@11 := copy x; var@10 := move var@11 == 1: i32; var@9 := ¬ move var@10; assert(¬move var@9); return } [Debug] test_unit_function: test2 [Debug] **About to evaluate statement**: [ x := 23: u32; y := 44: u32; z := 67: u32; var@5 := copy x; (p).x := move var@5; (p).y := 67: u32; (s as test1::Sum::Right).0 := true; set_discriminant(s, 1); (o as test1::One::One).0 := 3: u64; set_discriminant(o, 0); set_discriminant(e0, 0); set_discriminant(enum0, 0); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (p) -> ⊥ : test1::Pair ; Some (var@5) -> ⊥ : u32 ; Some (s) -> ⊥ : test1::Sum ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] **About to evaluate statement**: [ x := 23: u32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (p) -> ⊥ : test1::Pair ; Some (var@5) -> ⊥ : u32 ; Some (s) -> ⊥ : test1::Sum ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (p) -> ⊥ : test1::Pair ; Some (var@5) -> ⊥ : u32 ; Some (s) -> ⊥ : test1::Sum ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } - op: 23: u32 [Debug] **About to evaluate statement**: [ y := 44: u32; z := 67: u32; var@5 := copy x; (p).x := move var@5; (p).y := 67: u32; (s as test1::Sum::Right).0 := true; set_discriminant(s, 1); (o as test1::One::One).0 := 3: u64; set_discriminant(o, 0); set_discriminant(e0, 0); set_discriminant(enum0, 0); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (p) -> ⊥ : test1::Pair ; Some (var@5) -> ⊥ : u32 ; Some (s) -> ⊥ : test1::Sum ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] **About to evaluate statement**: [ y := 44: u32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (p) -> ⊥ : test1::Pair ; Some (var@5) -> ⊥ : u32 ; Some (s) -> ⊥ : test1::Sum ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (p) -> ⊥ : test1::Pair ; Some (var@5) -> ⊥ : u32 ; Some (s) -> ⊥ : test1::Sum ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } - op: 44: u32 [Debug] **About to evaluate statement**: [ z := 67: u32; var@5 := copy x; (p).x := move var@5; (p).y := 67: u32; (s as test1::Sum::Right).0 := true; set_discriminant(s, 1); (o as test1::One::One).0 := 3: u64; set_discriminant(o, 0); set_discriminant(e0, 0); set_discriminant(enum0, 0); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> ⊥ : u32 ; Some (p) -> ⊥ : test1::Pair ; Some (var@5) -> ⊥ : u32 ; Some (s) -> ⊥ : test1::Sum ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] **About to evaluate statement**: [ z := 67: u32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> ⊥ : u32 ; Some (p) -> ⊥ : test1::Pair ; Some (var@5) -> ⊥ : u32 ; Some (s) -> ⊥ : test1::Sum ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> ⊥ : u32 ; Some (p) -> ⊥ : test1::Pair ; Some (var@5) -> ⊥ : u32 ; Some (s) -> ⊥ : test1::Sum ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } - op: 67: u32 [Debug] **About to evaluate statement**: [ var@5 := copy x; (p).x := move var@5; (p).y := 67: u32; (s as test1::Sum::Right).0 := true; set_discriminant(s, 1); (o as test1::One::One).0 := 3: u64; set_discriminant(o, 0); set_discriminant(e0, 0); set_discriminant(enum0, 0); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> ⊥ : test1::Pair ; Some (var@5) -> ⊥ : u32 ; Some (s) -> ⊥ : test1::Sum ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] **About to evaluate statement**: [ var@5 := copy x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> ⊥ : test1::Pair ; Some (var@5) -> ⊥ : u32 ; Some (s) -> ⊥ : test1::Sum ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> ⊥ : test1::Pair ; Some (var@5) -> ⊥ : u32 ; Some (s) -> ⊥ : test1::Sum ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } - op: copy x [Debug] **About to evaluate statement**: [ (p).x := move var@5; (p).y := 67: u32; (s as test1::Sum::Right).0 := true; set_discriminant(s, 1); (o as test1::One::One).0 := 3: u64; set_discriminant(o, 0); set_discriminant(e0, 0); set_discriminant(enum0, 0); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> ⊥ : test1::Pair ; Some (var@5) -> 23: u32 ; Some (s) -> ⊥ : test1::Sum ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] **About to evaluate statement**: [ (p).x := move var@5 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> ⊥ : test1::Pair ; Some (var@5) -> 23: u32 ; Some (s) -> ⊥ : test1::Sum ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> ⊥ : test1::Pair ; Some (var@5) -> 23: u32 ; Some (s) -> ⊥ : test1::Sum ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } - op: move var@5 [Debug] expand_bottom_value_from_projection: pe: (Expressions.Field ((Expressions.ProjAdt (0, None)), 0)) ty: (Types.Adt ((Types.AdtId 0), [], [(Types.Integer Types.U32); (Types.Integer Types.U32)])) [Debug] **About to evaluate statement**: [ (p).y := 67: u32; (s as test1::Sum::Right).0 := true; set_discriminant(s, 1); (o as test1::One::One).0 := 3: u64; set_discriminant(o, 0); set_discriminant(e0, 0); set_discriminant(enum0, 0); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> test1::Pair { x = 23: u32; y = ⊥ : u32; } ; Some (var@5) -> ⊥ : u32 ; Some (s) -> ⊥ : test1::Sum ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] **About to evaluate statement**: [ (p).y := 67: u32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> test1::Pair { x = 23: u32; y = ⊥ : u32; } ; Some (var@5) -> ⊥ : u32 ; Some (s) -> ⊥ : test1::Sum ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> test1::Pair { x = 23: u32; y = ⊥ : u32; } ; Some (var@5) -> ⊥ : u32 ; Some (s) -> ⊥ : test1::Sum ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } - op: 67: u32 [Debug] **About to evaluate statement**: [ (s as test1::Sum::Right).0 := true; set_discriminant(s, 1); (o as test1::One::One).0 := 3: u64; set_discriminant(o, 0); set_discriminant(e0, 0); set_discriminant(enum0, 0); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; Some (var@5) -> ⊥ : u32 ; Some (s) -> ⊥ : test1::Sum ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] **About to evaluate statement**: [ (s as test1::Sum::Right).0 := true ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; Some (var@5) -> ⊥ : u32 ; Some (s) -> ⊥ : test1::Sum ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; Some (var@5) -> ⊥ : u32 ; Some (s) -> ⊥ : test1::Sum ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } - op: true [Debug] expand_bottom_value_from_projection: pe: (Expressions.Field ((Expressions.ProjAdt (6, (Some 1))), 0)) ty: (Types.Adt ((Types.AdtId 6), [], [(Types.Integer Types.U32); Types.Bool])) [Debug] **About to evaluate statement**: [ set_discriminant(s, 1); (o as test1::One::One).0 := 3: u64; set_discriminant(o, 0); set_discriminant(e0, 0); set_discriminant(enum0, 0); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; Some (var@5) -> ⊥ : u32 ; Some (s) -> test1::Sum::Right { 0 = true; } ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] **About to evaluate statement**: [ set_discriminant(s, 1) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; Some (var@5) -> ⊥ : u32 ; Some (s) -> test1::Sum::Right { 0 = true; } ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] **About to evaluate statement**: [ (o as test1::One::One).0 := 3: u64; set_discriminant(o, 0); set_discriminant(e0, 0); set_discriminant(enum0, 0); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; Some (var@5) -> ⊥ : u32 ; Some (s) -> test1::Sum::Right { 0 = true; } ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] **About to evaluate statement**: [ (o as test1::One::One).0 := 3: u64 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; Some (var@5) -> ⊥ : u32 ; Some (s) -> test1::Sum::Right { 0 = true; } ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; Some (var@5) -> ⊥ : u32 ; Some (s) -> test1::Sum::Right { 0 = true; } ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } - op: 3: u64 [Debug] expand_bottom_value_from_projection: pe: (Expressions.Field ((Expressions.ProjAdt (2, (Some 0))), 0)) ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) [Debug] **About to evaluate statement**: [ set_discriminant(o, 0); set_discriminant(e0, 0); set_discriminant(enum0, 0); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; Some (var@5) -> ⊥ : u32 ; Some (s) -> test1::Sum::Right { 0 = true; } ; Some (o) -> test1::One::One { 0 = 3: u64; } ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] **About to evaluate statement**: [ set_discriminant(o, 0) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; Some (var@5) -> ⊥ : u32 ; Some (s) -> test1::Sum::Right { 0 = true; } ; Some (o) -> test1::One::One { 0 = 3: u64; } ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] **About to evaluate statement**: [ set_discriminant(e0, 0); set_discriminant(enum0, 0); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; Some (var@5) -> ⊥ : u32 ; Some (s) -> test1::Sum::Right { 0 = true; } ; Some (o) -> test1::One::One { 0 = 3: u64; } ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] **About to evaluate statement**: [ set_discriminant(e0, 0) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; Some (var@5) -> ⊥ : u32 ; Some (s) -> test1::Sum::Right { 0 = true; } ; Some (o) -> test1::One::One { 0 = 3: u64; } ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] **About to evaluate statement**: [ set_discriminant(enum0, 0); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; Some (var@5) -> ⊥ : u32 ; Some (s) -> test1::Sum::Right { 0 = true; } ; Some (o) -> test1::One::One { 0 = 3: u64; } ; Some (e0) -> test1::EmptyEnum::Empty ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] **About to evaluate statement**: [ set_discriminant(enum0, 0) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; Some (var@5) -> ⊥ : u32 ; Some (s) -> test1::Sum::Right { 0 = true; } ; Some (o) -> test1::One::One { 0 = 3: u64; } ; Some (e0) -> test1::EmptyEnum::Empty ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; Some (var@5) -> ⊥ : u32 ; Some (s) -> test1::Sum::Right { 0 = true; } ; Some (o) -> test1::One::One { 0 = 3: u64; } ; Some (e0) -> test1::EmptyEnum::Empty ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> test1::Enum::Variant1 ; } [Debug] test_unit_function: test3 [Debug] **About to evaluate statement**: [ x := move get_max(4: u32, 3: u32); y := move get_max(10: u32, 11: u32); var@4 := copy x; var@5 := copy y; z := copy var@4 + copy var@5; var@9 := copy z; var@8 := move var@9 == 15: u32; var@7 := ¬ move var@8; assert(¬move var@7); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ x := move get_max(4: u32, 3: u32) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } - op: 4: u32 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } - op: 3: u32 [Debug] **About to evaluate statement**: [ var@4 := copy x; var@5 := copy y; var@3 := move var@4 >= move var@5; if (move var@3) { var@0 := copy x } else { var@0 := copy y }; return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } # Frame 1: { Some (var@0) -> ⊥ : u32 ; Some (x) -> 4: u32 ; Some (y) -> 3: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ var@4 := copy x ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } # Frame 1: { Some (var@0) -> ⊥ : u32 ; Some (x) -> 4: u32 ; Some (y) -> 3: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } # Frame 1: { Some (var@0) -> ⊥ : u32 ; Some (x) -> 4: u32 ; Some (y) -> 3: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; } - op: copy x [Debug] **About to evaluate statement**: [ var@5 := copy y; var@3 := move var@4 >= move var@5; if (move var@3) { var@0 := copy x } else { var@0 := copy y }; return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } # Frame 1: { Some (var@0) -> ⊥ : u32 ; Some (x) -> 4: u32 ; Some (y) -> 3: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 4: u32 ; Some (var@5) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ var@5 := copy y ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } # Frame 1: { Some (var@0) -> ⊥ : u32 ; Some (x) -> 4: u32 ; Some (y) -> 3: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 4: u32 ; Some (var@5) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } # Frame 1: { Some (var@0) -> ⊥ : u32 ; Some (x) -> 4: u32 ; Some (y) -> 3: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 4: u32 ; Some (var@5) -> ⊥ : u32 ; } - op: copy y [Debug] **About to evaluate statement**: [ var@3 := move var@4 >= move var@5; if (move var@3) { var@0 := copy x } else { var@0 := copy y }; return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } # Frame 1: { Some (var@0) -> ⊥ : u32 ; Some (x) -> 4: u32 ; Some (y) -> 3: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 4: u32 ; Some (var@5) -> 3: u32 ; } [Debug] **About to evaluate statement**: [ var@3 := move var@4 >= move var@5 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } # Frame 1: { Some (var@0) -> ⊥ : u32 ; Some (x) -> 4: u32 ; Some (y) -> 3: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 4: u32 ; Some (var@5) -> 3: u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } # Frame 1: { Some (var@0) -> ⊥ : u32 ; Some (x) -> 4: u32 ; Some (y) -> 3: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 4: u32 ; Some (var@5) -> 3: u32 ; } - op: move var@4 [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } # Frame 1: { Some (var@0) -> ⊥ : u32 ; Some (x) -> 4: u32 ; Some (y) -> 3: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> 3: u32 ; } - op: move var@5 [Debug] **About to evaluate statement**: [ if (move var@3) { var@0 := copy x } else { var@0 := copy y }; return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } # Frame 1: { Some (var@0) -> ⊥ : u32 ; Some (x) -> 4: u32 ; Some (y) -> 3: u32 ; Some (var@3) -> true ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ if (move var@3) { var@0 := copy x } else { var@0 := copy y } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } # Frame 1: { Some (var@0) -> ⊥ : u32 ; Some (x) -> 4: u32 ; Some (y) -> 3: u32 ; Some (var@3) -> true ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } # Frame 1: { Some (var@0) -> ⊥ : u32 ; Some (x) -> 4: u32 ; Some (y) -> 3: u32 ; Some (var@3) -> true ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; } - op: move var@3 [Debug] **About to evaluate statement**: [ var@0 := copy x ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } # Frame 1: { Some (var@0) -> ⊥ : u32 ; Some (x) -> 4: u32 ; Some (y) -> 3: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } # Frame 1: { Some (var@0) -> ⊥ : u32 ; Some (x) -> 4: u32 ; Some (y) -> 3: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; } - op: copy x [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } # Frame 1: { Some (var@0) -> 4: u32 ; Some (x) -> 4: u32 ; Some (y) -> 3: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; } [Debug] ctx_pop_frame: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } # Frame 1: { Some (var@0) -> 4: u32 ; Some (x) -> 4: u32 ; Some (y) -> 3: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } # Frame 1: { Some (var@0) -> 4: u32 ; Some (x) -> 4: u32 ; Some (y) -> 3: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; } - op: move var@0 [Debug] **About to evaluate statement**: [ y := move get_max(10: u32, 11: u32); var@4 := copy x; var@5 := copy y; z := copy var@4 + copy var@5; var@9 := copy z; var@8 := move var@9 == 15: u32; var@7 := ¬ move var@8; assert(¬move var@7); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ y := move get_max(10: u32, 11: u32) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } - op: 10: u32 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } - op: 11: u32 [Debug] **About to evaluate statement**: [ var@4 := copy x; var@5 := copy y; var@3 := move var@4 >= move var@5; if (move var@3) { var@0 := copy x } else { var@0 := copy y }; return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } # Frame 1: { Some (var@0) -> ⊥ : u32 ; Some (x) -> 10: u32 ; Some (y) -> 11: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ var@4 := copy x ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } # Frame 1: { Some (var@0) -> ⊥ : u32 ; Some (x) -> 10: u32 ; Some (y) -> 11: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } # Frame 1: { Some (var@0) -> ⊥ : u32 ; Some (x) -> 10: u32 ; Some (y) -> 11: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; } - op: copy x [Debug] **About to evaluate statement**: [ var@5 := copy y; var@3 := move var@4 >= move var@5; if (move var@3) { var@0 := copy x } else { var@0 := copy y }; return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } # Frame 1: { Some (var@0) -> ⊥ : u32 ; Some (x) -> 10: u32 ; Some (y) -> 11: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 10: u32 ; Some (var@5) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ var@5 := copy y ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } # Frame 1: { Some (var@0) -> ⊥ : u32 ; Some (x) -> 10: u32 ; Some (y) -> 11: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 10: u32 ; Some (var@5) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } # Frame 1: { Some (var@0) -> ⊥ : u32 ; Some (x) -> 10: u32 ; Some (y) -> 11: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 10: u32 ; Some (var@5) -> ⊥ : u32 ; } - op: copy y [Debug] **About to evaluate statement**: [ var@3 := move var@4 >= move var@5; if (move var@3) { var@0 := copy x } else { var@0 := copy y }; return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } # Frame 1: { Some (var@0) -> ⊥ : u32 ; Some (x) -> 10: u32 ; Some (y) -> 11: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 10: u32 ; Some (var@5) -> 11: u32 ; } [Debug] **About to evaluate statement**: [ var@3 := move var@4 >= move var@5 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } # Frame 1: { Some (var@0) -> ⊥ : u32 ; Some (x) -> 10: u32 ; Some (y) -> 11: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 10: u32 ; Some (var@5) -> 11: u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } # Frame 1: { Some (var@0) -> ⊥ : u32 ; Some (x) -> 10: u32 ; Some (y) -> 11: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 10: u32 ; Some (var@5) -> 11: u32 ; } - op: move var@4 [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } # Frame 1: { Some (var@0) -> ⊥ : u32 ; Some (x) -> 10: u32 ; Some (y) -> 11: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> 11: u32 ; } - op: move var@5 [Debug] **About to evaluate statement**: [ if (move var@3) { var@0 := copy x } else { var@0 := copy y }; return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } # Frame 1: { Some (var@0) -> ⊥ : u32 ; Some (x) -> 10: u32 ; Some (y) -> 11: u32 ; Some (var@3) -> false ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ if (move var@3) { var@0 := copy x } else { var@0 := copy y } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } # Frame 1: { Some (var@0) -> ⊥ : u32 ; Some (x) -> 10: u32 ; Some (y) -> 11: u32 ; Some (var@3) -> false ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } # Frame 1: { Some (var@0) -> ⊥ : u32 ; Some (x) -> 10: u32 ; Some (y) -> 11: u32 ; Some (var@3) -> false ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; } - op: move var@3 [Debug] **About to evaluate statement**: [ var@0 := copy y ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } # Frame 1: { Some (var@0) -> ⊥ : u32 ; Some (x) -> 10: u32 ; Some (y) -> 11: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } # Frame 1: { Some (var@0) -> ⊥ : u32 ; Some (x) -> 10: u32 ; Some (y) -> 11: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; } - op: copy y [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } # Frame 1: { Some (var@0) -> 11: u32 ; Some (x) -> 10: u32 ; Some (y) -> 11: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; } [Debug] ctx_pop_frame: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } # Frame 1: { Some (var@0) -> 11: u32 ; Some (x) -> 10: u32 ; Some (y) -> 11: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } # Frame 1: { Some (var@0) -> 11: u32 ; Some (x) -> 10: u32 ; Some (y) -> 11: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; } - op: move var@0 [Debug] **About to evaluate statement**: [ var@4 := copy x; var@5 := copy y; z := copy var@4 + copy var@5; var@9 := copy z; var@8 := move var@9 == 15: u32; var@7 := ¬ move var@8; assert(¬move var@7); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> 11: u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 10: u32 ; None -> 11: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ var@4 := copy x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> 11: u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 10: u32 ; None -> 11: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> 11: u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 10: u32 ; None -> 11: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } - op: copy x [Debug] **About to evaluate statement**: [ var@5 := copy y; z := copy var@4 + copy var@5; var@9 := copy z; var@8 := move var@9 == 15: u32; var@7 := ¬ move var@8; assert(¬move var@7); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> 11: u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> 4: u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 10: u32 ; None -> 11: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ var@5 := copy y ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> 11: u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> 4: u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 10: u32 ; None -> 11: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> 11: u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> 4: u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 10: u32 ; None -> 11: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } - op: copy y [Debug] **About to evaluate statement**: [ z := copy var@4 + copy var@5; var@9 := copy z; var@8 := move var@9 == 15: u32; var@7 := ¬ move var@8; assert(¬move var@7); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> 11: u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> 4: u32 ; Some (var@5) -> 11: u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 10: u32 ; None -> 11: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ z := copy var@4 + copy var@5 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> 11: u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> 4: u32 ; Some (var@5) -> 11: u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 10: u32 ; None -> 11: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> 11: u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> 4: u32 ; Some (var@5) -> 11: u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 10: u32 ; None -> 11: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } - op: copy var@4 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> 11: u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> 4: u32 ; Some (var@5) -> 11: u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 10: u32 ; None -> 11: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } - op: copy var@5 [Debug] **About to evaluate statement**: [ var@9 := copy z; var@8 := move var@9 == 15: u32; var@7 := ¬ move var@8; assert(¬move var@7); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> 11: u32 ; Some (z) -> 15: u32 ; Some (var@4) -> 4: u32 ; Some (var@5) -> 11: u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 10: u32 ; None -> 11: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ var@9 := copy z ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> 11: u32 ; Some (z) -> 15: u32 ; Some (var@4) -> 4: u32 ; Some (var@5) -> 11: u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 10: u32 ; None -> 11: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> 11: u32 ; Some (z) -> 15: u32 ; Some (var@4) -> 4: u32 ; Some (var@5) -> 11: u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 10: u32 ; None -> 11: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } - op: copy z [Debug] **About to evaluate statement**: [ var@8 := move var@9 == 15: u32; var@7 := ¬ move var@8; assert(¬move var@7); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> 11: u32 ; Some (z) -> 15: u32 ; Some (var@4) -> 4: u32 ; Some (var@5) -> 11: u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> 15: u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 10: u32 ; None -> 11: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ var@8 := move var@9 == 15: u32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> 11: u32 ; Some (z) -> 15: u32 ; Some (var@4) -> 4: u32 ; Some (var@5) -> 11: u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> 15: u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 10: u32 ; None -> 11: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> 11: u32 ; Some (z) -> 15: u32 ; Some (var@4) -> 4: u32 ; Some (var@5) -> 11: u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> 15: u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 10: u32 ; None -> 11: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } - op: move var@9 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> 11: u32 ; Some (z) -> 15: u32 ; Some (var@4) -> 4: u32 ; Some (var@5) -> 11: u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 10: u32 ; None -> 11: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } - op: 15: u32 [Debug] **About to evaluate statement**: [ var@7 := ¬ move var@8; assert(¬move var@7); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> 11: u32 ; Some (z) -> 15: u32 ; Some (var@4) -> 4: u32 ; Some (var@5) -> 11: u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> true ; Some (var@9) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 10: u32 ; None -> 11: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ var@7 := ¬ move var@8 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> 11: u32 ; Some (z) -> 15: u32 ; Some (var@4) -> 4: u32 ; Some (var@5) -> 11: u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> true ; Some (var@9) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 10: u32 ; None -> 11: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> 11: u32 ; Some (z) -> 15: u32 ; Some (var@4) -> 4: u32 ; Some (var@5) -> 11: u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> true ; Some (var@9) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 10: u32 ; None -> 11: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } - op: move var@8 [Debug] **About to evaluate statement**: [ assert(¬move var@7); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> 11: u32 ; Some (z) -> 15: u32 ; Some (var@4) -> 4: u32 ; Some (var@5) -> 11: u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> false ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 10: u32 ; None -> 11: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ assert(¬move var@7) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> 11: u32 ; Some (z) -> 15: u32 ; Some (var@4) -> 4: u32 ; Some (var@5) -> 11: u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> false ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 10: u32 ; None -> 11: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> 11: u32 ; Some (z) -> 15: u32 ; Some (var@4) -> 4: u32 ; Some (var@5) -> 11: u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> false ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 10: u32 ; None -> 11: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } - op: move var@7 [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 4: u32 ; Some (y) -> 11: u32 ; Some (z) -> 15: u32 ; Some (var@4) -> 4: u32 ; Some (var@5) -> 11: u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 4: u32 ; None -> 3: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 10: u32 ; None -> 11: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; } [Debug] test_unit_function: test_neg1 [Debug] **About to evaluate statement**: [ x := 3: i32; y := -3: i32; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : i32 ; Some (y) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ x := 3: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : i32 ; Some (y) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : i32 ; Some (y) -> ⊥ : i32 ; } - op: 3: i32 [Debug] **About to evaluate statement**: [ y := -3: i32; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 3: i32 ; Some (y) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ y := -3: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 3: i32 ; Some (y) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 3: i32 ; Some (y) -> ⊥ : i32 ; } - op: -3: i32 [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 3: i32 ; Some (y) -> -3: i32 ; } [Debug] test_unit_function: refs_test1 [Debug] **About to evaluate statement**: [ x := 0: i32; px := &mut x; ppx := &mut px; *(*(ppx)) := 1: i32; var@6 := copy x; var@5 := move var@6 == 1: i32; var@4 := ¬ move var@5; assert(¬move var@4); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ x := 0: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } - op: 0: i32 [Debug] **About to evaluate statement**: [ px := &mut x; ppx := &mut px; *(*(ppx)) := 1: i32; var@6 := copy x; var@5 := move var@6 == 1: i32; var@4 := ¬ move var@5; assert(¬move var@4); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ px := &mut x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ ppx := &mut px; *(*(ppx)) := 1: i32; var@6 := copy x; var@5 := move var@6 == 1: i32; var@4 := ¬ move var@5; assert(¬move var@4); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@0 (0: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ ppx := &mut px ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@0 (0: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ *(*(ppx)) := 1: i32; var@6 := copy x; var@5 := move var@6 == 1: i32; var@4 := ¬ move var@5; assert(¬move var@4); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (&mut@0 (0: i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ *(*(ppx)) := 1: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (&mut@0 (0: i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (&mut@0 (0: i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } - op: 1: i32 [Debug] **About to evaluate statement**: [ var@6 := copy x; var@5 := move var@6 == 1: i32; var@4 := ¬ move var@5; assert(¬move var@4); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (&mut@0 (1: i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@6 := copy x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (&mut@0 (1: i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (&mut@0 (1: i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } - op: copy x [Debug] end borrow: 0: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (&mut@0 (1: i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } [Debug] end borrow: 0: found outer borrows/abs:(InterpreterBorrowsCore.OuterBorrows (InterpreterBorrowsCore.Borrow 1)) [Debug] end borrow: 1: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (&mut@0 (1: i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } [Debug] give_back: - bid: 1 - content: &mut@1 (&mut@0 (1: i32)) - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } [Debug] give_back_value: - bid: 1 - value: &mut@0 (1: i32) - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } [Debug] end borrow: 0: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@0 (1: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } [Debug] give_back: - bid: 0 - content: &mut@0 (1: i32) - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } [Debug] give_back_value: - bid: 0 - value: 1: i32 - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@5 := move var@6 == 1: i32; var@4 := ¬ move var@5; assert(¬move var@4); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> 1: i32 ; } [Debug] **About to evaluate statement**: [ var@5 := move var@6 == 1: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> 1: i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> 1: i32 ; } - op: move var@6 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } - op: 1: i32 [Debug] **About to evaluate statement**: [ var@4 := ¬ move var@5; assert(¬move var@4); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> true ; Some (var@6) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@4 := ¬ move var@5 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> true ; Some (var@6) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> true ; Some (var@6) -> ⊥ : i32 ; } - op: move var@5 [Debug] **About to evaluate statement**: [ assert(¬move var@4); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> false ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ assert(¬move var@4) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> false ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> false ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } - op: move var@4 [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } [Debug] test_unit_function: refs_test2 [Debug] **About to evaluate statement**: [ x := 0: i32; y := 1: i32; px := &mut x; py := &mut y; ppx := &mut px; var@6 := &mut *(py); *(ppx) := move var@6; *(*(ppx)) := 2: i32; var@9 := copy *(px); var@8 := move var@9 == 2: i32; var@7 := ¬ move var@8; assert(¬move var@7); var@12 := copy x; var@11 := move var@12 == 0: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy *(py); var@14 := move var@15 == 2: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 2: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : i32 ; Some (y) -> ⊥ : i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ x := 0: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : i32 ; Some (y) -> ⊥ : i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : i32 ; Some (y) -> ⊥ : i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: 0: i32 [Debug] **About to evaluate statement**: [ y := 1: i32; px := &mut x; py := &mut y; ppx := &mut px; var@6 := &mut *(py); *(ppx) := move var@6; *(*(ppx)) := 2: i32; var@9 := copy *(px); var@8 := move var@9 == 2: i32; var@7 := ¬ move var@8; assert(¬move var@7); var@12 := copy x; var@11 := move var@12 == 0: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy *(py); var@14 := move var@15 == 2: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 2: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⊥ : i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ y := 1: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⊥ : i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⊥ : i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: 1: i32 [Debug] **About to evaluate statement**: [ px := &mut x; py := &mut y; ppx := &mut px; var@6 := &mut *(py); *(ppx) := move var@6; *(*(ppx)) := 2: i32; var@9 := copy *(px); var@8 := move var@9 == 2: i32; var@7 := ¬ move var@8; assert(¬move var@7); var@12 := copy x; var@11 := move var@12 == 0: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy *(py); var@14 := move var@15 == 2: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 2: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> 1: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ px := &mut x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> 1: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ py := &mut y; ppx := &mut px; var@6 := &mut *(py); *(ppx) := move var@6; *(*(ppx)) := 2: i32; var@9 := copy *(px); var@8 := move var@9 == 2: i32; var@7 := ¬ move var@8; assert(¬move var@7); var@12 := copy x; var@11 := move var@12 == 0: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy *(py); var@14 := move var@15 == 2: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 2: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> 1: i32 ; Some (px) -> &mut@0 (0: i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ py := &mut y ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> 1: i32 ; Some (px) -> &mut@0 (0: i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ ppx := &mut px; var@6 := &mut *(py); *(ppx) := move var@6; *(*(ppx)) := 2: i32; var@9 := copy *(px); var@8 := move var@9 == 2: i32; var@7 := ¬ move var@8; assert(¬move var@7); var@12 := copy x; var@11 := move var@12 == 0: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy *(py); var@14 := move var@15 == 2: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 2: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@0 (0: i32) ; Some (py) -> &mut@1 (1: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ ppx := &mut px ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@0 (0: i32) ; Some (py) -> &mut@1 (1: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@6 := &mut *(py); *(ppx) := move var@6; *(*(ppx)) := 2: i32; var@9 := copy *(px); var@8 := move var@9 == 2: i32; var@7 := ¬ move var@8; assert(¬move var@7); var@12 := copy x; var@11 := move var@12 == 0: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy *(py); var@14 := move var@15 == 2: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 2: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⌊mut@2⌋ ; Some (py) -> &mut@1 (1: i32) ; Some (ppx) -> &mut@2 (&mut@0 (0: i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@6 := &mut *(py) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⌊mut@2⌋ ; Some (py) -> &mut@1 (1: i32) ; Some (ppx) -> &mut@2 (&mut@0 (0: i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ *(ppx) := move var@6; *(*(ppx)) := 2: i32; var@9 := copy *(px); var@8 := move var@9 == 2: i32; var@7 := ¬ move var@8; assert(¬move var@7); var@12 := copy x; var@11 := move var@12 == 0: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy *(py); var@14 := move var@15 == 2: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 2: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⌊mut@2⌋ ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> &mut@2 (&mut@0 (0: i32)) ; Some (var@6) -> &mut@3 (1: i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ *(ppx) := move var@6 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⌊mut@2⌋ ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> &mut@2 (&mut@0 (0: i32)) ; Some (var@6) -> &mut@3 (1: i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⌊mut@2⌋ ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> &mut@2 (&mut@0 (0: i32)) ; Some (var@6) -> &mut@3 (1: i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: move var@6 [Debug] end borrow: 0: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⌊mut@2⌋ ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> &mut@2 (⊥ : &'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> &mut@3 (1: i32) ; None -> &mut@0 (0: i32) ; } [Debug] give_back: - bid: 0 - content: &mut@0 (0: i32) - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⌊mut@2⌋ ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> &mut@2 (⊥ : &'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> &mut@3 (1: i32) ; None -> ⊥ : &'_ mut (i32) ; } [Debug] give_back_value: - bid: 0 - value: 0: i32 - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⌊mut@2⌋ ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> &mut@2 (⊥ : &'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> &mut@3 (1: i32) ; None -> ⊥ : &'_ mut (i32) ; } [Debug] **About to evaluate statement**: [ *(*(ppx)) := 2: i32; var@9 := copy *(px); var@8 := move var@9 == 2: i32; var@7 := ¬ move var@8; assert(¬move var@7); var@12 := copy x; var@11 := move var@12 == 0: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy *(py); var@14 := move var@15 == 2: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 2: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⌊mut@2⌋ ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> &mut@2 (&mut@3 (1: i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ *(*(ppx)) := 2: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⌊mut@2⌋ ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> &mut@2 (&mut@3 (1: i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⌊mut@2⌋ ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> &mut@2 (&mut@3 (1: i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: 2: i32 [Debug] **About to evaluate statement**: [ var@9 := copy *(px); var@8 := move var@9 == 2: i32; var@7 := ¬ move var@8; assert(¬move var@7); var@12 := copy x; var@11 := move var@12 == 0: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy *(py); var@14 := move var@15 == 2: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 2: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⌊mut@2⌋ ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> &mut@2 (&mut@3 (2: i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@9 := copy *(px) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⌊mut@2⌋ ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> &mut@2 (&mut@3 (2: i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⌊mut@2⌋ ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> &mut@2 (&mut@3 (2: i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: copy *(px) [Debug] end borrow: 2: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⌊mut@2⌋ ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> &mut@2 (&mut@3 (2: i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] give_back: - bid: 2 - content: &mut@2 (&mut@3 (2: i32)) - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⌊mut@2⌋ ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] give_back_value: - bid: 2 - value: &mut@3 (2: i32) - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⌊mut@2⌋ ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@8 := move var@9 == 2: i32; var@7 := ¬ move var@8; assert(¬move var@7); var@12 := copy x; var@11 := move var@12 == 0: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy *(py); var@14 := move var@15 == 2: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 2: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> 2: i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@8 := move var@9 == 2: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> 2: i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> 2: i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: move var@9 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: 2: i32 [Debug] **About to evaluate statement**: [ var@7 := ¬ move var@8; assert(¬move var@7); var@12 := copy x; var@11 := move var@12 == 0: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy *(py); var@14 := move var@15 == 2: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 2: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> true ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@7 := ¬ move var@8 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> true ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> true ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: move var@8 [Debug] **About to evaluate statement**: [ assert(¬move var@7); var@12 := copy x; var@11 := move var@12 == 0: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy *(py); var@14 := move var@15 == 2: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 2: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> false ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ assert(¬move var@7) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> false ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> false ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: move var@7 [Debug] **About to evaluate statement**: [ var@12 := copy x; var@11 := move var@12 == 0: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy *(py); var@14 := move var@15 == 2: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 2: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@12 := copy x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: copy x [Debug] **About to evaluate statement**: [ var@11 := move var@12 == 0: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy *(py); var@14 := move var@15 == 2: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 2: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> 0: i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@11 := move var@12 == 0: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> 0: i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> 0: i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: move var@12 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: 0: i32 [Debug] **About to evaluate statement**: [ var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy *(py); var@14 := move var@15 == 2: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 2: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> true ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@10 := ¬ move var@11 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> true ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> true ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: move var@11 [Debug] **About to evaluate statement**: [ assert(¬move var@10); var@15 := copy *(py); var@14 := move var@15 == 2: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 2: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> false ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ assert(¬move var@10) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> false ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> false ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: move var@10 [Debug] **About to evaluate statement**: [ var@15 := copy *(py); var@14 := move var@15 == 2: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 2: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@15 := copy *(py) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: copy *(py) [Debug] end borrow: 3: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] give_back: - bid: 3 - content: &mut@3 (2: i32) - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] give_back_value: - bid: 3 - value: 2: i32 - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@14 := move var@15 == 2: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 2: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> &mut@1 (2: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> 2: i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@14 := move var@15 == 2: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> &mut@1 (2: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> 2: i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> &mut@1 (2: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> 2: i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: move var@15 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> &mut@1 (2: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: 2: i32 [Debug] **About to evaluate statement**: [ var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 2: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> &mut@1 (2: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> true ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@13 := ¬ move var@14 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> &mut@1 (2: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> true ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> &mut@1 (2: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> true ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: move var@14 [Debug] **About to evaluate statement**: [ assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 2: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> &mut@1 (2: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> false ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ assert(¬move var@13) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> &mut@1 (2: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> false ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> &mut@1 (2: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> false ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: move var@13 [Debug] **About to evaluate statement**: [ var@18 := copy y; var@17 := move var@18 == 2: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> &mut@1 (2: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@18 := copy y ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> &mut@1 (2: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> &mut@1 (2: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: copy y [Debug] end borrow: 1: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> &mut@1 (2: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] give_back: - bid: 1 - content: &mut@1 (2: i32) - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] give_back_value: - bid: 1 - value: 2: i32 - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@17 := move var@18 == 2: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> 2: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> 2: i32 ; } [Debug] **About to evaluate statement**: [ var@17 := move var@18 == 2: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> 2: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> 2: i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> 2: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> 2: i32 ; } - op: move var@18 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> 2: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: 2: i32 [Debug] **About to evaluate statement**: [ var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> 2: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> true ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@16 := ¬ move var@17 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> 2: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> true ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> 2: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> true ; Some (var@18) -> ⊥ : i32 ; } - op: move var@17 [Debug] **About to evaluate statement**: [ assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> 2: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> false ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ assert(¬move var@16) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> 2: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> false ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> 2: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> false ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: move var@16 [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> 2: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] test_unit_function: test_list1 [Debug] **About to evaluate statement**: [ set_discriminant(var@3, 1); var@2 := move alloc::boxed::Box>::new(move var@3); (l as test1::List::Cons).0 := 0: i32; (l as test1::List::Cons).1 := move var@2; set_discriminant(l, 0); drop(l); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; } [Debug] **About to evaluate statement**: [ set_discriminant(var@3, 1) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; } [Debug] **About to evaluate statement**: [ var@2 := move alloc::boxed::Box>::new(move var@3); (l as test1::List::Cons).0 := 0: i32; (l as test1::List::Cons).1 := move var@2; set_discriminant(l, 0); drop(l); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> test1::List::Nil ; } [Debug] **About to evaluate statement**: [ var@2 := move alloc::boxed::Box>::new(move var@3) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> test1::List::Nil ; } [Debug] eval_non_local_function_call: - fid:CfimAst.BoxNew - type_params: [test1::List] - args: [move var@3] - dest: var@2 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> test1::List::Nil ; } - op: move var@3 [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; } # Frame 1: { Some (@return) -> ⊥ : std::boxed::Box> ; Some (var@1) -> test1::List::Nil ; } - op: move var@1 [Debug] ctx_pop_frame: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; } # Frame 1: { Some (@return) -> @Box(test1::List::Nil) ; Some (var@1) -> ⊥ : test1::List ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; } # Frame 1: { Some (@return) -> @Box(test1::List::Nil) ; Some (var@1) -> ⊥ : test1::List ; } - op: move @return [Debug] **About to evaluate statement**: [ (l as test1::List::Cons).0 := 0: i32; (l as test1::List::Cons).1 := move var@2; set_discriminant(l, 0); drop(l); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> @Box(test1::List::Nil) ; Some (var@3) -> ⊥ : test1::List ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } [Debug] **About to evaluate statement**: [ (l as test1::List::Cons).0 := 0: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> @Box(test1::List::Nil) ; Some (var@3) -> ⊥ : test1::List ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> @Box(test1::List::Nil) ; Some (var@3) -> ⊥ : test1::List ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } - op: 0: i32 [Debug] expand_bottom_value_from_projection: pe: (Expressions.Field ((Expressions.ProjAdt (1, (Some 0))), 0)) ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) [Debug] **About to evaluate statement**: [ (l as test1::List::Cons).1 := move var@2; set_discriminant(l, 0); drop(l); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> @Box(test1::List::Nil) ; Some (var@3) -> ⊥ : test1::List ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } [Debug] **About to evaluate statement**: [ (l as test1::List::Cons).1 := move var@2 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> @Box(test1::List::Nil) ; Some (var@3) -> ⊥ : test1::List ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> @Box(test1::List::Nil) ; Some (var@3) -> ⊥ : test1::List ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } - op: move var@2 [Debug] **About to evaluate statement**: [ set_discriminant(l, 0); drop(l); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } [Debug] **About to evaluate statement**: [ set_discriminant(l, 0) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } [Debug] **About to evaluate statement**: [ drop(l); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } [Debug] **About to evaluate statement**: [ drop(l) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } [Debug] drop_value: place: l [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } [Debug] test_unit_function: test_box1 [Debug] **About to evaluate statement**: [ b := move alloc::boxed::Box::new(0: i32); var@3 := &two-phase b; x := move core::ops::deref::DerefMut::deref_mut(move var@3); *(x) := 1: i32; var@5 := &b; x := move core::ops::deref::Deref>::deref(move var@5); var@8 := copy *(x); var@7 := move var@8 == 1: i32; var@6 := ¬ move var@7; assert(¬move var@6); drop(b); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⊥ : std::boxed::Box ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ b := move alloc::boxed::Box::new(0: i32) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⊥ : std::boxed::Box ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; } [Debug] eval_non_local_function_call: - fid:CfimAst.BoxNew - type_params: [i32] - args: [0: i32] - dest: b [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⊥ : std::boxed::Box ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; } - op: 0: i32 [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⊥ : std::boxed::Box ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; } # Frame 1: { Some (@return) -> ⊥ : std::boxed::Box ; Some (var@1) -> 0: i32 ; } - op: move var@1 [Debug] ctx_pop_frame: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⊥ : std::boxed::Box ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; } # Frame 1: { Some (@return) -> @Box(0: i32) ; Some (var@1) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⊥ : std::boxed::Box ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; } # Frame 1: { Some (@return) -> @Box(0: i32) ; Some (var@1) -> ⊥ : i32 ; } - op: move @return [Debug] **About to evaluate statement**: [ var@3 := &two-phase b; x := move core::ops::deref::DerefMut::deref_mut(move var@3); *(x) := 1: i32; var@5 := &b; x := move core::ops::deref::Deref>::deref(move var@5); var@8 := copy *(x); var@7 := move var@8 == 1: i32; var@6 := ¬ move var@7; assert(¬move var@6); drop(b); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @Box(0: i32) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box ; None -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@3 := &two-phase b ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @Box(0: i32) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box ; None -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ x := move core::ops::deref::DerefMut::deref_mut(move var@3); *(x) := 1: i32; var@5 := &b; x := move core::ops::deref::Deref>::deref(move var@5); var@8 := copy *(x); var@7 := move var@8 == 1: i32; var@6 := ¬ move var@7; assert(¬move var@6); drop(b); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @shared_loan({0}, @Box(0: i32)) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⌊inactivated_mut@0⌋ ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box ; None -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ x := move core::ops::deref::DerefMut::deref_mut(move var@3) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @shared_loan({0}, @Box(0: i32)) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⌊inactivated_mut@0⌋ ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box ; None -> ⊥ : i32 ; } [Debug] eval_non_local_function_call: - fid:CfimAst.BoxDerefMut - type_params: [i32] - args: [move var@3] - dest: x [Debug] activate_inactivated_mut_borrow: resulting value: @Box(0: i32) [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⌊mut@0⌋ ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> &mut@0 (@Box(0: i32)) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box ; None -> ⊥ : i32 ; } - op: move var@3 [Debug] ctx_pop_frame: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⌊mut@0⌋ ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box ; None -> ⊥ : i32 ; } # Frame 1: { Some (@return) -> &mut@1 (0: i32) ; Some (var@1) -> &mut@0 (@Box(⌊mut@1⌋)) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⌊mut@0⌋ ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box ; None -> ⊥ : i32 ; } # Frame 1: { Some (@return) -> &mut@1 (0: i32) ; Some (var@1) -> &mut@0 (@Box(⌊mut@1⌋)) ; } - op: move @return [Debug] **About to evaluate statement**: [ *(x) := 1: i32; var@5 := &b; x := move core::ops::deref::Deref>::deref(move var@5); var@8 := copy *(x); var@7 := move var@8 == 1: i32; var@6 := ¬ move var@7; assert(¬move var@6); drop(b); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⌊mut@0⌋ ; Some (x) -> &mut@1 (0: i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box ; None -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> &mut@0 (@Box(⌊mut@1⌋)) ; } [Debug] **About to evaluate statement**: [ *(x) := 1: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⌊mut@0⌋ ; Some (x) -> &mut@1 (0: i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box ; None -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> &mut@0 (@Box(⌊mut@1⌋)) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⌊mut@0⌋ ; Some (x) -> &mut@1 (0: i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box ; None -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> &mut@0 (@Box(⌊mut@1⌋)) ; } - op: 1: i32 [Debug] **About to evaluate statement**: [ var@5 := &b; x := move core::ops::deref::Deref>::deref(move var@5); var@8 := copy *(x); var@7 := move var@8 == 1: i32; var@6 := ¬ move var@7; assert(¬move var@6); drop(b); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⌊mut@0⌋ ; Some (x) -> &mut@1 (1: i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box ; None -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> &mut@0 (@Box(⌊mut@1⌋)) ; } [Debug] **About to evaluate statement**: [ var@5 := &b ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⌊mut@0⌋ ; Some (x) -> &mut@1 (1: i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box ; None -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> &mut@0 (@Box(⌊mut@1⌋)) ; } [Debug] end borrow: 0: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⌊mut@0⌋ ; Some (x) -> &mut@1 (1: i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box ; None -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> &mut@0 (@Box(⌊mut@1⌋)) ; } [Debug] end borrow: 0: found outer borrows/abs:(InterpreterBorrowsCore.InnerLoans (InterpreterBorrowsCore.Borrow 1)) [Debug] end borrow: 1: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⌊mut@0⌋ ; Some (x) -> &mut@1 (1: i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box ; None -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> &mut@0 (@Box(⌊mut@1⌋)) ; } [Debug] give_back: - bid: 1 - content: &mut@1 (1: i32) - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⌊mut@0⌋ ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box ; None -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> &mut@0 (@Box(⌊mut@1⌋)) ; } [Debug] give_back_value: - bid: 1 - value: 1: i32 - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⌊mut@0⌋ ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box ; None -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> &mut@0 (@Box(⌊mut@1⌋)) ; } [Debug] end borrow: 0: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⌊mut@0⌋ ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box ; None -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> &mut@0 (@Box(1: i32)) ; } [Debug] give_back: - bid: 0 - content: &mut@0 (@Box(1: i32)) - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⌊mut@0⌋ ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box ; None -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : &'_ mut (std::boxed::Box) ; } [Debug] give_back_value: - bid: 0 - value: @Box(1: i32) - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⌊mut@0⌋ ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box ; None -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : &'_ mut (std::boxed::Box) ; } [Debug] **About to evaluate statement**: [ x := move core::ops::deref::Deref>::deref(move var@5); var@8 := copy *(x); var@7 := move var@8 == 1: i32; var@6 := ¬ move var@7; assert(¬move var@6); drop(b); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @shared_loan({2}, @Box(1: i32)) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⌊shared@2⌋ ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box ; None -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : &'_ mut (std::boxed::Box) ; } [Debug] **About to evaluate statement**: [ x := move core::ops::deref::Deref>::deref(move var@5) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @shared_loan({2}, @Box(1: i32)) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⌊shared@2⌋ ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box ; None -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : &'_ mut (std::boxed::Box) ; } [Debug] eval_non_local_function_call: - fid:CfimAst.BoxDeref - type_params: [i32] - args: [move var@5] - dest: x [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @shared_loan({2}, @Box(1: i32)) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⌊shared@2⌋ ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box ; None -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : &'_ mut (std::boxed::Box) ; } - op: move var@5 [Debug] ctx_pop_frame: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @shared_loan({2}, @Box(@shared_loan({3}, 1: i32))) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box ; None -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : &'_ mut (std::boxed::Box) ; } # Frame 1: { Some (@return) -> ⌊shared@3⌋ ; Some (var@1) -> ⌊shared@2⌋ ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @shared_loan({2}, @Box(@shared_loan({3}, 1: i32))) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box ; None -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : &'_ mut (std::boxed::Box) ; } # Frame 1: { Some (@return) -> ⌊shared@3⌋ ; Some (var@1) -> ⌊shared@2⌋ ; } - op: move @return [Debug] **About to evaluate statement**: [ var@8 := copy *(x); var@7 := move var@8 == 1: i32; var@6 := ¬ move var@7; assert(¬move var@6); drop(b); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @shared_loan({2}, @Box(@shared_loan({3}, 1: i32))) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⌊shared@3⌋ ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box ; None -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : &'_ mut (std::boxed::Box) ; None -> ⊥ : &'_ (i32) ; None -> ⌊shared@2⌋ ; } [Debug] **About to evaluate statement**: [ var@8 := copy *(x) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @shared_loan({2}, @Box(@shared_loan({3}, 1: i32))) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⌊shared@3⌋ ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box ; None -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : &'_ mut (std::boxed::Box) ; None -> ⊥ : &'_ (i32) ; None -> ⌊shared@2⌋ ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @shared_loan({2}, @Box(@shared_loan({3}, 1: i32))) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⌊shared@3⌋ ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box ; None -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : &'_ mut (std::boxed::Box) ; None -> ⊥ : &'_ (i32) ; None -> ⌊shared@2⌋ ; } - op: copy *(x) [Debug] **About to evaluate statement**: [ var@7 := move var@8 == 1: i32; var@6 := ¬ move var@7; assert(¬move var@6); drop(b); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @shared_loan({2}, @Box(@shared_loan({3}, 1: i32))) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⌊shared@3⌋ ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 1: i32 ; None -> ⊥ : std::boxed::Box ; None -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : &'_ mut (std::boxed::Box) ; None -> ⊥ : &'_ (i32) ; None -> ⌊shared@2⌋ ; } [Debug] **About to evaluate statement**: [ var@7 := move var@8 == 1: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @shared_loan({2}, @Box(@shared_loan({3}, 1: i32))) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⌊shared@3⌋ ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 1: i32 ; None -> ⊥ : std::boxed::Box ; None -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : &'_ mut (std::boxed::Box) ; None -> ⊥ : &'_ (i32) ; None -> ⌊shared@2⌋ ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @shared_loan({2}, @Box(@shared_loan({3}, 1: i32))) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⌊shared@3⌋ ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 1: i32 ; None -> ⊥ : std::boxed::Box ; None -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : &'_ mut (std::boxed::Box) ; None -> ⊥ : &'_ (i32) ; None -> ⌊shared@2⌋ ; } - op: move var@8 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @shared_loan({2}, @Box(@shared_loan({3}, 1: i32))) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⌊shared@3⌋ ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box ; None -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : &'_ mut (std::boxed::Box) ; None -> ⊥ : &'_ (i32) ; None -> ⌊shared@2⌋ ; } - op: 1: i32 [Debug] **About to evaluate statement**: [ var@6 := ¬ move var@7; assert(¬move var@6); drop(b); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @shared_loan({2}, @Box(@shared_loan({3}, 1: i32))) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⌊shared@3⌋ ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> true ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box ; None -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : &'_ mut (std::boxed::Box) ; None -> ⊥ : &'_ (i32) ; None -> ⌊shared@2⌋ ; } [Debug] **About to evaluate statement**: [ var@6 := ¬ move var@7 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @shared_loan({2}, @Box(@shared_loan({3}, 1: i32))) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⌊shared@3⌋ ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> true ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box ; None -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : &'_ mut (std::boxed::Box) ; None -> ⊥ : &'_ (i32) ; None -> ⌊shared@2⌋ ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @shared_loan({2}, @Box(@shared_loan({3}, 1: i32))) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⌊shared@3⌋ ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> true ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box ; None -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : &'_ mut (std::boxed::Box) ; None -> ⊥ : &'_ (i32) ; None -> ⌊shared@2⌋ ; } - op: move var@7 [Debug] **About to evaluate statement**: [ assert(¬move var@6); drop(b); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @shared_loan({2}, @Box(@shared_loan({3}, 1: i32))) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⌊shared@3⌋ ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> false ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box ; None -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : &'_ mut (std::boxed::Box) ; None -> ⊥ : &'_ (i32) ; None -> ⌊shared@2⌋ ; } [Debug] **About to evaluate statement**: [ assert(¬move var@6) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @shared_loan({2}, @Box(@shared_loan({3}, 1: i32))) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⌊shared@3⌋ ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> false ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box ; None -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : &'_ mut (std::boxed::Box) ; None -> ⊥ : &'_ (i32) ; None -> ⌊shared@2⌋ ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @shared_loan({2}, @Box(@shared_loan({3}, 1: i32))) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⌊shared@3⌋ ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> false ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box ; None -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : &'_ mut (std::boxed::Box) ; None -> ⊥ : &'_ (i32) ; None -> ⌊shared@2⌋ ; } - op: move var@6 [Debug] **About to evaluate statement**: [ drop(b); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @shared_loan({2}, @Box(@shared_loan({3}, 1: i32))) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⌊shared@3⌋ ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box ; None -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : &'_ mut (std::boxed::Box) ; None -> ⊥ : &'_ (i32) ; None -> ⌊shared@2⌋ ; } [Debug] **About to evaluate statement**: [ drop(b) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @shared_loan({2}, @Box(@shared_loan({3}, 1: i32))) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⌊shared@3⌋ ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box ; None -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : &'_ mut (std::boxed::Box) ; None -> ⊥ : &'_ (i32) ; None -> ⌊shared@2⌋ ; } [Debug] drop_value: place: b [Debug] end borrow: 2: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⊥ : std::boxed::Box ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⌊shared@3⌋ ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box ; None -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : &'_ mut (std::boxed::Box) ; None -> ⊥ : &'_ (i32) ; None -> ⌊shared@2⌋ ; None -> @shared_loan({2}, @Box(@shared_loan({3}, 1: i32))) ; } [Debug] give_back: - bid: 2 - content: ⌊shared@2⌋ - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⊥ : std::boxed::Box ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⌊shared@3⌋ ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box ; None -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : &'_ mut (std::boxed::Box) ; None -> ⊥ : &'_ (i32) ; None -> ⊥ : &'_ (std::boxed::Box) ; None -> @shared_loan({2}, @Box(@shared_loan({3}, 1: i32))) ; } [Debug] end borrow: 3: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⊥ : std::boxed::Box ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⌊shared@3⌋ ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box ; None -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : &'_ mut (std::boxed::Box) ; None -> ⊥ : &'_ (i32) ; None -> ⊥ : &'_ (std::boxed::Box) ; None -> @Box(@shared_loan({3}, 1: i32)) ; } [Debug] give_back: - bid: 3 - content: ⌊shared@3⌋ - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⊥ : std::boxed::Box ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box ; None -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : &'_ mut (std::boxed::Box) ; None -> ⊥ : &'_ (i32) ; None -> ⊥ : &'_ (std::boxed::Box) ; None -> @Box(@shared_loan({3}, 1: i32)) ; } [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⊥ : std::boxed::Box ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box ; None -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : &'_ mut (std::boxed::Box) ; None -> ⊥ : &'_ (i32) ; None -> ⊥ : &'_ (std::boxed::Box) ; } [Debug] test_unit_function: test_copy_int [Debug] **About to evaluate statement**: [ x := 0: i32; px := &x; var@4 := copy x; y := move copy_int(move var@4); var@7 := copy *(px); var@8 := copy y; var@6 := move var@7 == move var@8; var@5 := ¬ move var@6; assert(¬move var@5); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : i32 ; Some (px) -> ⊥ : &'_ (i32) ; Some (y) -> ⊥ : i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ x := 0: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : i32 ; Some (px) -> ⊥ : &'_ (i32) ; Some (y) -> ⊥ : i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : i32 ; Some (px) -> ⊥ : &'_ (i32) ; Some (y) -> ⊥ : i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; } - op: 0: i32 [Debug] **About to evaluate statement**: [ px := &x; var@4 := copy x; y := move copy_int(move var@4); var@7 := copy *(px); var@8 := copy y; var@6 := move var@7 == move var@8; var@5 := ¬ move var@6; assert(¬move var@5); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (px) -> ⊥ : &'_ (i32) ; Some (y) -> ⊥ : i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ px := &x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (px) -> ⊥ : &'_ (i32) ; Some (y) -> ⊥ : i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@4 := copy x; y := move copy_int(move var@4); var@7 := copy *(px); var@8 := copy y; var@6 := move var@7 == move var@8; var@5 := ¬ move var@6; assert(¬move var@5); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> ⊥ : i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@4 := copy x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> ⊥ : i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> ⊥ : i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; } - op: copy x [Debug] **About to evaluate statement**: [ y := move copy_int(move var@4); var@7 := copy *(px); var@8 := copy y; var@6 := move var@7 == move var@8; var@5 := ¬ move var@6; assert(¬move var@5); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> ⊥ : i32 ; Some (var@4) -> 0: i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ y := move copy_int(move var@4) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> ⊥ : i32 ; Some (var@4) -> 0: i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> ⊥ : i32 ; Some (var@4) -> 0: i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; } - op: move var@4 [Debug] **About to evaluate statement**: [ var@0 := copy x; return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> ⊥ : i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; } # Frame 1: { Some (var@0) -> ⊥ : i32 ; Some (x) -> 0: i32 ; } [Debug] **About to evaluate statement**: [ var@0 := copy x ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> ⊥ : i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; } # Frame 1: { Some (var@0) -> ⊥ : i32 ; Some (x) -> 0: i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> ⊥ : i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; } # Frame 1: { Some (var@0) -> ⊥ : i32 ; Some (x) -> 0: i32 ; } - op: copy x [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> ⊥ : i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; } # Frame 1: { Some (var@0) -> 0: i32 ; Some (x) -> 0: i32 ; } [Debug] ctx_pop_frame: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> ⊥ : i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; } # Frame 1: { Some (var@0) -> 0: i32 ; Some (x) -> 0: i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> ⊥ : i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; } # Frame 1: { Some (var@0) -> 0: i32 ; Some (x) -> 0: i32 ; } - op: move var@0 [Debug] **About to evaluate statement**: [ var@7 := copy *(px); var@8 := copy y; var@6 := move var@7 == move var@8; var@5 := ¬ move var@6; assert(¬move var@5); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> 0: i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : i32 ; None -> 0: i32 ; } [Debug] **About to evaluate statement**: [ var@7 := copy *(px) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> 0: i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : i32 ; None -> 0: i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> 0: i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : i32 ; None -> 0: i32 ; } - op: copy *(px) [Debug] **About to evaluate statement**: [ var@8 := copy y; var@6 := move var@7 == move var@8; var@5 := ¬ move var@6; assert(¬move var@5); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> 0: i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> 0: i32 ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : i32 ; None -> 0: i32 ; } [Debug] **About to evaluate statement**: [ var@8 := copy y ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> 0: i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> 0: i32 ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : i32 ; None -> 0: i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> 0: i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> 0: i32 ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : i32 ; None -> 0: i32 ; } - op: copy y [Debug] **About to evaluate statement**: [ var@6 := move var@7 == move var@8; var@5 := ¬ move var@6; assert(¬move var@5); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> 0: i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> 0: i32 ; Some (var@8) -> 0: i32 ; None -> ⊥ : i32 ; None -> 0: i32 ; } [Debug] **About to evaluate statement**: [ var@6 := move var@7 == move var@8 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> 0: i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> 0: i32 ; Some (var@8) -> 0: i32 ; None -> ⊥ : i32 ; None -> 0: i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> 0: i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> 0: i32 ; Some (var@8) -> 0: i32 ; None -> ⊥ : i32 ; None -> 0: i32 ; } - op: move var@7 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> 0: i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> 0: i32 ; None -> ⊥ : i32 ; None -> 0: i32 ; } - op: move var@8 [Debug] **About to evaluate statement**: [ var@5 := ¬ move var@6; assert(¬move var@5); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> 0: i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> true ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : i32 ; None -> 0: i32 ; } [Debug] **About to evaluate statement**: [ var@5 := ¬ move var@6 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> 0: i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> true ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : i32 ; None -> 0: i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> 0: i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> true ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : i32 ; None -> 0: i32 ; } - op: move var@6 [Debug] **About to evaluate statement**: [ assert(¬move var@5); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> 0: i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> false ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : i32 ; None -> 0: i32 ; } [Debug] **About to evaluate statement**: [ assert(¬move var@5) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> 0: i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> false ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : i32 ; None -> 0: i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> 0: i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> false ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : i32 ; None -> 0: i32 ; } - op: move var@5 [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> 0: i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; None -> ⊥ : i32 ; None -> 0: i32 ; } [Debug] test_unit_function: test_is_cons [Debug] **About to evaluate statement**: [ set_discriminant(var@3, 1); var@2 := move alloc::boxed::Box>::new(move var@3); (l as test1::List::Cons).0 := 0: i32; (l as test1::List::Cons).1 := move var@2; set_discriminant(l, 0); var@7 := &l; var@6 := copy var@7; var@5 := move is_cons(move var@6); var@4 := ¬ move var@5; assert(¬move var@4); drop(l); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⊥ : &'_ (test1::List) ; } [Debug] **About to evaluate statement**: [ set_discriminant(var@3, 1) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⊥ : &'_ (test1::List) ; } [Debug] **About to evaluate statement**: [ var@2 := move alloc::boxed::Box>::new(move var@3); (l as test1::List::Cons).0 := 0: i32; (l as test1::List::Cons).1 := move var@2; set_discriminant(l, 0); var@7 := &l; var@6 := copy var@7; var@5 := move is_cons(move var@6); var@4 := ¬ move var@5; assert(¬move var@4); drop(l); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> test1::List::Nil ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⊥ : &'_ (test1::List) ; } [Debug] **About to evaluate statement**: [ var@2 := move alloc::boxed::Box>::new(move var@3) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> test1::List::Nil ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⊥ : &'_ (test1::List) ; } [Debug] eval_non_local_function_call: - fid:CfimAst.BoxNew - type_params: [test1::List] - args: [move var@3] - dest: var@2 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> test1::List::Nil ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⊥ : &'_ (test1::List) ; } - op: move var@3 [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⊥ : &'_ (test1::List) ; } # Frame 1: { Some (@return) -> ⊥ : std::boxed::Box> ; Some (var@1) -> test1::List::Nil ; } - op: move var@1 [Debug] ctx_pop_frame: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⊥ : &'_ (test1::List) ; } # Frame 1: { Some (@return) -> @Box(test1::List::Nil) ; Some (var@1) -> ⊥ : test1::List ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⊥ : &'_ (test1::List) ; } # Frame 1: { Some (@return) -> @Box(test1::List::Nil) ; Some (var@1) -> ⊥ : test1::List ; } - op: move @return [Debug] **About to evaluate statement**: [ (l as test1::List::Cons).0 := 0: i32; (l as test1::List::Cons).1 := move var@2; set_discriminant(l, 0); var@7 := &l; var@6 := copy var@7; var@5 := move is_cons(move var@6); var@4 := ¬ move var@5; assert(¬move var@4); drop(l); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> @Box(test1::List::Nil) ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⊥ : &'_ (test1::List) ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } [Debug] **About to evaluate statement**: [ (l as test1::List::Cons).0 := 0: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> @Box(test1::List::Nil) ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⊥ : &'_ (test1::List) ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> @Box(test1::List::Nil) ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⊥ : &'_ (test1::List) ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } - op: 0: i32 [Debug] expand_bottom_value_from_projection: pe: (Expressions.Field ((Expressions.ProjAdt (1, (Some 0))), 0)) ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) [Debug] **About to evaluate statement**: [ (l as test1::List::Cons).1 := move var@2; set_discriminant(l, 0); var@7 := &l; var@6 := copy var@7; var@5 := move is_cons(move var@6); var@4 := ¬ move var@5; assert(¬move var@4); drop(l); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> @Box(test1::List::Nil) ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⊥ : &'_ (test1::List) ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } [Debug] **About to evaluate statement**: [ (l as test1::List::Cons).1 := move var@2 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> @Box(test1::List::Nil) ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⊥ : &'_ (test1::List) ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> @Box(test1::List::Nil) ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⊥ : &'_ (test1::List) ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } - op: move var@2 [Debug] **About to evaluate statement**: [ set_discriminant(l, 0); var@7 := &l; var@6 := copy var@7; var@5 := move is_cons(move var@6); var@4 := ¬ move var@5; assert(¬move var@4); drop(l); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⊥ : &'_ (test1::List) ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } [Debug] **About to evaluate statement**: [ set_discriminant(l, 0) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⊥ : &'_ (test1::List) ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } [Debug] **About to evaluate statement**: [ var@7 := &l; var@6 := copy var@7; var@5 := move is_cons(move var@6); var@4 := ¬ move var@5; assert(¬move var@4); drop(l); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⊥ : &'_ (test1::List) ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } [Debug] **About to evaluate statement**: [ var@7 := &l ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⊥ : &'_ (test1::List) ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } [Debug] **About to evaluate statement**: [ var@6 := copy var@7; var@5 := move is_cons(move var@6); var@4 := ¬ move var@5; assert(¬move var@4); drop(l); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> @shared_loan({0}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⌊shared@0⌋ ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } [Debug] **About to evaluate statement**: [ var@6 := copy var@7 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> @shared_loan({0}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⌊shared@0⌋ ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> @shared_loan({0}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⌊shared@0⌋ ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } - op: copy var@7 [Debug] **About to evaluate statement**: [ var@5 := move is_cons(move var@6); var@4 := ¬ move var@5; assert(¬move var@4); drop(l); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⌊shared@1⌋ ; Some (var@7) -> ⌊shared@0⌋ ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } [Debug] **About to evaluate statement**: [ var@5 := move is_cons(move var@6) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⌊shared@1⌋ ; Some (var@7) -> ⌊shared@0⌋ ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⌊shared@1⌋ ; Some (var@7) -> ⌊shared@0⌋ ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } - op: move var@6 [Debug] **About to evaluate statement**: [ var@2 := discriminant(*(l)); switch (move var@2) { 0: isize => { var@0 := true } 1: isize => { var@0 := false } _ => { panic } }; return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⌊shared@0⌋ ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> ⊥ : bool ; Some (l) -> ⌊shared@1⌋ ; Some (var@2) -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ var@2 := discriminant(*(l)) ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⌊shared@0⌋ ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> ⊥ : bool ; Some (l) -> ⌊shared@1⌋ ; Some (var@2) -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ switch (move var@2) { 0: isize => { var@0 := true } 1: isize => { var@0 := false } _ => { panic } }; return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⌊shared@0⌋ ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> ⊥ : bool ; Some (l) -> ⌊shared@1⌋ ; Some (var@2) -> 0: isize ; } [Debug] **About to evaluate statement**: [ switch (move var@2) { 0: isize => { var@0 := true } 1: isize => { var@0 := false } _ => { panic } } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⌊shared@0⌋ ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> ⊥ : bool ; Some (l) -> ⌊shared@1⌋ ; Some (var@2) -> 0: isize ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⌊shared@0⌋ ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> ⊥ : bool ; Some (l) -> ⌊shared@1⌋ ; Some (var@2) -> 0: isize ; } - op: move var@2 [Debug] **About to evaluate statement**: [ var@0 := true ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⌊shared@0⌋ ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> ⊥ : bool ; Some (l) -> ⌊shared@1⌋ ; Some (var@2) -> ⊥ : isize ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⌊shared@0⌋ ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> ⊥ : bool ; Some (l) -> ⌊shared@1⌋ ; Some (var@2) -> ⊥ : isize ; } - op: true [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⌊shared@0⌋ ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> true ; Some (l) -> ⌊shared@1⌋ ; Some (var@2) -> ⊥ : isize ; } [Debug] ctx_pop_frame: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⌊shared@0⌋ ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> true ; Some (l) -> ⌊shared@1⌋ ; Some (var@2) -> ⊥ : isize ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⌊shared@0⌋ ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> true ; Some (l) -> ⌊shared@1⌋ ; Some (var@2) -> ⊥ : isize ; } - op: move var@0 [Debug] **About to evaluate statement**: [ var@4 := ¬ move var@5; assert(¬move var@4); drop(l); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> true ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⌊shared@0⌋ ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; None -> ⊥ : bool ; None -> ⌊shared@1⌋ ; None -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ var@4 := ¬ move var@5 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> true ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⌊shared@0⌋ ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; None -> ⊥ : bool ; None -> ⌊shared@1⌋ ; None -> ⊥ : isize ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> true ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⌊shared@0⌋ ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; None -> ⊥ : bool ; None -> ⌊shared@1⌋ ; None -> ⊥ : isize ; } - op: move var@5 [Debug] **About to evaluate statement**: [ assert(¬move var@4); drop(l); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> false ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⌊shared@0⌋ ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; None -> ⊥ : bool ; None -> ⌊shared@1⌋ ; None -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ assert(¬move var@4) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> false ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⌊shared@0⌋ ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; None -> ⊥ : bool ; None -> ⌊shared@1⌋ ; None -> ⊥ : isize ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> false ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⌊shared@0⌋ ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; None -> ⊥ : bool ; None -> ⌊shared@1⌋ ; None -> ⊥ : isize ; } - op: move var@4 [Debug] **About to evaluate statement**: [ drop(l); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⌊shared@0⌋ ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; None -> ⊥ : bool ; None -> ⌊shared@1⌋ ; None -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ drop(l) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⌊shared@0⌋ ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; None -> ⊥ : bool ; None -> ⌊shared@1⌋ ; None -> ⊥ : isize ; } [Debug] drop_value: place: l [Debug] end borrow: 0: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⌊shared@0⌋ ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; None -> ⊥ : bool ; None -> ⌊shared@1⌋ ; None -> ⊥ : isize ; None -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; } [Debug] give_back: - bid: 0 - content: ⌊shared@0⌋ - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⊥ : &'_ (test1::List) ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; None -> ⊥ : bool ; None -> ⌊shared@1⌋ ; None -> ⊥ : isize ; None -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; } [Debug] end borrow: 1: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⊥ : &'_ (test1::List) ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; None -> ⊥ : bool ; None -> ⌊shared@1⌋ ; None -> ⊥ : isize ; None -> @shared_loan({1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; } [Debug] give_back: - bid: 1 - content: ⌊shared@1⌋ - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⊥ : &'_ (test1::List) ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; None -> ⊥ : bool ; None -> ⊥ : &'_ (test1::List) ; None -> ⊥ : isize ; None -> @shared_loan({1}, test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); }) ; } [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⊥ : &'_ (test1::List) ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; None -> ⊥ : bool ; None -> ⊥ : &'_ (test1::List) ; None -> ⊥ : isize ; } [Debug] test_unit_function: test_split_list [Debug] **About to evaluate statement**: [ set_discriminant(var@3, 1); var@2 := move alloc::boxed::Box>::new(move var@3); (l as test1::List::Cons).0 := 0: i32; (l as test1::List::Cons).1 := move var@2; set_discriminant(l, 0); var@7 := move l; var@6 := move split_list(move var@7); hd := copy (var@6).0; tl := move (var@6).1; var@10 := copy hd; var@9 := move var@10 == 0: i32; var@8 := ¬ move var@9; assert(¬move var@8); drop(tl); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ set_discriminant(var@3, 1) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@2 := move alloc::boxed::Box>::new(move var@3); (l as test1::List::Cons).0 := 0: i32; (l as test1::List::Cons).1 := move var@2; set_discriminant(l, 0); var@7 := move l; var@6 := move split_list(move var@7); hd := copy (var@6).0; tl := move (var@6).1; var@10 := copy hd; var@9 := move var@10 == 0: i32; var@8 := ¬ move var@9; assert(¬move var@8); drop(tl); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> test1::List::Nil ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@2 := move alloc::boxed::Box>::new(move var@3) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> test1::List::Nil ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; } [Debug] eval_non_local_function_call: - fid:CfimAst.BoxNew - type_params: [test1::List] - args: [move var@3] - dest: var@2 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> test1::List::Nil ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; } - op: move var@3 [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; } # Frame 1: { Some (@return) -> ⊥ : std::boxed::Box> ; Some (var@1) -> test1::List::Nil ; } - op: move var@1 [Debug] ctx_pop_frame: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; } # Frame 1: { Some (@return) -> @Box(test1::List::Nil) ; Some (var@1) -> ⊥ : test1::List ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; } # Frame 1: { Some (@return) -> @Box(test1::List::Nil) ; Some (var@1) -> ⊥ : test1::List ; } - op: move @return [Debug] **About to evaluate statement**: [ (l as test1::List::Cons).0 := 0: i32; (l as test1::List::Cons).1 := move var@2; set_discriminant(l, 0); var@7 := move l; var@6 := move split_list(move var@7); hd := copy (var@6).0; tl := move (var@6).1; var@10 := copy hd; var@9 := move var@10 == 0: i32; var@8 := ¬ move var@9; assert(¬move var@8); drop(tl); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> @Box(test1::List::Nil) ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } [Debug] **About to evaluate statement**: [ (l as test1::List::Cons).0 := 0: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> @Box(test1::List::Nil) ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> @Box(test1::List::Nil) ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } - op: 0: i32 [Debug] expand_bottom_value_from_projection: pe: (Expressions.Field ((Expressions.ProjAdt (1, (Some 0))), 0)) ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) [Debug] **About to evaluate statement**: [ (l as test1::List::Cons).1 := move var@2; set_discriminant(l, 0); var@7 := move l; var@6 := move split_list(move var@7); hd := copy (var@6).0; tl := move (var@6).1; var@10 := copy hd; var@9 := move var@10 == 0: i32; var@8 := ¬ move var@9; assert(¬move var@8); drop(tl); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> @Box(test1::List::Nil) ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } [Debug] **About to evaluate statement**: [ (l as test1::List::Cons).1 := move var@2 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> @Box(test1::List::Nil) ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> @Box(test1::List::Nil) ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } - op: move var@2 [Debug] **About to evaluate statement**: [ set_discriminant(l, 0); var@7 := move l; var@6 := move split_list(move var@7); hd := copy (var@6).0; tl := move (var@6).1; var@10 := copy hd; var@9 := move var@10 == 0: i32; var@8 := ¬ move var@9; assert(¬move var@8); drop(tl); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } [Debug] **About to evaluate statement**: [ set_discriminant(l, 0) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } [Debug] **About to evaluate statement**: [ var@7 := move l; var@6 := move split_list(move var@7); hd := copy (var@6).0; tl := move (var@6).1; var@10 := copy hd; var@9 := move var@10 == 0: i32; var@8 := ¬ move var@9; assert(¬move var@8); drop(tl); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } [Debug] **About to evaluate statement**: [ var@7 := move l ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } - op: move l [Debug] **About to evaluate statement**: [ var@6 := move split_list(move var@7); hd := copy (var@6).0; tl := move (var@6).1; var@10 := copy hd; var@9 := move var@10 == 0: i32; var@8 := ¬ move var@9; assert(¬move var@8); drop(tl); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } [Debug] **About to evaluate statement**: [ var@6 := move split_list(move var@7) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } - op: move var@7 [Debug] **About to evaluate statement**: [ var@8 := false; var@7 := false; var@7 := true; var@8 := true; var@2 := discriminant(l); switch (move var@2) { 0: isize => { var@8 := false; hd := move (l as test1::List::Cons).0; var@7 := false; tl := move (l as test1::List::Cons).1; var@5 := move hd; var@6 := move deref_box(tl); (var@0).0 := move var@5; (var@0).1 := move var@6; var@9 := move alloc::alloc::box_free>(move tl); return } _ => { panic } } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> ⊥ : (i32, test1::List) ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : i32 ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ var@8 := false ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> ⊥ : (i32, test1::List) ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : i32 ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> ⊥ : (i32, test1::List) ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : i32 ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } - op: false [Debug] **About to evaluate statement**: [ var@7 := false; var@7 := true; var@8 := true; var@2 := discriminant(l); switch (move var@2) { 0: isize => { var@8 := false; hd := move (l as test1::List::Cons).0; var@7 := false; tl := move (l as test1::List::Cons).1; var@5 := move hd; var@6 := move deref_box(tl); (var@0).0 := move var@5; (var@0).1 := move var@6; var@9 := move alloc::alloc::box_free>(move tl); return } _ => { panic } } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> ⊥ : (i32, test1::List) ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : i32 ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ var@7 := false ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> ⊥ : (i32, test1::List) ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : i32 ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> ⊥ : (i32, test1::List) ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : i32 ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } - op: false [Debug] **About to evaluate statement**: [ var@7 := true; var@8 := true; var@2 := discriminant(l); switch (move var@2) { 0: isize => { var@8 := false; hd := move (l as test1::List::Cons).0; var@7 := false; tl := move (l as test1::List::Cons).1; var@5 := move hd; var@6 := move deref_box(tl); (var@0).0 := move var@5; (var@0).1 := move var@6; var@9 := move alloc::alloc::box_free>(move tl); return } _ => { panic } } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> ⊥ : (i32, test1::List) ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : i32 ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ var@7 := true ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> ⊥ : (i32, test1::List) ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : i32 ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> ⊥ : (i32, test1::List) ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : i32 ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } - op: true [Debug] **About to evaluate statement**: [ var@8 := true; var@2 := discriminant(l); switch (move var@2) { 0: isize => { var@8 := false; hd := move (l as test1::List::Cons).0; var@7 := false; tl := move (l as test1::List::Cons).1; var@5 := move hd; var@6 := move deref_box(tl); (var@0).0 := move var@5; (var@0).1 := move var@6; var@9 := move alloc::alloc::box_free>(move tl); return } _ => { panic } } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> ⊥ : (i32, test1::List) ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : i32 ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> true ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ var@8 := true ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> ⊥ : (i32, test1::List) ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : i32 ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> true ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> ⊥ : (i32, test1::List) ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : i32 ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> true ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } - op: true [Debug] **About to evaluate statement**: [ var@2 := discriminant(l); switch (move var@2) { 0: isize => { var@8 := false; hd := move (l as test1::List::Cons).0; var@7 := false; tl := move (l as test1::List::Cons).1; var@5 := move hd; var@6 := move deref_box(tl); (var@0).0 := move var@5; (var@0).1 := move var@6; var@9 := move alloc::alloc::box_free>(move tl); return } _ => { panic } } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> ⊥ : (i32, test1::List) ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : i32 ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> true ; Some (var@8) -> true ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ var@2 := discriminant(l) ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> ⊥ : (i32, test1::List) ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : i32 ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> true ; Some (var@8) -> true ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ switch (move var@2) { 0: isize => { var@8 := false; hd := move (l as test1::List::Cons).0; var@7 := false; tl := move (l as test1::List::Cons).1; var@5 := move hd; var@6 := move deref_box(tl); (var@0).0 := move var@5; (var@0).1 := move var@6; var@9 := move alloc::alloc::box_free>(move tl); return } _ => { panic } } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> ⊥ : (i32, test1::List) ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; Some (var@2) -> 0: isize ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : i32 ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> true ; Some (var@8) -> true ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> ⊥ : (i32, test1::List) ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; Some (var@2) -> 0: isize ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : i32 ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> true ; Some (var@8) -> true ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } - op: move var@2 [Debug] **About to evaluate statement**: [ var@8 := false; hd := move (l as test1::List::Cons).0; var@7 := false; tl := move (l as test1::List::Cons).1; var@5 := move hd; var@6 := move deref_box(tl); (var@0).0 := move var@5; (var@0).1 := move var@6; var@9 := move alloc::alloc::box_free>(move tl); return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> ⊥ : (i32, test1::List) ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : i32 ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> true ; Some (var@8) -> true ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ var@8 := false ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> ⊥ : (i32, test1::List) ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : i32 ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> true ; Some (var@8) -> true ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> ⊥ : (i32, test1::List) ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : i32 ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> true ; Some (var@8) -> true ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } - op: false [Debug] **About to evaluate statement**: [ hd := move (l as test1::List::Cons).0; var@7 := false; tl := move (l as test1::List::Cons).1; var@5 := move hd; var@6 := move deref_box(tl); (var@0).0 := move var@5; (var@0).1 := move var@6; var@9 := move alloc::alloc::box_free>(move tl); return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> ⊥ : (i32, test1::List) ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : i32 ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> true ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ hd := move (l as test1::List::Cons).0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> ⊥ : (i32, test1::List) ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : i32 ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> true ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> ⊥ : (i32, test1::List) ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = @Box(test1::List::Nil); } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : i32 ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> true ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } - op: move (l as test1::List::Cons).0 [Debug] **About to evaluate statement**: [ var@7 := false; tl := move (l as test1::List::Cons).1; var@5 := move hd; var@6 := move deref_box(tl); (var@0).0 := move var@5; (var@0).1 := move var@6; var@9 := move alloc::alloc::box_free>(move tl); return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> ⊥ : (i32, test1::List) ; Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = @Box(test1::List::Nil); } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> 0: i32 ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : i32 ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> true ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ var@7 := false ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> ⊥ : (i32, test1::List) ; Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = @Box(test1::List::Nil); } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> 0: i32 ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : i32 ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> true ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> ⊥ : (i32, test1::List) ; Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = @Box(test1::List::Nil); } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> 0: i32 ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : i32 ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> true ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } - op: false [Debug] **About to evaluate statement**: [ tl := move (l as test1::List::Cons).1; var@5 := move hd; var@6 := move deref_box(tl); (var@0).0 := move var@5; (var@0).1 := move var@6; var@9 := move alloc::alloc::box_free>(move tl); return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> ⊥ : (i32, test1::List) ; Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = @Box(test1::List::Nil); } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> 0: i32 ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : i32 ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ tl := move (l as test1::List::Cons).1 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> ⊥ : (i32, test1::List) ; Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = @Box(test1::List::Nil); } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> 0: i32 ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : i32 ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> ⊥ : (i32, test1::List) ; Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = @Box(test1::List::Nil); } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> 0: i32 ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : i32 ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } - op: move (l as test1::List::Cons).1 [Debug] **About to evaluate statement**: [ var@5 := move hd; var@6 := move deref_box(tl); (var@0).0 := move var@5; (var@0).1 := move var@6; var@9 := move alloc::alloc::box_free>(move tl); return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> ⊥ : (i32, test1::List) ; Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> 0: i32 ; Some (tl) -> @Box(test1::List::Nil) ; Some (var@5) -> ⊥ : i32 ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ var@5 := move hd ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> ⊥ : (i32, test1::List) ; Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> 0: i32 ; Some (tl) -> @Box(test1::List::Nil) ; Some (var@5) -> ⊥ : i32 ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> ⊥ : (i32, test1::List) ; Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> 0: i32 ; Some (tl) -> @Box(test1::List::Nil) ; Some (var@5) -> ⊥ : i32 ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } - op: move hd [Debug] **About to evaluate statement**: [ var@6 := move deref_box(tl); (var@0).0 := move var@5; (var@0).1 := move var@6; var@9 := move alloc::alloc::box_free>(move tl); return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> ⊥ : (i32, test1::List) ; Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : i32 ; Some (tl) -> @Box(test1::List::Nil) ; Some (var@5) -> 0: i32 ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ var@6 := move deref_box(tl) ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> ⊥ : (i32, test1::List) ; Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : i32 ; Some (tl) -> @Box(test1::List::Nil) ; Some (var@5) -> 0: i32 ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> ⊥ : (i32, test1::List) ; Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : i32 ; Some (tl) -> @Box(test1::List::Nil) ; Some (var@5) -> 0: i32 ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } - op: move deref_box(tl) [Debug] **About to evaluate statement**: [ (var@0).0 := move var@5; (var@0).1 := move var@6; var@9 := move alloc::alloc::box_free>(move tl); return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> ⊥ : (i32, test1::List) ; Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : i32 ; Some (tl) -> @Box(⊥ : test1::List) ; Some (var@5) -> 0: i32 ; Some (var@6) -> test1::List::Nil ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ (var@0).0 := move var@5 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> ⊥ : (i32, test1::List) ; Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : i32 ; Some (tl) -> @Box(⊥ : test1::List) ; Some (var@5) -> 0: i32 ; Some (var@6) -> test1::List::Nil ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> ⊥ : (i32, test1::List) ; Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : i32 ; Some (tl) -> @Box(⊥ : test1::List) ; Some (var@5) -> 0: i32 ; Some (var@6) -> test1::List::Nil ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } - op: move var@5 [Debug] expand_bottom_value_from_projection: pe: (Expressions.Field ((Expressions.ProjTuple 2), 0)) ty: (Types.Adt (Types.Tuple, [], [(Types.Integer Types.I32); (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)]))] )) [Debug] **About to evaluate statement**: [ (var@0).1 := move var@6; var@9 := move alloc::alloc::box_free>(move tl); return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> (0: i32, ⊥ : test1::List) ; Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : i32 ; Some (tl) -> @Box(⊥ : test1::List) ; Some (var@5) -> ⊥ : i32 ; Some (var@6) -> test1::List::Nil ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ (var@0).1 := move var@6 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> (0: i32, ⊥ : test1::List) ; Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : i32 ; Some (tl) -> @Box(⊥ : test1::List) ; Some (var@5) -> ⊥ : i32 ; Some (var@6) -> test1::List::Nil ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> (0: i32, ⊥ : test1::List) ; Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : i32 ; Some (tl) -> @Box(⊥ : test1::List) ; Some (var@5) -> ⊥ : i32 ; Some (var@6) -> test1::List::Nil ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } - op: move var@6 [Debug] **About to evaluate statement**: [ var@9 := move alloc::alloc::box_free>(move tl); return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> (0: i32, test1::List::Nil) ; Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : i32 ; Some (tl) -> @Box(⊥ : test1::List) ; Some (var@5) -> ⊥ : i32 ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ var@9 := move alloc::alloc::box_free>(move tl) ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> (0: i32, test1::List::Nil) ; Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : i32 ; Some (tl) -> @Box(⊥ : test1::List) ; Some (var@5) -> ⊥ : i32 ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] eval_non_local_function_call: - fid:CfimAst.BoxFree - type_params: [test1::List] - args: [move tl] - dest: var@9 [Debug] drop_value: place: tl [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> (0: i32, test1::List::Nil) ; Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : i32 ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> () ; Some (var@10) -> ⊥ : isize ; } [Debug] ctx_pop_frame: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> (0: i32, test1::List::Nil) ; Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : i32 ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> () ; Some (var@10) -> ⊥ : isize ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; } # Frame 1: { Some (var@0) -> (0: i32, test1::List::Nil) ; Some (l) -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : i32 ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> () ; Some (var@10) -> ⊥ : isize ; } - op: move var@0 [Debug] **About to evaluate statement**: [ hd := copy (var@6).0; tl := move (var@6).1; var@10 := copy hd; var@9 := move var@10 == 0: i32; var@8 := ¬ move var@9; assert(¬move var@8); drop(tl); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> (0: i32, test1::List::Nil) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; None -> ⊥ : (i32, test1::List) ; None -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box>; } ; None -> ⊥ : isize ; None -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : i32 ; None -> ⊥ : test1::List ; None -> false ; None -> false ; None -> () ; None -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ hd := copy (var@6).0 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> (0: i32, test1::List::Nil) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; None -> ⊥ : (i32, test1::List) ; None -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box>; } ; None -> ⊥ : isize ; None -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : i32 ; None -> ⊥ : test1::List ; None -> false ; None -> false ; None -> () ; None -> ⊥ : isize ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> (0: i32, test1::List::Nil) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; None -> ⊥ : (i32, test1::List) ; None -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box>; } ; None -> ⊥ : isize ; None -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : i32 ; None -> ⊥ : test1::List ; None -> false ; None -> false ; None -> () ; None -> ⊥ : isize ; } - op: copy (var@6).0 [Debug] **About to evaluate statement**: [ tl := move (var@6).1; var@10 := copy hd; var@9 := move var@10 == 0: i32; var@8 := ¬ move var@9; assert(¬move var@8); drop(tl); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> 0: i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> (0: i32, test1::List::Nil) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; None -> ⊥ : (i32, test1::List) ; None -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box>; } ; None -> ⊥ : isize ; None -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : i32 ; None -> ⊥ : test1::List ; None -> false ; None -> false ; None -> () ; None -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ tl := move (var@6).1 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> 0: i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> (0: i32, test1::List::Nil) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; None -> ⊥ : (i32, test1::List) ; None -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box>; } ; None -> ⊥ : isize ; None -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : i32 ; None -> ⊥ : test1::List ; None -> false ; None -> false ; None -> () ; None -> ⊥ : isize ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> 0: i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> (0: i32, test1::List::Nil) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; None -> ⊥ : (i32, test1::List) ; None -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box>; } ; None -> ⊥ : isize ; None -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : i32 ; None -> ⊥ : test1::List ; None -> false ; None -> false ; None -> () ; None -> ⊥ : isize ; } - op: move (var@6).1 [Debug] **About to evaluate statement**: [ var@10 := copy hd; var@9 := move var@10 == 0: i32; var@8 := ¬ move var@9; assert(¬move var@8); drop(tl); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> 0: i32 ; Some (tl) -> test1::List::Nil ; Some (var@6) -> (0: i32, ⊥ : test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; None -> ⊥ : (i32, test1::List) ; None -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box>; } ; None -> ⊥ : isize ; None -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : i32 ; None -> ⊥ : test1::List ; None -> false ; None -> false ; None -> () ; None -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ var@10 := copy hd ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> 0: i32 ; Some (tl) -> test1::List::Nil ; Some (var@6) -> (0: i32, ⊥ : test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; None -> ⊥ : (i32, test1::List) ; None -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box>; } ; None -> ⊥ : isize ; None -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : i32 ; None -> ⊥ : test1::List ; None -> false ; None -> false ; None -> () ; None -> ⊥ : isize ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> 0: i32 ; Some (tl) -> test1::List::Nil ; Some (var@6) -> (0: i32, ⊥ : test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; None -> ⊥ : (i32, test1::List) ; None -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box>; } ; None -> ⊥ : isize ; None -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : i32 ; None -> ⊥ : test1::List ; None -> false ; None -> false ; None -> () ; None -> ⊥ : isize ; } - op: copy hd [Debug] **About to evaluate statement**: [ var@9 := move var@10 == 0: i32; var@8 := ¬ move var@9; assert(¬move var@8); drop(tl); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> 0: i32 ; Some (tl) -> test1::List::Nil ; Some (var@6) -> (0: i32, ⊥ : test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> 0: i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; None -> ⊥ : (i32, test1::List) ; None -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box>; } ; None -> ⊥ : isize ; None -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : i32 ; None -> ⊥ : test1::List ; None -> false ; None -> false ; None -> () ; None -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ var@9 := move var@10 == 0: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> 0: i32 ; Some (tl) -> test1::List::Nil ; Some (var@6) -> (0: i32, ⊥ : test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> 0: i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; None -> ⊥ : (i32, test1::List) ; None -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box>; } ; None -> ⊥ : isize ; None -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : i32 ; None -> ⊥ : test1::List ; None -> false ; None -> false ; None -> () ; None -> ⊥ : isize ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> 0: i32 ; Some (tl) -> test1::List::Nil ; Some (var@6) -> (0: i32, ⊥ : test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> 0: i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; None -> ⊥ : (i32, test1::List) ; None -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box>; } ; None -> ⊥ : isize ; None -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : i32 ; None -> ⊥ : test1::List ; None -> false ; None -> false ; None -> () ; None -> ⊥ : isize ; } - op: move var@10 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> 0: i32 ; Some (tl) -> test1::List::Nil ; Some (var@6) -> (0: i32, ⊥ : test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; None -> ⊥ : (i32, test1::List) ; None -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box>; } ; None -> ⊥ : isize ; None -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : i32 ; None -> ⊥ : test1::List ; None -> false ; None -> false ; None -> () ; None -> ⊥ : isize ; } - op: 0: i32 [Debug] **About to evaluate statement**: [ var@8 := ¬ move var@9; assert(¬move var@8); drop(tl); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> 0: i32 ; Some (tl) -> test1::List::Nil ; Some (var@6) -> (0: i32, ⊥ : test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> true ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; None -> ⊥ : (i32, test1::List) ; None -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box>; } ; None -> ⊥ : isize ; None -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : i32 ; None -> ⊥ : test1::List ; None -> false ; None -> false ; None -> () ; None -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ var@8 := ¬ move var@9 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> 0: i32 ; Some (tl) -> test1::List::Nil ; Some (var@6) -> (0: i32, ⊥ : test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> true ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; None -> ⊥ : (i32, test1::List) ; None -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box>; } ; None -> ⊥ : isize ; None -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : i32 ; None -> ⊥ : test1::List ; None -> false ; None -> false ; None -> () ; None -> ⊥ : isize ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> 0: i32 ; Some (tl) -> test1::List::Nil ; Some (var@6) -> (0: i32, ⊥ : test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> true ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; None -> ⊥ : (i32, test1::List) ; None -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box>; } ; None -> ⊥ : isize ; None -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : i32 ; None -> ⊥ : test1::List ; None -> false ; None -> false ; None -> () ; None -> ⊥ : isize ; } - op: move var@9 [Debug] **About to evaluate statement**: [ assert(¬move var@8); drop(tl); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> 0: i32 ; Some (tl) -> test1::List::Nil ; Some (var@6) -> (0: i32, ⊥ : test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> false ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; None -> ⊥ : (i32, test1::List) ; None -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box>; } ; None -> ⊥ : isize ; None -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : i32 ; None -> ⊥ : test1::List ; None -> false ; None -> false ; None -> () ; None -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ assert(¬move var@8) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> 0: i32 ; Some (tl) -> test1::List::Nil ; Some (var@6) -> (0: i32, ⊥ : test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> false ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; None -> ⊥ : (i32, test1::List) ; None -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box>; } ; None -> ⊥ : isize ; None -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : i32 ; None -> ⊥ : test1::List ; None -> false ; None -> false ; None -> () ; None -> ⊥ : isize ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> 0: i32 ; Some (tl) -> test1::List::Nil ; Some (var@6) -> (0: i32, ⊥ : test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> false ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; None -> ⊥ : (i32, test1::List) ; None -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box>; } ; None -> ⊥ : isize ; None -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : i32 ; None -> ⊥ : test1::List ; None -> false ; None -> false ; None -> () ; None -> ⊥ : isize ; } - op: move var@8 [Debug] **About to evaluate statement**: [ drop(tl); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> 0: i32 ; Some (tl) -> test1::List::Nil ; Some (var@6) -> (0: i32, ⊥ : test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; None -> ⊥ : (i32, test1::List) ; None -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box>; } ; None -> ⊥ : isize ; None -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : i32 ; None -> ⊥ : test1::List ; None -> false ; None -> false ; None -> () ; None -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ drop(tl) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> 0: i32 ; Some (tl) -> test1::List::Nil ; Some (var@6) -> (0: i32, ⊥ : test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; None -> ⊥ : (i32, test1::List) ; None -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box>; } ; None -> ⊥ : isize ; None -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : i32 ; None -> ⊥ : test1::List ; None -> false ; None -> false ; None -> () ; None -> ⊥ : isize ; } [Debug] drop_value: place: tl [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> 0: i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> (0: i32, ⊥ : test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : test1::List ; None -> ⊥ : (i32, test1::List) ; None -> test1::List::Cons { 0 = ⊥ : i32; 1 = ⊥ : std::boxed::Box>; } ; None -> ⊥ : isize ; None -> ⊥ : i32 ; None -> ⊥ : std::boxed::Box> ; None -> ⊥ : i32 ; None -> ⊥ : test1::List ; None -> false ; None -> false ; None -> () ; None -> ⊥ : isize ; } [Debug] test_unit_function: get_elem_test [Debug] **About to evaluate statement**: [ x := 0: i32; y := 0: i32; var@5 := &mut x; var@4 := &two-phase *(var@5); var@7 := &mut y; var@6 := &two-phase *(var@7); z := move get_elem(true, move var@4, move var@6); var@8 := copy *(z); *(z) := copy var@8 + 1: i32; var@12 := copy *(z); var@11 := move var@12 == 1: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy x; var@14 := move var@15 == 1: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 0: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : i32 ; Some (y) -> ⊥ : i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ x := 0: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : i32 ; Some (y) -> ⊥ : i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : i32 ; Some (y) -> ⊥ : i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: 0: i32 [Debug] **About to evaluate statement**: [ y := 0: i32; var@5 := &mut x; var@4 := &two-phase *(var@5); var@7 := &mut y; var@6 := &two-phase *(var@7); z := move get_elem(true, move var@4, move var@6); var@8 := copy *(z); *(z) := copy var@8 + 1: i32; var@12 := copy *(z); var@11 := move var@12 == 1: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy x; var@14 := move var@15 == 1: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 0: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⊥ : i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ y := 0: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⊥ : i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⊥ : i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: 0: i32 [Debug] **About to evaluate statement**: [ var@5 := &mut x; var@4 := &two-phase *(var@5); var@7 := &mut y; var@6 := &two-phase *(var@7); z := move get_elem(true, move var@4, move var@6); var@8 := copy *(z); *(z) := copy var@8 + 1: i32; var@12 := copy *(z); var@11 := move var@12 == 1: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy x; var@14 := move var@15 == 1: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 0: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> 0: i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@5 := &mut x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> 0: i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@4 := &two-phase *(var@5); var@7 := &mut y; var@6 := &two-phase *(var@7); z := move get_elem(true, move var@4, move var@6); var@8 := copy *(z); *(z) := copy var@8 + 1: i32; var@12 := copy *(z); var@11 := move var@12 == 1: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy x; var@14 := move var@15 == 1: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 0: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> 0: i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (0: i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@4 := &two-phase *(var@5) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> 0: i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (0: i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@7 := &mut y; var@6 := &two-phase *(var@7); z := move get_elem(true, move var@4, move var@6); var@8 := copy *(z); *(z) := copy var@8 + 1: i32; var@12 := copy *(z); var@11 := move var@12 == 1: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy x; var@14 := move var@15 == 1: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 0: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> 0: i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⌊inactivated_mut@1⌋ ; Some (var@5) -> &mut@0 (@shared_loan({1}, 0: i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@7 := &mut y ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> 0: i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⌊inactivated_mut@1⌋ ; Some (var@5) -> &mut@0 (@shared_loan({1}, 0: i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@6 := &two-phase *(var@7); z := move get_elem(true, move var@4, move var@6); var@8 := copy *(z); *(z) := copy var@8 + 1: i32; var@12 := copy *(z); var@11 := move var@12 == 1: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy x; var@14 := move var@15 == 1: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 0: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⌊inactivated_mut@1⌋ ; Some (var@5) -> &mut@0 (@shared_loan({1}, 0: i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (0: i32) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@6 := &two-phase *(var@7) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⌊inactivated_mut@1⌋ ; Some (var@5) -> &mut@0 (@shared_loan({1}, 0: i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (0: i32) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ z := move get_elem(true, move var@4, move var@6); var@8 := copy *(z); *(z) := copy var@8 + 1: i32; var@12 := copy *(z); var@11 := move var@12 == 1: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy x; var@14 := move var@15 == 1: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 0: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⌊inactivated_mut@1⌋ ; Some (var@5) -> &mut@0 (@shared_loan({1}, 0: i32)) ; Some (var@6) -> ⌊inactivated_mut@3⌋ ; Some (var@7) -> &mut@2 (@shared_loan({3}, 0: i32)) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ z := move get_elem(true, move var@4, move var@6) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⌊inactivated_mut@1⌋ ; Some (var@5) -> &mut@0 (@shared_loan({1}, 0: i32)) ; Some (var@6) -> ⌊inactivated_mut@3⌋ ; Some (var@7) -> &mut@2 (@shared_loan({3}, 0: i32)) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] activate_inactivated_mut_borrow: resulting value: 0: i32 [Debug] activate_inactivated_mut_borrow: resulting value: 0: i32 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> &mut@1 (0: i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> &mut@3 (0: i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: true [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> &mut@1 (0: i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> &mut@3 (0: i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: move var@4 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> &mut@3 (0: i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: move var@6 [Debug] **About to evaluate statement**: [ var@4 := copy b; if (move var@4) { var@0 := &mut *(x) } else { var@0 := move y }; return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } # Frame 1: { Some (var@0) -> ⊥ : &'_ mut (i32) ; Some (b) -> true ; Some (x) -> &mut@1 (0: i32) ; Some (y) -> &mut@3 (0: i32) ; Some (var@4) -> ⊥ : bool ; } [Debug] **About to evaluate statement**: [ var@4 := copy b ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } # Frame 1: { Some (var@0) -> ⊥ : &'_ mut (i32) ; Some (b) -> true ; Some (x) -> &mut@1 (0: i32) ; Some (y) -> &mut@3 (0: i32) ; Some (var@4) -> ⊥ : bool ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } # Frame 1: { Some (var@0) -> ⊥ : &'_ mut (i32) ; Some (b) -> true ; Some (x) -> &mut@1 (0: i32) ; Some (y) -> &mut@3 (0: i32) ; Some (var@4) -> ⊥ : bool ; } - op: copy b [Debug] **About to evaluate statement**: [ if (move var@4) { var@0 := &mut *(x) } else { var@0 := move y }; return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } # Frame 1: { Some (var@0) -> ⊥ : &'_ mut (i32) ; Some (b) -> true ; Some (x) -> &mut@1 (0: i32) ; Some (y) -> &mut@3 (0: i32) ; Some (var@4) -> true ; } [Debug] **About to evaluate statement**: [ if (move var@4) { var@0 := &mut *(x) } else { var@0 := move y } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } # Frame 1: { Some (var@0) -> ⊥ : &'_ mut (i32) ; Some (b) -> true ; Some (x) -> &mut@1 (0: i32) ; Some (y) -> &mut@3 (0: i32) ; Some (var@4) -> true ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } # Frame 1: { Some (var@0) -> ⊥ : &'_ mut (i32) ; Some (b) -> true ; Some (x) -> &mut@1 (0: i32) ; Some (y) -> &mut@3 (0: i32) ; Some (var@4) -> true ; } - op: move var@4 [Debug] **About to evaluate statement**: [ var@0 := &mut *(x) ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } # Frame 1: { Some (var@0) -> ⊥ : &'_ mut (i32) ; Some (b) -> true ; Some (x) -> &mut@1 (0: i32) ; Some (y) -> &mut@3 (0: i32) ; Some (var@4) -> ⊥ : bool ; } [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } # Frame 1: { Some (var@0) -> &mut@4 (0: i32) ; Some (b) -> true ; Some (x) -> &mut@1 (⌊mut@4⌋) ; Some (y) -> &mut@3 (0: i32) ; Some (var@4) -> ⊥ : bool ; } [Debug] ctx_pop_frame: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } # Frame 1: { Some (var@0) -> &mut@4 (0: i32) ; Some (b) -> true ; Some (x) -> &mut@1 (⌊mut@4⌋) ; Some (y) -> &mut@3 (0: i32) ; Some (var@4) -> ⊥ : bool ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } # Frame 1: { Some (var@0) -> &mut@4 (0: i32) ; Some (b) -> true ; Some (x) -> &mut@1 (⌊mut@4⌋) ; Some (y) -> &mut@3 (0: i32) ; Some (var@4) -> ⊥ : bool ; } - op: move var@0 [Debug] **About to evaluate statement**: [ var@8 := copy *(z); *(z) := copy var@8 + 1: i32; var@12 := copy *(z); var@11 := move var@12 == 1: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy x; var@14 := move var@15 == 1: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 0: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (0: i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> &mut@1 (⌊mut@4⌋) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } [Debug] **About to evaluate statement**: [ var@8 := copy *(z) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (0: i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> &mut@1 (⌊mut@4⌋) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (0: i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> &mut@1 (⌊mut@4⌋) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } - op: copy *(z) [Debug] **About to evaluate statement**: [ *(z) := copy var@8 + 1: i32; var@12 := copy *(z); var@11 := move var@12 == 1: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy x; var@14 := move var@15 == 1: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 0: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (0: i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> &mut@1 (⌊mut@4⌋) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } [Debug] **About to evaluate statement**: [ *(z) := copy var@8 + 1: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (0: i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> &mut@1 (⌊mut@4⌋) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (0: i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> &mut@1 (⌊mut@4⌋) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } - op: copy var@8 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (0: i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> &mut@1 (⌊mut@4⌋) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } - op: 1: i32 [Debug] **About to evaluate statement**: [ var@12 := copy *(z); var@11 := move var@12 == 1: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy x; var@14 := move var@15 == 1: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 0: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (1: i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> &mut@1 (⌊mut@4⌋) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } [Debug] **About to evaluate statement**: [ var@12 := copy *(z) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (1: i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> &mut@1 (⌊mut@4⌋) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (1: i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> &mut@1 (⌊mut@4⌋) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } - op: copy *(z) [Debug] **About to evaluate statement**: [ var@11 := move var@12 == 1: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy x; var@14 := move var@15 == 1: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 0: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (1: i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> 1: i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> &mut@1 (⌊mut@4⌋) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } [Debug] **About to evaluate statement**: [ var@11 := move var@12 == 1: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (1: i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> 1: i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> &mut@1 (⌊mut@4⌋) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (1: i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> 1: i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> &mut@1 (⌊mut@4⌋) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } - op: move var@12 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (1: i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> &mut@1 (⌊mut@4⌋) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } - op: 1: i32 [Debug] **About to evaluate statement**: [ var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy x; var@14 := move var@15 == 1: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 0: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (1: i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> true ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> &mut@1 (⌊mut@4⌋) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } [Debug] **About to evaluate statement**: [ var@10 := ¬ move var@11 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (1: i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> true ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> &mut@1 (⌊mut@4⌋) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (1: i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> true ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> &mut@1 (⌊mut@4⌋) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } - op: move var@11 [Debug] **About to evaluate statement**: [ assert(¬move var@10); var@15 := copy x; var@14 := move var@15 == 1: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 0: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (1: i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> false ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> &mut@1 (⌊mut@4⌋) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } [Debug] **About to evaluate statement**: [ assert(¬move var@10) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (1: i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> false ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> &mut@1 (⌊mut@4⌋) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (1: i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> false ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> &mut@1 (⌊mut@4⌋) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } - op: move var@10 [Debug] **About to evaluate statement**: [ var@15 := copy x; var@14 := move var@15 == 1: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 0: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (1: i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> &mut@1 (⌊mut@4⌋) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } [Debug] **About to evaluate statement**: [ var@15 := copy x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (1: i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> &mut@1 (⌊mut@4⌋) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (1: i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> &mut@1 (⌊mut@4⌋) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } - op: copy x [Debug] end borrow: 0: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (1: i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> &mut@1 (⌊mut@4⌋) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } [Debug] end borrow: 0: found outer borrows/abs:(InterpreterBorrowsCore.InnerLoans (InterpreterBorrowsCore.Borrow 1)) [Debug] end borrow: 1: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (1: i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> &mut@1 (⌊mut@4⌋) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } [Debug] end borrow: 1: found outer borrows/abs:(InterpreterBorrowsCore.InnerLoans (InterpreterBorrowsCore.Borrow 4)) [Debug] end borrow: 4: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (1: i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> &mut@1 (⌊mut@4⌋) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } [Debug] give_back: - bid: 4 - content: &mut@4 (1: i32) - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> &mut@1 (⌊mut@4⌋) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } [Debug] give_back_value: - bid: 4 - value: 1: i32 - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> &mut@1 (⌊mut@4⌋) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } [Debug] end borrow: 1: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> &mut@1 (1: i32) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } [Debug] give_back: - bid: 1 - content: &mut@1 (1: i32) - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> ⊥ : &'_ mut (i32) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } [Debug] give_back_value: - bid: 1 - value: 1: i32 - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> ⊥ : &'_ mut (i32) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } [Debug] end borrow: 0: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (1: i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> ⊥ : &'_ mut (i32) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } [Debug] give_back: - bid: 0 - content: &mut@0 (1: i32) - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> ⊥ : &'_ mut (i32) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } [Debug] give_back_value: - bid: 0 - value: 1: i32 - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> ⊥ : &'_ mut (i32) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } [Debug] **About to evaluate statement**: [ var@14 := move var@15 == 1: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 0: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> 1: i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> ⊥ : &'_ mut (i32) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } [Debug] **About to evaluate statement**: [ var@14 := move var@15 == 1: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> 1: i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> ⊥ : &'_ mut (i32) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> 1: i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> ⊥ : &'_ mut (i32) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } - op: move var@15 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> ⊥ : &'_ mut (i32) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } - op: 1: i32 [Debug] **About to evaluate statement**: [ var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 0: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> true ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> ⊥ : &'_ mut (i32) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } [Debug] **About to evaluate statement**: [ var@13 := ¬ move var@14 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> true ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> ⊥ : &'_ mut (i32) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> true ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> ⊥ : &'_ mut (i32) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } - op: move var@14 [Debug] **About to evaluate statement**: [ assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 0: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> false ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> ⊥ : &'_ mut (i32) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } [Debug] **About to evaluate statement**: [ assert(¬move var@13) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> false ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> ⊥ : &'_ mut (i32) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> false ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> ⊥ : &'_ mut (i32) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } - op: move var@13 [Debug] **About to evaluate statement**: [ var@18 := copy y; var@17 := move var@18 == 0: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> ⊥ : &'_ mut (i32) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } [Debug] **About to evaluate statement**: [ var@18 := copy y ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> ⊥ : &'_ mut (i32) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> ⊥ : &'_ mut (i32) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } - op: copy y [Debug] end borrow: 2: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> ⊥ : &'_ mut (i32) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } [Debug] end borrow: 2: found outer borrows/abs:(InterpreterBorrowsCore.InnerLoans (InterpreterBorrowsCore.Borrow 3)) [Debug] end borrow: 3: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> ⊥ : &'_ mut (i32) ; None -> &mut@3 (0: i32) ; None -> ⊥ : bool ; } [Debug] give_back: - bid: 3 - content: &mut@3 (0: i32) - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : bool ; } [Debug] give_back_value: - bid: 3 - value: 0: i32 - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : bool ; } [Debug] end borrow: 2: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (0: i32) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : bool ; } [Debug] give_back: - bid: 2 - content: &mut@2 (0: i32) - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : bool ; } [Debug] give_back_value: - bid: 2 - value: 0: i32 - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : bool ; } [Debug] **About to evaluate statement**: [ var@17 := move var@18 == 0: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (y) -> 0: i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> 0: i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : bool ; } [Debug] **About to evaluate statement**: [ var@17 := move var@18 == 0: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (y) -> 0: i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> 0: i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : bool ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (y) -> 0: i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> 0: i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : bool ; } - op: move var@18 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (y) -> 0: i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : bool ; } - op: 0: i32 [Debug] **About to evaluate statement**: [ var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (y) -> 0: i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> true ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : bool ; } [Debug] **About to evaluate statement**: [ var@16 := ¬ move var@17 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (y) -> 0: i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> true ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : bool ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (y) -> 0: i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> true ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : bool ; } - op: move var@17 [Debug] **About to evaluate statement**: [ assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (y) -> 0: i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> false ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : bool ; } [Debug] **About to evaluate statement**: [ assert(¬move var@16) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (y) -> 0: i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> false ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : bool ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (y) -> 0: i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> false ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : bool ; } - op: move var@16 [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (y) -> 0: i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> 0: i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (i32) ; None -> true ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : &'_ mut (i32) ; None -> ⊥ : bool ; } [Debug] test_unit_function: id_mut_pair_test1 [Debug] **About to evaluate statement**: [ x := 0: u32; px := &mut x; var@4 := move px; (p).0 := move var@4; (p).1 := 1: u32; pp0 := &mut p; var@7 := &two-phase *(pp0); pp1 := move id_mut_pair(move var@7); y := 2: u32; var@10 := &mut y; var@9 := &mut *(var@10); *((pp1).0) := move var@9; *((pp1).1) := 3: u32; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⊥ : (&'_ mut (u32), u32) ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } [Debug] **About to evaluate statement**: [ x := 0: u32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⊥ : (&'_ mut (u32), u32) ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⊥ : (&'_ mut (u32), u32) ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } - op: 0: u32 [Debug] **About to evaluate statement**: [ px := &mut x; var@4 := move px; (p).0 := move var@4; (p).1 := 1: u32; pp0 := &mut p; var@7 := &two-phase *(pp0); pp1 := move id_mut_pair(move var@7); y := 2: u32; var@10 := &mut y; var@9 := &mut *(var@10); *((pp1).0) := move var@9; *((pp1).1) := 3: u32; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: u32 ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⊥ : (&'_ mut (u32), u32) ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } [Debug] **About to evaluate statement**: [ px := &mut x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: u32 ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⊥ : (&'_ mut (u32), u32) ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } [Debug] **About to evaluate statement**: [ var@4 := move px; (p).0 := move var@4; (p).1 := 1: u32; pp0 := &mut p; var@7 := &two-phase *(pp0); pp1 := move id_mut_pair(move var@7); y := 2: u32; var@10 := &mut y; var@9 := &mut *(var@10); *((pp1).0) := move var@9; *((pp1).1) := 3: u32; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@0 (0: u32) ; Some (p) -> ⊥ : (&'_ mut (u32), u32) ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } [Debug] **About to evaluate statement**: [ var@4 := move px ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@0 (0: u32) ; Some (p) -> ⊥ : (&'_ mut (u32), u32) ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@0 (0: u32) ; Some (p) -> ⊥ : (&'_ mut (u32), u32) ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } - op: move px [Debug] **About to evaluate statement**: [ (p).0 := move var@4; (p).1 := 1: u32; pp0 := &mut p; var@7 := &two-phase *(pp0); pp1 := move id_mut_pair(move var@7); y := 2: u32; var@10 := &mut y; var@9 := &mut *(var@10); *((pp1).0) := move var@9; *((pp1).1) := 3: u32; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⊥ : (&'_ mut (u32), u32) ; Some (var@4) -> &mut@0 (0: u32) ; Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } [Debug] **About to evaluate statement**: [ (p).0 := move var@4 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⊥ : (&'_ mut (u32), u32) ; Some (var@4) -> &mut@0 (0: u32) ; Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⊥ : (&'_ mut (u32), u32) ; Some (var@4) -> &mut@0 (0: u32) ; Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } - op: move var@4 [Debug] expand_bottom_value_from_projection: pe: (Expressions.Field ((Expressions.ProjTuple 2), 0)) ty: (Types.Adt (Types.Tuple, [], [(Types.Ref (Types.Erased, (Types.Integer Types.U32), Types.Mut)); (Types.Integer Types.U32)] )) [Debug] **About to evaluate statement**: [ (p).1 := 1: u32; pp0 := &mut p; var@7 := &two-phase *(pp0); pp1 := move id_mut_pair(move var@7); y := 2: u32; var@10 := &mut y; var@9 := &mut *(var@10); *((pp1).0) := move var@9; *((pp1).1) := 3: u32; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> (&mut@0 (0: u32), ⊥ : u32) ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } [Debug] **About to evaluate statement**: [ (p).1 := 1: u32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> (&mut@0 (0: u32), ⊥ : u32) ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> (&mut@0 (0: u32), ⊥ : u32) ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } - op: 1: u32 [Debug] **About to evaluate statement**: [ pp0 := &mut p; var@7 := &two-phase *(pp0); pp1 := move id_mut_pair(move var@7); y := 2: u32; var@10 := &mut y; var@9 := &mut *(var@10); *((pp1).0) := move var@9; *((pp1).1) := 3: u32; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> (&mut@0 (0: u32), 1: u32) ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } [Debug] **About to evaluate statement**: [ pp0 := &mut p ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> (&mut@0 (0: u32), 1: u32) ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } [Debug] **About to evaluate statement**: [ var@7 := &two-phase *(pp0); pp1 := move id_mut_pair(move var@7); y := 2: u32; var@10 := &mut y; var@9 := &mut *(var@10); *((pp1).0) := move var@9; *((pp1).1) := 3: u32; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 ((&mut@0 (0: u32), 1: u32)) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } [Debug] **About to evaluate statement**: [ var@7 := &two-phase *(pp0) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 ((&mut@0 (0: u32), 1: u32)) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } [Debug] **About to evaluate statement**: [ pp1 := move id_mut_pair(move var@7); y := 2: u32; var@10 := &mut y; var@9 := &mut *(var@10); *((pp1).0) := move var@9; *((pp1).1) := 3: u32; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (@shared_loan({2}, (&mut@0 (0: u32), 1: u32))) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⌊inactivated_mut@2⌋ ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } [Debug] **About to evaluate statement**: [ pp1 := move id_mut_pair(move var@7) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (@shared_loan({2}, (&mut@0 (0: u32), 1: u32))) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⌊inactivated_mut@2⌋ ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } [Debug] activate_inactivated_mut_borrow: resulting value: (&mut@0 (0: u32), 1: u32) [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (⌊mut@2⌋) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> &mut@2 ((&mut@0 (0: u32), 1: u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } - op: move var@7 [Debug] **About to evaluate statement**: [ var@2 := &mut *(x); var@0 := &mut *(var@2); return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (⌊mut@2⌋) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } # Frame 1: { Some (var@0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (x) -> &mut@2 ((&mut@0 (0: u32), 1: u32)) ; Some (var@2) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; } [Debug] **About to evaluate statement**: [ var@2 := &mut *(x) ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (⌊mut@2⌋) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } # Frame 1: { Some (var@0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (x) -> &mut@2 ((&mut@0 (0: u32), 1: u32)) ; Some (var@2) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; } [Debug] **About to evaluate statement**: [ var@0 := &mut *(var@2); return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (⌊mut@2⌋) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } # Frame 1: { Some (var@0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (x) -> &mut@2 (⌊mut@3⌋) ; Some (var@2) -> &mut@3 ((&mut@0 (0: u32), 1: u32)) ; } [Debug] **About to evaluate statement**: [ var@0 := &mut *(var@2) ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (⌊mut@2⌋) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } # Frame 1: { Some (var@0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (x) -> &mut@2 (⌊mut@3⌋) ; Some (var@2) -> &mut@3 ((&mut@0 (0: u32), 1: u32)) ; } [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (⌊mut@2⌋) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } # Frame 1: { Some (var@0) -> &mut@4 ((&mut@0 (0: u32), 1: u32)) ; Some (x) -> &mut@2 (⌊mut@3⌋) ; Some (var@2) -> &mut@3 (⌊mut@4⌋) ; } [Debug] ctx_pop_frame: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (⌊mut@2⌋) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } # Frame 1: { Some (var@0) -> &mut@4 ((&mut@0 (0: u32), 1: u32)) ; Some (x) -> &mut@2 (⌊mut@3⌋) ; Some (var@2) -> &mut@3 (⌊mut@4⌋) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (⌊mut@2⌋) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } # Frame 1: { Some (var@0) -> &mut@4 ((&mut@0 (0: u32), 1: u32)) ; Some (x) -> &mut@2 (⌊mut@3⌋) ; Some (var@2) -> &mut@3 (⌊mut@4⌋) ; } - op: move var@0 [Debug] **About to evaluate statement**: [ y := 2: u32; var@10 := &mut y; var@9 := &mut *(var@10); *((pp1).0) := move var@9; *((pp1).1) := 3: u32; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (⌊mut@2⌋) ; Some (pp1) -> &mut@4 ((&mut@0 (0: u32), 1: u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; None -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; None -> &mut@2 (⌊mut@3⌋) ; None -> &mut@3 (⌊mut@4⌋) ; } [Debug] **About to evaluate statement**: [ y := 2: u32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (⌊mut@2⌋) ; Some (pp1) -> &mut@4 ((&mut@0 (0: u32), 1: u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; None -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; None -> &mut@2 (⌊mut@3⌋) ; None -> &mut@3 (⌊mut@4⌋) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (⌊mut@2⌋) ; Some (pp1) -> &mut@4 ((&mut@0 (0: u32), 1: u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; None -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; None -> &mut@2 (⌊mut@3⌋) ; None -> &mut@3 (⌊mut@4⌋) ; } - op: 2: u32 [Debug] **About to evaluate statement**: [ var@10 := &mut y; var@9 := &mut *(var@10); *((pp1).0) := move var@9; *((pp1).1) := 3: u32; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (⌊mut@2⌋) ; Some (pp1) -> &mut@4 ((&mut@0 (0: u32), 1: u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> 2: u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; None -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; None -> &mut@2 (⌊mut@3⌋) ; None -> &mut@3 (⌊mut@4⌋) ; } [Debug] **About to evaluate statement**: [ var@10 := &mut y ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (⌊mut@2⌋) ; Some (pp1) -> &mut@4 ((&mut@0 (0: u32), 1: u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> 2: u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; None -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; None -> &mut@2 (⌊mut@3⌋) ; None -> &mut@3 (⌊mut@4⌋) ; } [Debug] **About to evaluate statement**: [ var@9 := &mut *(var@10); *((pp1).0) := move var@9; *((pp1).1) := 3: u32; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (⌊mut@2⌋) ; Some (pp1) -> &mut@4 ((&mut@0 (0: u32), 1: u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⌊mut@5⌋ ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> &mut@5 (2: u32) ; None -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; None -> &mut@2 (⌊mut@3⌋) ; None -> &mut@3 (⌊mut@4⌋) ; } [Debug] **About to evaluate statement**: [ var@9 := &mut *(var@10) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (⌊mut@2⌋) ; Some (pp1) -> &mut@4 ((&mut@0 (0: u32), 1: u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⌊mut@5⌋ ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> &mut@5 (2: u32) ; None -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; None -> &mut@2 (⌊mut@3⌋) ; None -> &mut@3 (⌊mut@4⌋) ; } [Debug] **About to evaluate statement**: [ *((pp1).0) := move var@9; *((pp1).1) := 3: u32; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (⌊mut@2⌋) ; Some (pp1) -> &mut@4 ((&mut@0 (0: u32), 1: u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⌊mut@5⌋ ; Some (var@9) -> &mut@6 (2: u32) ; Some (var@10) -> &mut@5 (⌊mut@6⌋) ; None -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; None -> &mut@2 (⌊mut@3⌋) ; None -> &mut@3 (⌊mut@4⌋) ; } [Debug] **About to evaluate statement**: [ *((pp1).0) := move var@9 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (⌊mut@2⌋) ; Some (pp1) -> &mut@4 ((&mut@0 (0: u32), 1: u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⌊mut@5⌋ ; Some (var@9) -> &mut@6 (2: u32) ; Some (var@10) -> &mut@5 (⌊mut@6⌋) ; None -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; None -> &mut@2 (⌊mut@3⌋) ; None -> &mut@3 (⌊mut@4⌋) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (⌊mut@2⌋) ; Some (pp1) -> &mut@4 ((&mut@0 (0: u32), 1: u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⌊mut@5⌋ ; Some (var@9) -> &mut@6 (2: u32) ; Some (var@10) -> &mut@5 (⌊mut@6⌋) ; None -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; None -> &mut@2 (⌊mut@3⌋) ; None -> &mut@3 (⌊mut@4⌋) ; } - op: move var@9 [Debug] end borrow: 0: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (⌊mut@2⌋) ; Some (pp1) -> &mut@4 ((⊥ : &'_ mut (u32), 1: u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⌊mut@5⌋ ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> &mut@5 (⌊mut@6⌋) ; None -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; None -> &mut@2 (⌊mut@3⌋) ; None -> &mut@3 (⌊mut@4⌋) ; None -> &mut@6 (2: u32) ; None -> &mut@0 (0: u32) ; } [Debug] give_back: - bid: 0 - content: &mut@0 (0: u32) - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (⌊mut@2⌋) ; Some (pp1) -> &mut@4 ((⊥ : &'_ mut (u32), 1: u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⌊mut@5⌋ ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> &mut@5 (⌊mut@6⌋) ; None -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; None -> &mut@2 (⌊mut@3⌋) ; None -> &mut@3 (⌊mut@4⌋) ; None -> &mut@6 (2: u32) ; None -> ⊥ : &'_ mut (u32) ; } [Debug] give_back_value: - bid: 0 - value: 0: u32 - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (⌊mut@2⌋) ; Some (pp1) -> &mut@4 ((⊥ : &'_ mut (u32), 1: u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⌊mut@5⌋ ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> &mut@5 (⌊mut@6⌋) ; None -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; None -> &mut@2 (⌊mut@3⌋) ; None -> &mut@3 (⌊mut@4⌋) ; None -> &mut@6 (2: u32) ; None -> ⊥ : &'_ mut (u32) ; } [Debug] **About to evaluate statement**: [ *((pp1).1) := 3: u32; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: u32 ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (⌊mut@2⌋) ; Some (pp1) -> &mut@4 ((&mut@6 (2: u32), 1: u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⌊mut@5⌋ ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> &mut@5 (⌊mut@6⌋) ; None -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; None -> &mut@2 (⌊mut@3⌋) ; None -> &mut@3 (⌊mut@4⌋) ; } [Debug] **About to evaluate statement**: [ *((pp1).1) := 3: u32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: u32 ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (⌊mut@2⌋) ; Some (pp1) -> &mut@4 ((&mut@6 (2: u32), 1: u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⌊mut@5⌋ ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> &mut@5 (⌊mut@6⌋) ; None -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; None -> &mut@2 (⌊mut@3⌋) ; None -> &mut@3 (⌊mut@4⌋) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: u32 ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (⌊mut@2⌋) ; Some (pp1) -> &mut@4 ((&mut@6 (2: u32), 1: u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⌊mut@5⌋ ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> &mut@5 (⌊mut@6⌋) ; None -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; None -> &mut@2 (⌊mut@3⌋) ; None -> &mut@3 (⌊mut@4⌋) ; } - op: 3: u32 [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: u32 ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (⌊mut@2⌋) ; Some (pp1) -> &mut@4 ((&mut@6 (2: u32), 3: u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⌊mut@5⌋ ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> &mut@5 (⌊mut@6⌋) ; None -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; None -> &mut@2 (⌊mut@3⌋) ; None -> &mut@3 (⌊mut@4⌋) ; } [Debug] test_unit_function: test_char [Debug] **About to evaluate statement**: [ var@0 := a; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : char ; } [Debug] **About to evaluate statement**: [ var@0 := a ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : char ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : char ; } - op: a [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> a ; } [Debug] test_unit_function: test_loops [Debug] **About to evaluate statement**: [ x := move test_loop1(2: u32); var@4 := copy x; var@3 := move var@4 == 2: u32; var@2 := ¬ move var@3; assert(¬move var@2); x := move test_loop2(2: u32); var@8 := copy x; var@7 := move var@8 == 1: u32; var@6 := ¬ move var@7; assert(¬move var@6); x := move test_loop3(2: u32); var@12 := copy x; var@11 := move var@12 == 3: u32; var@10 := ¬ move var@11; assert(¬move var@10); x := move test_loop4(20: u32); var@16 := copy x; var@15 := move var@16 == 1: u32; var@14 := ¬ move var@15; assert(¬move var@14); x := move test_loop5(2: u32); var@20 := copy x; var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ x := move test_loop1(2: u32) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } - op: 2: u32 [Debug] **About to evaluate statement**: [ i := 0: u32; s := 0: u32; loop { var@4 := copy i; var@5 := copy max; var@3 := move var@4 < move var@5; if (move var@3) { var@6 := copy i; s := copy s + copy var@6; i := copy i + 1: u32; continue 0 } else { break 0 } }; s := copy s * 2: u32; return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> ⊥ : u32 ; Some (max) -> 2: u32 ; Some (i) -> ⊥ : u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ i := 0: u32 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> ⊥ : u32 ; Some (max) -> 2: u32 ; Some (i) -> ⊥ : u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> ⊥ : u32 ; Some (max) -> 2: u32 ; Some (i) -> ⊥ : u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: 0: u32 [Debug] **About to evaluate statement**: [ s := 0: u32; loop { var@4 := copy i; var@5 := copy max; var@3 := move var@4 < move var@5; if (move var@3) { var@6 := copy i; s := copy s + copy var@6; i := copy i + 1: u32; continue 0 } else { break 0 } }; s := copy s * 2: u32; return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> ⊥ : u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ s := 0: u32 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> ⊥ : u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> ⊥ : u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: 0: u32 [Debug] **About to evaluate statement**: [ loop { var@4 := copy i; var@5 := copy max; var@3 := move var@4 < move var@5; if (move var@3) { var@6 := copy i; s := copy s + copy var@6; i := copy i + 1: u32; continue 0 } else { break 0 } }; s := copy s * 2: u32; return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ loop { var@4 := copy i; var@5 := copy max; var@3 := move var@4 < move var@5; if (move var@3) { var@6 := copy i; s := copy s + copy var@6; i := copy i + 1: u32; continue 0 } else { break 0 } } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@4 := copy i; var@5 := copy max; var@3 := move var@4 < move var@5; if (move var@3) { var@6 := copy i; s := copy s + copy var@6; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@4 := copy i ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] **About to evaluate statement**: [ var@5 := copy max; var@3 := move var@4 < move var@5; if (move var@3) { var@6 := copy i; s := copy s + copy var@6; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 0: u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@5 := copy max ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 0: u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 0: u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: copy max [Debug] **About to evaluate statement**: [ var@3 := move var@4 < move var@5; if (move var@3) { var@6 := copy i; s := copy s + copy var@6; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 0: u32 ; Some (var@5) -> 2: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@3 := move var@4 < move var@5 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 0: u32 ; Some (var@5) -> 2: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 0: u32 ; Some (var@5) -> 2: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: move var@4 [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> 2: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: move var@5 [Debug] **About to evaluate statement**: [ if (move var@3) { var@6 := copy i; s := copy s + copy var@6; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> true ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> true ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: move var@3 [Debug] **About to evaluate statement**: [ var@6 := copy i; s := copy s + copy var@6; i := copy i + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@6 := copy i ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] **About to evaluate statement**: [ s := copy s + copy var@6; i := copy i + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 0: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ s := copy s + copy var@6 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 0: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 0: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: copy s [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 0: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: copy var@6 [Debug] **About to evaluate statement**: [ i := copy i + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 0: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ i := copy i + 1: u32 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 0: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 0: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 0: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: 1: u32 [Debug] **About to evaluate statement**: [ continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 0: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@4 := copy i; var@5 := copy max; var@3 := move var@4 < move var@5; if (move var@3) { var@6 := copy i; s := copy s + copy var@6; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 0: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@4 := copy i ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 0: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 0: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] **About to evaluate statement**: [ var@5 := copy max; var@3 := move var@4 < move var@5; if (move var@3) { var@6 := copy i; s := copy s + copy var@6; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 1: u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 0: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@5 := copy max ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 1: u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 0: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 1: u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 0: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: copy max [Debug] **About to evaluate statement**: [ var@3 := move var@4 < move var@5; if (move var@3) { var@6 := copy i; s := copy s + copy var@6; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 1: u32 ; Some (var@5) -> 2: u32 ; Some (var@6) -> 0: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@3 := move var@4 < move var@5 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 1: u32 ; Some (var@5) -> 2: u32 ; Some (var@6) -> 0: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 1: u32 ; Some (var@5) -> 2: u32 ; Some (var@6) -> 0: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: move var@4 [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> 2: u32 ; Some (var@6) -> 0: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: move var@5 [Debug] **About to evaluate statement**: [ if (move var@3) { var@6 := copy i; s := copy s + copy var@6; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> true ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 0: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> true ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 0: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: move var@3 [Debug] **About to evaluate statement**: [ var@6 := copy i; s := copy s + copy var@6; i := copy i + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 0: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@6 := copy i ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 0: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 0: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] **About to evaluate statement**: [ s := copy s + copy var@6; i := copy i + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 1: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ s := copy s + copy var@6 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 1: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 1: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: copy s [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 1: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: copy var@6 [Debug] **About to evaluate statement**: [ i := copy i + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 1: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ i := copy i + 1: u32 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 1: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 1: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 1: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: 1: u32 [Debug] **About to evaluate statement**: [ continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 1: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@4 := copy i; var@5 := copy max; var@3 := move var@4 < move var@5; if (move var@3) { var@6 := copy i; s := copy s + copy var@6; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 1: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@4 := copy i ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 1: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 1: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] **About to evaluate statement**: [ var@5 := copy max; var@3 := move var@4 < move var@5; if (move var@3) { var@6 := copy i; s := copy s + copy var@6; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 2: u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 1: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@5 := copy max ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 2: u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 1: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 2: u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 1: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: copy max [Debug] **About to evaluate statement**: [ var@3 := move var@4 < move var@5; if (move var@3) { var@6 := copy i; s := copy s + copy var@6; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 2: u32 ; Some (var@5) -> 2: u32 ; Some (var@6) -> 1: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@3 := move var@4 < move var@5 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 2: u32 ; Some (var@5) -> 2: u32 ; Some (var@6) -> 1: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 2: u32 ; Some (var@5) -> 2: u32 ; Some (var@6) -> 1: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: move var@4 [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> 2: u32 ; Some (var@6) -> 1: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: move var@5 [Debug] **About to evaluate statement**: [ if (move var@3) { var@6 := copy i; s := copy s + copy var@6; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> false ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 1: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> false ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 1: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: move var@3 [Debug] **About to evaluate statement**: [ break 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 1: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ s := copy s * 2: u32; return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 1: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ s := copy s * 2: u32 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 1: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 1: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: copy s [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 1: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: 2: u32 [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 1: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] ctx_pop_frame: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 1: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 1: u32 ; Some (var@7) -> ⊥ : (u32, bool) ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: move s [Debug] **About to evaluate statement**: [ var@4 := copy x; var@3 := move var@4 == 2: u32; var@2 := ¬ move var@3; assert(¬move var@2); x := move test_loop2(2: u32); var@8 := copy x; var@7 := move var@8 == 1: u32; var@6 := ¬ move var@7; assert(¬move var@6); x := move test_loop3(2: u32); var@12 := copy x; var@11 := move var@12 == 3: u32; var@10 := ¬ move var@11; assert(¬move var@10); x := move test_loop4(20: u32); var@16 := copy x; var@15 := move var@16 == 1: u32; var@14 := ¬ move var@15; assert(¬move var@14); x := move test_loop5(2: u32); var@20 := copy x; var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@4 := copy x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } - op: copy x [Debug] **About to evaluate statement**: [ var@3 := move var@4 == 2: u32; var@2 := ¬ move var@3; assert(¬move var@2); x := move test_loop2(2: u32); var@8 := copy x; var@7 := move var@8 == 1: u32; var@6 := ¬ move var@7; assert(¬move var@6); x := move test_loop3(2: u32); var@12 := copy x; var@11 := move var@12 == 3: u32; var@10 := ¬ move var@11; assert(¬move var@10); x := move test_loop4(20: u32); var@16 := copy x; var@15 := move var@16 == 1: u32; var@14 := ¬ move var@15; assert(¬move var@14); x := move test_loop5(2: u32); var@20 := copy x; var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 2: u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@3 := move var@4 == 2: u32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 2: u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 2: u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } - op: move var@4 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } - op: 2: u32 [Debug] **About to evaluate statement**: [ var@2 := ¬ move var@3; assert(¬move var@2); x := move test_loop2(2: u32); var@8 := copy x; var@7 := move var@8 == 1: u32; var@6 := ¬ move var@7; assert(¬move var@6); x := move test_loop3(2: u32); var@12 := copy x; var@11 := move var@12 == 3: u32; var@10 := ¬ move var@11; assert(¬move var@10); x := move test_loop4(20: u32); var@16 := copy x; var@15 := move var@16 == 1: u32; var@14 := ¬ move var@15; assert(¬move var@14); x := move test_loop5(2: u32); var@20 := copy x; var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> true ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@2 := ¬ move var@3 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> true ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> true ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } - op: move var@3 [Debug] **About to evaluate statement**: [ assert(¬move var@2); x := move test_loop2(2: u32); var@8 := copy x; var@7 := move var@8 == 1: u32; var@6 := ¬ move var@7; assert(¬move var@6); x := move test_loop3(2: u32); var@12 := copy x; var@11 := move var@12 == 3: u32; var@10 := ¬ move var@11; assert(¬move var@10); x := move test_loop4(20: u32); var@16 := copy x; var@15 := move var@16 == 1: u32; var@14 := ¬ move var@15; assert(¬move var@14); x := move test_loop5(2: u32); var@20 := copy x; var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> false ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ assert(¬move var@2) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> false ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> false ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } - op: move var@2 [Debug] **About to evaluate statement**: [ x := move test_loop2(2: u32); var@8 := copy x; var@7 := move var@8 == 1: u32; var@6 := ¬ move var@7; assert(¬move var@6); x := move test_loop3(2: u32); var@12 := copy x; var@11 := move var@12 == 3: u32; var@10 := ¬ move var@11; assert(¬move var@10); x := move test_loop4(20: u32); var@16 := copy x; var@15 := move var@16 == 1: u32; var@14 := ¬ move var@15; assert(¬move var@14); x := move test_loop5(2: u32); var@20 := copy x; var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ x := move test_loop2(2: u32) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } - op: 2: u32 [Debug] **About to evaluate statement**: [ i := 0: u32; s := 0: u32; loop { var@4 := copy i; var@5 := copy max; var@3 := move var@4 < move var@5; if (move var@3) { var@6 := copy i; switch (move var@6) { 17: u32 => { break 0 } _ => { var@7 := copy i; s := copy s + copy var@7; i := copy i + 1: u32; continue 0 } } } else { break 0 } }; return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> ⊥ : u32 ; Some (max) -> 2: u32 ; Some (i) -> ⊥ : u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ i := 0: u32 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> ⊥ : u32 ; Some (max) -> 2: u32 ; Some (i) -> ⊥ : u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> ⊥ : u32 ; Some (max) -> 2: u32 ; Some (i) -> ⊥ : u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: 0: u32 [Debug] **About to evaluate statement**: [ s := 0: u32; loop { var@4 := copy i; var@5 := copy max; var@3 := move var@4 < move var@5; if (move var@3) { var@6 := copy i; switch (move var@6) { 17: u32 => { break 0 } _ => { var@7 := copy i; s := copy s + copy var@7; i := copy i + 1: u32; continue 0 } } } else { break 0 } }; return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> ⊥ : u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ s := 0: u32 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> ⊥ : u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> ⊥ : u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: 0: u32 [Debug] **About to evaluate statement**: [ loop { var@4 := copy i; var@5 := copy max; var@3 := move var@4 < move var@5; if (move var@3) { var@6 := copy i; switch (move var@6) { 17: u32 => { break 0 } _ => { var@7 := copy i; s := copy s + copy var@7; i := copy i + 1: u32; continue 0 } } } else { break 0 } }; return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ loop { var@4 := copy i; var@5 := copy max; var@3 := move var@4 < move var@5; if (move var@3) { var@6 := copy i; switch (move var@6) { 17: u32 => { break 0 } _ => { var@7 := copy i; s := copy s + copy var@7; i := copy i + 1: u32; continue 0 } } } else { break 0 } } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@4 := copy i; var@5 := copy max; var@3 := move var@4 < move var@5; if (move var@3) { var@6 := copy i; switch (move var@6) { 17: u32 => { break 0 } _ => { var@7 := copy i; s := copy s + copy var@7; i := copy i + 1: u32; continue 0 } } } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@4 := copy i ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] **About to evaluate statement**: [ var@5 := copy max; var@3 := move var@4 < move var@5; if (move var@3) { var@6 := copy i; switch (move var@6) { 17: u32 => { break 0 } _ => { var@7 := copy i; s := copy s + copy var@7; i := copy i + 1: u32; continue 0 } } } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 0: u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@5 := copy max ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 0: u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 0: u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: copy max [Debug] **About to evaluate statement**: [ var@3 := move var@4 < move var@5; if (move var@3) { var@6 := copy i; switch (move var@6) { 17: u32 => { break 0 } _ => { var@7 := copy i; s := copy s + copy var@7; i := copy i + 1: u32; continue 0 } } } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 0: u32 ; Some (var@5) -> 2: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@3 := move var@4 < move var@5 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 0: u32 ; Some (var@5) -> 2: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 0: u32 ; Some (var@5) -> 2: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: move var@4 [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> 2: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: move var@5 [Debug] **About to evaluate statement**: [ if (move var@3) { var@6 := copy i; switch (move var@6) { 17: u32 => { break 0 } _ => { var@7 := copy i; s := copy s + copy var@7; i := copy i + 1: u32; continue 0 } } } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> true ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> true ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: move var@3 [Debug] **About to evaluate statement**: [ var@6 := copy i; switch (move var@6) { 17: u32 => { break 0 } _ => { var@7 := copy i; s := copy s + copy var@7; i := copy i + 1: u32; continue 0 } } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@6 := copy i ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] **About to evaluate statement**: [ switch (move var@6) { 17: u32 => { break 0 } _ => { var@7 := copy i; s := copy s + copy var@7; i := copy i + 1: u32; continue 0 } } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 0: u32 ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 0: u32 ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: move var@6 [Debug] **About to evaluate statement**: [ var@7 := copy i; s := copy s + copy var@7; i := copy i + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@7 := copy i ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] **About to evaluate statement**: [ s := copy s + copy var@7; i := copy i + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 0: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ s := copy s + copy var@7 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 0: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 0: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: copy s [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 0: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: copy var@7 [Debug] **About to evaluate statement**: [ i := copy i + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 0: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ i := copy i + 1: u32 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 0: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 0: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 0: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: 1: u32 [Debug] **About to evaluate statement**: [ continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 0: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@4 := copy i; var@5 := copy max; var@3 := move var@4 < move var@5; if (move var@3) { var@6 := copy i; switch (move var@6) { 17: u32 => { break 0 } _ => { var@7 := copy i; s := copy s + copy var@7; i := copy i + 1: u32; continue 0 } } } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 0: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@4 := copy i ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 0: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 0: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] **About to evaluate statement**: [ var@5 := copy max; var@3 := move var@4 < move var@5; if (move var@3) { var@6 := copy i; switch (move var@6) { 17: u32 => { break 0 } _ => { var@7 := copy i; s := copy s + copy var@7; i := copy i + 1: u32; continue 0 } } } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 1: u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 0: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@5 := copy max ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 1: u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 0: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 1: u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 0: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: copy max [Debug] **About to evaluate statement**: [ var@3 := move var@4 < move var@5; if (move var@3) { var@6 := copy i; switch (move var@6) { 17: u32 => { break 0 } _ => { var@7 := copy i; s := copy s + copy var@7; i := copy i + 1: u32; continue 0 } } } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 1: u32 ; Some (var@5) -> 2: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 0: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@3 := move var@4 < move var@5 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 1: u32 ; Some (var@5) -> 2: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 0: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 1: u32 ; Some (var@5) -> 2: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 0: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: move var@4 [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> 2: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 0: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: move var@5 [Debug] **About to evaluate statement**: [ if (move var@3) { var@6 := copy i; switch (move var@6) { 17: u32 => { break 0 } _ => { var@7 := copy i; s := copy s + copy var@7; i := copy i + 1: u32; continue 0 } } } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> true ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 0: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> true ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 0: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: move var@3 [Debug] **About to evaluate statement**: [ var@6 := copy i; switch (move var@6) { 17: u32 => { break 0 } _ => { var@7 := copy i; s := copy s + copy var@7; i := copy i + 1: u32; continue 0 } } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 0: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@6 := copy i ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 0: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 0: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] **About to evaluate statement**: [ switch (move var@6) { 17: u32 => { break 0 } _ => { var@7 := copy i; s := copy s + copy var@7; i := copy i + 1: u32; continue 0 } } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 1: u32 ; Some (var@7) -> 0: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 1: u32 ; Some (var@7) -> 0: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: move var@6 [Debug] **About to evaluate statement**: [ var@7 := copy i; s := copy s + copy var@7; i := copy i + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 0: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@7 := copy i ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 0: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 0: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] **About to evaluate statement**: [ s := copy s + copy var@7; i := copy i + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 1: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ s := copy s + copy var@7 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 1: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 1: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: copy s [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 1: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: copy var@7 [Debug] **About to evaluate statement**: [ i := copy i + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 1: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ i := copy i + 1: u32 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 1: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 1: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 1: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: 1: u32 [Debug] **About to evaluate statement**: [ continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 1: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@4 := copy i; var@5 := copy max; var@3 := move var@4 < move var@5; if (move var@3) { var@6 := copy i; switch (move var@6) { 17: u32 => { break 0 } _ => { var@7 := copy i; s := copy s + copy var@7; i := copy i + 1: u32; continue 0 } } } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 1: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@4 := copy i ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 1: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 1: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] **About to evaluate statement**: [ var@5 := copy max; var@3 := move var@4 < move var@5; if (move var@3) { var@6 := copy i; switch (move var@6) { 17: u32 => { break 0 } _ => { var@7 := copy i; s := copy s + copy var@7; i := copy i + 1: u32; continue 0 } } } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 2: u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 1: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@5 := copy max ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 2: u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 1: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 2: u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 1: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: copy max [Debug] **About to evaluate statement**: [ var@3 := move var@4 < move var@5; if (move var@3) { var@6 := copy i; switch (move var@6) { 17: u32 => { break 0 } _ => { var@7 := copy i; s := copy s + copy var@7; i := copy i + 1: u32; continue 0 } } } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 2: u32 ; Some (var@5) -> 2: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 1: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@3 := move var@4 < move var@5 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 2: u32 ; Some (var@5) -> 2: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 1: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 2: u32 ; Some (var@5) -> 2: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 1: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: move var@4 [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> 2: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 1: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: move var@5 [Debug] **About to evaluate statement**: [ if (move var@3) { var@6 := copy i; switch (move var@6) { 17: u32 => { break 0 } _ => { var@7 := copy i; s := copy s + copy var@7; i := copy i + 1: u32; continue 0 } } } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> false ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 1: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> false ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 1: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: move var@3 [Debug] **About to evaluate statement**: [ break 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 1: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 1: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] ctx_pop_frame: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 1: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> 1: u32 ; Some (var@8) -> ⊥ : (u32, bool) ; Some (var@9) -> ⊥ : (u32, bool) ; } - op: move s [Debug] **About to evaluate statement**: [ var@8 := copy x; var@7 := move var@8 == 1: u32; var@6 := ¬ move var@7; assert(¬move var@6); x := move test_loop3(2: u32); var@12 := copy x; var@11 := move var@12 == 3: u32; var@10 := ¬ move var@11; assert(¬move var@10); x := move test_loop4(20: u32); var@16 := copy x; var@15 := move var@16 == 1: u32; var@14 := ¬ move var@15; assert(¬move var@14); x := move test_loop5(2: u32); var@20 := copy x; var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@8 := copy x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } - op: copy x [Debug] **About to evaluate statement**: [ var@7 := move var@8 == 1: u32; var@6 := ¬ move var@7; assert(¬move var@6); x := move test_loop3(2: u32); var@12 := copy x; var@11 := move var@12 == 3: u32; var@10 := ¬ move var@11; assert(¬move var@10); x := move test_loop4(20: u32); var@16 := copy x; var@15 := move var@16 == 1: u32; var@14 := ¬ move var@15; assert(¬move var@14); x := move test_loop5(2: u32); var@20 := copy x; var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 1: u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@7 := move var@8 == 1: u32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 1: u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 1: u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } - op: move var@8 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } - op: 1: u32 [Debug] **About to evaluate statement**: [ var@6 := ¬ move var@7; assert(¬move var@6); x := move test_loop3(2: u32); var@12 := copy x; var@11 := move var@12 == 3: u32; var@10 := ¬ move var@11; assert(¬move var@10); x := move test_loop4(20: u32); var@16 := copy x; var@15 := move var@16 == 1: u32; var@14 := ¬ move var@15; assert(¬move var@14); x := move test_loop5(2: u32); var@20 := copy x; var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> true ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@6 := ¬ move var@7 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> true ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> true ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } - op: move var@7 [Debug] **About to evaluate statement**: [ assert(¬move var@6); x := move test_loop3(2: u32); var@12 := copy x; var@11 := move var@12 == 3: u32; var@10 := ¬ move var@11; assert(¬move var@10); x := move test_loop4(20: u32); var@16 := copy x; var@15 := move var@16 == 1: u32; var@14 := ¬ move var@15; assert(¬move var@14); x := move test_loop5(2: u32); var@20 := copy x; var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> false ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ assert(¬move var@6) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> false ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> false ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } - op: move var@6 [Debug] **About to evaluate statement**: [ x := move test_loop3(2: u32); var@12 := copy x; var@11 := move var@12 == 3: u32; var@10 := ¬ move var@11; assert(¬move var@10); x := move test_loop4(20: u32); var@16 := copy x; var@15 := move var@16 == 1: u32; var@14 := ¬ move var@15; assert(¬move var@14); x := move test_loop5(2: u32); var@20 := copy x; var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ x := move test_loop3(2: u32) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } - op: 2: u32 [Debug] **About to evaluate statement**: [ i := 0: u32; j := 0: u32; s := 0: u32; loop { var@5 := copy i; var@6 := copy max; var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 } else { break 0 } }; return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> ⊥ : u32 ; Some (max) -> 2: u32 ; Some (i) -> ⊥ : u32 ; Some (j) -> ⊥ : u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ i := 0: u32 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> ⊥ : u32 ; Some (max) -> 2: u32 ; Some (i) -> ⊥ : u32 ; Some (j) -> ⊥ : u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> ⊥ : u32 ; Some (max) -> 2: u32 ; Some (i) -> ⊥ : u32 ; Some (j) -> ⊥ : u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: 0: u32 [Debug] **About to evaluate statement**: [ j := 0: u32; s := 0: u32; loop { var@5 := copy i; var@6 := copy max; var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 } else { break 0 } }; return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> ⊥ : u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> ⊥ : u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ j := 0: u32 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> ⊥ : u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> ⊥ : u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> ⊥ : u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> ⊥ : u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: 0: u32 [Debug] **About to evaluate statement**: [ s := 0: u32; loop { var@5 := copy i; var@6 := copy max; var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 } else { break 0 } }; return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> ⊥ : u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ s := 0: u32 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> ⊥ : u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> ⊥ : u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: 0: u32 [Debug] **About to evaluate statement**: [ loop { var@5 := copy i; var@6 := copy max; var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 } else { break 0 } }; return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ loop { var@5 := copy i; var@6 := copy max; var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 } else { break 0 } } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@5 := copy i; var@6 := copy max; var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@5 := copy i ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] **About to evaluate statement**: [ var@6 := copy max; var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 0: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@6 := copy max ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 0: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 0: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy max [Debug] **About to evaluate statement**: [ var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 0: u32 ; Some (var@6) -> 2: u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@4 := move var@5 < move var@6 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 0: u32 ; Some (var@6) -> 2: u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 0: u32 ; Some (var@6) -> 2: u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@5 [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 2: u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@6 [Debug] **About to evaluate statement**: [ if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> true ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> true ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@4 [Debug] **About to evaluate statement**: [ loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@8 := copy j ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy j [Debug] **About to evaluate statement**: [ var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 0: u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@9 := copy max ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 0: u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 0: u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy max [Debug] **About to evaluate statement**: [ var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 0: u32 ; Some (var@9) -> 2: u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@7 := move var@8 < move var@9 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 0: u32 ; Some (var@9) -> 2: u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 0: u32 ; Some (var@9) -> 2: u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@8 [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> 2: u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@9 [Debug] **About to evaluate statement**: [ if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> true ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> true ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@7 [Debug] **About to evaluate statement**: [ var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@11 := copy i ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] **About to evaluate statement**: [ var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@12 := copy j ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy j [Debug] **About to evaluate statement**: [ var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@10 := copy var@11 + copy var@12 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy var@11 [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy var@12 [Debug] **About to evaluate statement**: [ switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 0: u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 0: u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 0: u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@10 [Debug] **About to evaluate statement**: [ nop ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@14 := copy i ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] **About to evaluate statement**: [ s := copy s + copy var@14; j := copy j + 1: u32; continue 1 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ s := copy s + copy var@14 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy s [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy var@14 [Debug] **About to evaluate statement**: [ j := copy j + 1: u32; continue 1 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ j := copy j + 1: u32 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy j [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: 1: u32 [Debug] **About to evaluate statement**: [ continue 1 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@5 := copy i; var@6 := copy max; var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@5 := copy i ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] **About to evaluate statement**: [ var@6 := copy max; var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 0: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@6 := copy max ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 0: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 0: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy max [Debug] **About to evaluate statement**: [ var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 0: u32 ; Some (var@6) -> 2: u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@4 := move var@5 < move var@6 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 0: u32 ; Some (var@6) -> 2: u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 0: u32 ; Some (var@6) -> 2: u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@5 [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 2: u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@6 [Debug] **About to evaluate statement**: [ if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> true ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> true ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@4 [Debug] **About to evaluate statement**: [ loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@8 := copy j ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy j [Debug] **About to evaluate statement**: [ var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 1: u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@9 := copy max ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 1: u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 1: u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy max [Debug] **About to evaluate statement**: [ var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 1: u32 ; Some (var@9) -> 2: u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@7 := move var@8 < move var@9 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 1: u32 ; Some (var@9) -> 2: u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 1: u32 ; Some (var@9) -> 2: u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@8 [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> 2: u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@9 [Debug] **About to evaluate statement**: [ if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> true ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> true ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@7 [Debug] **About to evaluate statement**: [ var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@11 := copy i ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] **About to evaluate statement**: [ var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@12 := copy j ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy j [Debug] **About to evaluate statement**: [ var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@10 := copy var@11 + copy var@12 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy var@11 [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy var@12 [Debug] **About to evaluate statement**: [ switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@10 [Debug] **About to evaluate statement**: [ nop ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@14 := copy i ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] **About to evaluate statement**: [ s := copy s + copy var@14; j := copy j + 1: u32; continue 1 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ s := copy s + copy var@14 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy s [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy var@14 [Debug] **About to evaluate statement**: [ j := copy j + 1: u32; continue 1 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ j := copy j + 1: u32 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy j [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: 1: u32 [Debug] **About to evaluate statement**: [ continue 1 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@5 := copy i; var@6 := copy max; var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@5 := copy i ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] **About to evaluate statement**: [ var@6 := copy max; var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 0: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@6 := copy max ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 0: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 0: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy max [Debug] **About to evaluate statement**: [ var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 0: u32 ; Some (var@6) -> 2: u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@4 := move var@5 < move var@6 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 0: u32 ; Some (var@6) -> 2: u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 0: u32 ; Some (var@6) -> 2: u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@5 [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 2: u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@6 [Debug] **About to evaluate statement**: [ if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> true ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> true ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@4 [Debug] **About to evaluate statement**: [ loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@8 := copy j ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy j [Debug] **About to evaluate statement**: [ var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 2: u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@9 := copy max ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 2: u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 2: u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy max [Debug] **About to evaluate statement**: [ var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 2: u32 ; Some (var@9) -> 2: u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@7 := move var@8 < move var@9 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 2: u32 ; Some (var@9) -> 2: u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 2: u32 ; Some (var@9) -> 2: u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@8 [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> 2: u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@9 [Debug] **About to evaluate statement**: [ if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> false ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> false ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@7 [Debug] **About to evaluate statement**: [ break 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ j := 0: u32 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: 0: u32 [Debug] **About to evaluate statement**: [ var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@17 := copy i ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] **About to evaluate statement**: [ s := copy s + copy var@17; i := copy i + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ s := copy s + copy var@17 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy s [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy var@17 [Debug] **About to evaluate statement**: [ i := copy i + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ i := copy i + 1: u32 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: 1: u32 [Debug] **About to evaluate statement**: [ continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@5 := copy i; var@6 := copy max; var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@5 := copy i ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] **About to evaluate statement**: [ var@6 := copy max; var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 1: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@6 := copy max ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 1: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 1: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy max [Debug] **About to evaluate statement**: [ var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 1: u32 ; Some (var@6) -> 2: u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@4 := move var@5 < move var@6 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 1: u32 ; Some (var@6) -> 2: u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 1: u32 ; Some (var@6) -> 2: u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@5 [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 2: u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@6 [Debug] **About to evaluate statement**: [ if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> true ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> true ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@4 [Debug] **About to evaluate statement**: [ loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@8 := copy j ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy j [Debug] **About to evaluate statement**: [ var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 0: u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@9 := copy max ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 0: u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 0: u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy max [Debug] **About to evaluate statement**: [ var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 0: u32 ; Some (var@9) -> 2: u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@7 := move var@8 < move var@9 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 0: u32 ; Some (var@9) -> 2: u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 0: u32 ; Some (var@9) -> 2: u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@8 [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> 2: u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@9 [Debug] **About to evaluate statement**: [ if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> true ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> true ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@7 [Debug] **About to evaluate statement**: [ var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@11 := copy i ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 0: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] **About to evaluate statement**: [ var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@12 := copy j ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy j [Debug] **About to evaluate statement**: [ var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@10 := copy var@11 + copy var@12 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy var@11 [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy var@12 [Debug] **About to evaluate statement**: [ switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@10 [Debug] **About to evaluate statement**: [ nop ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@14 := copy i ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 0: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] **About to evaluate statement**: [ s := copy s + copy var@14; j := copy j + 1: u32; continue 1 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ s := copy s + copy var@14 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy s [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy var@14 [Debug] **About to evaluate statement**: [ j := copy j + 1: u32; continue 1 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ j := copy j + 1: u32 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy j [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: 1: u32 [Debug] **About to evaluate statement**: [ continue 1 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@5 := copy i; var@6 := copy max; var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@5 := copy i ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] **About to evaluate statement**: [ var@6 := copy max; var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 1: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@6 := copy max ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 1: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 1: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy max [Debug] **About to evaluate statement**: [ var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 1: u32 ; Some (var@6) -> 2: u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@4 := move var@5 < move var@6 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 1: u32 ; Some (var@6) -> 2: u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 1: u32 ; Some (var@6) -> 2: u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@5 [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 2: u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@6 [Debug] **About to evaluate statement**: [ if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> true ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> true ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@4 [Debug] **About to evaluate statement**: [ loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@8 := copy j ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy j [Debug] **About to evaluate statement**: [ var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 1: u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@9 := copy max ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 1: u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 1: u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy max [Debug] **About to evaluate statement**: [ var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 1: u32 ; Some (var@9) -> 2: u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@7 := move var@8 < move var@9 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 1: u32 ; Some (var@9) -> 2: u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 1: u32 ; Some (var@9) -> 2: u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@8 [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> 2: u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@9 [Debug] **About to evaluate statement**: [ if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> true ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> true ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@7 [Debug] **About to evaluate statement**: [ var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@11 := copy i ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] **About to evaluate statement**: [ var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@12 := copy j ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy j [Debug] **About to evaluate statement**: [ var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@10 := copy var@11 + copy var@12 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy var@11 [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy var@12 [Debug] **About to evaluate statement**: [ switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 2: u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 2: u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 2: u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@10 [Debug] **About to evaluate statement**: [ nop ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@14 := copy i ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] **About to evaluate statement**: [ s := copy s + copy var@14; j := copy j + 1: u32; continue 1 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ s := copy s + copy var@14 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy s [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy var@14 [Debug] **About to evaluate statement**: [ j := copy j + 1: u32; continue 1 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ j := copy j + 1: u32 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy j [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: 1: u32 [Debug] **About to evaluate statement**: [ continue 1 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@5 := copy i; var@6 := copy max; var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@5 := copy i ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] **About to evaluate statement**: [ var@6 := copy max; var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 1: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@6 := copy max ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 1: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 1: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy max [Debug] **About to evaluate statement**: [ var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 1: u32 ; Some (var@6) -> 2: u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@4 := move var@5 < move var@6 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 1: u32 ; Some (var@6) -> 2: u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 1: u32 ; Some (var@6) -> 2: u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@5 [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 2: u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@6 [Debug] **About to evaluate statement**: [ if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> true ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> true ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@4 [Debug] **About to evaluate statement**: [ loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@8 := copy j ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy j [Debug] **About to evaluate statement**: [ var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 2: u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@9 := copy max ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 2: u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 2: u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy max [Debug] **About to evaluate statement**: [ var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 2: u32 ; Some (var@9) -> 2: u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@7 := move var@8 < move var@9 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 2: u32 ; Some (var@9) -> 2: u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 2: u32 ; Some (var@9) -> 2: u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@8 [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> 2: u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@9 [Debug] **About to evaluate statement**: [ if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> false ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> false ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@7 [Debug] **About to evaluate statement**: [ break 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ j := 0: u32 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: 0: u32 [Debug] **About to evaluate statement**: [ var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@17 := copy i ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 0: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] **About to evaluate statement**: [ s := copy s + copy var@17; i := copy i + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 1: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ s := copy s + copy var@17 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 1: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 1: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy s [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 1: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy var@17 [Debug] **About to evaluate statement**: [ i := copy i + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 3: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 1: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ i := copy i + 1: u32 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 3: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 1: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 3: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 1: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 3: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 1: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: 1: u32 [Debug] **About to evaluate statement**: [ continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 3: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 1: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@5 := copy i; var@6 := copy max; var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 3: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 1: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@5 := copy i ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 3: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 1: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 3: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 1: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] **About to evaluate statement**: [ var@6 := copy max; var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 3: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 2: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 1: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@6 := copy max ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 3: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 2: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 1: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 3: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 2: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 1: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy max [Debug] **About to evaluate statement**: [ var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 3: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 2: u32 ; Some (var@6) -> 2: u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 1: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@4 := move var@5 < move var@6 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 3: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 2: u32 ; Some (var@6) -> 2: u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 1: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 3: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 2: u32 ; Some (var@6) -> 2: u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 1: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@5 [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 3: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 2: u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 1: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@6 [Debug] **About to evaluate statement**: [ if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; continue 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 3: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> false ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 1: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 3: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> false ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 1: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@4 [Debug] **About to evaluate statement**: [ break 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 3: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 1: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 3: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 1: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] ctx_pop_frame: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 3: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 1: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 3: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 1: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> 1: u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move s [Debug] **About to evaluate statement**: [ var@12 := copy x; var@11 := move var@12 == 3: u32; var@10 := ¬ move var@11; assert(¬move var@10); x := move test_loop4(20: u32); var@16 := copy x; var@15 := move var@16 == 1: u32; var@14 := ¬ move var@15; assert(¬move var@14); x := move test_loop5(2: u32); var@20 := copy x; var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@12 := copy x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } - op: copy x [Debug] **About to evaluate statement**: [ var@11 := move var@12 == 3: u32; var@10 := ¬ move var@11; assert(¬move var@10); x := move test_loop4(20: u32); var@16 := copy x; var@15 := move var@16 == 1: u32; var@14 := ¬ move var@15; assert(¬move var@14); x := move test_loop5(2: u32); var@20 := copy x; var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> 3: u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@11 := move var@12 == 3: u32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> 3: u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> 3: u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } - op: move var@12 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } - op: 3: u32 [Debug] **About to evaluate statement**: [ var@10 := ¬ move var@11; assert(¬move var@10); x := move test_loop4(20: u32); var@16 := copy x; var@15 := move var@16 == 1: u32; var@14 := ¬ move var@15; assert(¬move var@14); x := move test_loop5(2: u32); var@20 := copy x; var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> true ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@10 := ¬ move var@11 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> true ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> true ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } - op: move var@11 [Debug] **About to evaluate statement**: [ assert(¬move var@10); x := move test_loop4(20: u32); var@16 := copy x; var@15 := move var@16 == 1: u32; var@14 := ¬ move var@15; assert(¬move var@14); x := move test_loop5(2: u32); var@20 := copy x; var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> false ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ assert(¬move var@10) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> false ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> false ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } - op: move var@10 [Debug] **About to evaluate statement**: [ x := move test_loop4(20: u32); var@16 := copy x; var@15 := move var@16 == 1: u32; var@14 := ¬ move var@15; assert(¬move var@14); x := move test_loop5(2: u32); var@20 := copy x; var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ x := move test_loop4(20: u32) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } - op: 20: u32 [Debug] **About to evaluate statement**: [ i := 1: u32; j := 0: u32; s := 0: u32; loop { var@5 := copy i; var@6 := copy max; var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; break 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 } else { break 0 } }; return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> ⊥ : u32 ; Some (max) -> 20: u32 ; Some (i) -> ⊥ : u32 ; Some (j) -> ⊥ : u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ i := 1: u32 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> ⊥ : u32 ; Some (max) -> 20: u32 ; Some (i) -> ⊥ : u32 ; Some (j) -> ⊥ : u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> ⊥ : u32 ; Some (max) -> 20: u32 ; Some (i) -> ⊥ : u32 ; Some (j) -> ⊥ : u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: 1: u32 [Debug] **About to evaluate statement**: [ j := 0: u32; s := 0: u32; loop { var@5 := copy i; var@6 := copy max; var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; break 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 } else { break 0 } }; return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> ⊥ : u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> ⊥ : u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ j := 0: u32 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> ⊥ : u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> ⊥ : u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> ⊥ : u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> ⊥ : u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: 0: u32 [Debug] **About to evaluate statement**: [ s := 0: u32; loop { var@5 := copy i; var@6 := copy max; var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; break 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 } else { break 0 } }; return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> ⊥ : u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ s := 0: u32 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> ⊥ : u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> ⊥ : u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: 0: u32 [Debug] **About to evaluate statement**: [ loop { var@5 := copy i; var@6 := copy max; var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; break 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 } else { break 0 } }; return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ loop { var@5 := copy i; var@6 := copy max; var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; break 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 } else { break 0 } } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@5 := copy i; var@6 := copy max; var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; break 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@5 := copy i ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] **About to evaluate statement**: [ var@6 := copy max; var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; break 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 1: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@6 := copy max ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 1: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 1: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy max [Debug] **About to evaluate statement**: [ var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; break 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 1: u32 ; Some (var@6) -> 20: u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@4 := move var@5 < move var@6 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 1: u32 ; Some (var@6) -> 20: u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 1: u32 ; Some (var@6) -> 20: u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@5 [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 20: u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@6 [Debug] **About to evaluate statement**: [ if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; break 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> true ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> true ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@4 [Debug] **About to evaluate statement**: [ loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; break 1 } else { break 0 } }; j := 0: u32; var@17 := copy i; s := copy s + copy var@17; i := copy i + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; break 1 } else { break 0 } } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; break 1 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@8 := copy j ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy j [Debug] **About to evaluate statement**: [ var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; break 1 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 0: u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@9 := copy max ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 0: u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 0: u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy max [Debug] **About to evaluate statement**: [ var@7 := move var@8 < move var@9; if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; break 1 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 0: u32 ; Some (var@9) -> 20: u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@7 := move var@8 < move var@9 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 0: u32 ; Some (var@9) -> 20: u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 0: u32 ; Some (var@9) -> 20: u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@8 [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> 20: u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@9 [Debug] **About to evaluate statement**: [ if (move var@7) { var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; break 1 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> true ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> true ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@7 [Debug] **About to evaluate statement**: [ var@11 := copy i; var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; break 1 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@11 := copy i ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] **About to evaluate statement**: [ var@12 := copy j; var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; break 1 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@12 := copy j ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> ⊥ : u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy j [Debug] **About to evaluate statement**: [ var@10 := copy var@11 + copy var@12; switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; break 1 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@10 := copy var@11 + copy var@12 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy var@11 [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy var@12 [Debug] **About to evaluate statement**: [ switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } }; var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; break 1 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ switch (move var@10) { 17: u32 => { continue 0 } _ => { nop } } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move var@10 [Debug] **About to evaluate statement**: [ nop ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@14 := copy i; s := copy s + copy var@14; j := copy j + 1: u32; break 1 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@14 := copy i ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> ⊥ : u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] **About to evaluate statement**: [ s := copy s + copy var@14; j := copy j + 1: u32; break 1 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ s := copy s + copy var@14 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy s [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy var@14 [Debug] **About to evaluate statement**: [ j := copy j + 1: u32; break 1 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ j := copy j + 1: u32 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: copy j [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: 1: u32 [Debug] **About to evaluate statement**: [ break 1 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] ctx_pop_frame: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 20: u32 ; Some (i) -> 1: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> 1: u32 ; Some (var@12) -> 0: u32 ; Some (var@13) -> ⊥ : (u32, bool) ; Some (var@14) -> 1: u32 ; Some (var@15) -> ⊥ : (u32, bool) ; Some (var@16) -> ⊥ : (u32, bool) ; Some (var@17) -> ⊥ : u32 ; Some (var@18) -> ⊥ : (u32, bool) ; Some (var@19) -> ⊥ : (u32, bool) ; } - op: move s [Debug] **About to evaluate statement**: [ var@16 := copy x; var@15 := move var@16 == 1: u32; var@14 := ¬ move var@15; assert(¬move var@14); x := move test_loop5(2: u32); var@20 := copy x; var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@16 := copy x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } - op: copy x [Debug] **About to evaluate statement**: [ var@15 := move var@16 == 1: u32; var@14 := ¬ move var@15; assert(¬move var@14); x := move test_loop5(2: u32); var@20 := copy x; var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> 1: u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@15 := move var@16 == 1: u32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> 1: u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> 1: u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } - op: move var@16 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } - op: 1: u32 [Debug] **About to evaluate statement**: [ var@14 := ¬ move var@15; assert(¬move var@14); x := move test_loop5(2: u32); var@20 := copy x; var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> true ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@14 := ¬ move var@15 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> true ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> true ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } - op: move var@15 [Debug] **About to evaluate statement**: [ assert(¬move var@14); x := move test_loop5(2: u32); var@20 := copy x; var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> false ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ assert(¬move var@14) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> false ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> false ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } - op: move var@14 [Debug] **About to evaluate statement**: [ x := move test_loop5(2: u32); var@20 := copy x; var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ x := move test_loop5(2: u32) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } - op: 2: u32 [Debug] **About to evaluate statement**: [ i := 0: u32; j := 0: u32; s := 0: u32; loop { var@5 := copy i; var@6 := copy max; var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@10 := copy j; s := copy s + copy var@10; j := copy j + 1: u32; continue 0 } else { break 0 } }; var@13 := copy i; s := copy s + copy var@13; i := copy i + 1: u32; continue 0 } else { break 0 } }; return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> ⊥ : u32 ; Some (max) -> 2: u32 ; Some (i) -> ⊥ : u32 ; Some (j) -> ⊥ : u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ i := 0: u32 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> ⊥ : u32 ; Some (max) -> 2: u32 ; Some (i) -> ⊥ : u32 ; Some (j) -> ⊥ : u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> ⊥ : u32 ; Some (max) -> 2: u32 ; Some (i) -> ⊥ : u32 ; Some (j) -> ⊥ : u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: 0: u32 [Debug] **About to evaluate statement**: [ j := 0: u32; s := 0: u32; loop { var@5 := copy i; var@6 := copy max; var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@10 := copy j; s := copy s + copy var@10; j := copy j + 1: u32; continue 0 } else { break 0 } }; var@13 := copy i; s := copy s + copy var@13; i := copy i + 1: u32; continue 0 } else { break 0 } }; return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> ⊥ : u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> ⊥ : u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ j := 0: u32 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> ⊥ : u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> ⊥ : u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> ⊥ : u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> ⊥ : u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: 0: u32 [Debug] **About to evaluate statement**: [ s := 0: u32; loop { var@5 := copy i; var@6 := copy max; var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@10 := copy j; s := copy s + copy var@10; j := copy j + 1: u32; continue 0 } else { break 0 } }; var@13 := copy i; s := copy s + copy var@13; i := copy i + 1: u32; continue 0 } else { break 0 } }; return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> ⊥ : u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ s := 0: u32 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> ⊥ : u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> ⊥ : u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: 0: u32 [Debug] **About to evaluate statement**: [ loop { var@5 := copy i; var@6 := copy max; var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@10 := copy j; s := copy s + copy var@10; j := copy j + 1: u32; continue 0 } else { break 0 } }; var@13 := copy i; s := copy s + copy var@13; i := copy i + 1: u32; continue 0 } else { break 0 } }; return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ loop { var@5 := copy i; var@6 := copy max; var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@10 := copy j; s := copy s + copy var@10; j := copy j + 1: u32; continue 0 } else { break 0 } }; var@13 := copy i; s := copy s + copy var@13; i := copy i + 1: u32; continue 0 } else { break 0 } } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@5 := copy i; var@6 := copy max; var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@10 := copy j; s := copy s + copy var@10; j := copy j + 1: u32; continue 0 } else { break 0 } }; var@13 := copy i; s := copy s + copy var@13; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@5 := copy i ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] **About to evaluate statement**: [ var@6 := copy max; var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@10 := copy j; s := copy s + copy var@10; j := copy j + 1: u32; continue 0 } else { break 0 } }; var@13 := copy i; s := copy s + copy var@13; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 0: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@6 := copy max ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 0: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 0: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: copy max [Debug] **About to evaluate statement**: [ var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@10 := copy j; s := copy s + copy var@10; j := copy j + 1: u32; continue 0 } else { break 0 } }; var@13 := copy i; s := copy s + copy var@13; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 0: u32 ; Some (var@6) -> 2: u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@4 := move var@5 < move var@6 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 0: u32 ; Some (var@6) -> 2: u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 0: u32 ; Some (var@6) -> 2: u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: move var@5 [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 2: u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: move var@6 [Debug] **About to evaluate statement**: [ if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@10 := copy j; s := copy s + copy var@10; j := copy j + 1: u32; continue 0 } else { break 0 } }; var@13 := copy i; s := copy s + copy var@13; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> true ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> true ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: move var@4 [Debug] **About to evaluate statement**: [ loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@10 := copy j; s := copy s + copy var@10; j := copy j + 1: u32; continue 0 } else { break 0 } }; var@13 := copy i; s := copy s + copy var@13; i := copy i + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@10 := copy j; s := copy s + copy var@10; j := copy j + 1: u32; continue 0 } else { break 0 } } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@10 := copy j; s := copy s + copy var@10; j := copy j + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@8 := copy j ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: copy j [Debug] **About to evaluate statement**: [ var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@10 := copy j; s := copy s + copy var@10; j := copy j + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 0: u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@9 := copy max ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 0: u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 0: u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: copy max [Debug] **About to evaluate statement**: [ var@7 := move var@8 < move var@9; if (move var@7) { var@10 := copy j; s := copy s + copy var@10; j := copy j + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 0: u32 ; Some (var@9) -> 2: u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@7 := move var@8 < move var@9 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 0: u32 ; Some (var@9) -> 2: u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 0: u32 ; Some (var@9) -> 2: u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: move var@8 [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> 2: u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: move var@9 [Debug] **About to evaluate statement**: [ if (move var@7) { var@10 := copy j; s := copy s + copy var@10; j := copy j + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> true ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> true ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: move var@7 [Debug] **About to evaluate statement**: [ var@10 := copy j; s := copy s + copy var@10; j := copy j + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@10 := copy j ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> ⊥ : u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: copy j [Debug] **About to evaluate statement**: [ s := copy s + copy var@10; j := copy j + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 0: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ s := copy s + copy var@10 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 0: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 0: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: copy s [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 0: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: copy var@10 [Debug] **About to evaluate statement**: [ j := copy j + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 0: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ j := copy j + 1: u32 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 0: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 0: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: copy j [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 0: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 0: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: 1: u32 [Debug] **About to evaluate statement**: [ continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 0: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@10 := copy j; s := copy s + copy var@10; j := copy j + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 0: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@8 := copy j ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 0: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 0: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: copy j [Debug] **About to evaluate statement**: [ var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@10 := copy j; s := copy s + copy var@10; j := copy j + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 1: u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 0: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@9 := copy max ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 1: u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 0: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 1: u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 0: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: copy max [Debug] **About to evaluate statement**: [ var@7 := move var@8 < move var@9; if (move var@7) { var@10 := copy j; s := copy s + copy var@10; j := copy j + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 1: u32 ; Some (var@9) -> 2: u32 ; Some (var@10) -> 0: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@7 := move var@8 < move var@9 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 1: u32 ; Some (var@9) -> 2: u32 ; Some (var@10) -> 0: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 1: u32 ; Some (var@9) -> 2: u32 ; Some (var@10) -> 0: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: move var@8 [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> 2: u32 ; Some (var@10) -> 0: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: move var@9 [Debug] **About to evaluate statement**: [ if (move var@7) { var@10 := copy j; s := copy s + copy var@10; j := copy j + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> true ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 0: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> true ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 0: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: move var@7 [Debug] **About to evaluate statement**: [ var@10 := copy j; s := copy s + copy var@10; j := copy j + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 0: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@10 := copy j ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 0: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 0: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: copy j [Debug] **About to evaluate statement**: [ s := copy s + copy var@10; j := copy j + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ s := copy s + copy var@10 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: copy s [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: copy var@10 [Debug] **About to evaluate statement**: [ j := copy j + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ j := copy j + 1: u32 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: copy j [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 1: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: 1: u32 [Debug] **About to evaluate statement**: [ continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@10 := copy j; s := copy s + copy var@10; j := copy j + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@8 := copy j ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: copy j [Debug] **About to evaluate statement**: [ var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@10 := copy j; s := copy s + copy var@10; j := copy j + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 2: u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@9 := copy max ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 2: u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 2: u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: copy max [Debug] **About to evaluate statement**: [ var@7 := move var@8 < move var@9; if (move var@7) { var@10 := copy j; s := copy s + copy var@10; j := copy j + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 2: u32 ; Some (var@9) -> 2: u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@7 := move var@8 < move var@9 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 2: u32 ; Some (var@9) -> 2: u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 2: u32 ; Some (var@9) -> 2: u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: move var@8 [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> 2: u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: move var@9 [Debug] **About to evaluate statement**: [ if (move var@7) { var@10 := copy j; s := copy s + copy var@10; j := copy j + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> false ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> false ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: move var@7 [Debug] **About to evaluate statement**: [ break 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@13 := copy i; s := copy s + copy var@13; i := copy i + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@13 := copy i ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> ⊥ : u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] **About to evaluate statement**: [ s := copy s + copy var@13; i := copy i + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 0: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ s := copy s + copy var@13 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 0: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 0: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: copy s [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 0: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: copy var@13 [Debug] **About to evaluate statement**: [ i := copy i + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 0: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ i := copy i + 1: u32 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 0: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 0: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 0: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: 1: u32 [Debug] **About to evaluate statement**: [ continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 0: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@5 := copy i; var@6 := copy max; var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@10 := copy j; s := copy s + copy var@10; j := copy j + 1: u32; continue 0 } else { break 0 } }; var@13 := copy i; s := copy s + copy var@13; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 0: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@5 := copy i ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 0: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 0: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] **About to evaluate statement**: [ var@6 := copy max; var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@10 := copy j; s := copy s + copy var@10; j := copy j + 1: u32; continue 0 } else { break 0 } }; var@13 := copy i; s := copy s + copy var@13; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 1: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 0: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@6 := copy max ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 1: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 0: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 1: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 0: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: copy max [Debug] **About to evaluate statement**: [ var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@10 := copy j; s := copy s + copy var@10; j := copy j + 1: u32; continue 0 } else { break 0 } }; var@13 := copy i; s := copy s + copy var@13; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 1: u32 ; Some (var@6) -> 2: u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 0: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@4 := move var@5 < move var@6 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 1: u32 ; Some (var@6) -> 2: u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 0: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 1: u32 ; Some (var@6) -> 2: u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 0: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: move var@5 [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 2: u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 0: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: move var@6 [Debug] **About to evaluate statement**: [ if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@10 := copy j; s := copy s + copy var@10; j := copy j + 1: u32; continue 0 } else { break 0 } }; var@13 := copy i; s := copy s + copy var@13; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> true ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 0: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> true ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 0: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: move var@4 [Debug] **About to evaluate statement**: [ loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@10 := copy j; s := copy s + copy var@10; j := copy j + 1: u32; continue 0 } else { break 0 } }; var@13 := copy i; s := copy s + copy var@13; i := copy i + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 0: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@10 := copy j; s := copy s + copy var@10; j := copy j + 1: u32; continue 0 } else { break 0 } } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 0: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@10 := copy j; s := copy s + copy var@10; j := copy j + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 0: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@8 := copy j ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 0: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 0: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: copy j [Debug] **About to evaluate statement**: [ var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@10 := copy j; s := copy s + copy var@10; j := copy j + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 2: u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 0: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@9 := copy max ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 2: u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 0: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 2: u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 0: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: copy max [Debug] **About to evaluate statement**: [ var@7 := move var@8 < move var@9; if (move var@7) { var@10 := copy j; s := copy s + copy var@10; j := copy j + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 2: u32 ; Some (var@9) -> 2: u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 0: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@7 := move var@8 < move var@9 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 2: u32 ; Some (var@9) -> 2: u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 0: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 2: u32 ; Some (var@9) -> 2: u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 0: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: move var@8 [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> 2: u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 0: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: move var@9 [Debug] **About to evaluate statement**: [ if (move var@7) { var@10 := copy j; s := copy s + copy var@10; j := copy j + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> false ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 0: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> false ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 0: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: move var@7 [Debug] **About to evaluate statement**: [ break 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 0: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@13 := copy i; s := copy s + copy var@13; i := copy i + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 0: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@13 := copy i ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 0: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 0: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] **About to evaluate statement**: [ s := copy s + copy var@13; i := copy i + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 1: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ s := copy s + copy var@13 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 1: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 1: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: copy s [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 1: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: copy var@13 [Debug] **About to evaluate statement**: [ i := copy i + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 1: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ i := copy i + 1: u32 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 1: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 1: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 1: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: 1: u32 [Debug] **About to evaluate statement**: [ continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 1: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@5 := copy i; var@6 := copy max; var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@10 := copy j; s := copy s + copy var@10; j := copy j + 1: u32; continue 0 } else { break 0 } }; var@13 := copy i; s := copy s + copy var@13; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 1: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@5 := copy i ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 1: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 1: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] **About to evaluate statement**: [ var@6 := copy max; var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@10 := copy j; s := copy s + copy var@10; j := copy j + 1: u32; continue 0 } else { break 0 } }; var@13 := copy i; s := copy s + copy var@13; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 2: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 1: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@6 := copy max ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 2: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 1: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 2: u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 1: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: copy max [Debug] **About to evaluate statement**: [ var@4 := move var@5 < move var@6; if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@10 := copy j; s := copy s + copy var@10; j := copy j + 1: u32; continue 0 } else { break 0 } }; var@13 := copy i; s := copy s + copy var@13; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 2: u32 ; Some (var@6) -> 2: u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 1: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@4 := move var@5 < move var@6 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 2: u32 ; Some (var@6) -> 2: u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 1: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> 2: u32 ; Some (var@6) -> 2: u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 1: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: move var@5 [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> 2: u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 1: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: move var@6 [Debug] **About to evaluate statement**: [ if (move var@4) { loop { var@8 := copy j; var@9 := copy max; var@7 := move var@8 < move var@9; if (move var@7) { var@10 := copy j; s := copy s + copy var@10; j := copy j + 1: u32; continue 0 } else { break 0 } }; var@13 := copy i; s := copy s + copy var@13; i := copy i + 1: u32; continue 0 } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> false ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 1: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> false ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 1: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: move var@4 [Debug] **About to evaluate statement**: [ break 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 1: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 1: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] ctx_pop_frame: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 1: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (j) -> 2: u32 ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : u32 ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : u32 ; Some (var@10) -> 1: u32 ; Some (var@11) -> ⊥ : (u32, bool) ; Some (var@12) -> ⊥ : (u32, bool) ; Some (var@13) -> 1: u32 ; Some (var@14) -> ⊥ : (u32, bool) ; Some (var@15) -> ⊥ : (u32, bool) ; } - op: move s [Debug] **About to evaluate statement**: [ var@20 := copy x; var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@20 := copy x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } - op: copy x [Debug] **About to evaluate statement**: [ var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> 2: u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@19 := move var@20 == 2: u32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> 2: u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> 2: u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } - op: move var@20 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } - op: 2: u32 [Debug] **About to evaluate statement**: [ var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> true ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@18 := ¬ move var@19 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> true ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> true ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } - op: move var@19 [Debug] **About to evaluate statement**: [ assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> false ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ assert(¬move var@18) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> false ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> false ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } - op: move var@18 [Debug] **About to evaluate statement**: [ x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ x := move test_loop6(2: u32) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } - op: 2: u32 [Debug] **About to evaluate statement**: [ i := 0: u32; s := 0: u32; loop { var@4 := copy i; var@5 := copy max; var@3 := move var@4 < move var@5; if (move var@3) { var@7 := copy i; var@6 := move var@7 > 3: u32; if (move var@6) { break 0 } else { var@8 := copy i; s := copy s + copy var@8; i := copy i + 1: u32; continue 0 } } else { break 0 } }; s := copy s + 1: u32; return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> ⊥ : u32 ; Some (max) -> 2: u32 ; Some (i) -> ⊥ : u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ i := 0: u32 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> ⊥ : u32 ; Some (max) -> 2: u32 ; Some (i) -> ⊥ : u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> ⊥ : u32 ; Some (max) -> 2: u32 ; Some (i) -> ⊥ : u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } - op: 0: u32 [Debug] **About to evaluate statement**: [ s := 0: u32; loop { var@4 := copy i; var@5 := copy max; var@3 := move var@4 < move var@5; if (move var@3) { var@7 := copy i; var@6 := move var@7 > 3: u32; if (move var@6) { break 0 } else { var@8 := copy i; s := copy s + copy var@8; i := copy i + 1: u32; continue 0 } } else { break 0 } }; s := copy s + 1: u32; return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> ⊥ : u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ s := 0: u32 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> ⊥ : u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> ⊥ : u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } - op: 0: u32 [Debug] **About to evaluate statement**: [ loop { var@4 := copy i; var@5 := copy max; var@3 := move var@4 < move var@5; if (move var@3) { var@7 := copy i; var@6 := move var@7 > 3: u32; if (move var@6) { break 0 } else { var@8 := copy i; s := copy s + copy var@8; i := copy i + 1: u32; continue 0 } } else { break 0 } }; s := copy s + 1: u32; return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ loop { var@4 := copy i; var@5 := copy max; var@3 := move var@4 < move var@5; if (move var@3) { var@7 := copy i; var@6 := move var@7 > 3: u32; if (move var@6) { break 0 } else { var@8 := copy i; s := copy s + copy var@8; i := copy i + 1: u32; continue 0 } } else { break 0 } } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@4 := copy i; var@5 := copy max; var@3 := move var@4 < move var@5; if (move var@3) { var@7 := copy i; var@6 := move var@7 > 3: u32; if (move var@6) { break 0 } else { var@8 := copy i; s := copy s + copy var@8; i := copy i + 1: u32; continue 0 } } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@4 := copy i ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] **About to evaluate statement**: [ var@5 := copy max; var@3 := move var@4 < move var@5; if (move var@3) { var@7 := copy i; var@6 := move var@7 > 3: u32; if (move var@6) { break 0 } else { var@8 := copy i; s := copy s + copy var@8; i := copy i + 1: u32; continue 0 } } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 0: u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@5 := copy max ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 0: u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 0: u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } - op: copy max [Debug] **About to evaluate statement**: [ var@3 := move var@4 < move var@5; if (move var@3) { var@7 := copy i; var@6 := move var@7 > 3: u32; if (move var@6) { break 0 } else { var@8 := copy i; s := copy s + copy var@8; i := copy i + 1: u32; continue 0 } } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 0: u32 ; Some (var@5) -> 2: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@3 := move var@4 < move var@5 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 0: u32 ; Some (var@5) -> 2: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 0: u32 ; Some (var@5) -> 2: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } - op: move var@4 [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> 2: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } - op: move var@5 [Debug] **About to evaluate statement**: [ if (move var@3) { var@7 := copy i; var@6 := move var@7 > 3: u32; if (move var@6) { break 0 } else { var@8 := copy i; s := copy s + copy var@8; i := copy i + 1: u32; continue 0 } } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> true ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> true ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } - op: move var@3 [Debug] **About to evaluate statement**: [ var@7 := copy i; var@6 := move var@7 > 3: u32; if (move var@6) { break 0 } else { var@8 := copy i; s := copy s + copy var@8; i := copy i + 1: u32; continue 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@7 := copy i ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] **About to evaluate statement**: [ var@6 := move var@7 > 3: u32; if (move var@6) { break 0 } else { var@8 := copy i; s := copy s + copy var@8; i := copy i + 1: u32; continue 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> 0: u32 ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@6 := move var@7 > 3: u32 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> 0: u32 ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> 0: u32 ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } - op: move var@7 [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } - op: 3: u32 [Debug] **About to evaluate statement**: [ if (move var@6) { break 0 } else { var@8 := copy i; s := copy s + copy var@8; i := copy i + 1: u32; continue 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> false ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> false ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } - op: move var@6 [Debug] **About to evaluate statement**: [ var@8 := copy i; s := copy s + copy var@8; i := copy i + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@8 := copy i ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> ⊥ : u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] **About to evaluate statement**: [ s := copy s + copy var@8; i := copy i + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 0: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ s := copy s + copy var@8 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 0: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 0: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } - op: copy s [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 0: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } - op: copy var@8 [Debug] **About to evaluate statement**: [ i := copy i + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 0: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ i := copy i + 1: u32 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 0: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 0: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 0: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 0: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } - op: 1: u32 [Debug] **About to evaluate statement**: [ continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 0: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@4 := copy i; var@5 := copy max; var@3 := move var@4 < move var@5; if (move var@3) { var@7 := copy i; var@6 := move var@7 > 3: u32; if (move var@6) { break 0 } else { var@8 := copy i; s := copy s + copy var@8; i := copy i + 1: u32; continue 0 } } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 0: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@4 := copy i ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 0: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 0: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] **About to evaluate statement**: [ var@5 := copy max; var@3 := move var@4 < move var@5; if (move var@3) { var@7 := copy i; var@6 := move var@7 > 3: u32; if (move var@6) { break 0 } else { var@8 := copy i; s := copy s + copy var@8; i := copy i + 1: u32; continue 0 } } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 1: u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 0: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@5 := copy max ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 1: u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 0: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 1: u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 0: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } - op: copy max [Debug] **About to evaluate statement**: [ var@3 := move var@4 < move var@5; if (move var@3) { var@7 := copy i; var@6 := move var@7 > 3: u32; if (move var@6) { break 0 } else { var@8 := copy i; s := copy s + copy var@8; i := copy i + 1: u32; continue 0 } } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 1: u32 ; Some (var@5) -> 2: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 0: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@3 := move var@4 < move var@5 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 1: u32 ; Some (var@5) -> 2: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 0: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 1: u32 ; Some (var@5) -> 2: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 0: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } - op: move var@4 [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> 2: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 0: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } - op: move var@5 [Debug] **About to evaluate statement**: [ if (move var@3) { var@7 := copy i; var@6 := move var@7 > 3: u32; if (move var@6) { break 0 } else { var@8 := copy i; s := copy s + copy var@8; i := copy i + 1: u32; continue 0 } } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> true ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 0: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> true ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 0: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } - op: move var@3 [Debug] **About to evaluate statement**: [ var@7 := copy i; var@6 := move var@7 > 3: u32; if (move var@6) { break 0 } else { var@8 := copy i; s := copy s + copy var@8; i := copy i + 1: u32; continue 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 0: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@7 := copy i ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 0: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 0: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] **About to evaluate statement**: [ var@6 := move var@7 > 3: u32; if (move var@6) { break 0 } else { var@8 := copy i; s := copy s + copy var@8; i := copy i + 1: u32; continue 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> 1: u32 ; Some (var@8) -> 0: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@6 := move var@7 > 3: u32 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> 1: u32 ; Some (var@8) -> 0: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> 1: u32 ; Some (var@8) -> 0: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } - op: move var@7 [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 0: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } - op: 3: u32 [Debug] **About to evaluate statement**: [ if (move var@6) { break 0 } else { var@8 := copy i; s := copy s + copy var@8; i := copy i + 1: u32; continue 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> false ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 0: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> false ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 0: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } - op: move var@6 [Debug] **About to evaluate statement**: [ var@8 := copy i; s := copy s + copy var@8; i := copy i + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 0: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@8 := copy i ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 0: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 0: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] **About to evaluate statement**: [ s := copy s + copy var@8; i := copy i + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 1: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ s := copy s + copy var@8 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 1: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 1: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } - op: copy s [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 0: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 1: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } - op: copy var@8 [Debug] **About to evaluate statement**: [ i := copy i + 1: u32; continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 1: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ i := copy i + 1: u32 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 1: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 1: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 1: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 1: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } - op: 1: u32 [Debug] **About to evaluate statement**: [ continue 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 1: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@4 := copy i; var@5 := copy max; var@3 := move var@4 < move var@5; if (move var@3) { var@7 := copy i; var@6 := move var@7 > 3: u32; if (move var@6) { break 0 } else { var@8 := copy i; s := copy s + copy var@8; i := copy i + 1: u32; continue 0 } } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 1: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@4 := copy i ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 1: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 1: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } - op: copy i [Debug] **About to evaluate statement**: [ var@5 := copy max; var@3 := move var@4 < move var@5; if (move var@3) { var@7 := copy i; var@6 := move var@7 > 3: u32; if (move var@6) { break 0 } else { var@8 := copy i; s := copy s + copy var@8; i := copy i + 1: u32; continue 0 } } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 2: u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 1: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@5 := copy max ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 2: u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 1: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 2: u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 1: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } - op: copy max [Debug] **About to evaluate statement**: [ var@3 := move var@4 < move var@5; if (move var@3) { var@7 := copy i; var@6 := move var@7 > 3: u32; if (move var@6) { break 0 } else { var@8 := copy i; s := copy s + copy var@8; i := copy i + 1: u32; continue 0 } } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 2: u32 ; Some (var@5) -> 2: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 1: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@3 := move var@4 < move var@5 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 2: u32 ; Some (var@5) -> 2: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 1: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> 2: u32 ; Some (var@5) -> 2: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 1: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } - op: move var@4 [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> 2: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 1: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } - op: move var@5 [Debug] **About to evaluate statement**: [ if (move var@3) { var@7 := copy i; var@6 := move var@7 > 3: u32; if (move var@6) { break 0 } else { var@8 := copy i; s := copy s + copy var@8; i := copy i + 1: u32; continue 0 } } else { break 0 } ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> false ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 1: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> false ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 1: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } - op: move var@3 [Debug] **About to evaluate statement**: [ break 0 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 1: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ s := copy s + 1: u32; return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 1: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ s := copy s + 1: u32 ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 1: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 1: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } - op: copy s [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 1: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 1: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } - op: 1: u32 [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 1: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] ctx_pop_frame: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 1: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } # Frame 1: { Some (s) -> 2: u32 ; Some (max) -> 2: u32 ; Some (i) -> 2: u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : u32 ; Some (var@8) -> 1: u32 ; Some (var@9) -> ⊥ : (u32, bool) ; Some (var@10) -> ⊥ : (u32, bool) ; Some (var@11) -> ⊥ : (u32, bool) ; } - op: move s [Debug] **About to evaluate statement**: [ var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@24 := copy x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } - op: copy x [Debug] **About to evaluate statement**: [ var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> 2: u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@23 := move var@24 == 2: u32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> 2: u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> 2: u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } - op: move var@24 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } - op: 2: u32 [Debug] **About to evaluate statement**: [ var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> true ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@22 := ¬ move var@23 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> true ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> true ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } - op: move var@23 [Debug] **About to evaluate statement**: [ assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@22) -> false ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ assert(¬move var@22) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@22) -> false ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@22) -> false ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } - op: move var@22 [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 2: u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> 3: u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> 1: u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> 2: u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 0: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 20: u32 ; None -> 1: u32 ; None -> 1: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> 0: u32 ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : u32 ; None -> 2: u32 ; None -> 2: u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> ⊥ : u32 ; None -> ⊥ : bool ; None -> ⊥ : u32 ; None -> 1: u32 ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; None -> ⊥ : (u32, bool) ; } [Debug] test_unit_function: id_mut_mut_test1 [Debug] **About to evaluate statement**: [ x := 0: i32; px := &mut x; ppx := &mut px; var@5 := &two-phase *(ppx); ppy := move id_mut_mut(move var@5); *(*(ppy)) := 1: i32; var@8 := copy *(px); var@7 := move var@8 == 1: i32; var@6 := ¬ move var@7; assert(¬move var@6); var@11 := copy x; var@10 := move var@11 == 1: i32; var@9 := ¬ move var@10; assert(¬move var@9); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ x := 0: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; } - op: 0: i32 [Debug] **About to evaluate statement**: [ px := &mut x; ppx := &mut px; var@5 := &two-phase *(ppx); ppy := move id_mut_mut(move var@5); *(*(ppy)) := 1: i32; var@8 := copy *(px); var@7 := move var@8 == 1: i32; var@6 := ¬ move var@7; assert(¬move var@6); var@11 := copy x; var@10 := move var@11 == 1: i32; var@9 := ¬ move var@10; assert(¬move var@9); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ px := &mut x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ ppx := &mut px; var@5 := &two-phase *(ppx); ppy := move id_mut_mut(move var@5); *(*(ppy)) := 1: i32; var@8 := copy *(px); var@7 := move var@8 == 1: i32; var@6 := ¬ move var@7; assert(¬move var@6); var@11 := copy x; var@10 := move var@11 == 1: i32; var@9 := ¬ move var@10; assert(¬move var@9); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@0 (0: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ ppx := &mut px ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@0 (0: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@5 := &two-phase *(ppx); ppy := move id_mut_mut(move var@5); *(*(ppy)) := 1: i32; var@8 := copy *(px); var@7 := move var@8 == 1: i32; var@6 := ¬ move var@7; assert(¬move var@6); var@11 := copy x; var@10 := move var@11 == 1: i32; var@9 := ¬ move var@10; assert(¬move var@9); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (&mut@0 (0: i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@5 := &two-phase *(ppx) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (&mut@0 (0: i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ ppy := move id_mut_mut(move var@5); *(*(ppy)) := 1: i32; var@8 := copy *(px); var@7 := move var@8 == 1: i32; var@6 := ¬ move var@7; assert(¬move var@6); var@11 := copy x; var@10 := move var@11 == 1: i32; var@9 := ¬ move var@10; assert(¬move var@9); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (@shared_loan({2}, &mut@0 (0: i32))) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⌊inactivated_mut@2⌋ ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ ppy := move id_mut_mut(move var@5) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (@shared_loan({2}, &mut@0 (0: i32))) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⌊inactivated_mut@2⌋ ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; } [Debug] activate_inactivated_mut_borrow: resulting value: &mut@0 (0: i32) [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> &mut@2 (&mut@0 (0: i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; } - op: move var@5 [Debug] **About to evaluate statement**: [ var@2 := &mut *(x); var@0 := &mut *(var@2); return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; } # Frame 1: { Some (var@0) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (x) -> &mut@2 (&mut@0 (0: i32)) ; Some (var@2) -> ⊥ : &'_ mut (&'_ mut (i32)) ; } [Debug] **About to evaluate statement**: [ var@2 := &mut *(x) ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; } # Frame 1: { Some (var@0) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (x) -> &mut@2 (&mut@0 (0: i32)) ; Some (var@2) -> ⊥ : &'_ mut (&'_ mut (i32)) ; } [Debug] **About to evaluate statement**: [ var@0 := &mut *(var@2); return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; } # Frame 1: { Some (var@0) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (x) -> &mut@2 (⌊mut@3⌋) ; Some (var@2) -> &mut@3 (&mut@0 (0: i32)) ; } [Debug] **About to evaluate statement**: [ var@0 := &mut *(var@2) ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; } # Frame 1: { Some (var@0) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (x) -> &mut@2 (⌊mut@3⌋) ; Some (var@2) -> &mut@3 (&mut@0 (0: i32)) ; } [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; } # Frame 1: { Some (var@0) -> &mut@4 (&mut@0 (0: i32)) ; Some (x) -> &mut@2 (⌊mut@3⌋) ; Some (var@2) -> &mut@3 (⌊mut@4⌋) ; } [Debug] ctx_pop_frame: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; } # Frame 1: { Some (var@0) -> &mut@4 (&mut@0 (0: i32)) ; Some (x) -> &mut@2 (⌊mut@3⌋) ; Some (var@2) -> &mut@3 (⌊mut@4⌋) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 2 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; } # Frame 1: { Some (var@0) -> &mut@4 (&mut@0 (0: i32)) ; Some (x) -> &mut@2 (⌊mut@3⌋) ; Some (var@2) -> &mut@3 (⌊mut@4⌋) ; } - op: move var@0 [Debug] **About to evaluate statement**: [ *(*(ppy)) := 1: i32; var@8 := copy *(px); var@7 := move var@8 == 1: i32; var@6 := ¬ move var@7; assert(¬move var@6); var@11 := copy x; var@10 := move var@11 == 1: i32; var@9 := ¬ move var@10; assert(¬move var@9); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> &mut@4 (&mut@0 (0: i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> &mut@2 (⌊mut@3⌋) ; None -> &mut@3 (⌊mut@4⌋) ; } [Debug] **About to evaluate statement**: [ *(*(ppy)) := 1: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> &mut@4 (&mut@0 (0: i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> &mut@2 (⌊mut@3⌋) ; None -> &mut@3 (⌊mut@4⌋) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> &mut@4 (&mut@0 (0: i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> &mut@2 (⌊mut@3⌋) ; None -> &mut@3 (⌊mut@4⌋) ; } - op: 1: i32 [Debug] **About to evaluate statement**: [ var@8 := copy *(px); var@7 := move var@8 == 1: i32; var@6 := ¬ move var@7; assert(¬move var@6); var@11 := copy x; var@10 := move var@11 == 1: i32; var@9 := ¬ move var@10; assert(¬move var@9); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> &mut@4 (&mut@0 (1: i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> &mut@2 (⌊mut@3⌋) ; None -> &mut@3 (⌊mut@4⌋) ; } [Debug] **About to evaluate statement**: [ var@8 := copy *(px) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> &mut@4 (&mut@0 (1: i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> &mut@2 (⌊mut@3⌋) ; None -> &mut@3 (⌊mut@4⌋) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> &mut@4 (&mut@0 (1: i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> &mut@2 (⌊mut@3⌋) ; None -> &mut@3 (⌊mut@4⌋) ; } - op: copy *(px) [Debug] end borrow: 1: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> &mut@4 (&mut@0 (1: i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> &mut@2 (⌊mut@3⌋) ; None -> &mut@3 (⌊mut@4⌋) ; } [Debug] end borrow: 1: found outer borrows/abs:(InterpreterBorrowsCore.InnerLoans (InterpreterBorrowsCore.Borrow 2)) [Debug] end borrow: 2: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> &mut@4 (&mut@0 (1: i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> &mut@2 (⌊mut@3⌋) ; None -> &mut@3 (⌊mut@4⌋) ; } [Debug] end borrow: 2: found outer borrows/abs:(InterpreterBorrowsCore.InnerLoans (InterpreterBorrowsCore.Borrow 3)) [Debug] end borrow: 3: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> &mut@4 (&mut@0 (1: i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> &mut@2 (⌊mut@3⌋) ; None -> &mut@3 (⌊mut@4⌋) ; } [Debug] end borrow: 3: found outer borrows/abs:(InterpreterBorrowsCore.InnerLoans (InterpreterBorrowsCore.Borrow 4)) [Debug] end borrow: 4: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> &mut@4 (&mut@0 (1: i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> &mut@2 (⌊mut@3⌋) ; None -> &mut@3 (⌊mut@4⌋) ; } [Debug] give_back: - bid: 4 - content: &mut@4 (&mut@0 (1: i32)) - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> &mut@2 (⌊mut@3⌋) ; None -> &mut@3 (⌊mut@4⌋) ; } [Debug] give_back_value: - bid: 4 - value: &mut@0 (1: i32) - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> &mut@2 (⌊mut@3⌋) ; None -> &mut@3 (⌊mut@4⌋) ; } [Debug] end borrow: 3: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> &mut@2 (⌊mut@3⌋) ; None -> &mut@3 (&mut@0 (1: i32)) ; } [Debug] give_back: - bid: 3 - content: &mut@3 (&mut@0 (1: i32)) - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> &mut@2 (⌊mut@3⌋) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } [Debug] give_back_value: - bid: 3 - value: &mut@0 (1: i32) - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> &mut@2 (⌊mut@3⌋) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } [Debug] end borrow: 2: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> &mut@2 (&mut@0 (1: i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } [Debug] give_back: - bid: 2 - content: &mut@2 (&mut@0 (1: i32)) - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } [Debug] give_back_value: - bid: 2 - value: &mut@0 (1: i32) - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } [Debug] end borrow: 1: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (&mut@0 (1: i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } [Debug] give_back: - bid: 1 - content: &mut@1 (&mut@0 (1: i32)) - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } [Debug] give_back_value: - bid: 1 - value: &mut@0 (1: i32) - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } [Debug] **About to evaluate statement**: [ var@7 := move var@8 == 1: i32; var@6 := ¬ move var@7; assert(¬move var@6); var@11 := copy x; var@10 := move var@11 == 1: i32; var@9 := ¬ move var@10; assert(¬move var@9); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@0 (1: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 1: i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } [Debug] **About to evaluate statement**: [ var@7 := move var@8 == 1: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@0 (1: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 1: i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@0 (1: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> 1: i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } - op: move var@8 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@0 (1: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } - op: 1: i32 [Debug] **About to evaluate statement**: [ var@6 := ¬ move var@7; assert(¬move var@6); var@11 := copy x; var@10 := move var@11 == 1: i32; var@9 := ¬ move var@10; assert(¬move var@9); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@0 (1: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> true ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } [Debug] **About to evaluate statement**: [ var@6 := ¬ move var@7 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@0 (1: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> true ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@0 (1: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> true ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } - op: move var@7 [Debug] **About to evaluate statement**: [ assert(¬move var@6); var@11 := copy x; var@10 := move var@11 == 1: i32; var@9 := ¬ move var@10; assert(¬move var@9); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@0 (1: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> false ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } [Debug] **About to evaluate statement**: [ assert(¬move var@6) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@0 (1: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> false ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@0 (1: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> false ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } - op: move var@6 [Debug] **About to evaluate statement**: [ var@11 := copy x; var@10 := move var@11 == 1: i32; var@9 := ¬ move var@10; assert(¬move var@9); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@0 (1: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } [Debug] **About to evaluate statement**: [ var@11 := copy x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@0 (1: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@0 (1: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } - op: copy x [Debug] end borrow: 0: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@0 (1: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } [Debug] give_back: - bid: 0 - content: &mut@0 (1: i32) - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } [Debug] give_back_value: - bid: 0 - value: 1: i32 - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } [Debug] **About to evaluate statement**: [ var@10 := move var@11 == 1: i32; var@9 := ¬ move var@10; assert(¬move var@9); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> 1: i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } [Debug] **About to evaluate statement**: [ var@10 := move var@11 == 1: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> 1: i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> 1: i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } - op: move var@11 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } - op: 1: i32 [Debug] **About to evaluate statement**: [ var@9 := ¬ move var@10; assert(¬move var@9); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> true ; Some (var@11) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } [Debug] **About to evaluate statement**: [ var@9 := ¬ move var@10 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> true ; Some (var@11) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> true ; Some (var@11) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } - op: move var@10 [Debug] **About to evaluate statement**: [ assert(¬move var@9); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> false ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } [Debug] **About to evaluate statement**: [ assert(¬move var@9) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> false ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> false ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } - op: move var@9 [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; None -> ⊥ : &'_ mut (&'_ mut (i32)) ; } [Debug] test_function_symbolic: add_test [Debug] **About to evaluate statement**: [ var@3 := copy x; var@4 := copy y; var@0 := copy var@3 + copy var@4; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@3 := copy x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : (u32, bool) ; } - op: copy x [Debug] **About to evaluate statement**: [ var@4 := copy y; var@0 := copy var@3 + copy var@4; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> s@0 : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@4 := copy y ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> s@0 : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> s@0 : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : (u32, bool) ; } - op: copy y [Debug] **About to evaluate statement**: [ var@0 := copy var@3 + copy var@4; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> s@0 : u32 ; Some (var@4) -> s@1 : u32 ; Some (var@5) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@0 := copy var@3 + copy var@4 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> s@0 : u32 ; Some (var@4) -> s@1 : u32 ; Some (var@5) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> s@0 : u32 ; Some (var@4) -> s@1 : u32 ; Some (var@5) -> ⊥ : (u32, bool) ; } - op: copy var@3 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> s@0 : u32 ; Some (var@4) -> s@1 : u32 ; Some (var@5) -> ⊥ : (u32, bool) ; } - op: copy var@4 [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> s@2 : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> s@0 : u32 ; Some (var@4) -> s@1 : u32 ; Some (var@5) -> ⊥ : (u32, bool) ; } [Debug] test_function_symbolic: subs_test [Debug] **About to evaluate statement**: [ var@3 := copy x; var@4 := copy y; var@0 := copy var@3 - copy var@4; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@3 := copy x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : (u32, bool) ; } - op: copy x [Debug] **About to evaluate statement**: [ var@4 := copy y; var@0 := copy var@3 - copy var@4; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> s@0 : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@4 := copy y ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> s@0 : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> s@0 : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : (u32, bool) ; } - op: copy y [Debug] **About to evaluate statement**: [ var@0 := copy var@3 - copy var@4; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> s@0 : u32 ; Some (var@4) -> s@1 : u32 ; Some (var@5) -> ⊥ : (u32, bool) ; } [Debug] **About to evaluate statement**: [ var@0 := copy var@3 - copy var@4 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> s@0 : u32 ; Some (var@4) -> s@1 : u32 ; Some (var@5) -> ⊥ : (u32, bool) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> s@0 : u32 ; Some (var@4) -> s@1 : u32 ; Some (var@5) -> ⊥ : (u32, bool) ; } - op: copy var@3 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> s@0 : u32 ; Some (var@4) -> s@1 : u32 ; Some (var@5) -> ⊥ : (u32, bool) ; } - op: copy var@4 [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> s@2 : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> s@0 : u32 ; Some (var@4) -> s@1 : u32 ; Some (var@5) -> ⊥ : (u32, bool) ; } [Debug] test_function_symbolic: div_test [Debug] **About to evaluate statement**: [ var@3 := copy x; var@4 := copy y; var@0 := move var@3 / move var@4; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : bool ; } [Debug] **About to evaluate statement**: [ var@3 := copy x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : bool ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : bool ; } - op: copy x [Debug] **About to evaluate statement**: [ var@4 := copy y; var@0 := move var@3 / move var@4; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> s@0 : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : bool ; } [Debug] **About to evaluate statement**: [ var@4 := copy y ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> s@0 : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : bool ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> s@0 : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : bool ; } - op: copy y [Debug] **About to evaluate statement**: [ var@0 := move var@3 / move var@4; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> s@0 : u32 ; Some (var@4) -> s@1 : u32 ; Some (var@5) -> ⊥ : bool ; } [Debug] **About to evaluate statement**: [ var@0 := move var@3 / move var@4 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> s@0 : u32 ; Some (var@4) -> s@1 : u32 ; Some (var@5) -> ⊥ : bool ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> s@0 : u32 ; Some (var@4) -> s@1 : u32 ; Some (var@5) -> ⊥ : bool ; } - op: move var@3 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> ⊥ : u32 ; Some (var@4) -> s@1 : u32 ; Some (var@5) -> ⊥ : bool ; } - op: move var@4 [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> s@2 : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : bool ; } [Debug] test_function_symbolic: rem_test [Debug] **About to evaluate statement**: [ var@3 := copy x; var@4 := copy y; var@0 := move var@3 % move var@4; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : bool ; } [Debug] **About to evaluate statement**: [ var@3 := copy x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : bool ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : bool ; } - op: copy x [Debug] **About to evaluate statement**: [ var@4 := copy y; var@0 := move var@3 % move var@4; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> s@0 : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : bool ; } [Debug] **About to evaluate statement**: [ var@4 := copy y ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> s@0 : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : bool ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> s@0 : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : bool ; } - op: copy y [Debug] **About to evaluate statement**: [ var@0 := move var@3 % move var@4; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> s@0 : u32 ; Some (var@4) -> s@1 : u32 ; Some (var@5) -> ⊥ : bool ; } [Debug] **About to evaluate statement**: [ var@0 := move var@3 % move var@4 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> s@0 : u32 ; Some (var@4) -> s@1 : u32 ; Some (var@5) -> ⊥ : bool ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> s@0 : u32 ; Some (var@4) -> s@1 : u32 ; Some (var@5) -> ⊥ : bool ; } - op: move var@3 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> ⊥ : u32 ; Some (var@4) -> s@1 : u32 ; Some (var@5) -> ⊥ : bool ; } - op: move var@4 [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> s@2 : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : bool ; } [Debug] test_function_symbolic: test2 [Debug] **About to evaluate statement**: [ x := 23: u32; y := 44: u32; z := 67: u32; var@5 := copy x; (p).x := move var@5; (p).y := 67: u32; (s as test1::Sum::Right).0 := true; set_discriminant(s, 1); (o as test1::One::One).0 := 3: u64; set_discriminant(o, 0); set_discriminant(e0, 0); set_discriminant(enum0, 0); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (p) -> ⊥ : test1::Pair ; Some (var@5) -> ⊥ : u32 ; Some (s) -> ⊥ : test1::Sum ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] **About to evaluate statement**: [ x := 23: u32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (p) -> ⊥ : test1::Pair ; Some (var@5) -> ⊥ : u32 ; Some (s) -> ⊥ : test1::Sum ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (p) -> ⊥ : test1::Pair ; Some (var@5) -> ⊥ : u32 ; Some (s) -> ⊥ : test1::Sum ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } - op: 23: u32 [Debug] **About to evaluate statement**: [ y := 44: u32; z := 67: u32; var@5 := copy x; (p).x := move var@5; (p).y := 67: u32; (s as test1::Sum::Right).0 := true; set_discriminant(s, 1); (o as test1::One::One).0 := 3: u64; set_discriminant(o, 0); set_discriminant(e0, 0); set_discriminant(enum0, 0); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (p) -> ⊥ : test1::Pair ; Some (var@5) -> ⊥ : u32 ; Some (s) -> ⊥ : test1::Sum ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] **About to evaluate statement**: [ y := 44: u32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (p) -> ⊥ : test1::Pair ; Some (var@5) -> ⊥ : u32 ; Some (s) -> ⊥ : test1::Sum ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (p) -> ⊥ : test1::Pair ; Some (var@5) -> ⊥ : u32 ; Some (s) -> ⊥ : test1::Sum ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } - op: 44: u32 [Debug] **About to evaluate statement**: [ z := 67: u32; var@5 := copy x; (p).x := move var@5; (p).y := 67: u32; (s as test1::Sum::Right).0 := true; set_discriminant(s, 1); (o as test1::One::One).0 := 3: u64; set_discriminant(o, 0); set_discriminant(e0, 0); set_discriminant(enum0, 0); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> ⊥ : u32 ; Some (p) -> ⊥ : test1::Pair ; Some (var@5) -> ⊥ : u32 ; Some (s) -> ⊥ : test1::Sum ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] **About to evaluate statement**: [ z := 67: u32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> ⊥ : u32 ; Some (p) -> ⊥ : test1::Pair ; Some (var@5) -> ⊥ : u32 ; Some (s) -> ⊥ : test1::Sum ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> ⊥ : u32 ; Some (p) -> ⊥ : test1::Pair ; Some (var@5) -> ⊥ : u32 ; Some (s) -> ⊥ : test1::Sum ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } - op: 67: u32 [Debug] **About to evaluate statement**: [ var@5 := copy x; (p).x := move var@5; (p).y := 67: u32; (s as test1::Sum::Right).0 := true; set_discriminant(s, 1); (o as test1::One::One).0 := 3: u64; set_discriminant(o, 0); set_discriminant(e0, 0); set_discriminant(enum0, 0); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> ⊥ : test1::Pair ; Some (var@5) -> ⊥ : u32 ; Some (s) -> ⊥ : test1::Sum ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] **About to evaluate statement**: [ var@5 := copy x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> ⊥ : test1::Pair ; Some (var@5) -> ⊥ : u32 ; Some (s) -> ⊥ : test1::Sum ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> ⊥ : test1::Pair ; Some (var@5) -> ⊥ : u32 ; Some (s) -> ⊥ : test1::Sum ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } - op: copy x [Debug] **About to evaluate statement**: [ (p).x := move var@5; (p).y := 67: u32; (s as test1::Sum::Right).0 := true; set_discriminant(s, 1); (o as test1::One::One).0 := 3: u64; set_discriminant(o, 0); set_discriminant(e0, 0); set_discriminant(enum0, 0); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> ⊥ : test1::Pair ; Some (var@5) -> 23: u32 ; Some (s) -> ⊥ : test1::Sum ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] **About to evaluate statement**: [ (p).x := move var@5 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> ⊥ : test1::Pair ; Some (var@5) -> 23: u32 ; Some (s) -> ⊥ : test1::Sum ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> ⊥ : test1::Pair ; Some (var@5) -> 23: u32 ; Some (s) -> ⊥ : test1::Sum ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } - op: move var@5 [Debug] expand_bottom_value_from_projection: pe: (Expressions.Field ((Expressions.ProjAdt (0, None)), 0)) ty: (Types.Adt ((Types.AdtId 0), [], [(Types.Integer Types.U32); (Types.Integer Types.U32)])) [Debug] **About to evaluate statement**: [ (p).y := 67: u32; (s as test1::Sum::Right).0 := true; set_discriminant(s, 1); (o as test1::One::One).0 := 3: u64; set_discriminant(o, 0); set_discriminant(e0, 0); set_discriminant(enum0, 0); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> test1::Pair { x = 23: u32; y = ⊥ : u32; } ; Some (var@5) -> ⊥ : u32 ; Some (s) -> ⊥ : test1::Sum ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] **About to evaluate statement**: [ (p).y := 67: u32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> test1::Pair { x = 23: u32; y = ⊥ : u32; } ; Some (var@5) -> ⊥ : u32 ; Some (s) -> ⊥ : test1::Sum ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> test1::Pair { x = 23: u32; y = ⊥ : u32; } ; Some (var@5) -> ⊥ : u32 ; Some (s) -> ⊥ : test1::Sum ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } - op: 67: u32 [Debug] **About to evaluate statement**: [ (s as test1::Sum::Right).0 := true; set_discriminant(s, 1); (o as test1::One::One).0 := 3: u64; set_discriminant(o, 0); set_discriminant(e0, 0); set_discriminant(enum0, 0); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; Some (var@5) -> ⊥ : u32 ; Some (s) -> ⊥ : test1::Sum ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] **About to evaluate statement**: [ (s as test1::Sum::Right).0 := true ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; Some (var@5) -> ⊥ : u32 ; Some (s) -> ⊥ : test1::Sum ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; Some (var@5) -> ⊥ : u32 ; Some (s) -> ⊥ : test1::Sum ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } - op: true [Debug] expand_bottom_value_from_projection: pe: (Expressions.Field ((Expressions.ProjAdt (6, (Some 1))), 0)) ty: (Types.Adt ((Types.AdtId 6), [], [(Types.Integer Types.U32); Types.Bool])) [Debug] **About to evaluate statement**: [ set_discriminant(s, 1); (o as test1::One::One).0 := 3: u64; set_discriminant(o, 0); set_discriminant(e0, 0); set_discriminant(enum0, 0); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; Some (var@5) -> ⊥ : u32 ; Some (s) -> test1::Sum::Right { 0 = true; } ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] **About to evaluate statement**: [ set_discriminant(s, 1) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; Some (var@5) -> ⊥ : u32 ; Some (s) -> test1::Sum::Right { 0 = true; } ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] **About to evaluate statement**: [ (o as test1::One::One).0 := 3: u64; set_discriminant(o, 0); set_discriminant(e0, 0); set_discriminant(enum0, 0); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; Some (var@5) -> ⊥ : u32 ; Some (s) -> test1::Sum::Right { 0 = true; } ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] **About to evaluate statement**: [ (o as test1::One::One).0 := 3: u64 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; Some (var@5) -> ⊥ : u32 ; Some (s) -> test1::Sum::Right { 0 = true; } ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; Some (var@5) -> ⊥ : u32 ; Some (s) -> test1::Sum::Right { 0 = true; } ; Some (o) -> ⊥ : test1::One ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } - op: 3: u64 [Debug] expand_bottom_value_from_projection: pe: (Expressions.Field ((Expressions.ProjAdt (2, (Some 0))), 0)) ty: (Types.Adt ((Types.AdtId 2), [], [(Types.Integer Types.U64)])) [Debug] **About to evaluate statement**: [ set_discriminant(o, 0); set_discriminant(e0, 0); set_discriminant(enum0, 0); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; Some (var@5) -> ⊥ : u32 ; Some (s) -> test1::Sum::Right { 0 = true; } ; Some (o) -> test1::One::One { 0 = 3: u64; } ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] **About to evaluate statement**: [ set_discriminant(o, 0) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; Some (var@5) -> ⊥ : u32 ; Some (s) -> test1::Sum::Right { 0 = true; } ; Some (o) -> test1::One::One { 0 = 3: u64; } ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] **About to evaluate statement**: [ set_discriminant(e0, 0); set_discriminant(enum0, 0); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; Some (var@5) -> ⊥ : u32 ; Some (s) -> test1::Sum::Right { 0 = true; } ; Some (o) -> test1::One::One { 0 = 3: u64; } ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] **About to evaluate statement**: [ set_discriminant(e0, 0) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; Some (var@5) -> ⊥ : u32 ; Some (s) -> test1::Sum::Right { 0 = true; } ; Some (o) -> test1::One::One { 0 = 3: u64; } ; Some (e0) -> ⊥ : test1::EmptyEnum ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] **About to evaluate statement**: [ set_discriminant(enum0, 0); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; Some (var@5) -> ⊥ : u32 ; Some (s) -> test1::Sum::Right { 0 = true; } ; Some (o) -> test1::One::One { 0 = 3: u64; } ; Some (e0) -> test1::EmptyEnum::Empty ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] **About to evaluate statement**: [ set_discriminant(enum0, 0) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; Some (var@5) -> ⊥ : u32 ; Some (s) -> test1::Sum::Right { 0 = true; } ; Some (o) -> test1::One::One { 0 = 3: u64; } ; Some (e0) -> test1::EmptyEnum::Empty ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> ⊥ : test1::Enum ; } [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 23: u32 ; Some (y) -> 44: u32 ; Some (z) -> 67: u32 ; Some (p) -> test1::Pair { x = 23: u32; y = 67: u32; } ; Some (var@5) -> ⊥ : u32 ; Some (s) -> test1::Sum::Right { 0 = true; } ; Some (o) -> test1::One::One { 0 = 3: u64; } ; Some (e0) -> test1::EmptyEnum::Empty ; Some (e1) -> ⊥ : test1::EmptyEnum ; Some (enum0) -> test1::Enum::Variant1 ; } [Debug] test_function_symbolic: get_max [Debug] **About to evaluate statement**: [ var@4 := copy x; var@5 := copy y; var@3 := move var@4 >= move var@5; if (move var@3) { var@0 := copy x } else { var@0 := copy y }; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ var@4 := copy x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; } - op: copy x [Debug] **About to evaluate statement**: [ var@5 := copy y; var@3 := move var@4 >= move var@5; if (move var@3) { var@0 := copy x } else { var@0 := copy y }; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> s@0 : u32 ; Some (var@5) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ var@5 := copy y ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> s@0 : u32 ; Some (var@5) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> s@0 : u32 ; Some (var@5) -> ⊥ : u32 ; } - op: copy y [Debug] **About to evaluate statement**: [ var@3 := move var@4 >= move var@5; if (move var@3) { var@0 := copy x } else { var@0 := copy y }; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> s@0 : u32 ; Some (var@5) -> s@1 : u32 ; } [Debug] **About to evaluate statement**: [ var@3 := move var@4 >= move var@5 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> s@0 : u32 ; Some (var@5) -> s@1 : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> s@0 : u32 ; Some (var@5) -> s@1 : u32 ; } - op: move var@4 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> s@1 : u32 ; } - op: move var@5 [Debug] **About to evaluate statement**: [ if (move var@3) { var@0 := copy x } else { var@0 := copy y }; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> s@2 : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ if (move var@3) { var@0 := copy x } else { var@0 := copy y } ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> s@2 : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> true ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; } - op: move var@3 [Debug] **About to evaluate statement**: [ var@0 := copy x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; } - op: copy x [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> false ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; } - op: move var@3 [Debug] **About to evaluate statement**: [ var@0 := copy y ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; } - op: copy y [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> s@0 : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> s@1 : u32 ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; } [Debug] test_function_symbolic: test3 [Debug] **About to evaluate statement**: [ x := move get_max(4: u32, 3: u32); y := move get_max(10: u32, 11: u32); var@4 := copy x; var@5 := copy y; z := copy var@4 + copy var@5; var@9 := copy z; var@8 := move var@9 == 15: u32; var@7 := ¬ move var@8; assert(¬move var@7); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ x := move get_max(4: u32, 3: u32) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } - op: 4: u32 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } - op: 3: u32 [Debug] **About to evaluate statement**: [ y := move get_max(10: u32, 11: u32); var@4 := copy x; var@5 := copy y; z := copy var@4 + copy var@5; var@9 := copy z; var@8 := move var@9 == 15: u32; var@7 := ¬ move var@8; assert(¬move var@7); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ y := move get_max(10: u32, 11: u32) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } - op: 10: u32 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (y) -> ⊥ : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } - op: 11: u32 [Debug] **About to evaluate statement**: [ var@4 := copy x; var@5 := copy y; z := copy var@4 + copy var@5; var@9 := copy z; var@8 := move var@9 == 15: u32; var@7 := ¬ move var@8; assert(¬move var@7); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ var@4 := copy x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> ⊥ : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } - op: copy x [Debug] **About to evaluate statement**: [ var@5 := copy y; z := copy var@4 + copy var@5; var@9 := copy z; var@8 := move var@9 == 15: u32; var@7 := ¬ move var@8; assert(¬move var@7); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> s@0 : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ var@5 := copy y ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> s@0 : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> s@0 : u32 ; Some (var@5) -> ⊥ : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } - op: copy y [Debug] **About to evaluate statement**: [ z := copy var@4 + copy var@5; var@9 := copy z; var@8 := move var@9 == 15: u32; var@7 := ¬ move var@8; assert(¬move var@7); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> s@0 : u32 ; Some (var@5) -> s@1 : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ z := copy var@4 + copy var@5 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> s@0 : u32 ; Some (var@5) -> s@1 : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> s@0 : u32 ; Some (var@5) -> s@1 : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } - op: copy var@4 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (z) -> ⊥ : u32 ; Some (var@4) -> s@0 : u32 ; Some (var@5) -> s@1 : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } - op: copy var@5 [Debug] **About to evaluate statement**: [ var@9 := copy z; var@8 := move var@9 == 15: u32; var@7 := ¬ move var@8; assert(¬move var@7); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (z) -> s@2 : u32 ; Some (var@4) -> s@0 : u32 ; Some (var@5) -> s@1 : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ var@9 := copy z ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (z) -> s@2 : u32 ; Some (var@4) -> s@0 : u32 ; Some (var@5) -> s@1 : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (z) -> s@2 : u32 ; Some (var@4) -> s@0 : u32 ; Some (var@5) -> s@1 : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } - op: copy z [Debug] **About to evaluate statement**: [ var@8 := move var@9 == 15: u32; var@7 := ¬ move var@8; assert(¬move var@7); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (z) -> s@2 : u32 ; Some (var@4) -> s@0 : u32 ; Some (var@5) -> s@1 : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> s@2 : u32 ; } [Debug] **About to evaluate statement**: [ var@8 := move var@9 == 15: u32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (z) -> s@2 : u32 ; Some (var@4) -> s@0 : u32 ; Some (var@5) -> s@1 : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> s@2 : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (z) -> s@2 : u32 ; Some (var@4) -> s@0 : u32 ; Some (var@5) -> s@1 : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> s@2 : u32 ; } - op: move var@9 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (z) -> s@2 : u32 ; Some (var@4) -> s@0 : u32 ; Some (var@5) -> s@1 : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } - op: 15: u32 [Debug] **About to evaluate statement**: [ var@7 := ¬ move var@8; assert(¬move var@7); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (z) -> s@2 : u32 ; Some (var@4) -> s@0 : u32 ; Some (var@5) -> s@1 : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> s@3 : bool ; Some (var@9) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ var@7 := ¬ move var@8 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (z) -> s@2 : u32 ; Some (var@4) -> s@0 : u32 ; Some (var@5) -> s@1 : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> s@3 : bool ; Some (var@9) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (z) -> s@2 : u32 ; Some (var@4) -> s@0 : u32 ; Some (var@5) -> s@1 : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> s@3 : bool ; Some (var@9) -> ⊥ : u32 ; } - op: move var@8 [Debug] **About to evaluate statement**: [ assert(¬move var@7); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (z) -> s@2 : u32 ; Some (var@4) -> s@0 : u32 ; Some (var@5) -> s@1 : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> s@4 : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ assert(¬move var@7) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (z) -> s@2 : u32 ; Some (var@4) -> s@0 : u32 ; Some (var@5) -> s@1 : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> s@4 : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (z) -> s@2 : u32 ; Some (var@4) -> s@0 : u32 ; Some (var@5) -> s@1 : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> true ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } - op: move var@7 [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (y) -> s@1 : u32 ; Some (z) -> s@2 : u32 ; Some (var@4) -> s@0 : u32 ; Some (var@5) -> s@1 : u32 ; Some (var@6) -> ⊥ : (u32, bool) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : u32 ; } [Debug] test_function_symbolic: test_neg [Debug] **About to evaluate statement**: [ var@2 := copy x; var@3 := copy var@2 == -2147483648: i32; assert(¬move var@3); var@0 := - move var@2; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : i32 ; Some (x) -> s@0 : i32 ; Some (var@2) -> ⊥ : i32 ; Some (var@3) -> ⊥ : bool ; } [Debug] **About to evaluate statement**: [ var@2 := copy x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : i32 ; Some (x) -> s@0 : i32 ; Some (var@2) -> ⊥ : i32 ; Some (var@3) -> ⊥ : bool ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : i32 ; Some (x) -> s@0 : i32 ; Some (var@2) -> ⊥ : i32 ; Some (var@3) -> ⊥ : bool ; } - op: copy x [Debug] **About to evaluate statement**: [ var@3 := copy var@2 == -2147483648: i32; assert(¬move var@3); var@0 := - move var@2; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : i32 ; Some (x) -> s@0 : i32 ; Some (var@2) -> s@0 : i32 ; Some (var@3) -> ⊥ : bool ; } [Debug] **About to evaluate statement**: [ var@3 := copy var@2 == -2147483648: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : i32 ; Some (x) -> s@0 : i32 ; Some (var@2) -> s@0 : i32 ; Some (var@3) -> ⊥ : bool ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : i32 ; Some (x) -> s@0 : i32 ; Some (var@2) -> s@0 : i32 ; Some (var@3) -> ⊥ : bool ; } - op: copy var@2 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : i32 ; Some (x) -> s@0 : i32 ; Some (var@2) -> s@0 : i32 ; Some (var@3) -> ⊥ : bool ; } - op: -2147483648: i32 [Debug] **About to evaluate statement**: [ assert(¬move var@3); var@0 := - move var@2; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : i32 ; Some (x) -> s@0 : i32 ; Some (var@2) -> s@0 : i32 ; Some (var@3) -> s@1 : bool ; } [Debug] **About to evaluate statement**: [ assert(¬move var@3) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : i32 ; Some (x) -> s@0 : i32 ; Some (var@2) -> s@0 : i32 ; Some (var@3) -> s@1 : bool ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : i32 ; Some (x) -> s@0 : i32 ; Some (var@2) -> s@0 : i32 ; Some (var@3) -> true ; } - op: move var@3 [Debug] **About to evaluate statement**: [ var@0 := - move var@2; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : i32 ; Some (x) -> s@0 : i32 ; Some (var@2) -> s@0 : i32 ; Some (var@3) -> ⊥ : bool ; } [Debug] **About to evaluate statement**: [ var@0 := - move var@2 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : i32 ; Some (x) -> s@0 : i32 ; Some (var@2) -> s@0 : i32 ; Some (var@3) -> ⊥ : bool ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : i32 ; Some (x) -> s@0 : i32 ; Some (var@2) -> s@0 : i32 ; Some (var@3) -> ⊥ : bool ; } - op: move var@2 [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> s@2 : i32 ; Some (x) -> s@0 : i32 ; Some (var@2) -> ⊥ : i32 ; Some (var@3) -> ⊥ : bool ; } [Debug] test_function_symbolic: test_neg1 [Debug] **About to evaluate statement**: [ x := 3: i32; y := -3: i32; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : i32 ; Some (y) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ x := 3: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : i32 ; Some (y) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : i32 ; Some (y) -> ⊥ : i32 ; } - op: 3: i32 [Debug] **About to evaluate statement**: [ y := -3: i32; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 3: i32 ; Some (y) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ y := -3: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 3: i32 ; Some (y) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 3: i32 ; Some (y) -> ⊥ : i32 ; } - op: -3: i32 [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 3: i32 ; Some (y) -> -3: i32 ; } [Debug] test_function_symbolic: refs_test1 [Debug] **About to evaluate statement**: [ x := 0: i32; px := &mut x; ppx := &mut px; *(*(ppx)) := 1: i32; var@6 := copy x; var@5 := move var@6 == 1: i32; var@4 := ¬ move var@5; assert(¬move var@4); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ x := 0: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } - op: 0: i32 [Debug] **About to evaluate statement**: [ px := &mut x; ppx := &mut px; *(*(ppx)) := 1: i32; var@6 := copy x; var@5 := move var@6 == 1: i32; var@4 := ¬ move var@5; assert(¬move var@4); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ px := &mut x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ ppx := &mut px; *(*(ppx)) := 1: i32; var@6 := copy x; var@5 := move var@6 == 1: i32; var@4 := ¬ move var@5; assert(¬move var@4); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@0 (0: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ ppx := &mut px ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@0 (0: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ *(*(ppx)) := 1: i32; var@6 := copy x; var@5 := move var@6 == 1: i32; var@4 := ¬ move var@5; assert(¬move var@4); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (&mut@0 (0: i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ *(*(ppx)) := 1: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (&mut@0 (0: i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (&mut@0 (0: i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } - op: 1: i32 [Debug] **About to evaluate statement**: [ var@6 := copy x; var@5 := move var@6 == 1: i32; var@4 := ¬ move var@5; assert(¬move var@4); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (&mut@0 (1: i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@6 := copy x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (&mut@0 (1: i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (&mut@0 (1: i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } - op: copy x [Debug] end borrow: 0: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (&mut@0 (1: i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } [Debug] end borrow: 0: found outer borrows/abs:(InterpreterBorrowsCore.OuterBorrows (InterpreterBorrowsCore.Borrow 1)) [Debug] end borrow: 1: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (&mut@0 (1: i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } [Debug] give_back: - bid: 1 - content: &mut@1 (&mut@0 (1: i32)) - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } [Debug] give_back_value: - bid: 1 - value: &mut@0 (1: i32) - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } [Debug] end borrow: 0: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@0 (1: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } [Debug] give_back: - bid: 0 - content: &mut@0 (1: i32) - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } [Debug] give_back_value: - bid: 0 - value: 1: i32 - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@5 := move var@6 == 1: i32; var@4 := ¬ move var@5; assert(¬move var@4); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> 1: i32 ; } [Debug] **About to evaluate statement**: [ var@5 := move var@6 == 1: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> 1: i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> 1: i32 ; } - op: move var@6 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } - op: 1: i32 [Debug] **About to evaluate statement**: [ var@4 := ¬ move var@5; assert(¬move var@4); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> s@0 : bool ; Some (var@6) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@4 := ¬ move var@5 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> s@0 : bool ; Some (var@6) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> s@0 : bool ; Some (var@6) -> ⊥ : i32 ; } - op: move var@5 [Debug] **About to evaluate statement**: [ assert(¬move var@4); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> s@1 : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ assert(¬move var@4) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> s@1 : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> true ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } - op: move var@4 [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 1: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : i32 ; } [Debug] test_function_symbolic: refs_test2 [Debug] **About to evaluate statement**: [ x := 0: i32; y := 1: i32; px := &mut x; py := &mut y; ppx := &mut px; var@6 := &mut *(py); *(ppx) := move var@6; *(*(ppx)) := 2: i32; var@9 := copy *(px); var@8 := move var@9 == 2: i32; var@7 := ¬ move var@8; assert(¬move var@7); var@12 := copy x; var@11 := move var@12 == 0: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy *(py); var@14 := move var@15 == 2: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 2: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : i32 ; Some (y) -> ⊥ : i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ x := 0: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : i32 ; Some (y) -> ⊥ : i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : i32 ; Some (y) -> ⊥ : i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: 0: i32 [Debug] **About to evaluate statement**: [ y := 1: i32; px := &mut x; py := &mut y; ppx := &mut px; var@6 := &mut *(py); *(ppx) := move var@6; *(*(ppx)) := 2: i32; var@9 := copy *(px); var@8 := move var@9 == 2: i32; var@7 := ¬ move var@8; assert(¬move var@7); var@12 := copy x; var@11 := move var@12 == 0: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy *(py); var@14 := move var@15 == 2: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 2: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⊥ : i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ y := 1: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⊥ : i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⊥ : i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: 1: i32 [Debug] **About to evaluate statement**: [ px := &mut x; py := &mut y; ppx := &mut px; var@6 := &mut *(py); *(ppx) := move var@6; *(*(ppx)) := 2: i32; var@9 := copy *(px); var@8 := move var@9 == 2: i32; var@7 := ¬ move var@8; assert(¬move var@7); var@12 := copy x; var@11 := move var@12 == 0: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy *(py); var@14 := move var@15 == 2: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 2: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> 1: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ px := &mut x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> 1: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ py := &mut y; ppx := &mut px; var@6 := &mut *(py); *(ppx) := move var@6; *(*(ppx)) := 2: i32; var@9 := copy *(px); var@8 := move var@9 == 2: i32; var@7 := ¬ move var@8; assert(¬move var@7); var@12 := copy x; var@11 := move var@12 == 0: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy *(py); var@14 := move var@15 == 2: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 2: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> 1: i32 ; Some (px) -> &mut@0 (0: i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ py := &mut y ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> 1: i32 ; Some (px) -> &mut@0 (0: i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ ppx := &mut px; var@6 := &mut *(py); *(ppx) := move var@6; *(*(ppx)) := 2: i32; var@9 := copy *(px); var@8 := move var@9 == 2: i32; var@7 := ¬ move var@8; assert(¬move var@7); var@12 := copy x; var@11 := move var@12 == 0: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy *(py); var@14 := move var@15 == 2: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 2: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@0 (0: i32) ; Some (py) -> &mut@1 (1: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ ppx := &mut px ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@0 (0: i32) ; Some (py) -> &mut@1 (1: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@6 := &mut *(py); *(ppx) := move var@6; *(*(ppx)) := 2: i32; var@9 := copy *(px); var@8 := move var@9 == 2: i32; var@7 := ¬ move var@8; assert(¬move var@7); var@12 := copy x; var@11 := move var@12 == 0: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy *(py); var@14 := move var@15 == 2: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 2: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⌊mut@2⌋ ; Some (py) -> &mut@1 (1: i32) ; Some (ppx) -> &mut@2 (&mut@0 (0: i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@6 := &mut *(py) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⌊mut@2⌋ ; Some (py) -> &mut@1 (1: i32) ; Some (ppx) -> &mut@2 (&mut@0 (0: i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ *(ppx) := move var@6; *(*(ppx)) := 2: i32; var@9 := copy *(px); var@8 := move var@9 == 2: i32; var@7 := ¬ move var@8; assert(¬move var@7); var@12 := copy x; var@11 := move var@12 == 0: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy *(py); var@14 := move var@15 == 2: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 2: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⌊mut@2⌋ ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> &mut@2 (&mut@0 (0: i32)) ; Some (var@6) -> &mut@3 (1: i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ *(ppx) := move var@6 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⌊mut@2⌋ ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> &mut@2 (&mut@0 (0: i32)) ; Some (var@6) -> &mut@3 (1: i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⌊mut@2⌋ ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> &mut@2 (&mut@0 (0: i32)) ; Some (var@6) -> &mut@3 (1: i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: move var@6 [Debug] end borrow: 0: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⌊mut@2⌋ ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> &mut@2 (⊥ : &'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> &mut@3 (1: i32) ; None -> &mut@0 (0: i32) ; } [Debug] give_back: - bid: 0 - content: &mut@0 (0: i32) - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⌊mut@2⌋ ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> &mut@2 (⊥ : &'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> &mut@3 (1: i32) ; None -> ⊥ : &'_ mut (i32) ; } [Debug] give_back_value: - bid: 0 - value: 0: i32 - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⌊mut@2⌋ ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> &mut@2 (⊥ : &'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; None -> &mut@3 (1: i32) ; None -> ⊥ : &'_ mut (i32) ; } [Debug] **About to evaluate statement**: [ *(*(ppx)) := 2: i32; var@9 := copy *(px); var@8 := move var@9 == 2: i32; var@7 := ¬ move var@8; assert(¬move var@7); var@12 := copy x; var@11 := move var@12 == 0: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy *(py); var@14 := move var@15 == 2: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 2: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⌊mut@2⌋ ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> &mut@2 (&mut@3 (1: i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ *(*(ppx)) := 2: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⌊mut@2⌋ ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> &mut@2 (&mut@3 (1: i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⌊mut@2⌋ ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> &mut@2 (&mut@3 (1: i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: 2: i32 [Debug] **About to evaluate statement**: [ var@9 := copy *(px); var@8 := move var@9 == 2: i32; var@7 := ¬ move var@8; assert(¬move var@7); var@12 := copy x; var@11 := move var@12 == 0: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy *(py); var@14 := move var@15 == 2: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 2: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⌊mut@2⌋ ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> &mut@2 (&mut@3 (2: i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@9 := copy *(px) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⌊mut@2⌋ ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> &mut@2 (&mut@3 (2: i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⌊mut@2⌋ ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> &mut@2 (&mut@3 (2: i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: copy *(px) [Debug] end borrow: 2: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⌊mut@2⌋ ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> &mut@2 (&mut@3 (2: i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] give_back: - bid: 2 - content: &mut@2 (&mut@3 (2: i32)) - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⌊mut@2⌋ ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] give_back_value: - bid: 2 - value: &mut@3 (2: i32) - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⌊mut@2⌋ ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@8 := move var@9 == 2: i32; var@7 := ¬ move var@8; assert(¬move var@7); var@12 := copy x; var@11 := move var@12 == 0: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy *(py); var@14 := move var@15 == 2: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 2: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> 2: i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@8 := move var@9 == 2: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> 2: i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> 2: i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: move var@9 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: 2: i32 [Debug] **About to evaluate statement**: [ var@7 := ¬ move var@8; assert(¬move var@7); var@12 := copy x; var@11 := move var@12 == 0: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy *(py); var@14 := move var@15 == 2: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 2: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> s@0 : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@7 := ¬ move var@8 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> s@0 : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> s@0 : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: move var@8 [Debug] **About to evaluate statement**: [ assert(¬move var@7); var@12 := copy x; var@11 := move var@12 == 0: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy *(py); var@14 := move var@15 == 2: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 2: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> s@1 : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ assert(¬move var@7) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> s@1 : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> true ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: move var@7 [Debug] **About to evaluate statement**: [ var@12 := copy x; var@11 := move var@12 == 0: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy *(py); var@14 := move var@15 == 2: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 2: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@12 := copy x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: copy x [Debug] **About to evaluate statement**: [ var@11 := move var@12 == 0: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy *(py); var@14 := move var@15 == 2: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 2: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> 0: i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@11 := move var@12 == 0: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> 0: i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> 0: i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: move var@12 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: 0: i32 [Debug] **About to evaluate statement**: [ var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy *(py); var@14 := move var@15 == 2: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 2: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> s@2 : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@10 := ¬ move var@11 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> s@2 : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> s@2 : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: move var@11 [Debug] **About to evaluate statement**: [ assert(¬move var@10); var@15 := copy *(py); var@14 := move var@15 == 2: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 2: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> s@3 : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ assert(¬move var@10) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> s@3 : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> true ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: move var@10 [Debug] **About to evaluate statement**: [ var@15 := copy *(py); var@14 := move var@15 == 2: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 2: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@15 := copy *(py) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: copy *(py) [Debug] end borrow: 3: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> &mut@3 (2: i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] give_back: - bid: 3 - content: &mut@3 (2: i32) - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] give_back_value: - bid: 3 - value: 2: i32 - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> &mut@1 (⌊mut@3⌋) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@14 := move var@15 == 2: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 2: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> &mut@1 (2: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> 2: i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@14 := move var@15 == 2: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> &mut@1 (2: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> 2: i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> &mut@1 (2: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> 2: i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: move var@15 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> &mut@1 (2: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: 2: i32 [Debug] **About to evaluate statement**: [ var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 2: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> &mut@1 (2: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> s@4 : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@13 := ¬ move var@14 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> &mut@1 (2: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> s@4 : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> &mut@1 (2: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> s@4 : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: move var@14 [Debug] **About to evaluate statement**: [ assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 2: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> &mut@1 (2: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> s@5 : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ assert(¬move var@13) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> &mut@1 (2: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> s@5 : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> &mut@1 (2: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> true ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: move var@13 [Debug] **About to evaluate statement**: [ var@18 := copy y; var@17 := move var@18 == 2: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> &mut@1 (2: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@18 := copy y ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> &mut@1 (2: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> &mut@1 (2: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: copy y [Debug] end borrow: 1: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> &mut@1 (2: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] give_back: - bid: 1 - content: &mut@1 (2: i32) - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] give_back_value: - bid: 1 - value: 2: i32 - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⌊mut@1⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@17 := move var@18 == 2: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> 2: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> 2: i32 ; } [Debug] **About to evaluate statement**: [ var@17 := move var@18 == 2: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> 2: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> 2: i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> 2: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> 2: i32 ; } - op: move var@18 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> 2: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: 2: i32 [Debug] **About to evaluate statement**: [ var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> 2: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> s@6 : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@16 := ¬ move var@17 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> 2: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> s@6 : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> 2: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> s@6 : bool ; Some (var@18) -> ⊥ : i32 ; } - op: move var@17 [Debug] **About to evaluate statement**: [ assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> 2: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> s@7 : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ assert(¬move var@16) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> 2: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> s@7 : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> 2: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> true ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: move var@16 [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> 2: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (py) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : i32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] test_function_symbolic: test_list1 [Debug] **About to evaluate statement**: [ set_discriminant(var@3, 1); var@2 := move alloc::boxed::Box>::new(move var@3); (l as test1::List::Cons).0 := 0: i32; (l as test1::List::Cons).1 := move var@2; set_discriminant(l, 0); drop(l); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; } [Debug] **About to evaluate statement**: [ set_discriminant(var@3, 1) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; } [Debug] **About to evaluate statement**: [ var@2 := move alloc::boxed::Box>::new(move var@3); (l as test1::List::Cons).0 := 0: i32; (l as test1::List::Cons).1 := move var@2; set_discriminant(l, 0); drop(l); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> test1::List::Nil ; } [Debug] **About to evaluate statement**: [ var@2 := move alloc::boxed::Box>::new(move var@3) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> test1::List::Nil ; } [Debug] eval_non_local_function_call: - fid:CfimAst.BoxNew - type_params: [test1::List] - args: [move var@3] - dest: var@2 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> test1::List::Nil ; } - op: move var@3 [Debug] **About to evaluate statement**: [ (l as test1::List::Cons).0 := 0: i32; (l as test1::List::Cons).1 := move var@2; set_discriminant(l, 0); drop(l); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> s@0 : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; } [Debug] **About to evaluate statement**: [ (l as test1::List::Cons).0 := 0: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> s@0 : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> s@0 : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; } - op: 0: i32 [Debug] expand_bottom_value_from_projection: pe: (Expressions.Field ((Expressions.ProjAdt (1, (Some 0))), 0)) ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) [Debug] **About to evaluate statement**: [ (l as test1::List::Cons).1 := move var@2; set_discriminant(l, 0); drop(l); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> s@0 : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; } [Debug] **About to evaluate statement**: [ (l as test1::List::Cons).1 := move var@2 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> s@0 : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> s@0 : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; } - op: move var@2 [Debug] **About to evaluate statement**: [ set_discriminant(l, 0); drop(l); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box>; } ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; } [Debug] **About to evaluate statement**: [ set_discriminant(l, 0) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box>; } ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; } [Debug] **About to evaluate statement**: [ drop(l); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box>; } ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; } [Debug] **About to evaluate statement**: [ drop(l) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box>; } ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; } [Debug] drop_value: place: l [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; } [Debug] test_function_symbolic: test_box1 [Debug] **About to evaluate statement**: [ b := move alloc::boxed::Box::new(0: i32); var@3 := &two-phase b; x := move core::ops::deref::DerefMut::deref_mut(move var@3); *(x) := 1: i32; var@5 := &b; x := move core::ops::deref::Deref>::deref(move var@5); var@8 := copy *(x); var@7 := move var@8 == 1: i32; var@6 := ¬ move var@7; assert(¬move var@6); drop(b); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⊥ : std::boxed::Box ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ b := move alloc::boxed::Box::new(0: i32) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⊥ : std::boxed::Box ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; } [Debug] eval_non_local_function_call: - fid:CfimAst.BoxNew - type_params: [i32] - args: [0: i32] - dest: b [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⊥ : std::boxed::Box ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; } - op: 0: i32 [Debug] **About to evaluate statement**: [ var@3 := &two-phase b; x := move core::ops::deref::DerefMut::deref_mut(move var@3); *(x) := 1: i32; var@5 := &b; x := move core::ops::deref::Deref>::deref(move var@5); var@8 := copy *(x); var@7 := move var@8 == 1: i32; var@6 := ¬ move var@7; assert(¬move var@6); drop(b); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> s@0 : std::boxed::Box ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@3 := &two-phase b ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> s@0 : std::boxed::Box ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ x := move core::ops::deref::DerefMut::deref_mut(move var@3); *(x) := 1: i32; var@5 := &b; x := move core::ops::deref::Deref>::deref(move var@5); var@8 := copy *(x); var@7 := move var@8 == 1: i32; var@6 := ¬ move var@7; assert(¬move var@6); drop(b); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @shared_loan({0}, s@0 : std::boxed::Box) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⌊inactivated_mut@0⌋ ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ x := move core::ops::deref::DerefMut::deref_mut(move var@3) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @shared_loan({0}, s@0 : std::boxed::Box) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⌊inactivated_mut@0⌋ ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; } [Debug] eval_non_local_function_call: - fid:CfimAst.BoxDerefMut - type_params: [i32] - args: [move var@3] - dest: x [Debug] activate_inactivated_mut_borrow: resulting value: s@0 : std::boxed::Box [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⌊mut@0⌋ ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> &mut@0 (s@0 : std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; } - op: move var@3 [Debug] **About to evaluate statement**: [ *(x) := 1: i32; var@5 := &b; x := move core::ops::deref::Deref>::deref(move var@5); var@8 := copy *(x); var@7 := move var@8 == 1: i32; var@6 := ¬ move var@7; assert(¬move var@6); drop(b); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⌊mut@0⌋ ; Some (x) -> s@1 : &r@0 mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@0 (proj_borrows (s@0 : std::boxed::Box <: std::boxed::Box)), proj_loans (s@1 : &r@0 mut (i32)) } } [Debug] **About to evaluate statement**: [ *(x) := 1: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⌊mut@0⌋ ; Some (x) -> s@1 : &r@0 mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@0 (proj_borrows (s@0 : std::boxed::Box <: std::boxed::Box)), proj_loans (s@1 : &r@0 mut (i32)) } } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⌊mut@0⌋ ; Some (x) -> s@1 : &r@0 mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@0 (proj_borrows (s@0 : std::boxed::Box <: std::boxed::Box)), proj_loans (s@1 : &r@0 mut (i32)) } } - op: 1: i32 [Debug] expand_symbolic_value: s@1 : &r@0 mut (i32) - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⌊mut@0⌋ ; Some (x) -> s@1 : &r@0 mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@0 (proj_borrows (s@0 : std::boxed::Box <: std::boxed::Box)), proj_loans (s@1 : &r@0 mut (i32)) } None -> 1: i32 ; } - new context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⌊mut@0⌋ ; Some (x) -> &mut@1 (s@2 : i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@0 (proj_borrows (s@0 : std::boxed::Box <: std::boxed::Box)), ⌊mut@1, proj_loans (s@2 : i32)⌋ } None -> 1: i32 ; } [Debug] **About to evaluate statement**: [ var@5 := &b; x := move core::ops::deref::Deref>::deref(move var@5); var@8 := copy *(x); var@7 := move var@8 == 1: i32; var@6 := ¬ move var@7; assert(¬move var@6); drop(b); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⌊mut@0⌋ ; Some (x) -> &mut@1 (1: i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@0 (proj_borrows (s@0 : std::boxed::Box <: std::boxed::Box)), ⌊mut@1, proj_loans (s@2 : i32)⌋ } } [Debug] **About to evaluate statement**: [ var@5 := &b ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⌊mut@0⌋ ; Some (x) -> &mut@1 (1: i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@0 (proj_borrows (s@0 : std::boxed::Box <: std::boxed::Box)), ⌊mut@1, proj_loans (s@2 : i32)⌋ } } [Debug] end borrow: 0: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⌊mut@0⌋ ; Some (x) -> &mut@1 (1: i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@0 (proj_borrows (s@0 : std::boxed::Box <: std::boxed::Box)), ⌊mut@1, proj_loans (s@2 : i32)⌋ } } [Debug] end borrow: 0: found outer borrows/abs:(InterpreterBorrowsCore.OuterAbs 0) [Debug] end_abstraction: 0 - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⌊mut@0⌋ ; Some (x) -> &mut@1 (1: i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@0 (proj_borrows (s@0 : std::boxed::Box <: std::boxed::Box)), ⌊mut@1, proj_loans (s@2 : i32)⌋ } } [Debug] end_abstraction: 0 - context after parent abstractions ended: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⌊mut@0⌋ ; Some (x) -> &mut@1 (1: i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@0 (proj_borrows (s@0 : std::boxed::Box <: std::boxed::Box)), ⌊mut@1, proj_loans (s@2 : i32)⌋ } } [Debug] end borrow: 1: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⌊mut@0⌋ ; Some (x) -> &mut@1 (1: i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@0 (proj_borrows (s@0 : std::boxed::Box <: std::boxed::Box)), ⌊mut@1, proj_loans (s@2 : i32)⌋ } } [Debug] give_back: - bid: 1 - content: &mut@1 (1: i32) - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⌊mut@0⌋ ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@0 (proj_borrows (s@0 : std::boxed::Box <: std::boxed::Box)), ⌊mut@1, proj_loans (s@2 : i32)⌋ } } [Debug] give_back_value: - bid: 1 - value: 1: i32 - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⌊mut@0⌋ ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@0 (proj_borrows (s@0 : std::boxed::Box <: std::boxed::Box)), ⌊mut@1, proj_loans (s@2 : i32)⌋ } } [Debug] end_abstraction: 0 - context after loans ended: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⌊mut@0⌋ ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@0 (proj_borrows (s@0 : std::boxed::Box <: std::boxed::Box)), @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) } } } [Debug] give_back_value: - bid: 0 - value: s@3 : std::boxed::Box - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⌊mut@0⌋ ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { ⊥ : &r@0 mut (std::boxed::Box), @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) } } } [Debug] end_abstraction: 0 - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⌊mut@0⌋ ; Some (x) -> &mut@1 (1: i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@0 (proj_borrows (s@0 : std::boxed::Box <: std::boxed::Box)), ⌊mut@1, proj_loans (s@2 : i32)⌋ } } - new context: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> s@3 : std::boxed::Box ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ x := move core::ops::deref::Deref>::deref(move var@5); var@8 := copy *(x); var@7 := move var@8 == 1: i32; var@6 := ¬ move var@7; assert(¬move var@6); drop(b); return ] **Context**: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @shared_loan({2}, s@3 : std::boxed::Box) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⌊shared@2⌋ ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ x := move core::ops::deref::Deref>::deref(move var@5) ] **Context**: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @shared_loan({2}, s@3 : std::boxed::Box) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⌊shared@2⌋ ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; } [Debug] eval_non_local_function_call: - fid:CfimAst.BoxDeref - type_params: [i32] - args: [move var@5] - dest: x [Debug] eval_operand: - ctx: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @shared_loan({2}, s@3 : std::boxed::Box) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⌊shared@2⌋ ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; } - op: move var@5 [Debug] **About to evaluate statement**: [ var@8 := copy *(x); var@7 := move var@8 == 1: i32; var@6 := ¬ move var@7; assert(¬move var@6); drop(b); return ] **Context**: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @shared_loan({2}, s@3 : std::boxed::Box) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> s@4 : &r@1 (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, proj_loans (s@4 : &r@1 (i32)) } } [Debug] **About to evaluate statement**: [ var@8 := copy *(x) ] **Context**: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @shared_loan({2}, s@3 : std::boxed::Box) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> s@4 : &r@1 (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, proj_loans (s@4 : &r@1 (i32)) } } [Debug] eval_operand: - ctx: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @shared_loan({2}, s@3 : std::boxed::Box) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> s@4 : &r@1 (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, proj_loans (s@4 : &r@1 (i32)) } } - op: copy *(x) [Debug] expand_symbolic_value: s@4 : &r@1 (i32) - original context: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @shared_loan({2}, s@3 : std::boxed::Box) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> s@4 : &r@1 (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, proj_loans (s@4 : &r@1 (i32)) } } - new context: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @shared_loan({2}, s@3 : std::boxed::Box) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⌊shared@3⌋ ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) } } [Debug] **About to evaluate statement**: [ var@7 := move var@8 == 1: i32; var@6 := ¬ move var@7; assert(¬move var@6); drop(b); return ] **Context**: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @shared_loan({2}, s@3 : std::boxed::Box) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⌊shared@3⌋ ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> s@5 : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) } } [Debug] **About to evaluate statement**: [ var@7 := move var@8 == 1: i32 ] **Context**: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @shared_loan({2}, s@3 : std::boxed::Box) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⌊shared@3⌋ ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> s@5 : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) } } [Debug] eval_operand: - ctx: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @shared_loan({2}, s@3 : std::boxed::Box) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⌊shared@3⌋ ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> s@5 : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) } } - op: move var@8 [Debug] eval_operand: - ctx: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @shared_loan({2}, s@3 : std::boxed::Box) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⌊shared@3⌋ ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) } } - op: 1: i32 [Debug] **About to evaluate statement**: [ var@6 := ¬ move var@7; assert(¬move var@6); drop(b); return ] **Context**: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @shared_loan({2}, s@3 : std::boxed::Box) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⌊shared@3⌋ ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> s@6 : bool ; Some (var@8) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) } } [Debug] **About to evaluate statement**: [ var@6 := ¬ move var@7 ] **Context**: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @shared_loan({2}, s@3 : std::boxed::Box) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⌊shared@3⌋ ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> s@6 : bool ; Some (var@8) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) } } [Debug] eval_operand: - ctx: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @shared_loan({2}, s@3 : std::boxed::Box) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⌊shared@3⌋ ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> s@6 : bool ; Some (var@8) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) } } - op: move var@7 [Debug] **About to evaluate statement**: [ assert(¬move var@6); drop(b); return ] **Context**: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @shared_loan({2}, s@3 : std::boxed::Box) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⌊shared@3⌋ ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> s@7 : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) } } [Debug] **About to evaluate statement**: [ assert(¬move var@6) ] **Context**: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @shared_loan({2}, s@3 : std::boxed::Box) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⌊shared@3⌋ ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> s@7 : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) } } [Debug] eval_operand: - ctx: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @shared_loan({2}, s@3 : std::boxed::Box) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⌊shared@3⌋ ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> true ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) } } - op: move var@6 [Debug] **About to evaluate statement**: [ drop(b); return ] **Context**: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @shared_loan({2}, s@3 : std::boxed::Box) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⌊shared@3⌋ ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) } } [Debug] **About to evaluate statement**: [ drop(b) ] **Context**: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> @shared_loan({2}, s@3 : std::boxed::Box) ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⌊shared@3⌋ ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) } } [Debug] drop_value: place: b [Debug] end borrow: 2: - original context: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⊥ : std::boxed::Box ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⌊shared@3⌋ ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) } None -> @shared_loan({2}, s@3 : std::boxed::Box) ; } [Debug] end borrow: 2: found outer borrows/abs:(InterpreterBorrowsCore.OuterAbs 1) [Debug] end_abstraction: 1 - original context: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⊥ : std::boxed::Box ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⌊shared@3⌋ ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) } None -> @shared_loan({2}, s@3 : std::boxed::Box) ; } [Debug] end_abstraction: 1 - context after parent abstractions ended: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⊥ : std::boxed::Box ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⌊shared@3⌋ ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) } None -> @shared_loan({2}, s@3 : std::boxed::Box) ; } [Debug] end borrow: 3: - original context: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⊥ : std::boxed::Box ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⌊shared@3⌋ ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) } None -> @shared_loan({2}, s@3 : std::boxed::Box) ; } [Debug] give_back: - bid: 3 - content: ⌊shared@3⌋ - context: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⊥ : std::boxed::Box ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) } None -> @shared_loan({2}, s@3 : std::boxed::Box) ; } [Debug] end_abstraction: 1 - context after loans ended: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⊥ : std::boxed::Box ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, @ended_shared_loan(s@5 : i32, proj_loans (s@5 : i32)) } None -> @shared_loan({2}, s@3 : std::boxed::Box) ; } [Debug] end_abstraction: 1 - original context: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⊥ : std::boxed::Box ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⌊shared@3⌋ ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { ⌊shared@2⌋, @shared_loan({3}, s@5 : i32, proj_loans (s@5 : i32)) } None -> @shared_loan({2}, s@3 : std::boxed::Box) ; } - new context: # Ended regions: {0, 1} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⊥ : std::boxed::Box ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; None -> s@3 : std::boxed::Box ; } [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {0, 1} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (b) -> ⊥ : std::boxed::Box ; Some (x) -> ⊥ : &'_ mut (i32) ; Some (var@3) -> ⊥ : &'_ mut (std::boxed::Box) ; Some (x) -> ⊥ : &'_ (i32) ; Some (var@5) -> ⊥ : &'_ (std::boxed::Box) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; } [Debug] test_function_symbolic: copy_int [Debug] **About to evaluate statement**: [ var@0 := copy x; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : i32 ; Some (x) -> s@0 : i32 ; } [Debug] **About to evaluate statement**: [ var@0 := copy x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : i32 ; Some (x) -> s@0 : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : i32 ; Some (x) -> s@0 : i32 ; } - op: copy x [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> s@0 : i32 ; Some (x) -> s@0 : i32 ; } [Debug] test_function_symbolic: test_copy_int [Debug] **About to evaluate statement**: [ x := 0: i32; px := &x; var@4 := copy x; y := move copy_int(move var@4); var@7 := copy *(px); var@8 := copy y; var@6 := move var@7 == move var@8; var@5 := ¬ move var@6; assert(¬move var@5); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : i32 ; Some (px) -> ⊥ : &'_ (i32) ; Some (y) -> ⊥ : i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ x := 0: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : i32 ; Some (px) -> ⊥ : &'_ (i32) ; Some (y) -> ⊥ : i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : i32 ; Some (px) -> ⊥ : &'_ (i32) ; Some (y) -> ⊥ : i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; } - op: 0: i32 [Debug] **About to evaluate statement**: [ px := &x; var@4 := copy x; y := move copy_int(move var@4); var@7 := copy *(px); var@8 := copy y; var@6 := move var@7 == move var@8; var@5 := ¬ move var@6; assert(¬move var@5); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (px) -> ⊥ : &'_ (i32) ; Some (y) -> ⊥ : i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ px := &x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (px) -> ⊥ : &'_ (i32) ; Some (y) -> ⊥ : i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@4 := copy x; y := move copy_int(move var@4); var@7 := copy *(px); var@8 := copy y; var@6 := move var@7 == move var@8; var@5 := ¬ move var@6; assert(¬move var@5); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> ⊥ : i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@4 := copy x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> ⊥ : i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> ⊥ : i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; } - op: copy x [Debug] **About to evaluate statement**: [ y := move copy_int(move var@4); var@7 := copy *(px); var@8 := copy y; var@6 := move var@7 == move var@8; var@5 := ¬ move var@6; assert(¬move var@5); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> ⊥ : i32 ; Some (var@4) -> 0: i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ y := move copy_int(move var@4) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> ⊥ : i32 ; Some (var@4) -> 0: i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> ⊥ : i32 ; Some (var@4) -> 0: i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; } - op: move var@4 [Debug] **About to evaluate statement**: [ var@7 := copy *(px); var@8 := copy y; var@6 := move var@7 == move var@8; var@5 := ¬ move var@6; assert(¬move var@5); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> s@0 : i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@7 := copy *(px) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> s@0 : i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> s@0 : i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; } - op: copy *(px) [Debug] **About to evaluate statement**: [ var@8 := copy y; var@6 := move var@7 == move var@8; var@5 := ¬ move var@6; assert(¬move var@5); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> s@0 : i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> 0: i32 ; Some (var@8) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@8 := copy y ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> s@0 : i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> 0: i32 ; Some (var@8) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> s@0 : i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> 0: i32 ; Some (var@8) -> ⊥ : i32 ; } - op: copy y [Debug] **About to evaluate statement**: [ var@6 := move var@7 == move var@8; var@5 := ¬ move var@6; assert(¬move var@5); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> s@0 : i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> 0: i32 ; Some (var@8) -> s@0 : i32 ; } [Debug] **About to evaluate statement**: [ var@6 := move var@7 == move var@8 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> s@0 : i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> 0: i32 ; Some (var@8) -> s@0 : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> s@0 : i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> 0: i32 ; Some (var@8) -> s@0 : i32 ; } - op: move var@7 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> s@0 : i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> s@0 : i32 ; } - op: move var@8 [Debug] **About to evaluate statement**: [ var@5 := ¬ move var@6; assert(¬move var@5); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> s@0 : i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> s@1 : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@5 := ¬ move var@6 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> s@0 : i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> s@1 : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> s@0 : i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> s@1 : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; } - op: move var@6 [Debug] **About to evaluate statement**: [ assert(¬move var@5); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> s@0 : i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> s@2 : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ assert(¬move var@5) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> s@0 : i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> s@2 : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> s@0 : i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> true ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; } - op: move var@5 [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> @shared_loan({0}, 0: i32) ; Some (px) -> ⌊shared@0⌋ ; Some (y) -> s@0 : i32 ; Some (var@4) -> ⊥ : i32 ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : i32 ; Some (var@8) -> ⊥ : i32 ; } [Debug] test_function_symbolic: is_cons [Debug] **About to evaluate statement**: [ var@2 := discriminant(*(l)); switch (move var@2) { 0: isize => { var@0 := true } 1: isize => { var@0 := false } _ => { panic } }; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { proj_loans (s@0 : &r@0 (test1::List)) } Some (var@0) -> ⊥ : bool ; Some (l) -> s@0 : &r@0 (test1::List) ; Some (var@2) -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ var@2 := discriminant(*(l)) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { proj_loans (s@0 : &r@0 (test1::List)) } Some (var@0) -> ⊥ : bool ; Some (l) -> s@0 : &r@0 (test1::List) ; Some (var@2) -> ⊥ : isize ; } [Debug] expand_symbolic_value: s@0 : &r@0 (test1::List) - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { proj_loans (s@0 : &r@0 (test1::List)) } Some (var@0) -> ⊥ : bool ; Some (l) -> s@0 : &r@0 (test1::List) ; Some (var@2) -> ⊥ : isize ; } - new context: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { @shared_loan({0}, s@1 : test1::List, proj_loans (s@1 : test1::List)) } Some (var@0) -> ⊥ : bool ; Some (l) -> ⌊shared@0⌋ ; Some (var@2) -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ switch (move var@2) { 0: isize => { var@0 := true } 1: isize => { var@0 := false } _ => { panic } }; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { @shared_loan({0}, test1::List::Cons { 0 = s@2 : T; 1 = s@3 : std::boxed::Box>; }, test1::List::Cons { 0 = proj_loans (s@2 : T); 1 = proj_loans (s@3 : std::boxed::Box>); }) } Some (var@0) -> ⊥ : bool ; Some (l) -> ⌊shared@0⌋ ; Some (var@2) -> 0: isize ; } [Debug] **About to evaluate statement**: [ switch (move var@2) { 0: isize => { var@0 := true } 1: isize => { var@0 := false } _ => { panic } } ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { @shared_loan({0}, test1::List::Cons { 0 = s@2 : T; 1 = s@3 : std::boxed::Box>; }, test1::List::Cons { 0 = proj_loans (s@2 : T); 1 = proj_loans (s@3 : std::boxed::Box>); }) } Some (var@0) -> ⊥ : bool ; Some (l) -> ⌊shared@0⌋ ; Some (var@2) -> 0: isize ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { @shared_loan({0}, test1::List::Cons { 0 = s@2 : T; 1 = s@3 : std::boxed::Box>; }, test1::List::Cons { 0 = proj_loans (s@2 : T); 1 = proj_loans (s@3 : std::boxed::Box>); }) } Some (var@0) -> ⊥ : bool ; Some (l) -> ⌊shared@0⌋ ; Some (var@2) -> 0: isize ; } - op: move var@2 [Debug] **About to evaluate statement**: [ var@0 := true ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { @shared_loan({0}, test1::List::Cons { 0 = s@2 : T; 1 = s@3 : std::boxed::Box>; }, test1::List::Cons { 0 = proj_loans (s@2 : T); 1 = proj_loans (s@3 : std::boxed::Box>); }) } Some (var@0) -> ⊥ : bool ; Some (l) -> ⌊shared@0⌋ ; Some (var@2) -> ⊥ : isize ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { @shared_loan({0}, test1::List::Cons { 0 = s@2 : T; 1 = s@3 : std::boxed::Box>; }, test1::List::Cons { 0 = proj_loans (s@2 : T); 1 = proj_loans (s@3 : std::boxed::Box>); }) } Some (var@0) -> ⊥ : bool ; Some (l) -> ⌊shared@0⌋ ; Some (var@2) -> ⊥ : isize ; } - op: true [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { @shared_loan({0}, test1::List::Cons { 0 = s@2 : T; 1 = s@3 : std::boxed::Box>; }, test1::List::Cons { 0 = proj_loans (s@2 : T); 1 = proj_loans (s@3 : std::boxed::Box>); }) } Some (var@0) -> true ; Some (l) -> ⌊shared@0⌋ ; Some (var@2) -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ switch (move var@2) { 0: isize => { var@0 := true } 1: isize => { var@0 := false } _ => { panic } }; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { @shared_loan({0}, test1::List::Nil, test1::List::Nil) } Some (var@0) -> ⊥ : bool ; Some (l) -> ⌊shared@0⌋ ; Some (var@2) -> 1: isize ; } [Debug] **About to evaluate statement**: [ switch (move var@2) { 0: isize => { var@0 := true } 1: isize => { var@0 := false } _ => { panic } } ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { @shared_loan({0}, test1::List::Nil, test1::List::Nil) } Some (var@0) -> ⊥ : bool ; Some (l) -> ⌊shared@0⌋ ; Some (var@2) -> 1: isize ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { @shared_loan({0}, test1::List::Nil, test1::List::Nil) } Some (var@0) -> ⊥ : bool ; Some (l) -> ⌊shared@0⌋ ; Some (var@2) -> 1: isize ; } - op: move var@2 [Debug] **About to evaluate statement**: [ var@0 := false ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { @shared_loan({0}, test1::List::Nil, test1::List::Nil) } Some (var@0) -> ⊥ : bool ; Some (l) -> ⌊shared@0⌋ ; Some (var@2) -> ⊥ : isize ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { @shared_loan({0}, test1::List::Nil, test1::List::Nil) } Some (var@0) -> ⊥ : bool ; Some (l) -> ⌊shared@0⌋ ; Some (var@2) -> ⊥ : isize ; } - op: false [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { @shared_loan({0}, test1::List::Nil, test1::List::Nil) } Some (var@0) -> false ; Some (l) -> ⌊shared@0⌋ ; Some (var@2) -> ⊥ : isize ; } [Debug] test_function_symbolic: test_is_cons [Debug] **About to evaluate statement**: [ set_discriminant(var@3, 1); var@2 := move alloc::boxed::Box>::new(move var@3); (l as test1::List::Cons).0 := 0: i32; (l as test1::List::Cons).1 := move var@2; set_discriminant(l, 0); var@7 := &l; var@6 := copy var@7; var@5 := move is_cons(move var@6); var@4 := ¬ move var@5; assert(¬move var@4); drop(l); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⊥ : &'_ (test1::List) ; } [Debug] **About to evaluate statement**: [ set_discriminant(var@3, 1) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⊥ : &'_ (test1::List) ; } [Debug] **About to evaluate statement**: [ var@2 := move alloc::boxed::Box>::new(move var@3); (l as test1::List::Cons).0 := 0: i32; (l as test1::List::Cons).1 := move var@2; set_discriminant(l, 0); var@7 := &l; var@6 := copy var@7; var@5 := move is_cons(move var@6); var@4 := ¬ move var@5; assert(¬move var@4); drop(l); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> test1::List::Nil ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⊥ : &'_ (test1::List) ; } [Debug] **About to evaluate statement**: [ var@2 := move alloc::boxed::Box>::new(move var@3) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> test1::List::Nil ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⊥ : &'_ (test1::List) ; } [Debug] eval_non_local_function_call: - fid:CfimAst.BoxNew - type_params: [test1::List] - args: [move var@3] - dest: var@2 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> test1::List::Nil ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⊥ : &'_ (test1::List) ; } - op: move var@3 [Debug] **About to evaluate statement**: [ (l as test1::List::Cons).0 := 0: i32; (l as test1::List::Cons).1 := move var@2; set_discriminant(l, 0); var@7 := &l; var@6 := copy var@7; var@5 := move is_cons(move var@6); var@4 := ¬ move var@5; assert(¬move var@4); drop(l); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> s@0 : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⊥ : &'_ (test1::List) ; } [Debug] **About to evaluate statement**: [ (l as test1::List::Cons).0 := 0: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> s@0 : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⊥ : &'_ (test1::List) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> s@0 : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⊥ : &'_ (test1::List) ; } - op: 0: i32 [Debug] expand_bottom_value_from_projection: pe: (Expressions.Field ((Expressions.ProjAdt (1, (Some 0))), 0)) ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) [Debug] **About to evaluate statement**: [ (l as test1::List::Cons).1 := move var@2; set_discriminant(l, 0); var@7 := &l; var@6 := copy var@7; var@5 := move is_cons(move var@6); var@4 := ¬ move var@5; assert(¬move var@4); drop(l); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> s@0 : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⊥ : &'_ (test1::List) ; } [Debug] **About to evaluate statement**: [ (l as test1::List::Cons).1 := move var@2 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> s@0 : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⊥ : &'_ (test1::List) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> s@0 : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⊥ : &'_ (test1::List) ; } - op: move var@2 [Debug] **About to evaluate statement**: [ set_discriminant(l, 0); var@7 := &l; var@6 := copy var@7; var@5 := move is_cons(move var@6); var@4 := ¬ move var@5; assert(¬move var@4); drop(l); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box>; } ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⊥ : &'_ (test1::List) ; } [Debug] **About to evaluate statement**: [ set_discriminant(l, 0) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box>; } ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⊥ : &'_ (test1::List) ; } [Debug] **About to evaluate statement**: [ var@7 := &l; var@6 := copy var@7; var@5 := move is_cons(move var@6); var@4 := ¬ move var@5; assert(¬move var@4); drop(l); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box>; } ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⊥ : &'_ (test1::List) ; } [Debug] **About to evaluate statement**: [ var@7 := &l ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box>; } ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⊥ : &'_ (test1::List) ; } [Debug] **About to evaluate statement**: [ var@6 := copy var@7; var@5 := move is_cons(move var@6); var@4 := ¬ move var@5; assert(¬move var@4); drop(l); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> @shared_loan({0}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box>; }) ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⌊shared@0⌋ ; } [Debug] **About to evaluate statement**: [ var@6 := copy var@7 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> @shared_loan({0}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box>; }) ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⌊shared@0⌋ ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> @shared_loan({0}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box>; }) ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⌊shared@0⌋ ; } - op: copy var@7 [Debug] **About to evaluate statement**: [ var@5 := move is_cons(move var@6); var@4 := ¬ move var@5; assert(¬move var@4); drop(l); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box>; }) ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⌊shared@1⌋ ; Some (var@7) -> ⌊shared@0⌋ ; } [Debug] **About to evaluate statement**: [ var@5 := move is_cons(move var@6) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box>; }) ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⌊shared@1⌋ ; Some (var@7) -> ⌊shared@0⌋ ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box>; }) ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⌊shared@1⌋ ; Some (var@7) -> ⌊shared@0⌋ ; } - op: move var@6 [Debug] **About to evaluate statement**: [ var@4 := ¬ move var@5; assert(¬move var@4); drop(l); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box>; }) ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> s@1 : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⌊shared@0⌋ ; abs@0{parents={}}{regions={0}} { ⌊shared@1⌋, proj_loans (s@1 : bool) } } [Debug] **About to evaluate statement**: [ var@4 := ¬ move var@5 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box>; }) ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> s@1 : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⌊shared@0⌋ ; abs@0{parents={}}{regions={0}} { ⌊shared@1⌋, proj_loans (s@1 : bool) } } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box>; }) ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> s@1 : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⌊shared@0⌋ ; abs@0{parents={}}{regions={0}} { ⌊shared@1⌋, proj_loans (s@1 : bool) } } - op: move var@5 [Debug] **About to evaluate statement**: [ assert(¬move var@4); drop(l); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box>; }) ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> s@2 : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⌊shared@0⌋ ; abs@0{parents={}}{regions={0}} { ⌊shared@1⌋, proj_loans (s@1 : bool) } } [Debug] **About to evaluate statement**: [ assert(¬move var@4) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box>; }) ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> s@2 : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⌊shared@0⌋ ; abs@0{parents={}}{regions={0}} { ⌊shared@1⌋, proj_loans (s@1 : bool) } } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box>; }) ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> true ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⌊shared@0⌋ ; abs@0{parents={}}{regions={0}} { ⌊shared@1⌋, proj_loans (s@1 : bool) } } - op: move var@4 [Debug] **About to evaluate statement**: [ drop(l); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box>; }) ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⌊shared@0⌋ ; abs@0{parents={}}{regions={0}} { ⌊shared@1⌋, proj_loans (s@1 : bool) } } [Debug] **About to evaluate statement**: [ drop(l) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box>; }) ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⌊shared@0⌋ ; abs@0{parents={}}{regions={0}} { ⌊shared@1⌋, proj_loans (s@1 : bool) } } [Debug] drop_value: place: l [Debug] end borrow: 0: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⌊shared@0⌋ ; abs@0{parents={}}{regions={0}} { ⌊shared@1⌋, proj_loans (s@1 : bool) } None -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box>; }) ; } [Debug] give_back: - bid: 0 - content: ⌊shared@0⌋ - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⊥ : &'_ (test1::List) ; abs@0{parents={}}{regions={0}} { ⌊shared@1⌋, proj_loans (s@1 : bool) } None -> @shared_loan({0, 1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box>; }) ; } [Debug] end borrow: 1: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⊥ : &'_ (test1::List) ; abs@0{parents={}}{regions={0}} { ⌊shared@1⌋, proj_loans (s@1 : bool) } None -> @shared_loan({1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box>; }) ; } [Debug] end borrow: 1: found outer borrows/abs:(InterpreterBorrowsCore.OuterAbs 0) [Debug] end_abstraction: 0 - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⊥ : &'_ (test1::List) ; abs@0{parents={}}{regions={0}} { ⌊shared@1⌋, proj_loans (s@1 : bool) } None -> @shared_loan({1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box>; }) ; } [Debug] end_abstraction: 0 - context after parent abstractions ended: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⊥ : &'_ (test1::List) ; abs@0{parents={}}{regions={0}} { ⌊shared@1⌋, proj_loans (s@1 : bool) } None -> @shared_loan({1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box>; }) ; } [Debug] end_abstraction: 0 - context after loans ended: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⊥ : &'_ (test1::List) ; abs@0{parents={}}{regions={0}} { ⌊shared@1⌋, proj_loans (s@1 : bool) } None -> @shared_loan({1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box>; }) ; } [Debug] end_abstraction: 0 - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⊥ : &'_ (test1::List) ; abs@0{parents={}}{regions={0}} { ⌊shared@1⌋, proj_loans (s@1 : bool) } None -> @shared_loan({1}, test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box>; }) ; } - new context: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⊥ : &'_ (test1::List) ; None -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box>; } ; } [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (var@4) -> ⊥ : bool ; Some (var@5) -> ⊥ : bool ; Some (var@6) -> ⊥ : &'_ (test1::List) ; Some (var@7) -> ⊥ : &'_ (test1::List) ; } [Debug] test_function_symbolic: split_list [Debug] **About to evaluate statement**: [ var@8 := false; var@7 := false; var@7 := true; var@8 := true; var@2 := discriminant(l); switch (move var@2) { 0: isize => { var@8 := false; hd := move (l as test1::List::Cons).0; var@7 := false; tl := move (l as test1::List::Cons).1; var@5 := move hd; var@6 := move deref_box(tl); (var@0).0 := move var@5; (var@0).1 := move var@6; var@9 := move alloc::alloc::box_free>(move tl); return } _ => { panic } } ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : (T, test1::List) ; Some (l) -> s@0 : test1::List ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : T ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : T ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ var@8 := false ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : (T, test1::List) ; Some (l) -> s@0 : test1::List ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : T ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : T ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : (T, test1::List) ; Some (l) -> s@0 : test1::List ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : T ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : T ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } - op: false [Debug] **About to evaluate statement**: [ var@7 := false; var@7 := true; var@8 := true; var@2 := discriminant(l); switch (move var@2) { 0: isize => { var@8 := false; hd := move (l as test1::List::Cons).0; var@7 := false; tl := move (l as test1::List::Cons).1; var@5 := move hd; var@6 := move deref_box(tl); (var@0).0 := move var@5; (var@0).1 := move var@6; var@9 := move alloc::alloc::box_free>(move tl); return } _ => { panic } } ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : (T, test1::List) ; Some (l) -> s@0 : test1::List ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : T ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : T ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ var@7 := false ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : (T, test1::List) ; Some (l) -> s@0 : test1::List ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : T ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : T ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : (T, test1::List) ; Some (l) -> s@0 : test1::List ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : T ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : T ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } - op: false [Debug] **About to evaluate statement**: [ var@7 := true; var@8 := true; var@2 := discriminant(l); switch (move var@2) { 0: isize => { var@8 := false; hd := move (l as test1::List::Cons).0; var@7 := false; tl := move (l as test1::List::Cons).1; var@5 := move hd; var@6 := move deref_box(tl); (var@0).0 := move var@5; (var@0).1 := move var@6; var@9 := move alloc::alloc::box_free>(move tl); return } _ => { panic } } ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : (T, test1::List) ; Some (l) -> s@0 : test1::List ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : T ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : T ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ var@7 := true ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : (T, test1::List) ; Some (l) -> s@0 : test1::List ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : T ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : T ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : (T, test1::List) ; Some (l) -> s@0 : test1::List ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : T ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : T ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } - op: true [Debug] **About to evaluate statement**: [ var@8 := true; var@2 := discriminant(l); switch (move var@2) { 0: isize => { var@8 := false; hd := move (l as test1::List::Cons).0; var@7 := false; tl := move (l as test1::List::Cons).1; var@5 := move hd; var@6 := move deref_box(tl); (var@0).0 := move var@5; (var@0).1 := move var@6; var@9 := move alloc::alloc::box_free>(move tl); return } _ => { panic } } ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : (T, test1::List) ; Some (l) -> s@0 : test1::List ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : T ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : T ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> true ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ var@8 := true ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : (T, test1::List) ; Some (l) -> s@0 : test1::List ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : T ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : T ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> true ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : (T, test1::List) ; Some (l) -> s@0 : test1::List ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : T ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : T ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> true ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } - op: true [Debug] **About to evaluate statement**: [ var@2 := discriminant(l); switch (move var@2) { 0: isize => { var@8 := false; hd := move (l as test1::List::Cons).0; var@7 := false; tl := move (l as test1::List::Cons).1; var@5 := move hd; var@6 := move deref_box(tl); (var@0).0 := move var@5; (var@0).1 := move var@6; var@9 := move alloc::alloc::box_free>(move tl); return } _ => { panic } } ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : (T, test1::List) ; Some (l) -> s@0 : test1::List ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : T ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : T ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> true ; Some (var@8) -> true ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ var@2 := discriminant(l) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : (T, test1::List) ; Some (l) -> s@0 : test1::List ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : T ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : T ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> true ; Some (var@8) -> true ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ switch (move var@2) { 0: isize => { var@8 := false; hd := move (l as test1::List::Cons).0; var@7 := false; tl := move (l as test1::List::Cons).1; var@5 := move hd; var@6 := move deref_box(tl); (var@0).0 := move var@5; (var@0).1 := move var@6; var@9 := move alloc::alloc::box_free>(move tl); return } _ => { panic } } ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : (T, test1::List) ; Some (l) -> test1::List::Cons { 0 = s@1 : T; 1 = s@2 : std::boxed::Box>; } ; Some (var@2) -> 0: isize ; Some (hd) -> ⊥ : T ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : T ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> true ; Some (var@8) -> true ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : (T, test1::List) ; Some (l) -> test1::List::Cons { 0 = s@1 : T; 1 = s@2 : std::boxed::Box>; } ; Some (var@2) -> 0: isize ; Some (hd) -> ⊥ : T ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : T ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> true ; Some (var@8) -> true ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } - op: move var@2 [Debug] **About to evaluate statement**: [ var@8 := false; hd := move (l as test1::List::Cons).0; var@7 := false; tl := move (l as test1::List::Cons).1; var@5 := move hd; var@6 := move deref_box(tl); (var@0).0 := move var@5; (var@0).1 := move var@6; var@9 := move alloc::alloc::box_free>(move tl); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : (T, test1::List) ; Some (l) -> test1::List::Cons { 0 = s@1 : T; 1 = s@2 : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : T ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : T ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> true ; Some (var@8) -> true ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ var@8 := false ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : (T, test1::List) ; Some (l) -> test1::List::Cons { 0 = s@1 : T; 1 = s@2 : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : T ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : T ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> true ; Some (var@8) -> true ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : (T, test1::List) ; Some (l) -> test1::List::Cons { 0 = s@1 : T; 1 = s@2 : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : T ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : T ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> true ; Some (var@8) -> true ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } - op: false [Debug] **About to evaluate statement**: [ hd := move (l as test1::List::Cons).0; var@7 := false; tl := move (l as test1::List::Cons).1; var@5 := move hd; var@6 := move deref_box(tl); (var@0).0 := move var@5; (var@0).1 := move var@6; var@9 := move alloc::alloc::box_free>(move tl); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : (T, test1::List) ; Some (l) -> test1::List::Cons { 0 = s@1 : T; 1 = s@2 : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : T ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : T ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> true ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ hd := move (l as test1::List::Cons).0 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : (T, test1::List) ; Some (l) -> test1::List::Cons { 0 = s@1 : T; 1 = s@2 : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : T ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : T ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> true ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : (T, test1::List) ; Some (l) -> test1::List::Cons { 0 = s@1 : T; 1 = s@2 : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : T ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : T ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> true ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } - op: move (l as test1::List::Cons).0 [Debug] **About to evaluate statement**: [ var@7 := false; tl := move (l as test1::List::Cons).1; var@5 := move hd; var@6 := move deref_box(tl); (var@0).0 := move var@5; (var@0).1 := move var@6; var@9 := move alloc::alloc::box_free>(move tl); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : (T, test1::List) ; Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = s@2 : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> s@1 : T ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : T ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> true ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ var@7 := false ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : (T, test1::List) ; Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = s@2 : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> s@1 : T ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : T ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> true ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : (T, test1::List) ; Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = s@2 : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> s@1 : T ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : T ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> true ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } - op: false [Debug] **About to evaluate statement**: [ tl := move (l as test1::List::Cons).1; var@5 := move hd; var@6 := move deref_box(tl); (var@0).0 := move var@5; (var@0).1 := move var@6; var@9 := move alloc::alloc::box_free>(move tl); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : (T, test1::List) ; Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = s@2 : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> s@1 : T ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : T ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ tl := move (l as test1::List::Cons).1 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : (T, test1::List) ; Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = s@2 : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> s@1 : T ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : T ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : (T, test1::List) ; Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = s@2 : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> s@1 : T ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : T ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } - op: move (l as test1::List::Cons).1 [Debug] **About to evaluate statement**: [ var@5 := move hd; var@6 := move deref_box(tl); (var@0).0 := move var@5; (var@0).1 := move var@6; var@9 := move alloc::alloc::box_free>(move tl); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : (T, test1::List) ; Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> s@1 : T ; Some (tl) -> s@2 : std::boxed::Box> ; Some (var@5) -> ⊥ : T ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ var@5 := move hd ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : (T, test1::List) ; Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> s@1 : T ; Some (tl) -> s@2 : std::boxed::Box> ; Some (var@5) -> ⊥ : T ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : (T, test1::List) ; Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> s@1 : T ; Some (tl) -> s@2 : std::boxed::Box> ; Some (var@5) -> ⊥ : T ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } - op: move hd [Debug] **About to evaluate statement**: [ var@6 := move deref_box(tl); (var@0).0 := move var@5; (var@0).1 := move var@6; var@9 := move alloc::alloc::box_free>(move tl); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : (T, test1::List) ; Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : T ; Some (tl) -> s@2 : std::boxed::Box> ; Some (var@5) -> s@1 : T ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ var@6 := move deref_box(tl) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : (T, test1::List) ; Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : T ; Some (tl) -> s@2 : std::boxed::Box> ; Some (var@5) -> s@1 : T ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : (T, test1::List) ; Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : T ; Some (tl) -> s@2 : std::boxed::Box> ; Some (var@5) -> s@1 : T ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } - op: move deref_box(tl) [Debug] expand_symbolic_value: s@2 : std::boxed::Box> - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : (T, test1::List) ; Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : T ; Some (tl) -> s@2 : std::boxed::Box> ; Some (var@5) -> s@1 : T ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } - new context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : (T, test1::List) ; Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : T ; Some (tl) -> @Box(s@3 : test1::List) ; Some (var@5) -> s@1 : T ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ (var@0).0 := move var@5; (var@0).1 := move var@6; var@9 := move alloc::alloc::box_free>(move tl); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : (T, test1::List) ; Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : T ; Some (tl) -> @Box(⊥ : test1::List) ; Some (var@5) -> s@1 : T ; Some (var@6) -> s@3 : test1::List ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ (var@0).0 := move var@5 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : (T, test1::List) ; Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : T ; Some (tl) -> @Box(⊥ : test1::List) ; Some (var@5) -> s@1 : T ; Some (var@6) -> s@3 : test1::List ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : (T, test1::List) ; Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : T ; Some (tl) -> @Box(⊥ : test1::List) ; Some (var@5) -> s@1 : T ; Some (var@6) -> s@3 : test1::List ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } - op: move var@5 [Debug] expand_bottom_value_from_projection: pe: (Expressions.Field ((Expressions.ProjTuple 2), 0)) ty: (Types.Adt (Types.Tuple, [], [(Types.TypeVar 0); (Types.Adt ((Types.AdtId 1), [], [(Types.TypeVar 0)])) ] )) [Debug] **About to evaluate statement**: [ (var@0).1 := move var@6; var@9 := move alloc::alloc::box_free>(move tl); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> (s@1 : T, ⊥ : test1::List) ; Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : T ; Some (tl) -> @Box(⊥ : test1::List) ; Some (var@5) -> ⊥ : T ; Some (var@6) -> s@3 : test1::List ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ (var@0).1 := move var@6 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> (s@1 : T, ⊥ : test1::List) ; Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : T ; Some (tl) -> @Box(⊥ : test1::List) ; Some (var@5) -> ⊥ : T ; Some (var@6) -> s@3 : test1::List ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> (s@1 : T, ⊥ : test1::List) ; Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : T ; Some (tl) -> @Box(⊥ : test1::List) ; Some (var@5) -> ⊥ : T ; Some (var@6) -> s@3 : test1::List ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } - op: move var@6 [Debug] **About to evaluate statement**: [ var@9 := move alloc::alloc::box_free>(move tl); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> (s@1 : T, s@3 : test1::List) ; Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : T ; Some (tl) -> @Box(⊥ : test1::List) ; Some (var@5) -> ⊥ : T ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ var@9 := move alloc::alloc::box_free>(move tl) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> (s@1 : T, s@3 : test1::List) ; Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : T ; Some (tl) -> @Box(⊥ : test1::List) ; Some (var@5) -> ⊥ : T ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] eval_non_local_function_call: - fid:CfimAst.BoxFree - type_params: [test1::List] - args: [move tl] - dest: var@9 [Debug] drop_value: place: tl [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> (s@1 : T, s@3 : test1::List) ; Some (l) -> test1::List::Cons { 0 = ⊥ : T; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : T ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : T ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> false ; Some (var@8) -> false ; Some (var@9) -> () ; Some (var@10) -> ⊥ : isize ; } [Debug] **About to evaluate statement**: [ switch (move var@2) { 0: isize => { var@8 := false; hd := move (l as test1::List::Cons).0; var@7 := false; tl := move (l as test1::List::Cons).1; var@5 := move hd; var@6 := move deref_box(tl); (var@0).0 := move var@5; (var@0).1 := move var@6; var@9 := move alloc::alloc::box_free>(move tl); return } _ => { panic } } ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : (T, test1::List) ; Some (l) -> test1::List::Nil ; Some (var@2) -> 1: isize ; Some (hd) -> ⊥ : T ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : T ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> true ; Some (var@8) -> true ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : (T, test1::List) ; Some (l) -> test1::List::Nil ; Some (var@2) -> 1: isize ; Some (hd) -> ⊥ : T ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : T ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> true ; Some (var@8) -> true ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } - op: move var@2 [Debug] **About to evaluate statement**: [ panic ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : (T, test1::List) ; Some (l) -> test1::List::Nil ; Some (var@2) -> ⊥ : isize ; Some (hd) -> ⊥ : T ; Some (tl) -> ⊥ : std::boxed::Box> ; Some (var@5) -> ⊥ : T ; Some (var@6) -> ⊥ : test1::List ; Some (var@7) -> true ; Some (var@8) -> true ; Some (var@9) -> ⊥ : () ; Some (var@10) -> ⊥ : isize ; } [Debug] test_function_symbolic: test_split_list [Debug] **About to evaluate statement**: [ set_discriminant(var@3, 1); var@2 := move alloc::boxed::Box>::new(move var@3); (l as test1::List::Cons).0 := 0: i32; (l as test1::List::Cons).1 := move var@2; set_discriminant(l, 0); var@7 := move l; var@6 := move split_list(move var@7); hd := copy (var@6).0; tl := move (var@6).1; var@10 := copy hd; var@9 := move var@10 == 0: i32; var@8 := ¬ move var@9; assert(¬move var@8); drop(tl); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ set_discriminant(var@3, 1) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@2 := move alloc::boxed::Box>::new(move var@3); (l as test1::List::Cons).0 := 0: i32; (l as test1::List::Cons).1 := move var@2; set_discriminant(l, 0); var@7 := move l; var@6 := move split_list(move var@7); hd := copy (var@6).0; tl := move (var@6).1; var@10 := copy hd; var@9 := move var@10 == 0: i32; var@8 := ¬ move var@9; assert(¬move var@8); drop(tl); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> test1::List::Nil ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@2 := move alloc::boxed::Box>::new(move var@3) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> test1::List::Nil ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; } [Debug] eval_non_local_function_call: - fid:CfimAst.BoxNew - type_params: [test1::List] - args: [move var@3] - dest: var@2 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> test1::List::Nil ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; } - op: move var@3 [Debug] **About to evaluate statement**: [ (l as test1::List::Cons).0 := 0: i32; (l as test1::List::Cons).1 := move var@2; set_discriminant(l, 0); var@7 := move l; var@6 := move split_list(move var@7); hd := copy (var@6).0; tl := move (var@6).1; var@10 := copy hd; var@9 := move var@10 == 0: i32; var@8 := ¬ move var@9; assert(¬move var@8); drop(tl); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> s@0 : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ (l as test1::List::Cons).0 := 0: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> s@0 : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> s@0 : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; } - op: 0: i32 [Debug] expand_bottom_value_from_projection: pe: (Expressions.Field ((Expressions.ProjAdt (1, (Some 0))), 0)) ty: (Types.Adt ((Types.AdtId 1), [], [(Types.Integer Types.I32)])) [Debug] **About to evaluate statement**: [ (l as test1::List::Cons).1 := move var@2; set_discriminant(l, 0); var@7 := move l; var@6 := move split_list(move var@7); hd := copy (var@6).0; tl := move (var@6).1; var@10 := copy hd; var@9 := move var@10 == 0: i32; var@8 := ¬ move var@9; assert(¬move var@8); drop(tl); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> s@0 : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ (l as test1::List::Cons).1 := move var@2 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> s@0 : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = ⊥ : std::boxed::Box>; } ; Some (var@2) -> s@0 : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; } - op: move var@2 [Debug] **About to evaluate statement**: [ set_discriminant(l, 0); var@7 := move l; var@6 := move split_list(move var@7); hd := copy (var@6).0; tl := move (var@6).1; var@10 := copy hd; var@9 := move var@10 == 0: i32; var@8 := ¬ move var@9; assert(¬move var@8); drop(tl); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box>; } ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ set_discriminant(l, 0) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box>; } ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@7 := move l; var@6 := move split_list(move var@7); hd := copy (var@6).0; tl := move (var@6).1; var@10 := copy hd; var@9 := move var@10 == 0: i32; var@8 := ¬ move var@9; assert(¬move var@8); drop(tl); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box>; } ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@7 := move l ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box>; } ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box>; } ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; } - op: move l [Debug] **About to evaluate statement**: [ var@6 := move split_list(move var@7); hd := copy (var@6).0; tl := move (var@6).1; var@10 := copy hd; var@9 := move var@10 == 0: i32; var@8 := ¬ move var@9; assert(¬move var@8); drop(tl); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box>; } ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@6 := move split_list(move var@7) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box>; } ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> ⊥ : (i32, test1::List) ; Some (var@7) -> test1::List::Cons { 0 = 0: i32; 1 = s@0 : std::boxed::Box>; } ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; } - op: move var@7 [Debug] **About to evaluate statement**: [ hd := copy (var@6).0; tl := move (var@6).1; var@10 := copy hd; var@9 := move var@10 == 0: i32; var@8 := ¬ move var@9; assert(¬move var@8); drop(tl); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> s@1 : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ hd := copy (var@6).0 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> s@1 : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> s@1 : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; } - op: copy (var@6).0 [Debug] expand_symbolic_value: s@1 : (i32, test1::List) - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> s@1 : (i32, test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; } - new context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> ⊥ : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> (s@2 : i32, s@3 : test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ tl := move (var@6).1; var@10 := copy hd; var@9 := move var@10 == 0: i32; var@8 := ¬ move var@9; assert(¬move var@8); drop(tl); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> s@2 : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> (s@2 : i32, s@3 : test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ tl := move (var@6).1 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> s@2 : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> (s@2 : i32, s@3 : test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> s@2 : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> (s@2 : i32, s@3 : test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; } - op: move (var@6).1 [Debug] **About to evaluate statement**: [ var@10 := copy hd; var@9 := move var@10 == 0: i32; var@8 := ¬ move var@9; assert(¬move var@8); drop(tl); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> s@2 : i32 ; Some (tl) -> s@3 : test1::List ; Some (var@6) -> (s@2 : i32, ⊥ : test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@10 := copy hd ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> s@2 : i32 ; Some (tl) -> s@3 : test1::List ; Some (var@6) -> (s@2 : i32, ⊥ : test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> s@2 : i32 ; Some (tl) -> s@3 : test1::List ; Some (var@6) -> (s@2 : i32, ⊥ : test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; } - op: copy hd [Debug] **About to evaluate statement**: [ var@9 := move var@10 == 0: i32; var@8 := ¬ move var@9; assert(¬move var@8); drop(tl); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> s@2 : i32 ; Some (tl) -> s@3 : test1::List ; Some (var@6) -> (s@2 : i32, ⊥ : test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> s@2 : i32 ; } [Debug] **About to evaluate statement**: [ var@9 := move var@10 == 0: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> s@2 : i32 ; Some (tl) -> s@3 : test1::List ; Some (var@6) -> (s@2 : i32, ⊥ : test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> s@2 : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> s@2 : i32 ; Some (tl) -> s@3 : test1::List ; Some (var@6) -> (s@2 : i32, ⊥ : test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> s@2 : i32 ; } - op: move var@10 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> s@2 : i32 ; Some (tl) -> s@3 : test1::List ; Some (var@6) -> (s@2 : i32, ⊥ : test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; } - op: 0: i32 [Debug] **About to evaluate statement**: [ var@8 := ¬ move var@9; assert(¬move var@8); drop(tl); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> s@2 : i32 ; Some (tl) -> s@3 : test1::List ; Some (var@6) -> (s@2 : i32, ⊥ : test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> s@4 : bool ; Some (var@10) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@8 := ¬ move var@9 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> s@2 : i32 ; Some (tl) -> s@3 : test1::List ; Some (var@6) -> (s@2 : i32, ⊥ : test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> s@4 : bool ; Some (var@10) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> s@2 : i32 ; Some (tl) -> s@3 : test1::List ; Some (var@6) -> (s@2 : i32, ⊥ : test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> s@4 : bool ; Some (var@10) -> ⊥ : i32 ; } - op: move var@9 [Debug] **About to evaluate statement**: [ assert(¬move var@8); drop(tl); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> s@2 : i32 ; Some (tl) -> s@3 : test1::List ; Some (var@6) -> (s@2 : i32, ⊥ : test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> s@5 : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ assert(¬move var@8) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> s@2 : i32 ; Some (tl) -> s@3 : test1::List ; Some (var@6) -> (s@2 : i32, ⊥ : test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> s@5 : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> s@2 : i32 ; Some (tl) -> s@3 : test1::List ; Some (var@6) -> (s@2 : i32, ⊥ : test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> true ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; } - op: move var@8 [Debug] **About to evaluate statement**: [ drop(tl); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> s@2 : i32 ; Some (tl) -> s@3 : test1::List ; Some (var@6) -> (s@2 : i32, ⊥ : test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ drop(tl) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> s@2 : i32 ; Some (tl) -> s@3 : test1::List ; Some (var@6) -> (s@2 : i32, ⊥ : test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; } [Debug] drop_value: place: tl [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (l) -> ⊥ : test1::List ; Some (var@2) -> ⊥ : std::boxed::Box> ; Some (var@3) -> ⊥ : test1::List ; Some (hd) -> s@2 : i32 ; Some (tl) -> ⊥ : test1::List ; Some (var@6) -> (s@2 : i32, ⊥ : test1::List) ; Some (var@7) -> ⊥ : test1::List ; Some (var@8) -> ⊥ : bool ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : i32 ; } [Debug] test_function_symbolic: get_elem [Debug] **About to evaluate statement**: [ var@4 := copy b; if (move var@4) { var@0 := &mut *(x) } else { var@0 := move y }; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { proj_loans (s@0 : bool), proj_loans (s@1 : &r@0 mut (T)), proj_loans (s@2 : &r@0 mut (T)) } Some (var@0) -> ⊥ : &'_ mut (T) ; Some (b) -> s@0 : bool ; Some (x) -> s@1 : &r@0 mut (T) ; Some (y) -> s@2 : &r@0 mut (T) ; Some (var@4) -> ⊥ : bool ; } [Debug] **About to evaluate statement**: [ var@4 := copy b ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { proj_loans (s@0 : bool), proj_loans (s@1 : &r@0 mut (T)), proj_loans (s@2 : &r@0 mut (T)) } Some (var@0) -> ⊥ : &'_ mut (T) ; Some (b) -> s@0 : bool ; Some (x) -> s@1 : &r@0 mut (T) ; Some (y) -> s@2 : &r@0 mut (T) ; Some (var@4) -> ⊥ : bool ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { proj_loans (s@0 : bool), proj_loans (s@1 : &r@0 mut (T)), proj_loans (s@2 : &r@0 mut (T)) } Some (var@0) -> ⊥ : &'_ mut (T) ; Some (b) -> s@0 : bool ; Some (x) -> s@1 : &r@0 mut (T) ; Some (y) -> s@2 : &r@0 mut (T) ; Some (var@4) -> ⊥ : bool ; } - op: copy b [Debug] **About to evaluate statement**: [ if (move var@4) { var@0 := &mut *(x) } else { var@0 := move y }; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { proj_loans (s@0 : bool), proj_loans (s@1 : &r@0 mut (T)), proj_loans (s@2 : &r@0 mut (T)) } Some (var@0) -> ⊥ : &'_ mut (T) ; Some (b) -> s@0 : bool ; Some (x) -> s@1 : &r@0 mut (T) ; Some (y) -> s@2 : &r@0 mut (T) ; Some (var@4) -> s@0 : bool ; } [Debug] **About to evaluate statement**: [ if (move var@4) { var@0 := &mut *(x) } else { var@0 := move y } ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { proj_loans (s@0 : bool), proj_loans (s@1 : &r@0 mut (T)), proj_loans (s@2 : &r@0 mut (T)) } Some (var@0) -> ⊥ : &'_ mut (T) ; Some (b) -> s@0 : bool ; Some (x) -> s@1 : &r@0 mut (T) ; Some (y) -> s@2 : &r@0 mut (T) ; Some (var@4) -> s@0 : bool ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { true, proj_loans (s@1 : &r@0 mut (T)), proj_loans (s@2 : &r@0 mut (T)) } Some (var@0) -> ⊥ : &'_ mut (T) ; Some (b) -> true ; Some (x) -> s@1 : &r@0 mut (T) ; Some (y) -> s@2 : &r@0 mut (T) ; Some (var@4) -> true ; } - op: move var@4 [Debug] **About to evaluate statement**: [ var@0 := &mut *(x) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { true, proj_loans (s@1 : &r@0 mut (T)), proj_loans (s@2 : &r@0 mut (T)) } Some (var@0) -> ⊥ : &'_ mut (T) ; Some (b) -> true ; Some (x) -> s@1 : &r@0 mut (T) ; Some (y) -> s@2 : &r@0 mut (T) ; Some (var@4) -> ⊥ : bool ; } [Debug] expand_symbolic_value: s@1 : &r@0 mut (T) - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { true, proj_loans (s@1 : &r@0 mut (T)), proj_loans (s@2 : &r@0 mut (T)) } Some (var@0) -> ⊥ : &'_ mut (T) ; Some (b) -> true ; Some (x) -> s@1 : &r@0 mut (T) ; Some (y) -> s@2 : &r@0 mut (T) ; Some (var@4) -> ⊥ : bool ; } - new context: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { true, ⌊mut@0, proj_loans (s@3 : T)⌋, proj_loans (s@2 : &r@0 mut (T)) } Some (var@0) -> ⊥ : &'_ mut (T) ; Some (b) -> true ; Some (x) -> &mut@0 (s@3 : T) ; Some (y) -> s@2 : &r@0 mut (T) ; Some (var@4) -> ⊥ : bool ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { false, proj_loans (s@1 : &r@0 mut (T)), proj_loans (s@2 : &r@0 mut (T)) } Some (var@0) -> ⊥ : &'_ mut (T) ; Some (b) -> false ; Some (x) -> s@1 : &r@0 mut (T) ; Some (y) -> s@2 : &r@0 mut (T) ; Some (var@4) -> false ; } - op: move var@4 [Debug] **About to evaluate statement**: [ var@0 := move y ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { false, proj_loans (s@1 : &r@0 mut (T)), proj_loans (s@2 : &r@0 mut (T)) } Some (var@0) -> ⊥ : &'_ mut (T) ; Some (b) -> false ; Some (x) -> s@1 : &r@0 mut (T) ; Some (y) -> s@2 : &r@0 mut (T) ; Some (var@4) -> ⊥ : bool ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { false, proj_loans (s@1 : &r@0 mut (T)), proj_loans (s@2 : &r@0 mut (T)) } Some (var@0) -> ⊥ : &'_ mut (T) ; Some (b) -> false ; Some (x) -> s@1 : &r@0 mut (T) ; Some (y) -> s@2 : &r@0 mut (T) ; Some (var@4) -> ⊥ : bool ; } - op: move y [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { true, ⌊mut@0, proj_loans (s@3 : T)⌋, proj_loans (s@2 : &r@0 mut (T)) } Some (var@0) -> &mut@1 (s@3 : T) ; Some (b) -> true ; Some (x) -> &mut@0 (⌊mut@1⌋) ; Some (y) -> s@2 : &r@0 mut (T) ; Some (var@4) -> ⊥ : bool ; } [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { false, proj_loans (s@1 : &r@0 mut (T)), proj_loans (s@2 : &r@0 mut (T)) } Some (var@0) -> s@2 : &r@0 mut (T) ; Some (b) -> false ; Some (x) -> s@1 : &r@0 mut (T) ; Some (y) -> ⊥ : &'_ mut (T) ; Some (var@4) -> ⊥ : bool ; } [Debug] test_function_symbolic: get_elem_test [Debug] **About to evaluate statement**: [ x := 0: i32; y := 0: i32; var@5 := &mut x; var@4 := &two-phase *(var@5); var@7 := &mut y; var@6 := &two-phase *(var@7); z := move get_elem(true, move var@4, move var@6); var@8 := copy *(z); *(z) := copy var@8 + 1: i32; var@12 := copy *(z); var@11 := move var@12 == 1: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy x; var@14 := move var@15 == 1: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 0: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : i32 ; Some (y) -> ⊥ : i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ x := 0: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : i32 ; Some (y) -> ⊥ : i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : i32 ; Some (y) -> ⊥ : i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: 0: i32 [Debug] **About to evaluate statement**: [ y := 0: i32; var@5 := &mut x; var@4 := &two-phase *(var@5); var@7 := &mut y; var@6 := &two-phase *(var@7); z := move get_elem(true, move var@4, move var@6); var@8 := copy *(z); *(z) := copy var@8 + 1: i32; var@12 := copy *(z); var@11 := move var@12 == 1: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy x; var@14 := move var@15 == 1: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 0: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⊥ : i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ y := 0: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⊥ : i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> ⊥ : i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: 0: i32 [Debug] **About to evaluate statement**: [ var@5 := &mut x; var@4 := &two-phase *(var@5); var@7 := &mut y; var@6 := &two-phase *(var@7); z := move get_elem(true, move var@4, move var@6); var@8 := copy *(z); *(z) := copy var@8 + 1: i32; var@12 := copy *(z); var@11 := move var@12 == 1: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy x; var@14 := move var@15 == 1: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 0: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> 0: i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@5 := &mut x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (y) -> 0: i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@4 := &two-phase *(var@5); var@7 := &mut y; var@6 := &two-phase *(var@7); z := move get_elem(true, move var@4, move var@6); var@8 := copy *(z); *(z) := copy var@8 + 1: i32; var@12 := copy *(z); var@11 := move var@12 == 1: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy x; var@14 := move var@15 == 1: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 0: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> 0: i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (0: i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@4 := &two-phase *(var@5) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> 0: i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (0: i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@7 := &mut y; var@6 := &two-phase *(var@7); z := move get_elem(true, move var@4, move var@6); var@8 := copy *(z); *(z) := copy var@8 + 1: i32; var@12 := copy *(z); var@11 := move var@12 == 1: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy x; var@14 := move var@15 == 1: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 0: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> 0: i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⌊inactivated_mut@1⌋ ; Some (var@5) -> &mut@0 (@shared_loan({1}, 0: i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@7 := &mut y ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> 0: i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⌊inactivated_mut@1⌋ ; Some (var@5) -> &mut@0 (@shared_loan({1}, 0: i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@6 := &two-phase *(var@7); z := move get_elem(true, move var@4, move var@6); var@8 := copy *(z); *(z) := copy var@8 + 1: i32; var@12 := copy *(z); var@11 := move var@12 == 1: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy x; var@14 := move var@15 == 1: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 0: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⌊inactivated_mut@1⌋ ; Some (var@5) -> &mut@0 (@shared_loan({1}, 0: i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (0: i32) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@6 := &two-phase *(var@7) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⌊inactivated_mut@1⌋ ; Some (var@5) -> &mut@0 (@shared_loan({1}, 0: i32)) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (0: i32) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ z := move get_elem(true, move var@4, move var@6); var@8 := copy *(z); *(z) := copy var@8 + 1: i32; var@12 := copy *(z); var@11 := move var@12 == 1: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy x; var@14 := move var@15 == 1: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 0: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⌊inactivated_mut@1⌋ ; Some (var@5) -> &mut@0 (@shared_loan({1}, 0: i32)) ; Some (var@6) -> ⌊inactivated_mut@3⌋ ; Some (var@7) -> &mut@2 (@shared_loan({3}, 0: i32)) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ z := move get_elem(true, move var@4, move var@6) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⌊inactivated_mut@1⌋ ; Some (var@5) -> &mut@0 (@shared_loan({1}, 0: i32)) ; Some (var@6) -> ⌊inactivated_mut@3⌋ ; Some (var@7) -> &mut@2 (@shared_loan({3}, 0: i32)) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] activate_inactivated_mut_borrow: resulting value: 0: i32 [Debug] activate_inactivated_mut_borrow: resulting value: 0: i32 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> &mut@1 (0: i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> &mut@3 (0: i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: true [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> &mut@1 (0: i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> &mut@3 (0: i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: move var@4 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> &mut@3 (0: i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: move var@6 [Debug] **About to evaluate statement**: [ var@8 := copy *(z); *(z) := copy var@8 + 1: i32; var@12 := copy *(z); var@11 := move var@12 == 1: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy x; var@14 := move var@15 == 1: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 0: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> s@0 : &r@0 mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), &mut@3 (0: i32), proj_loans (s@0 : &r@0 mut (i32)) } } [Debug] **About to evaluate statement**: [ var@8 := copy *(z) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> s@0 : &r@0 mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), &mut@3 (0: i32), proj_loans (s@0 : &r@0 mut (i32)) } } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> s@0 : &r@0 mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), &mut@3 (0: i32), proj_loans (s@0 : &r@0 mut (i32)) } } - op: copy *(z) [Debug] expand_symbolic_value: s@0 : &r@0 mut (i32) - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> s@0 : &r@0 mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), &mut@3 (0: i32), proj_loans (s@0 : &r@0 mut (i32)) } } - new context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (s@1 : i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), &mut@3 (0: i32), ⌊mut@4, proj_loans (s@1 : i32)⌋ } } [Debug] **About to evaluate statement**: [ *(z) := copy var@8 + 1: i32; var@12 := copy *(z); var@11 := move var@12 == 1: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy x; var@14 := move var@15 == 1: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 0: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (s@1 : i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), &mut@3 (0: i32), ⌊mut@4, proj_loans (s@1 : i32)⌋ } } [Debug] **About to evaluate statement**: [ *(z) := copy var@8 + 1: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (s@1 : i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), &mut@3 (0: i32), ⌊mut@4, proj_loans (s@1 : i32)⌋ } } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (s@1 : i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), &mut@3 (0: i32), ⌊mut@4, proj_loans (s@1 : i32)⌋ } } - op: copy var@8 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (s@1 : i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), &mut@3 (0: i32), ⌊mut@4, proj_loans (s@1 : i32)⌋ } } - op: 1: i32 [Debug] **About to evaluate statement**: [ var@12 := copy *(z); var@11 := move var@12 == 1: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy x; var@14 := move var@15 == 1: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 0: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (s@2 : i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), &mut@3 (0: i32), ⌊mut@4, proj_loans (s@1 : i32)⌋ } } [Debug] **About to evaluate statement**: [ var@12 := copy *(z) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (s@2 : i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), &mut@3 (0: i32), ⌊mut@4, proj_loans (s@1 : i32)⌋ } } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (s@2 : i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), &mut@3 (0: i32), ⌊mut@4, proj_loans (s@1 : i32)⌋ } } - op: copy *(z) [Debug] **About to evaluate statement**: [ var@11 := move var@12 == 1: i32; var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy x; var@14 := move var@15 == 1: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 0: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (s@2 : i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> s@2 : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), &mut@3 (0: i32), ⌊mut@4, proj_loans (s@1 : i32)⌋ } } [Debug] **About to evaluate statement**: [ var@11 := move var@12 == 1: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (s@2 : i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> s@2 : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), &mut@3 (0: i32), ⌊mut@4, proj_loans (s@1 : i32)⌋ } } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (s@2 : i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> s@2 : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), &mut@3 (0: i32), ⌊mut@4, proj_loans (s@1 : i32)⌋ } } - op: move var@12 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (s@2 : i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), &mut@3 (0: i32), ⌊mut@4, proj_loans (s@1 : i32)⌋ } } - op: 1: i32 [Debug] **About to evaluate statement**: [ var@10 := ¬ move var@11; assert(¬move var@10); var@15 := copy x; var@14 := move var@15 == 1: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 0: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (s@2 : i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> s@3 : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), &mut@3 (0: i32), ⌊mut@4, proj_loans (s@1 : i32)⌋ } } [Debug] **About to evaluate statement**: [ var@10 := ¬ move var@11 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (s@2 : i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> s@3 : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), &mut@3 (0: i32), ⌊mut@4, proj_loans (s@1 : i32)⌋ } } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (s@2 : i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> s@3 : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), &mut@3 (0: i32), ⌊mut@4, proj_loans (s@1 : i32)⌋ } } - op: move var@11 [Debug] **About to evaluate statement**: [ assert(¬move var@10); var@15 := copy x; var@14 := move var@15 == 1: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 0: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (s@2 : i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> s@4 : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), &mut@3 (0: i32), ⌊mut@4, proj_loans (s@1 : i32)⌋ } } [Debug] **About to evaluate statement**: [ assert(¬move var@10) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (s@2 : i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> s@4 : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), &mut@3 (0: i32), ⌊mut@4, proj_loans (s@1 : i32)⌋ } } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (s@2 : i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> true ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), &mut@3 (0: i32), ⌊mut@4, proj_loans (s@1 : i32)⌋ } } - op: move var@10 [Debug] **About to evaluate statement**: [ var@15 := copy x; var@14 := move var@15 == 1: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 0: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (s@2 : i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), &mut@3 (0: i32), ⌊mut@4, proj_loans (s@1 : i32)⌋ } } [Debug] **About to evaluate statement**: [ var@15 := copy x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (s@2 : i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), &mut@3 (0: i32), ⌊mut@4, proj_loans (s@1 : i32)⌋ } } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (s@2 : i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), &mut@3 (0: i32), ⌊mut@4, proj_loans (s@1 : i32)⌋ } } - op: copy x [Debug] end borrow: 0: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (s@2 : i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), &mut@3 (0: i32), ⌊mut@4, proj_loans (s@1 : i32)⌋ } } [Debug] end borrow: 0: found outer borrows/abs:(InterpreterBorrowsCore.InnerLoans (InterpreterBorrowsCore.Borrow 1)) [Debug] end borrow: 1: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (s@2 : i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), &mut@3 (0: i32), ⌊mut@4, proj_loans (s@1 : i32)⌋ } } [Debug] end borrow: 1: found outer borrows/abs:(InterpreterBorrowsCore.OuterAbs 0) [Debug] end_abstraction: 0 - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (s@2 : i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), &mut@3 (0: i32), ⌊mut@4, proj_loans (s@1 : i32)⌋ } } [Debug] end_abstraction: 0 - context after parent abstractions ended: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (s@2 : i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), &mut@3 (0: i32), ⌊mut@4, proj_loans (s@1 : i32)⌋ } } [Debug] end borrow: 4: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (s@2 : i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), &mut@3 (0: i32), ⌊mut@4, proj_loans (s@1 : i32)⌋ } } [Debug] give_back: - bid: 4 - content: &mut@4 (s@2 : i32) - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), &mut@3 (0: i32), ⌊mut@4, proj_loans (s@1 : i32)⌋ } } [Debug] give_back_value: - bid: 4 - value: s@2 : i32 - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), &mut@3 (0: i32), ⌊mut@4, proj_loans (s@1 : i32)⌋ } } [Debug] end_abstraction: 0 - context after loans ended: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), &mut@3 (0: i32), @ended_mut_loan{ given_back=proj_borrows (s@2 : i32 <: i32); child=proj_loans (s@1 : i32) } } } [Debug] give_back_value: - bid: 1 - value: s@5 : i32 - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, ⊥ : &r@0 mut (i32), &mut@3 (0: i32), @ended_mut_loan{ given_back=proj_borrows (s@2 : i32 <: i32); child=proj_loans (s@1 : i32) } } } [Debug] give_back_value: - bid: 3 - value: s@6 : i32 - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (s@5 : i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, ⊥ : &r@0 mut (i32), ⊥ : &r@0 mut (i32), @ended_mut_loan{ given_back=proj_borrows (s@2 : i32 <: i32); child=proj_loans (s@1 : i32) } } } [Debug] end_abstraction: 0 - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> &mut@4 (s@2 : i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (⌊mut@1⌋) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (⌊mut@3⌋) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { true, &mut@1 (0: i32), &mut@3 (0: i32), ⌊mut@4, proj_loans (s@1 : i32)⌋ } } - new context: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (s@5 : i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (s@6 : i32) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] end borrow: 0: - original context: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> &mut@0 (s@5 : i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (s@6 : i32) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] give_back: - bid: 0 - content: &mut@0 (s@5 : i32) - context: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (s@6 : i32) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] give_back_value: - bid: 0 - value: s@5 : i32 - context: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (s@6 : i32) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@14 := move var@15 == 1: i32; var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 0: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@5 : i32 ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (s@6 : i32) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> s@5 : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@14 := move var@15 == 1: i32 ] **Context**: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@5 : i32 ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (s@6 : i32) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> s@5 : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@5 : i32 ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (s@6 : i32) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> s@5 : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: move var@15 [Debug] eval_operand: - ctx: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@5 : i32 ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (s@6 : i32) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: 1: i32 [Debug] **About to evaluate statement**: [ var@13 := ¬ move var@14; assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 0: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@5 : i32 ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (s@6 : i32) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> s@7 : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@13 := ¬ move var@14 ] **Context**: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@5 : i32 ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (s@6 : i32) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> s@7 : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@5 : i32 ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (s@6 : i32) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> s@7 : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: move var@14 [Debug] **About to evaluate statement**: [ assert(¬move var@13); var@18 := copy y; var@17 := move var@18 == 0: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@5 : i32 ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (s@6 : i32) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> s@8 : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ assert(¬move var@13) ] **Context**: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@5 : i32 ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (s@6 : i32) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> s@8 : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@5 : i32 ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (s@6 : i32) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> true ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: move var@13 [Debug] **About to evaluate statement**: [ var@18 := copy y; var@17 := move var@18 == 0: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@5 : i32 ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (s@6 : i32) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@18 := copy y ] **Context**: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@5 : i32 ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (s@6 : i32) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@5 : i32 ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (s@6 : i32) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: copy y [Debug] end borrow: 2: - original context: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@5 : i32 ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> &mut@2 (s@6 : i32) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] give_back: - bid: 2 - content: &mut@2 (s@6 : i32) - context: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@5 : i32 ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] give_back_value: - bid: 2 - value: s@6 : i32 - context: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@5 : i32 ; Some (y) -> ⌊mut@2⌋ ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@17 := move var@18 == 0: i32; var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@5 : i32 ; Some (y) -> s@6 : i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> s@6 : i32 ; } [Debug] **About to evaluate statement**: [ var@17 := move var@18 == 0: i32 ] **Context**: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@5 : i32 ; Some (y) -> s@6 : i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> s@6 : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@5 : i32 ; Some (y) -> s@6 : i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> s@6 : i32 ; } - op: move var@18 [Debug] eval_operand: - ctx: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@5 : i32 ; Some (y) -> s@6 : i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: 0: i32 [Debug] **About to evaluate statement**: [ var@16 := ¬ move var@17; assert(¬move var@16); return ] **Context**: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@5 : i32 ; Some (y) -> s@6 : i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> s@9 : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@16 := ¬ move var@17 ] **Context**: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@5 : i32 ; Some (y) -> s@6 : i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> s@9 : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@5 : i32 ; Some (y) -> s@6 : i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> s@9 : bool ; Some (var@18) -> ⊥ : i32 ; } - op: move var@17 [Debug] **About to evaluate statement**: [ assert(¬move var@16); return ] **Context**: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@5 : i32 ; Some (y) -> s@6 : i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> s@10 : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ assert(¬move var@16) ] **Context**: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@5 : i32 ; Some (y) -> s@6 : i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> s@10 : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@5 : i32 ; Some (y) -> s@6 : i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> true ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } - op: move var@16 [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@5 : i32 ; Some (y) -> s@6 : i32 ; Some (z) -> ⊥ : &'_ mut (i32) ; Some (var@4) -> ⊥ : &'_ mut (i32) ; Some (var@5) -> ⊥ : &'_ mut (i32) ; Some (var@6) -> ⊥ : &'_ mut (i32) ; Some (var@7) -> ⊥ : &'_ mut (i32) ; Some (var@8) -> s@1 : i32 ; Some (var@9) -> ⊥ : (i32, bool) ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : i32 ; Some (var@13) -> ⊥ : bool ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : i32 ; Some (var@16) -> ⊥ : bool ; Some (var@17) -> ⊥ : bool ; Some (var@18) -> ⊥ : i32 ; } [Debug] test_function_symbolic: id_mut_mut [Debug] **About to evaluate statement**: [ var@2 := &mut *(x); var@0 := &mut *(var@2); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { proj_loans (s@0 : &r@0 mut (&r@1 mut (T))) } abs@1{parents={0}}{regions={1}} { proj_loans (s@0 : &r@0 mut (&r@1 mut (T))) } Some (var@0) -> ⊥ : &'_ mut (&'_ mut (T)) ; Some (x) -> s@0 : &r@0 mut (&r@1 mut (T)) ; Some (var@2) -> ⊥ : &'_ mut (&'_ mut (T)) ; } [Debug] **About to evaluate statement**: [ var@2 := &mut *(x) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { proj_loans (s@0 : &r@0 mut (&r@1 mut (T))) } abs@1{parents={0}}{regions={1}} { proj_loans (s@0 : &r@0 mut (&r@1 mut (T))) } Some (var@0) -> ⊥ : &'_ mut (&'_ mut (T)) ; Some (x) -> s@0 : &r@0 mut (&r@1 mut (T)) ; Some (var@2) -> ⊥ : &'_ mut (&'_ mut (T)) ; } [Debug] expand_symbolic_value: s@0 : &r@0 mut (&r@1 mut (T)) - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { proj_loans (s@0 : &r@0 mut (&r@1 mut (T))) } abs@1{parents={0}}{regions={1}} { proj_loans (s@0 : &r@0 mut (&r@1 mut (T))) } Some (var@0) -> ⊥ : &'_ mut (&'_ mut (T)) ; Some (x) -> s@0 : &r@0 mut (&r@1 mut (T)) ; Some (var@2) -> ⊥ : &'_ mut (&'_ mut (T)) ; } - new context: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { ⌊mut@0, proj_loans (s@1 : &r@1 mut (T))⌋ } abs@1{parents={0}}{regions={1}} { @ignored_mut_loan(0, proj_loans (s@1 : &r@1 mut (T))) } Some (var@0) -> ⊥ : &'_ mut (&'_ mut (T)) ; Some (x) -> &mut@0 (s@1 : &r@1 mut (T)) ; Some (var@2) -> ⊥ : &'_ mut (&'_ mut (T)) ; } [Debug] **About to evaluate statement**: [ var@0 := &mut *(var@2); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { ⌊mut@0, proj_loans (s@1 : &r@1 mut (T))⌋ } abs@1{parents={0}}{regions={1}} { @ignored_mut_loan(0, proj_loans (s@1 : &r@1 mut (T))) } Some (var@0) -> ⊥ : &'_ mut (&'_ mut (T)) ; Some (x) -> &mut@0 (⌊mut@1⌋) ; Some (var@2) -> &mut@1 (s@1 : &r@1 mut (T)) ; } [Debug] **About to evaluate statement**: [ var@0 := &mut *(var@2) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { ⌊mut@0, proj_loans (s@1 : &r@1 mut (T))⌋ } abs@1{parents={0}}{regions={1}} { @ignored_mut_loan(0, proj_loans (s@1 : &r@1 mut (T))) } Some (var@0) -> ⊥ : &'_ mut (&'_ mut (T)) ; Some (x) -> &mut@0 (⌊mut@1⌋) ; Some (var@2) -> &mut@1 (s@1 : &r@1 mut (T)) ; } [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { ⌊mut@0, proj_loans (s@1 : &r@1 mut (T))⌋ } abs@1{parents={0}}{regions={1}} { @ignored_mut_loan(0, proj_loans (s@1 : &r@1 mut (T))) } Some (var@0) -> &mut@2 (s@1 : &r@1 mut (T)) ; Some (x) -> &mut@0 (⌊mut@1⌋) ; Some (var@2) -> &mut@1 (⌊mut@2⌋) ; } [Debug] test_function_symbolic: id_mut_pair [Debug] **About to evaluate statement**: [ var@2 := &mut *(x); var@0 := &mut *(var@2); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { proj_loans (s@0 : &r@0 mut ((&r@0 mut (T), u32))) } Some (var@0) -> ⊥ : &'_ mut ((&'_ mut (T), u32)) ; Some (x) -> s@0 : &r@0 mut ((&r@0 mut (T), u32)) ; Some (var@2) -> ⊥ : &'_ mut ((&'_ mut (T), u32)) ; } [Debug] **About to evaluate statement**: [ var@2 := &mut *(x) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { proj_loans (s@0 : &r@0 mut ((&r@0 mut (T), u32))) } Some (var@0) -> ⊥ : &'_ mut ((&'_ mut (T), u32)) ; Some (x) -> s@0 : &r@0 mut ((&r@0 mut (T), u32)) ; Some (var@2) -> ⊥ : &'_ mut ((&'_ mut (T), u32)) ; } [Debug] expand_symbolic_value: s@0 : &r@0 mut ((&r@0 mut (T), u32)) - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { proj_loans (s@0 : &r@0 mut ((&r@0 mut (T), u32))) } Some (var@0) -> ⊥ : &'_ mut ((&'_ mut (T), u32)) ; Some (x) -> s@0 : &r@0 mut ((&r@0 mut (T), u32)) ; Some (var@2) -> ⊥ : &'_ mut ((&'_ mut (T), u32)) ; } - new context: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { ⌊mut@0, proj_loans (s@1 : (&r@0 mut (T), u32))⌋ } Some (var@0) -> ⊥ : &'_ mut ((&'_ mut (T), u32)) ; Some (x) -> &mut@0 (s@1 : (&r@0 mut (T), u32)) ; Some (var@2) -> ⊥ : &'_ mut ((&'_ mut (T), u32)) ; } [Debug] **About to evaluate statement**: [ var@0 := &mut *(var@2); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { ⌊mut@0, proj_loans (s@1 : (&r@0 mut (T), u32))⌋ } Some (var@0) -> ⊥ : &'_ mut ((&'_ mut (T), u32)) ; Some (x) -> &mut@0 (⌊mut@1⌋) ; Some (var@2) -> &mut@1 (s@1 : (&r@0 mut (T), u32)) ; } [Debug] **About to evaluate statement**: [ var@0 := &mut *(var@2) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { ⌊mut@0, proj_loans (s@1 : (&r@0 mut (T), u32))⌋ } Some (var@0) -> ⊥ : &'_ mut ((&'_ mut (T), u32)) ; Some (x) -> &mut@0 (⌊mut@1⌋) ; Some (var@2) -> &mut@1 (s@1 : (&r@0 mut (T), u32)) ; } [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { ⌊mut@0, proj_loans (s@1 : (&r@0 mut (T), u32))⌋ } Some (var@0) -> &mut@2 (s@1 : (&r@0 mut (T), u32)) ; Some (x) -> &mut@0 (⌊mut@1⌋) ; Some (var@2) -> &mut@1 (⌊mut@2⌋) ; } [Debug] test_function_symbolic: id_mut_pair_test1 [Debug] **About to evaluate statement**: [ x := 0: u32; px := &mut x; var@4 := move px; (p).0 := move var@4; (p).1 := 1: u32; pp0 := &mut p; var@7 := &two-phase *(pp0); pp1 := move id_mut_pair(move var@7); y := 2: u32; var@10 := &mut y; var@9 := &mut *(var@10); *((pp1).0) := move var@9; *((pp1).1) := 3: u32; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⊥ : (&'_ mut (u32), u32) ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } [Debug] **About to evaluate statement**: [ x := 0: u32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⊥ : (&'_ mut (u32), u32) ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⊥ : (&'_ mut (u32), u32) ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } - op: 0: u32 [Debug] **About to evaluate statement**: [ px := &mut x; var@4 := move px; (p).0 := move var@4; (p).1 := 1: u32; pp0 := &mut p; var@7 := &two-phase *(pp0); pp1 := move id_mut_pair(move var@7); y := 2: u32; var@10 := &mut y; var@9 := &mut *(var@10); *((pp1).0) := move var@9; *((pp1).1) := 3: u32; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: u32 ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⊥ : (&'_ mut (u32), u32) ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } [Debug] **About to evaluate statement**: [ px := &mut x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: u32 ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⊥ : (&'_ mut (u32), u32) ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } [Debug] **About to evaluate statement**: [ var@4 := move px; (p).0 := move var@4; (p).1 := 1: u32; pp0 := &mut p; var@7 := &two-phase *(pp0); pp1 := move id_mut_pair(move var@7); y := 2: u32; var@10 := &mut y; var@9 := &mut *(var@10); *((pp1).0) := move var@9; *((pp1).1) := 3: u32; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@0 (0: u32) ; Some (p) -> ⊥ : (&'_ mut (u32), u32) ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } [Debug] **About to evaluate statement**: [ var@4 := move px ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@0 (0: u32) ; Some (p) -> ⊥ : (&'_ mut (u32), u32) ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@0 (0: u32) ; Some (p) -> ⊥ : (&'_ mut (u32), u32) ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } - op: move px [Debug] **About to evaluate statement**: [ (p).0 := move var@4; (p).1 := 1: u32; pp0 := &mut p; var@7 := &two-phase *(pp0); pp1 := move id_mut_pair(move var@7); y := 2: u32; var@10 := &mut y; var@9 := &mut *(var@10); *((pp1).0) := move var@9; *((pp1).1) := 3: u32; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⊥ : (&'_ mut (u32), u32) ; Some (var@4) -> &mut@0 (0: u32) ; Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } [Debug] **About to evaluate statement**: [ (p).0 := move var@4 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⊥ : (&'_ mut (u32), u32) ; Some (var@4) -> &mut@0 (0: u32) ; Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⊥ : (&'_ mut (u32), u32) ; Some (var@4) -> &mut@0 (0: u32) ; Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } - op: move var@4 [Debug] expand_bottom_value_from_projection: pe: (Expressions.Field ((Expressions.ProjTuple 2), 0)) ty: (Types.Adt (Types.Tuple, [], [(Types.Ref (Types.Erased, (Types.Integer Types.U32), Types.Mut)); (Types.Integer Types.U32)] )) [Debug] **About to evaluate statement**: [ (p).1 := 1: u32; pp0 := &mut p; var@7 := &two-phase *(pp0); pp1 := move id_mut_pair(move var@7); y := 2: u32; var@10 := &mut y; var@9 := &mut *(var@10); *((pp1).0) := move var@9; *((pp1).1) := 3: u32; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> (&mut@0 (0: u32), ⊥ : u32) ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } [Debug] **About to evaluate statement**: [ (p).1 := 1: u32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> (&mut@0 (0: u32), ⊥ : u32) ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> (&mut@0 (0: u32), ⊥ : u32) ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } - op: 1: u32 [Debug] **About to evaluate statement**: [ pp0 := &mut p; var@7 := &two-phase *(pp0); pp1 := move id_mut_pair(move var@7); y := 2: u32; var@10 := &mut y; var@9 := &mut *(var@10); *((pp1).0) := move var@9; *((pp1).1) := 3: u32; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> (&mut@0 (0: u32), 1: u32) ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } [Debug] **About to evaluate statement**: [ pp0 := &mut p ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> (&mut@0 (0: u32), 1: u32) ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } [Debug] **About to evaluate statement**: [ var@7 := &two-phase *(pp0); pp1 := move id_mut_pair(move var@7); y := 2: u32; var@10 := &mut y; var@9 := &mut *(var@10); *((pp1).0) := move var@9; *((pp1).1) := 3: u32; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 ((&mut@0 (0: u32), 1: u32)) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } [Debug] **About to evaluate statement**: [ var@7 := &two-phase *(pp0) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 ((&mut@0 (0: u32), 1: u32)) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } [Debug] **About to evaluate statement**: [ pp1 := move id_mut_pair(move var@7); y := 2: u32; var@10 := &mut y; var@9 := &mut *(var@10); *((pp1).0) := move var@9; *((pp1).1) := 3: u32; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (@shared_loan({2}, (&mut@0 (0: u32), 1: u32))) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⌊inactivated_mut@2⌋ ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } [Debug] **About to evaluate statement**: [ pp1 := move id_mut_pair(move var@7) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (@shared_loan({2}, (&mut@0 (0: u32), 1: u32))) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> ⌊inactivated_mut@2⌋ ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } [Debug] activate_inactivated_mut_borrow: resulting value: (&mut@0 (0: u32), 1: u32) [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (⌊mut@2⌋) ; Some (pp1) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (var@7) -> &mut@2 ((&mut@0 (0: u32), 1: u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; } - op: move var@7 [Debug] **About to evaluate statement**: [ y := 2: u32; var@10 := &mut y; var@9 := &mut *(var@10); *((pp1).0) := move var@9; *((pp1).1) := 3: u32; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (⌊mut@2⌋) ; Some (pp1) -> s@0 : &r@0 mut ((&r@0 mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; abs@0{parents={}}{regions={0}} { &mut@2 ((&mut@0 (0: u32), 1: u32)), proj_loans (s@0 : &r@0 mut ((&r@0 mut (u32), u32))) } } [Debug] **About to evaluate statement**: [ y := 2: u32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (⌊mut@2⌋) ; Some (pp1) -> s@0 : &r@0 mut ((&r@0 mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; abs@0{parents={}}{regions={0}} { &mut@2 ((&mut@0 (0: u32), 1: u32)), proj_loans (s@0 : &r@0 mut ((&r@0 mut (u32), u32))) } } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (⌊mut@2⌋) ; Some (pp1) -> s@0 : &r@0 mut ((&r@0 mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⊥ : u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; abs@0{parents={}}{regions={0}} { &mut@2 ((&mut@0 (0: u32), 1: u32)), proj_loans (s@0 : &r@0 mut ((&r@0 mut (u32), u32))) } } - op: 2: u32 [Debug] **About to evaluate statement**: [ var@10 := &mut y; var@9 := &mut *(var@10); *((pp1).0) := move var@9; *((pp1).1) := 3: u32; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (⌊mut@2⌋) ; Some (pp1) -> s@0 : &r@0 mut ((&r@0 mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> 2: u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; abs@0{parents={}}{regions={0}} { &mut@2 ((&mut@0 (0: u32), 1: u32)), proj_loans (s@0 : &r@0 mut ((&r@0 mut (u32), u32))) } } [Debug] **About to evaluate statement**: [ var@10 := &mut y ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (⌊mut@2⌋) ; Some (pp1) -> s@0 : &r@0 mut ((&r@0 mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> 2: u32 ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> ⊥ : &'_ mut (u32) ; abs@0{parents={}}{regions={0}} { &mut@2 ((&mut@0 (0: u32), 1: u32)), proj_loans (s@0 : &r@0 mut ((&r@0 mut (u32), u32))) } } [Debug] **About to evaluate statement**: [ var@9 := &mut *(var@10); *((pp1).0) := move var@9; *((pp1).1) := 3: u32; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (⌊mut@2⌋) ; Some (pp1) -> s@0 : &r@0 mut ((&r@0 mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⌊mut@3⌋ ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> &mut@3 (2: u32) ; abs@0{parents={}}{regions={0}} { &mut@2 ((&mut@0 (0: u32), 1: u32)), proj_loans (s@0 : &r@0 mut ((&r@0 mut (u32), u32))) } } [Debug] **About to evaluate statement**: [ var@9 := &mut *(var@10) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (⌊mut@2⌋) ; Some (pp1) -> s@0 : &r@0 mut ((&r@0 mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⌊mut@3⌋ ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> &mut@3 (2: u32) ; abs@0{parents={}}{regions={0}} { &mut@2 ((&mut@0 (0: u32), 1: u32)), proj_loans (s@0 : &r@0 mut ((&r@0 mut (u32), u32))) } } [Debug] **About to evaluate statement**: [ *((pp1).0) := move var@9; *((pp1).1) := 3: u32; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (⌊mut@2⌋) ; Some (pp1) -> s@0 : &r@0 mut ((&r@0 mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⌊mut@3⌋ ; Some (var@9) -> &mut@4 (2: u32) ; Some (var@10) -> &mut@3 (⌊mut@4⌋) ; abs@0{parents={}}{regions={0}} { &mut@2 ((&mut@0 (0: u32), 1: u32)), proj_loans (s@0 : &r@0 mut ((&r@0 mut (u32), u32))) } } [Debug] **About to evaluate statement**: [ *((pp1).0) := move var@9 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (⌊mut@2⌋) ; Some (pp1) -> s@0 : &r@0 mut ((&r@0 mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⌊mut@3⌋ ; Some (var@9) -> &mut@4 (2: u32) ; Some (var@10) -> &mut@3 (⌊mut@4⌋) ; abs@0{parents={}}{regions={0}} { &mut@2 ((&mut@0 (0: u32), 1: u32)), proj_loans (s@0 : &r@0 mut ((&r@0 mut (u32), u32))) } } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (⌊mut@2⌋) ; Some (pp1) -> s@0 : &r@0 mut ((&r@0 mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⌊mut@3⌋ ; Some (var@9) -> &mut@4 (2: u32) ; Some (var@10) -> &mut@3 (⌊mut@4⌋) ; abs@0{parents={}}{regions={0}} { &mut@2 ((&mut@0 (0: u32), 1: u32)), proj_loans (s@0 : &r@0 mut ((&r@0 mut (u32), u32))) } } - op: move var@9 [Debug] expand_symbolic_value: s@0 : &r@0 mut ((&r@0 mut (u32), u32)) - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (⌊mut@2⌋) ; Some (pp1) -> s@0 : &r@0 mut ((&r@0 mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⌊mut@3⌋ ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> &mut@3 (⌊mut@4⌋) ; abs@0{parents={}}{regions={0}} { &mut@2 ((&mut@0 (0: u32), 1: u32)), proj_loans (s@0 : &r@0 mut ((&r@0 mut (u32), u32))) } None -> &mut@4 (2: u32) ; } - new context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (⌊mut@2⌋) ; Some (pp1) -> &mut@5 (s@1 : (&r@0 mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⌊mut@3⌋ ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> &mut@3 (⌊mut@4⌋) ; abs@0{parents={}}{regions={0}} { &mut@2 ((&mut@0 (0: u32), 1: u32)), ⌊mut@5, proj_loans (s@1 : (&r@0 mut (u32), u32))⌋ } None -> &mut@4 (2: u32) ; } [Debug] expand_symbolic_value: s@1 : (&r@0 mut (u32), u32) - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (⌊mut@2⌋) ; Some (pp1) -> &mut@5 (s@1 : (&r@0 mut (u32), u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⌊mut@3⌋ ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> &mut@3 (⌊mut@4⌋) ; abs@0{parents={}}{regions={0}} { &mut@2 ((&mut@0 (0: u32), 1: u32)), ⌊mut@5, proj_loans (s@1 : (&r@0 mut (u32), u32))⌋ } None -> &mut@4 (2: u32) ; } - new context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (⌊mut@2⌋) ; Some (pp1) -> &mut@5 ((s@2 : &r@0 mut (u32), s@3 : u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⌊mut@3⌋ ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> &mut@3 (⌊mut@4⌋) ; abs@0{parents={}}{regions={0}} { &mut@2 ((&mut@0 (0: u32), 1: u32)), ⌊mut@5, (proj_loans (s@2 : &r@0 mut (u32)), proj_loans (s@3 : u32))⌋ } None -> &mut@4 (2: u32) ; } [Debug] **About to evaluate statement**: [ *((pp1).1) := 3: u32; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (⌊mut@2⌋) ; Some (pp1) -> &mut@5 ((&mut@4 (2: u32), s@3 : u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⌊mut@3⌋ ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> &mut@3 (⌊mut@4⌋) ; abs@0{parents={}}{regions={0}} { &mut@2 ((&mut@0 (0: u32), 1: u32)), ⌊mut@5, (proj_loans (s@2 : &r@0 mut (u32)), proj_loans (s@3 : u32))⌋ } } [Debug] **About to evaluate statement**: [ *((pp1).1) := 3: u32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (⌊mut@2⌋) ; Some (pp1) -> &mut@5 ((&mut@4 (2: u32), s@3 : u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⌊mut@3⌋ ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> &mut@3 (⌊mut@4⌋) ; abs@0{parents={}}{regions={0}} { &mut@2 ((&mut@0 (0: u32), 1: u32)), ⌊mut@5, (proj_loans (s@2 : &r@0 mut (u32)), proj_loans (s@3 : u32))⌋ } } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (⌊mut@2⌋) ; Some (pp1) -> &mut@5 ((&mut@4 (2: u32), s@3 : u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⌊mut@3⌋ ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> &mut@3 (⌊mut@4⌋) ; abs@0{parents={}}{regions={0}} { &mut@2 ((&mut@0 (0: u32), 1: u32)), ⌊mut@5, (proj_loans (s@2 : &r@0 mut (u32)), proj_loans (s@3 : u32))⌋ } } - op: 3: u32 [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (u32) ; Some (p) -> ⌊mut@1⌋ ; Some (var@4) -> ⊥ : &'_ mut (u32) ; Some (pp0) -> &mut@1 (⌊mut@2⌋) ; Some (pp1) -> &mut@5 ((&mut@4 (2: u32), 3: u32)) ; Some (var@7) -> ⊥ : &'_ mut ((&'_ mut (u32), u32)) ; Some (y) -> ⌊mut@3⌋ ; Some (var@9) -> ⊥ : &'_ mut (u32) ; Some (var@10) -> &mut@3 (⌊mut@4⌋) ; abs@0{parents={}}{regions={0}} { &mut@2 ((&mut@0 (0: u32), 1: u32)), ⌊mut@5, (proj_loans (s@2 : &r@0 mut (u32)), proj_loans (s@3 : u32))⌋ } } [Debug] test_function_symbolic: id_mut_mut_pair [Debug] **About to evaluate statement**: [ var@2 := &mut *(x); var@0 := &mut *(var@2); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { proj_loans (s@0 : &r@0 mut (&r@0 mut ((&r@0 mut (T), u32)))) } Some (var@0) -> ⊥ : &'_ mut (&'_ mut ((&'_ mut (T), u32))) ; Some (x) -> s@0 : &r@0 mut (&r@0 mut ((&r@0 mut (T), u32))) ; Some (var@2) -> ⊥ : &'_ mut (&'_ mut ((&'_ mut (T), u32))) ; } [Debug] **About to evaluate statement**: [ var@2 := &mut *(x) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { proj_loans (s@0 : &r@0 mut (&r@0 mut ((&r@0 mut (T), u32)))) } Some (var@0) -> ⊥ : &'_ mut (&'_ mut ((&'_ mut (T), u32))) ; Some (x) -> s@0 : &r@0 mut (&r@0 mut ((&r@0 mut (T), u32))) ; Some (var@2) -> ⊥ : &'_ mut (&'_ mut ((&'_ mut (T), u32))) ; } [Debug] expand_symbolic_value: s@0 : &r@0 mut (&r@0 mut ((&r@0 mut (T), u32))) - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { proj_loans (s@0 : &r@0 mut (&r@0 mut ((&r@0 mut (T), u32)))) } Some (var@0) -> ⊥ : &'_ mut (&'_ mut ((&'_ mut (T), u32))) ; Some (x) -> s@0 : &r@0 mut (&r@0 mut ((&r@0 mut (T), u32))) ; Some (var@2) -> ⊥ : &'_ mut (&'_ mut ((&'_ mut (T), u32))) ; } - new context: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { ⌊mut@0, proj_loans (s@1 : &r@0 mut ((&r@0 mut (T), u32)))⌋ } Some (var@0) -> ⊥ : &'_ mut (&'_ mut ((&'_ mut (T), u32))) ; Some (x) -> &mut@0 (s@1 : &r@0 mut ((&r@0 mut (T), u32))) ; Some (var@2) -> ⊥ : &'_ mut (&'_ mut ((&'_ mut (T), u32))) ; } [Debug] **About to evaluate statement**: [ var@0 := &mut *(var@2); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { ⌊mut@0, proj_loans (s@1 : &r@0 mut ((&r@0 mut (T), u32)))⌋ } Some (var@0) -> ⊥ : &'_ mut (&'_ mut ((&'_ mut (T), u32))) ; Some (x) -> &mut@0 (⌊mut@1⌋) ; Some (var@2) -> &mut@1 (s@1 : &r@0 mut ((&r@0 mut (T), u32))) ; } [Debug] **About to evaluate statement**: [ var@0 := &mut *(var@2) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { ⌊mut@0, proj_loans (s@1 : &r@0 mut ((&r@0 mut (T), u32)))⌋ } Some (var@0) -> ⊥ : &'_ mut (&'_ mut ((&'_ mut (T), u32))) ; Some (x) -> &mut@0 (⌊mut@1⌋) ; Some (var@2) -> &mut@1 (s@1 : &r@0 mut ((&r@0 mut (T), u32))) ; } [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { ⌊mut@0, proj_loans (s@1 : &r@0 mut ((&r@0 mut (T), u32)))⌋ } Some (var@0) -> &mut@2 (s@1 : &r@0 mut ((&r@0 mut (T), u32))) ; Some (x) -> &mut@0 (⌊mut@1⌋) ; Some (var@2) -> &mut@1 (⌊mut@2⌋) ; } [Debug] test_function_symbolic: id_mut_mut_mut_same [Debug] **About to evaluate statement**: [ var@2 := &mut *(x); var@0 := &mut *(var@2); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { proj_loans (s@0 : &r@0 mut (&r@0 mut (&r@0 mut (u32)))) } Some (var@0) -> ⊥ : &'_ mut (&'_ mut (&'_ mut (u32))) ; Some (x) -> s@0 : &r@0 mut (&r@0 mut (&r@0 mut (u32))) ; Some (var@2) -> ⊥ : &'_ mut (&'_ mut (&'_ mut (u32))) ; } [Debug] **About to evaluate statement**: [ var@2 := &mut *(x) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { proj_loans (s@0 : &r@0 mut (&r@0 mut (&r@0 mut (u32)))) } Some (var@0) -> ⊥ : &'_ mut (&'_ mut (&'_ mut (u32))) ; Some (x) -> s@0 : &r@0 mut (&r@0 mut (&r@0 mut (u32))) ; Some (var@2) -> ⊥ : &'_ mut (&'_ mut (&'_ mut (u32))) ; } [Debug] expand_symbolic_value: s@0 : &r@0 mut (&r@0 mut (&r@0 mut (u32))) - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { proj_loans (s@0 : &r@0 mut (&r@0 mut (&r@0 mut (u32)))) } Some (var@0) -> ⊥ : &'_ mut (&'_ mut (&'_ mut (u32))) ; Some (x) -> s@0 : &r@0 mut (&r@0 mut (&r@0 mut (u32))) ; Some (var@2) -> ⊥ : &'_ mut (&'_ mut (&'_ mut (u32))) ; } - new context: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { ⌊mut@0, proj_loans (s@1 : &r@0 mut (&r@0 mut (u32)))⌋ } Some (var@0) -> ⊥ : &'_ mut (&'_ mut (&'_ mut (u32))) ; Some (x) -> &mut@0 (s@1 : &r@0 mut (&r@0 mut (u32))) ; Some (var@2) -> ⊥ : &'_ mut (&'_ mut (&'_ mut (u32))) ; } [Debug] **About to evaluate statement**: [ var@0 := &mut *(var@2); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { ⌊mut@0, proj_loans (s@1 : &r@0 mut (&r@0 mut (u32)))⌋ } Some (var@0) -> ⊥ : &'_ mut (&'_ mut (&'_ mut (u32))) ; Some (x) -> &mut@0 (⌊mut@1⌋) ; Some (var@2) -> &mut@1 (s@1 : &r@0 mut (&r@0 mut (u32))) ; } [Debug] **About to evaluate statement**: [ var@0 := &mut *(var@2) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { ⌊mut@0, proj_loans (s@1 : &r@0 mut (&r@0 mut (u32)))⌋ } Some (var@0) -> ⊥ : &'_ mut (&'_ mut (&'_ mut (u32))) ; Some (x) -> &mut@0 (⌊mut@1⌋) ; Some (var@2) -> &mut@1 (s@1 : &r@0 mut (&r@0 mut (u32))) ; } [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { ⌊mut@0, proj_loans (s@1 : &r@0 mut (&r@0 mut (u32)))⌋ } Some (var@0) -> &mut@2 (s@1 : &r@0 mut (&r@0 mut (u32))) ; Some (x) -> &mut@0 (⌊mut@1⌋) ; Some (var@2) -> &mut@1 (⌊mut@2⌋) ; } [Debug] test_function_symbolic: id_borrow1 [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { abs@0{parents={}}{regions={0}} { proj_loans (s@0 : &r@0 mut (&r@1 (u32))), proj_loans (s@1 : &r@0 (&r@0 mut (u32))) } abs@1{parents={0}}{regions={1}} { proj_loans (s@0 : &r@0 mut (&r@1 (u32))), proj_loans (s@1 : &r@0 (&r@0 mut (u32))) } Some (var@0) -> ⊥ : () ; Some (_x) -> s@0 : &r@0 mut (&r@1 (u32)) ; Some (_y) -> s@1 : &r@0 (&r@0 mut (u32)) ; } [Debug] test_function_symbolic: test_static [Debug] **About to evaluate statement**: [ var@0 := copy x; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : &'_ (u32) ; Some (x) -> s@0 : &'static (u32) ; } [Debug] **About to evaluate statement**: [ var@0 := copy x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : &'_ (u32) ; Some (x) -> s@0 : &'static (u32) ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : &'_ (u32) ; Some (x) -> s@0 : &'static (u32) ; } - op: copy x [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> s@0 : &'static (u32) ; Some (x) -> s@0 : &'static (u32) ; } [Debug] test_function_symbolic: test_char [Debug] **About to evaluate statement**: [ var@0 := a; return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : char ; } [Debug] **About to evaluate statement**: [ var@0 := a ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : char ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : char ; } - op: a [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> a ; } [Debug] test_function_symbolic: test_loops [Debug] **About to evaluate statement**: [ x := move test_loop1(2: u32); var@4 := copy x; var@3 := move var@4 == 2: u32; var@2 := ¬ move var@3; assert(¬move var@2); x := move test_loop2(2: u32); var@8 := copy x; var@7 := move var@8 == 1: u32; var@6 := ¬ move var@7; assert(¬move var@6); x := move test_loop3(2: u32); var@12 := copy x; var@11 := move var@12 == 3: u32; var@10 := ¬ move var@11; assert(¬move var@10); x := move test_loop4(20: u32); var@16 := copy x; var@15 := move var@16 == 1: u32; var@14 := ¬ move var@15; assert(¬move var@14); x := move test_loop5(2: u32); var@20 := copy x; var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ x := move test_loop1(2: u32) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } - op: 2: u32 [Debug] **About to evaluate statement**: [ var@4 := copy x; var@3 := move var@4 == 2: u32; var@2 := ¬ move var@3; assert(¬move var@2); x := move test_loop2(2: u32); var@8 := copy x; var@7 := move var@8 == 1: u32; var@6 := ¬ move var@7; assert(¬move var@6); x := move test_loop3(2: u32); var@12 := copy x; var@11 := move var@12 == 3: u32; var@10 := ¬ move var@11; assert(¬move var@10); x := move test_loop4(20: u32); var@16 := copy x; var@15 := move var@16 == 1: u32; var@14 := ¬ move var@15; assert(¬move var@14); x := move test_loop5(2: u32); var@20 := copy x; var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ var@4 := copy x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } - op: copy x [Debug] **About to evaluate statement**: [ var@3 := move var@4 == 2: u32; var@2 := ¬ move var@3; assert(¬move var@2); x := move test_loop2(2: u32); var@8 := copy x; var@7 := move var@8 == 1: u32; var@6 := ¬ move var@7; assert(¬move var@6); x := move test_loop3(2: u32); var@12 := copy x; var@11 := move var@12 == 3: u32; var@10 := ¬ move var@11; assert(¬move var@10); x := move test_loop4(20: u32); var@16 := copy x; var@15 := move var@16 == 1: u32; var@14 := ¬ move var@15; assert(¬move var@14); x := move test_loop5(2: u32); var@20 := copy x; var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> s@0 : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ var@3 := move var@4 == 2: u32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> s@0 : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> s@0 : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } - op: move var@4 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } - op: 2: u32 [Debug] **About to evaluate statement**: [ var@2 := ¬ move var@3; assert(¬move var@2); x := move test_loop2(2: u32); var@8 := copy x; var@7 := move var@8 == 1: u32; var@6 := ¬ move var@7; assert(¬move var@6); x := move test_loop3(2: u32); var@12 := copy x; var@11 := move var@12 == 3: u32; var@10 := ¬ move var@11; assert(¬move var@10); x := move test_loop4(20: u32); var@16 := copy x; var@15 := move var@16 == 1: u32; var@14 := ¬ move var@15; assert(¬move var@14); x := move test_loop5(2: u32); var@20 := copy x; var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> s@1 : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ var@2 := ¬ move var@3 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> s@1 : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> s@1 : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } - op: move var@3 [Debug] **About to evaluate statement**: [ assert(¬move var@2); x := move test_loop2(2: u32); var@8 := copy x; var@7 := move var@8 == 1: u32; var@6 := ¬ move var@7; assert(¬move var@6); x := move test_loop3(2: u32); var@12 := copy x; var@11 := move var@12 == 3: u32; var@10 := ¬ move var@11; assert(¬move var@10); x := move test_loop4(20: u32); var@16 := copy x; var@15 := move var@16 == 1: u32; var@14 := ¬ move var@15; assert(¬move var@14); x := move test_loop5(2: u32); var@20 := copy x; var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> s@2 : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ assert(¬move var@2) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> s@2 : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> true ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } - op: move var@2 [Debug] **About to evaluate statement**: [ x := move test_loop2(2: u32); var@8 := copy x; var@7 := move var@8 == 1: u32; var@6 := ¬ move var@7; assert(¬move var@6); x := move test_loop3(2: u32); var@12 := copy x; var@11 := move var@12 == 3: u32; var@10 := ¬ move var@11; assert(¬move var@10); x := move test_loop4(20: u32); var@16 := copy x; var@15 := move var@16 == 1: u32; var@14 := ¬ move var@15; assert(¬move var@14); x := move test_loop5(2: u32); var@20 := copy x; var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ x := move test_loop2(2: u32) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } - op: 2: u32 [Debug] **About to evaluate statement**: [ var@8 := copy x; var@7 := move var@8 == 1: u32; var@6 := ¬ move var@7; assert(¬move var@6); x := move test_loop3(2: u32); var@12 := copy x; var@11 := move var@12 == 3: u32; var@10 := ¬ move var@11; assert(¬move var@10); x := move test_loop4(20: u32); var@16 := copy x; var@15 := move var@16 == 1: u32; var@14 := ¬ move var@15; assert(¬move var@14); x := move test_loop5(2: u32); var@20 := copy x; var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ var@8 := copy x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } - op: copy x [Debug] **About to evaluate statement**: [ var@7 := move var@8 == 1: u32; var@6 := ¬ move var@7; assert(¬move var@6); x := move test_loop3(2: u32); var@12 := copy x; var@11 := move var@12 == 3: u32; var@10 := ¬ move var@11; assert(¬move var@10); x := move test_loop4(20: u32); var@16 := copy x; var@15 := move var@16 == 1: u32; var@14 := ¬ move var@15; assert(¬move var@14); x := move test_loop5(2: u32); var@20 := copy x; var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> s@3 : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ var@7 := move var@8 == 1: u32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> s@3 : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> s@3 : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } - op: move var@8 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } - op: 1: u32 [Debug] **About to evaluate statement**: [ var@6 := ¬ move var@7; assert(¬move var@6); x := move test_loop3(2: u32); var@12 := copy x; var@11 := move var@12 == 3: u32; var@10 := ¬ move var@11; assert(¬move var@10); x := move test_loop4(20: u32); var@16 := copy x; var@15 := move var@16 == 1: u32; var@14 := ¬ move var@15; assert(¬move var@14); x := move test_loop5(2: u32); var@20 := copy x; var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> s@4 : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ var@6 := ¬ move var@7 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> s@4 : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> s@4 : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } - op: move var@7 [Debug] **About to evaluate statement**: [ assert(¬move var@6); x := move test_loop3(2: u32); var@12 := copy x; var@11 := move var@12 == 3: u32; var@10 := ¬ move var@11; assert(¬move var@10); x := move test_loop4(20: u32); var@16 := copy x; var@15 := move var@16 == 1: u32; var@14 := ¬ move var@15; assert(¬move var@14); x := move test_loop5(2: u32); var@20 := copy x; var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> s@5 : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ assert(¬move var@6) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> s@5 : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> true ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } - op: move var@6 [Debug] **About to evaluate statement**: [ x := move test_loop3(2: u32); var@12 := copy x; var@11 := move var@12 == 3: u32; var@10 := ¬ move var@11; assert(¬move var@10); x := move test_loop4(20: u32); var@16 := copy x; var@15 := move var@16 == 1: u32; var@14 := ¬ move var@15; assert(¬move var@14); x := move test_loop5(2: u32); var@20 := copy x; var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ x := move test_loop3(2: u32) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } - op: 2: u32 [Debug] **About to evaluate statement**: [ var@12 := copy x; var@11 := move var@12 == 3: u32; var@10 := ¬ move var@11; assert(¬move var@10); x := move test_loop4(20: u32); var@16 := copy x; var@15 := move var@16 == 1: u32; var@14 := ¬ move var@15; assert(¬move var@14); x := move test_loop5(2: u32); var@20 := copy x; var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ var@12 := copy x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } - op: copy x [Debug] **About to evaluate statement**: [ var@11 := move var@12 == 3: u32; var@10 := ¬ move var@11; assert(¬move var@10); x := move test_loop4(20: u32); var@16 := copy x; var@15 := move var@16 == 1: u32; var@14 := ¬ move var@15; assert(¬move var@14); x := move test_loop5(2: u32); var@20 := copy x; var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> s@6 : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ var@11 := move var@12 == 3: u32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> s@6 : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> s@6 : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } - op: move var@12 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } - op: 3: u32 [Debug] **About to evaluate statement**: [ var@10 := ¬ move var@11; assert(¬move var@10); x := move test_loop4(20: u32); var@16 := copy x; var@15 := move var@16 == 1: u32; var@14 := ¬ move var@15; assert(¬move var@14); x := move test_loop5(2: u32); var@20 := copy x; var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> s@7 : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ var@10 := ¬ move var@11 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> s@7 : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> s@7 : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } - op: move var@11 [Debug] **About to evaluate statement**: [ assert(¬move var@10); x := move test_loop4(20: u32); var@16 := copy x; var@15 := move var@16 == 1: u32; var@14 := ¬ move var@15; assert(¬move var@14); x := move test_loop5(2: u32); var@20 := copy x; var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> s@8 : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ assert(¬move var@10) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> s@8 : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> true ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } - op: move var@10 [Debug] **About to evaluate statement**: [ x := move test_loop4(20: u32); var@16 := copy x; var@15 := move var@16 == 1: u32; var@14 := ¬ move var@15; assert(¬move var@14); x := move test_loop5(2: u32); var@20 := copy x; var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ x := move test_loop4(20: u32) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } - op: 20: u32 [Debug] **About to evaluate statement**: [ var@16 := copy x; var@15 := move var@16 == 1: u32; var@14 := ¬ move var@15; assert(¬move var@14); x := move test_loop5(2: u32); var@20 := copy x; var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ var@16 := copy x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } - op: copy x [Debug] **About to evaluate statement**: [ var@15 := move var@16 == 1: u32; var@14 := ¬ move var@15; assert(¬move var@14); x := move test_loop5(2: u32); var@20 := copy x; var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> s@9 : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ var@15 := move var@16 == 1: u32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> s@9 : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> s@9 : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } - op: move var@16 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } - op: 1: u32 [Debug] **About to evaluate statement**: [ var@14 := ¬ move var@15; assert(¬move var@14); x := move test_loop5(2: u32); var@20 := copy x; var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> s@10 : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ var@14 := ¬ move var@15 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> s@10 : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> s@10 : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } - op: move var@15 [Debug] **About to evaluate statement**: [ assert(¬move var@14); x := move test_loop5(2: u32); var@20 := copy x; var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> s@11 : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ assert(¬move var@14) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> s@11 : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> true ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } - op: move var@14 [Debug] **About to evaluate statement**: [ x := move test_loop5(2: u32); var@20 := copy x; var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ x := move test_loop5(2: u32) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } - op: 2: u32 [Debug] **About to evaluate statement**: [ var@20 := copy x; var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> s@12 : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ var@20 := copy x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> s@12 : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> s@12 : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } - op: copy x [Debug] **About to evaluate statement**: [ var@19 := move var@20 == 2: u32; var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> s@12 : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> s@12 : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ var@19 := move var@20 == 2: u32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> s@12 : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> s@12 : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> s@12 : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> s@12 : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } - op: move var@20 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> s@12 : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } - op: 2: u32 [Debug] **About to evaluate statement**: [ var@18 := ¬ move var@19; assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> s@12 : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> s@13 : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ var@18 := ¬ move var@19 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> s@12 : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> s@13 : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> s@12 : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> s@13 : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } - op: move var@19 [Debug] **About to evaluate statement**: [ assert(¬move var@18); x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> s@12 : u32 ; Some (var@18) -> s@14 : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ assert(¬move var@18) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> s@12 : u32 ; Some (var@18) -> s@14 : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> s@12 : u32 ; Some (var@18) -> true ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } - op: move var@18 [Debug] **About to evaluate statement**: [ x := move test_loop6(2: u32); var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> s@12 : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ x := move test_loop6(2: u32) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> s@12 : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> s@12 : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> ⊥ : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } - op: 2: u32 [Debug] **About to evaluate statement**: [ var@24 := copy x; var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> s@12 : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> s@15 : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ var@24 := copy x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> s@12 : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> s@15 : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> s@12 : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> s@15 : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } - op: copy x [Debug] **About to evaluate statement**: [ var@23 := move var@24 == 2: u32; var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> s@12 : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> s@15 : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> s@15 : u32 ; } [Debug] **About to evaluate statement**: [ var@23 := move var@24 == 2: u32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> s@12 : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> s@15 : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> s@15 : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> s@12 : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> s@15 : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> s@15 : u32 ; } - op: move var@24 [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> s@12 : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> s@15 : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } - op: 2: u32 [Debug] **About to evaluate statement**: [ var@22 := ¬ move var@23; assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> s@12 : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> s@15 : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> s@16 : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ var@22 := ¬ move var@23 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> s@12 : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> s@15 : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> s@16 : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> s@12 : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> s@15 : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> s@16 : bool ; Some (var@24) -> ⊥ : u32 ; } - op: move var@23 [Debug] **About to evaluate statement**: [ assert(¬move var@22); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> s@12 : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> s@15 : u32 ; Some (var@22) -> s@17 : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] **About to evaluate statement**: [ assert(¬move var@22) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> s@12 : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> s@15 : u32 ; Some (var@22) -> s@17 : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> s@12 : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> s@15 : u32 ; Some (var@22) -> true ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } - op: move var@22 [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@0 : u32 ; Some (var@2) -> ⊥ : bool ; Some (var@3) -> ⊥ : bool ; Some (var@4) -> ⊥ : u32 ; Some (x) -> s@3 : u32 ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : u32 ; Some (x) -> s@6 : u32 ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : bool ; Some (var@12) -> ⊥ : u32 ; Some (x) -> s@9 : u32 ; Some (var@14) -> ⊥ : bool ; Some (var@15) -> ⊥ : bool ; Some (var@16) -> ⊥ : u32 ; Some (x) -> s@12 : u32 ; Some (var@18) -> ⊥ : bool ; Some (var@19) -> ⊥ : bool ; Some (var@20) -> ⊥ : u32 ; Some (x) -> s@15 : u32 ; Some (var@22) -> ⊥ : bool ; Some (var@23) -> ⊥ : bool ; Some (var@24) -> ⊥ : u32 ; } [Debug] test_function_symbolic: id_mut_mut_test1 [Debug] **About to evaluate statement**: [ x := 0: i32; px := &mut x; ppx := &mut px; var@5 := &two-phase *(ppx); ppy := move id_mut_mut(move var@5); *(*(ppy)) := 1: i32; var@8 := copy *(px); var@7 := move var@8 == 1: i32; var@6 := ¬ move var@7; assert(¬move var@6); var@11 := copy x; var@10 := move var@11 == 1: i32; var@9 := ¬ move var@10; assert(¬move var@9); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ x := 0: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⊥ : i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; } - op: 0: i32 [Debug] **About to evaluate statement**: [ px := &mut x; ppx := &mut px; var@5 := &two-phase *(ppx); ppy := move id_mut_mut(move var@5); *(*(ppy)) := 1: i32; var@8 := copy *(px); var@7 := move var@8 == 1: i32; var@6 := ¬ move var@7; assert(¬move var@6); var@11 := copy x; var@10 := move var@11 == 1: i32; var@9 := ¬ move var@10; assert(¬move var@9); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ px := &mut x ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> 0: i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ ppx := &mut px; var@5 := &two-phase *(ppx); ppy := move id_mut_mut(move var@5); *(*(ppy)) := 1: i32; var@8 := copy *(px); var@7 := move var@8 == 1: i32; var@6 := ¬ move var@7; assert(¬move var@6); var@11 := copy x; var@10 := move var@11 == 1: i32; var@9 := ¬ move var@10; assert(¬move var@9); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@0 (0: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ ppx := &mut px ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@0 (0: i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@5 := &two-phase *(ppx); ppy := move id_mut_mut(move var@5); *(*(ppy)) := 1: i32; var@8 := copy *(px); var@7 := move var@8 == 1: i32; var@6 := ¬ move var@7; assert(¬move var@6); var@11 := copy x; var@10 := move var@11 == 1: i32; var@9 := ¬ move var@10; assert(¬move var@9); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (&mut@0 (0: i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@5 := &two-phase *(ppx) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (&mut@0 (0: i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ ppy := move id_mut_mut(move var@5); *(*(ppy)) := 1: i32; var@8 := copy *(px); var@7 := move var@8 == 1: i32; var@6 := ¬ move var@7; assert(¬move var@6); var@11 := copy x; var@10 := move var@11 == 1: i32; var@9 := ¬ move var@10; assert(¬move var@9); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (@shared_loan({2}, &mut@0 (0: i32))) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⌊inactivated_mut@2⌋ ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ ppy := move id_mut_mut(move var@5) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (@shared_loan({2}, &mut@0 (0: i32))) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⌊inactivated_mut@2⌋ ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; } [Debug] activate_inactivated_mut_borrow: resulting value: &mut@0 (0: i32) [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> &mut@2 (&mut@0 (0: i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; } - op: move var@5 [Debug] **About to evaluate statement**: [ *(*(ppy)) := 1: i32; var@8 := copy *(px); var@7 := move var@8 == 1: i32; var@6 := ¬ move var@7; assert(¬move var@6); var@11 := copy x; var@10 := move var@11 == 1: i32; var@9 := ¬ move var@10; assert(¬move var@9); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> s@0 : &r@0 mut (&r@1 mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), proj_loans (s@0 : &r@0 mut (&r@1 mut (i32))) } abs@1{parents={0}}{regions={1}} { @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), proj_loans (s@0 : &r@0 mut (&r@1 mut (i32))) } } [Debug] **About to evaluate statement**: [ *(*(ppy)) := 1: i32 ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> s@0 : &r@0 mut (&r@1 mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), proj_loans (s@0 : &r@0 mut (&r@1 mut (i32))) } abs@1{parents={0}}{regions={1}} { @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), proj_loans (s@0 : &r@0 mut (&r@1 mut (i32))) } } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> s@0 : &r@0 mut (&r@1 mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), proj_loans (s@0 : &r@0 mut (&r@1 mut (i32))) } abs@1{parents={0}}{regions={1}} { @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), proj_loans (s@0 : &r@0 mut (&r@1 mut (i32))) } } - op: 1: i32 [Debug] expand_symbolic_value: s@0 : &r@0 mut (&r@1 mut (i32)) - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> s@0 : &r@0 mut (&r@1 mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), proj_loans (s@0 : &r@0 mut (&r@1 mut (i32))) } abs@1{parents={0}}{regions={1}} { @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), proj_loans (s@0 : &r@0 mut (&r@1 mut (i32))) } None -> 1: i32 ; } - new context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> &mut@3 (s@1 : &r@1 mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), ⌊mut@3, proj_loans (s@1 : &r@1 mut (i32))⌋ } abs@1{parents={0}}{regions={1}} { @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), @ignored_mut_loan(3, proj_loans (s@1 : &r@1 mut (i32))) } None -> 1: i32 ; } [Debug] expand_symbolic_value: s@1 : &r@1 mut (i32) - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> &mut@3 (s@1 : &r@1 mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), ⌊mut@3, proj_loans (s@1 : &r@1 mut (i32))⌋ } abs@1{parents={0}}{regions={1}} { @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), @ignored_mut_loan(3, proj_loans (s@1 : &r@1 mut (i32))) } None -> 1: i32 ; } - new context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> &mut@3 (&mut@4 (s@2 : i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ } abs@1{parents={0}}{regions={1}} { @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) } None -> 1: i32 ; } [Debug] **About to evaluate statement**: [ var@8 := copy *(px); var@7 := move var@8 == 1: i32; var@6 := ¬ move var@7; assert(¬move var@6); var@11 := copy x; var@10 := move var@11 == 1: i32; var@9 := ¬ move var@10; assert(¬move var@9); return ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> &mut@3 (&mut@4 (1: i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ } abs@1{parents={0}}{regions={1}} { @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) } } [Debug] **About to evaluate statement**: [ var@8 := copy *(px) ] **Context**: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> &mut@3 (&mut@4 (1: i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ } abs@1{parents={0}}{regions={1}} { @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) } } [Debug] eval_operand: - ctx: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> &mut@3 (&mut@4 (1: i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ } abs@1{parents={0}}{regions={1}} { @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) } } - op: copy *(px) [Debug] end borrow: 1: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> &mut@3 (&mut@4 (1: i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ } abs@1{parents={0}}{regions={1}} { @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) } } [Debug] end borrow: 1: found outer borrows/abs:(InterpreterBorrowsCore.InnerLoans (InterpreterBorrowsCore.Borrow 2)) [Debug] end borrow: 2: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> &mut@3 (&mut@4 (1: i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ } abs@1{parents={0}}{regions={1}} { @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) } } [Debug] end borrow: 2: found outer borrows/abs:(InterpreterBorrowsCore.OuterAbs 0) [Debug] end_abstraction: 0 - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> &mut@3 (&mut@4 (1: i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ } abs@1{parents={0}}{regions={1}} { @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) } } [Debug] end_abstraction: 0 - context after parent abstractions ended: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> &mut@3 (&mut@4 (1: i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ } abs@1{parents={0}}{regions={1}} { @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) } } [Debug] end borrow: 3: - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> &mut@3 (&mut@4 (1: i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ } abs@1{parents={0}}{regions={1}} { @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) } } [Debug] give_back: - bid: 3 - content: &mut@3 (&mut@4 (1: i32)) - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ } abs@1{parents={0}}{regions={1}} { @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) } } [Debug] give_back_value: - bid: 3 - value: &mut@4 (1: i32) - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ } abs@1{parents={0}}{regions={1}} { @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) } } [Debug] end_abstraction: 0 - context after loans ended: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), @ended_mut_loan{ given_back=@ignored_mut_borrow(None, 1: i32); child=@ignored_mut_loan(4, proj_loans (s@2 : i32)) } } abs@1{parents={0}}{regions={1}} { @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} } } [Debug] give_back_value: - bid: 2 - value: s@3 : &r@1 mut (i32) - context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { ⊥ : &r@0 mut (&r@1 mut (i32)), @ended_mut_loan{ given_back=@ignored_mut_borrow(None, 1: i32); child=@ignored_mut_loan(4, proj_loans (s@2 : i32)) } } abs@1{parents={0}}{regions={1}} { @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} } } [Debug] end_abstraction: 0 - original context: # Ended regions: {} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (⌊mut@2⌋) ; Some (ppy) -> &mut@3 (&mut@4 (1: i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@0{parents={}}{regions={0}} { &mut@2 (@ignored_mut_borrow(None, 0: i32)), ⌊mut@3, @ignored_mut_loan(4, proj_loans (s@2 : i32))⌋ } abs@1{parents={0}}{regions={1}} { @ignored_mut_borrow(Some (2), &mut@0 (0: i32)), @ignored_mut_loan(3, ⌊mut@4, proj_loans (s@2 : i32)⌋) } } - new context: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (s@3 : &r@1 mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@3 : &r@1 mut (i32)); child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} } } [Debug] end borrow: 1: - original context: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> &mut@1 (s@3 : &r@1 mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@3 : &r@1 mut (i32)); child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} } } [Debug] give_back: - bid: 1 - content: &mut@1 (s@3 : &r@1 mut (i32)) - context: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@3 : &r@1 mut (i32)); child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} } } [Debug] give_back_value: - bid: 1 - value: s@3 : &r@1 mut (i32) - context: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⌊mut@1⌋ ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@3 : &r@1 mut (i32)); child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} } } [Debug] expand_symbolic_value: s@3 : &r@1 mut (i32) - original context: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> s@3 : &r@1 mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=proj_loans (s@3 : &r@1 mut (i32)); child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} } } - new context: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@5 (s@4 : i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@5, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} } } [Debug] **About to evaluate statement**: [ var@7 := move var@8 == 1: i32; var@6 := ¬ move var@7; assert(¬move var@6); var@11 := copy x; var@10 := move var@11 == 1: i32; var@9 := ¬ move var@10; assert(¬move var@9); return ] **Context**: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@5 (s@4 : i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> s@4 : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@5, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} } } [Debug] **About to evaluate statement**: [ var@7 := move var@8 == 1: i32 ] **Context**: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@5 (s@4 : i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> s@4 : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@5, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} } } [Debug] eval_operand: - ctx: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@5 (s@4 : i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> s@4 : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@5, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} } } - op: move var@8 [Debug] eval_operand: - ctx: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@5 (s@4 : i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@5, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} } } - op: 1: i32 [Debug] **About to evaluate statement**: [ var@6 := ¬ move var@7; assert(¬move var@6); var@11 := copy x; var@10 := move var@11 == 1: i32; var@9 := ¬ move var@10; assert(¬move var@9); return ] **Context**: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@5 (s@4 : i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> s@5 : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@5, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} } } [Debug] **About to evaluate statement**: [ var@6 := ¬ move var@7 ] **Context**: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@5 (s@4 : i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> s@5 : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@5, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} } } [Debug] eval_operand: - ctx: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@5 (s@4 : i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> s@5 : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@5, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} } } - op: move var@7 [Debug] **About to evaluate statement**: [ assert(¬move var@6); var@11 := copy x; var@10 := move var@11 == 1: i32; var@9 := ¬ move var@10; assert(¬move var@9); return ] **Context**: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@5 (s@4 : i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> s@6 : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@5, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} } } [Debug] **About to evaluate statement**: [ assert(¬move var@6) ] **Context**: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@5 (s@4 : i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> s@6 : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@5, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} } } [Debug] eval_operand: - ctx: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@5 (s@4 : i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> true ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@5, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} } } - op: move var@6 [Debug] **About to evaluate statement**: [ var@11 := copy x; var@10 := move var@11 == 1: i32; var@9 := ¬ move var@10; assert(¬move var@9); return ] **Context**: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@5 (s@4 : i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@5, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} } } [Debug] **About to evaluate statement**: [ var@11 := copy x ] **Context**: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@5 (s@4 : i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@5, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} } } [Debug] eval_operand: - ctx: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@5 (s@4 : i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@5, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} } } - op: copy x [Debug] end borrow: 0: - original context: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@5 (s@4 : i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@5, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} } } [Debug] end borrow: 0: found outer borrows/abs:(InterpreterBorrowsCore.OuterAbs 1) [Debug] end_abstraction: 1 - original context: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@5 (s@4 : i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@5, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} } } [Debug] end_abstraction: 1 - context after parent abstractions ended: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@5 (s@4 : i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@5, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} } } [Debug] end borrow: 5: - original context: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@5 (s@4 : i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@5, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} } } [Debug] give_back: - bid: 5 - content: &mut@5 (s@4 : i32) - context: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@5, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} } } [Debug] give_back_value: - bid: 5 - value: s@4 : i32 - context: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@5, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} } } [Debug] end borrow: 4: - original context: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=@ended_mut_loan{ given_back=proj_borrows (s@4 : i32 <: i32); child=proj_loans (s@4 : i32) }; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} } } [Debug] end borrow: 4: found outer borrows/abs:(InterpreterBorrowsCore.OuterAbs 1) [Debug] end borrow: 4: - original context: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=@ended_mut_loan{ given_back=proj_borrows (s@4 : i32 <: i32); child=proj_loans (s@4 : i32) }; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} } } [Debug] give_back: - bid: 4 - content: &mut@4 (1: i32) - context: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=@ended_mut_loan{ given_back=proj_borrows (s@4 : i32 <: i32); child=proj_loans (s@4 : i32) }; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=⊥ : &r@1 mut (i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} } } [Debug] end_abstraction: 1 - context after loans ended: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=@ended_mut_loan{ given_back=proj_borrows (s@4 : i32 <: i32); child=proj_loans (s@4 : i32) }; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=⊥ : &r@1 mut (i32); child: @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) }} } } [Debug] give_back_value: - bid: 0 - value: s@7 : i32 - context: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=@ended_mut_loan{ given_back=proj_borrows (s@4 : i32 <: i32); child=proj_loans (s@4 : i32) }; child=⊥ : &r@1 mut (i32)), @ended_ignored_mut_loan{ given_back=⊥ : &r@1 mut (i32); child: @ended_mut_loan{ given_back=1: i32; child=proj_loans (s@2 : i32) }} } } [Debug] end_abstraction: 1 - original context: # Ended regions: {0} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> ⌊mut@0⌋ ; Some (px) -> &mut@5 (s@4 : i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; abs@1{parents={}}{regions={1}} { @ended_ignored_mut_borrow{ given_back_loans_proj=⌊mut@5, proj_loans (s@4 : i32)⌋; child=&mut@0 (0: i32)), @ended_ignored_mut_loan{ given_back=&mut@4 (1: i32); child: ⌊mut@4, proj_loans (s@2 : i32)⌋} } } - new context: # Ended regions: {0, 1} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@7 : i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@10 := move var@11 == 1: i32; var@9 := ¬ move var@10; assert(¬move var@9); return ] **Context**: # Ended regions: {0, 1} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@7 : i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> s@7 : i32 ; } [Debug] **About to evaluate statement**: [ var@10 := move var@11 == 1: i32 ] **Context**: # Ended regions: {0, 1} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@7 : i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> s@7 : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {0, 1} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@7 : i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> s@7 : i32 ; } - op: move var@11 [Debug] eval_operand: - ctx: # Ended regions: {0, 1} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@7 : i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; } - op: 1: i32 [Debug] **About to evaluate statement**: [ var@9 := ¬ move var@10; assert(¬move var@9); return ] **Context**: # Ended regions: {0, 1} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@7 : i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> s@8 : bool ; Some (var@11) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ var@9 := ¬ move var@10 ] **Context**: # Ended regions: {0, 1} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@7 : i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> s@8 : bool ; Some (var@11) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {0, 1} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@7 : i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> s@8 : bool ; Some (var@11) -> ⊥ : i32 ; } - op: move var@10 [Debug] **About to evaluate statement**: [ assert(¬move var@9); return ] **Context**: # Ended regions: {0, 1} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@7 : i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> s@9 : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; } [Debug] **About to evaluate statement**: [ assert(¬move var@9) ] **Context**: # Ended regions: {0, 1} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@7 : i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> s@9 : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; } [Debug] eval_operand: - ctx: # Ended regions: {0, 1} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@7 : i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> true ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; } - op: move var@9 [Debug] **About to evaluate statement**: [ return ] **Context**: # Ended regions: {0, 1} # 1 frame(s) # Frame 0: { Some (var@0) -> ⊥ : () ; Some (x) -> s@7 : i32 ; Some (px) -> ⊥ : &'_ mut (i32) ; Some (ppx) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (ppy) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@5) -> ⊥ : &'_ mut (&'_ mut (i32)) ; Some (var@6) -> ⊥ : bool ; Some (var@7) -> ⊥ : bool ; Some (var@8) -> ⊥ : i32 ; Some (var@9) -> ⊥ : bool ; Some (var@10) -> ⊥ : bool ; Some (var@11) -> ⊥ : i32 ; }