From 0644f6bd73334467e50429b2cbc59f781e511a17 Mon Sep 17 00:00:00 2001 From: Son Ho Date: Sat, 29 Jan 2022 19:06:32 +0100 Subject: Remove tests/trace_reference.txt --- tests/trace_reference.txt | 135234 ------------------------------------------- 1 file changed, 135234 deletions(-) delete mode 100644 tests/trace_reference.txt diff --git a/tests/trace_reference.txt b/tests/trace_reference.txt deleted file mode 100644 index acf83e51..00000000 --- a/tests/trace_reference.txt +++ /dev/null @@ -1,135234 +0,0 @@ -[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 ; -} - - - -- cgit v1.2.3