scry is a sound abstract interpreter: every reported invariant, bound, and PROVEN-SAFE verdict holds on all runs — it never misses a real behaviour. The price is over-approximation: ⊤ ("top") and POTENTIAL-TRAP mean "scry could not decide", never "safe". An analysis gap records where a domain gave up; it asserts nothing about the code, only that scry was imprecise there.
i32.add vs the OFFICIAL two's-complement wrapping semantics including the wrap case (WrapAdd.v); region, call-graph, reachability, octagon, pentagon, float-lattice, known-bits, handle-state, linear-memory segmentation, and convex-polyhedra lattice proofs.i32.add, not every transfer.0 real fault(s) to fix · 6195 unproven obligation(s) to prove/guard · 1965 analyzer precision gap(s) · 31 leverageable fact(s).
fn0:0 unbounded-stack — the module's worst-case shadow-stack usage could not be bounded (recursion, or an unresolvable / growable / host-writable indirect-call table).fn4:41 out-of-bounds — scry could not prove `i32.load` cannot out-of-bounds access on some run (POTENTIAL-TRAP). This is not a proof that it DOES trap — only that safety is not established.fn4:46 out-of-bounds — scry could not prove `i32.load` cannot out-of-bounds access on some run (POTENTIAL-TRAP). This is not a proof that it DOES trap — only that safety is not established.fn4:82 out-of-bounds — scry could not prove `i32.load` cannot out-of-bounds access on some run (POTENTIAL-TRAP). This is not a proof that it DOES trap — only that safety is not established.fn4:92 out-of-bounds — scry could not prove `i32.load` cannot out-of-bounds access on some run (POTENTIAL-TRAP). This is not a proof that it DOES trap — only that safety is not established.fn4:97 out-of-bounds — scry could not prove `i32.load` cannot out-of-bounds access on some run (POTENTIAL-TRAP). This is not a proof that it DOES trap — only that safety is not established.fn4:133 out-of-bounds — scry could not prove `i32.load` cannot out-of-bounds access on some run (POTENTIAL-TRAP). This is not a proof that it DOES trap — only that safety is not established.fn4:138 out-of-bounds — scry could not prove `i32.load` cannot out-of-bounds access on some run (POTENTIAL-TRAP). This is not a proof that it DOES trap — only that safety is not established.fn4:180 out-of-bounds — scry could not prove `i32.load` cannot out-of-bounds access on some run (POTENTIAL-TRAP). This is not a proof that it DOES trap — only that safety is not established.fn4:185 out-of-bounds — scry could not prove `i32.load` cannot out-of-bounds access on some run (POTENTIAL-TRAP). This is not a proof that it DOES trap — only that safety is not established.fn5:61 unsupported-op — scry lost precision (degraded to ⊤) at `MemoryCopy` — downstream facts in this function are weaker.fn5:73 unmodeled-control-flow — scry lost precision (degraded to ⊤) at `block` — downstream facts in this function are weaker.fn5:119 unmodeled-control-flow — scry lost precision (degraded to ⊤) at `block` — downstream facts in this function are weaker.fn5:142 unmodeled-control-flow — scry lost precision (degraded to ⊤) at `loop` — downstream facts in this function are weaker.fn5:285 unmodeled-control-flow — scry lost precision (degraded to ⊤) at `block` — downstream facts in this function are weaker.fn5:469 unmodeled-control-flow — scry lost precision (degraded to ⊤) at `block` — downstream facts in this function are weaker.fn5:640 unmodeled-control-flow — scry lost precision (degraded to ⊤) at `block` — downstream facts in this function are weaker.fn5:659 unmodeled-control-flow — scry lost precision (degraded to ⊤) at `block` — downstream facts in this function are weaker.fn5:764 unmodeled-control-flow — scry lost precision (degraded to ⊤) at `block` — downstream facts in this function are weaker.fn6:7 unsupported-op — scry lost precision (degraded to ⊤) at `I32Store8` — downstream facts in this function are weaker.fn62:10 proven-safe — scry PROVED `i32.div_u` cannot divide-by-zero on any run.fn64:35 proven-safe — scry PROVED `i32.div_u` cannot divide-by-zero on any run.fn211:14 proven-safe — scry PROVED `i32.div_u` cannot divide-by-zero on any run.fn211:55 proven-safe — scry PROVED `i32.div_u` cannot divide-by-zero on any run.fn212:16 proven-safe — scry PROVED `i32.div_u` cannot divide-by-zero on any run.fn235:13 proven-safe — scry PROVED `i32.div_u` cannot divide-by-zero on any run.fn257:13 proven-safe — scry PROVED `i32.div_u` cannot divide-by-zero on any run.fn608:5 proven-safe — scry PROVED `i32.load` cannot out-of-bounds access on any run.fn613:32 proven-safe — scry PROVED `i64.load` cannot out-of-bounds access on any run.fn619:22 proven-safe — scry PROVED `i32.load` cannot out-of-bounds access on any run.| func | name | kind | reachable | recursive | params | frame | max stack | points |
|---|---|---|---|---|---|---|---|---|
| 0 | __imported_wasi_snapshot_preview1_environ_get | import | no | no | ? | ? | ? | 0 |
| 1 | __imported_wasi_snapshot_preview1_environ_sizes_get | import | no | no | ? | ? | ? | 0 |
| 2 | __imported_wasi_snapshot_preview1_fd_write | import | no | no | ? | ? | ? | 0 |
| 3 | __imported_wasi_snapshot_preview1_proc_exit | import | no | no | ? | ? | ? | 0 |
| 4 | core::ptr::drop_glue::<scry_analyze_core::AnalysisResult> | rust defined | yes | no | 1 | 0 bytes | 0 bytes | 252 |
| 5 | scry_mcdc::drive | rust defined | yes | no | 3 | 592 bytes | unbounded | 59 |
| 6 | run_call_indirect_default | defined | yes | no | 0 | 48 bytes | unbounded | 7 |
| 7 | run_call_indirect_no_diag | defined | yes | no | 0 | 48 bytes | unbounded | 7 |
| 8 | run_call_indirect_taint | defined | yes | no | 0 | 48 bytes | unbounded | 25 |
| 9 | run_const_fold_default | defined | yes | no | 0 | 48 bytes | unbounded | 7 |
| 10 | run_const_fold_no_diag | defined | yes | no | 0 | 48 bytes | unbounded | 7 |
| 11 | run_const_fold_widen1 | defined | yes | no | 0 | 48 bytes | unbounded | 7 |
| 12 | run_counted_loop_default | defined | yes | no | 0 | 48 bytes | unbounded | 7 |
| 13 | run_counted_loop_no_diag | defined | yes | no | 0 | 48 bytes | unbounded | 7 |
| 14 | run_guard_bound_default | defined | yes | no | 0 | 48 bytes | unbounded | 7 |
| 15 | run_guard_bound_widen1 | defined | yes | no | 0 | 48 bytes | unbounded | 7 |
| 16 | run_interproc_default | defined | yes | no | 0 | 48 bytes | unbounded | 7 |
| 17 | run_interproc_taint | defined | yes | no | 0 | 48 bytes | unbounded | 25 |
| 18 | run_interproc_taint_no_diag | defined | yes | no | 0 | 48 bytes | unbounded | 25 |
| 19 | run_interproc_widen1 | defined | yes | no | 0 | 48 bytes | unbounded | 7 |
| 20 | run_loop_converge_default | defined | yes | no | 0 | 48 bytes | unbounded | 7 |
| 21 | run_loop_converge_widen1 | defined | yes | no | 0 | 48 bytes | unbounded | 7 |
| 22 | run_overflow_default | defined | yes | no | 0 | 48 bytes | unbounded | 7 |
| 23 | run_overflow_widen1 | defined | yes | no | 0 | 48 bytes | unbounded | 7 |
| 24 | run_reachability_default | defined | yes | no | 0 | 48 bytes | unbounded | 7 |
| 25 | run_region_default | defined | yes | no | 0 | 48 bytes | unbounded | 7 |
| 26 | run_region_no_diag | defined | yes | no | 0 | 48 bytes | unbounded | 7 |
| 27 | run_region_widen1 | defined | yes | no | 0 | 48 bytes | unbounded | 7 |
| 28 | run_stack_alloca_default | defined | yes | no | 0 | 48 bytes | unbounded | 7 |
| 29 | run_stack_chain_default | defined | yes | no | 0 | 48 bytes | unbounded | 7 |
| 30 | run_stack_dynamic_default | defined | yes | no | 0 | 48 bytes | unbounded | 7 |
| 31 | run_stack_measured_default | defined | yes | no | 0 | 48 bytes | unbounded | 7 |
| 32 | run_stack_recursion_default | defined | yes | no | 0 | 48 bytes | unbounded | 7 |
| 33 | run_var_bound_default | defined | yes | no | 0 | 48 bytes | unbounded | 7 |
| 34 | run_var_bound_widen1 | defined | yes | no | 0 | 48 bytes | unbounded | 7 |
| 35 | run_with_param_default | defined | yes | no | 0 | 48 bytes | unbounded | 7 |
| 36 | run_with_param_taint | defined | yes | no | 0 | 48 bytes | unbounded | 25 |
| 37 | run_with_param_taint_no_diag | defined | yes | no | 0 | 48 bytes | unbounded | 25 |
| 38 | __rustc::__rust_alloc | rust defined | yes | no | 2 | 0 bytes | 32 bytes | 3 |
| 39 | __rustc::__rust_dealloc | rust defined | yes | no | 3 | 0 bytes | 0 bytes | 4 |
| 40 | __rustc::__rust_realloc | rust defined | yes | no | 4 | 0 bytes | 32 bytes | 5 |
| 41 | __rustc::__rust_alloc_zeroed | rust defined | yes | no | 2 | 0 bytes | 32 bytes | 3 |
| 42 | __rustc::__rust_no_alloc_shim_is_unstable_v2 | rust defined | yes | no | 0 | 0 bytes | 0 bytes | 0 |
| 43 | <[scry_analyze_core::Gap]>::sort_by_key::<(u32, u32), scry_analyze_core::analyze::{closure#18}> | rust defined | yes | no | 2 | 16 bytes | unbounded | 32 |
| 44 | core::slice::sort::stable::driftsort_main::<scry_analyze_core::Gap, <[scry_analyze_core::Gap]>::sort_by_key<(u32, u32), scry_analyze_core::analyze::{closure#18}>::{closure#0}, alloc::vec::Vec<scry_analyze_core::Gap>> | rust defined | yes | no | 3 | 4112 bytes | unbounded | 11 |
| 45 | core::slice::sort::shared::smallsort::insertion_sort_shift_left::<scry_analyze_core::Gap, <[scry_analyze_core::Gap]>::sort_by_key<(u32, u32), scry_analyze_core::analyze::{closure#18}>::{closure#0}> | rust defined | yes | no | 4 | 16 bytes | 16 bytes | 28 |
| 46 | <[scry_analyze_core::TrapCheck]>::sort_by_key::<(u32, u32, u8), scry_analyze_core::analyze::{closure#19}> | rust defined | yes | no | 2 | 16 bytes | unbounded | 32 |
| 47 | core::slice::sort::stable::driftsort_main::<scry_analyze_core::TrapCheck, <[scry_analyze_core::TrapCheck]>::sort_by_key<(u32, u32, u8), scry_analyze_core::analyze::{closure#19}>::{closure#0}, alloc::vec::Vec<scry_analyze_core::TrapCheck>> | rust defined | yes | no | 3 | 4112 bytes | unbounded | 11 |
| 48 | core::slice::sort::shared::smallsort::insertion_sort_shift_left::<scry_analyze_core::TrapCheck, <[scry_analyze_core::TrapCheck]>::sort_by_key<(u32, u32, u8), scry_analyze_core::analyze::{closure#19}>::{closure#0}> | rust defined | yes | no | 4 | 16 bytes | 16 bytes | 29 |
| 49 | <str>::contains::<&str> | rust defined | yes | no | 4 | 80 bytes | unbounded | 41 |
| 50 | <core::str::pattern::TwoWaySearcher>::next::<core::str::pattern::MatchOnly> | rust defined | yes | no | 7 | 0 bytes | unbounded | 34 |
| 51 | <core::option::Option<&scry_provenance::ProvenanceSection>>::map::<scry_analyze_core::ComponentProvenance, scry_analyze_core::analyze::{closure#24}> | rust defined | yes | no | 3 | 112 bytes | unbounded | 10 |
| 52 | <alloc::string::String as core::fmt::Display>::fmt | rust defined | yes | yes | 2 | 0 bytes | unbounded | 7 |
| 53 | <alloc::raw_vec::RawVec<scry_analyze_core::Diagnostic>>::grow_one | rust defined | yes | no | 1 | 16 bytes | unbounded | 24 |
| 54 | <core::result::Result<wasmparser::readers::core::operators::OperatorsReader, wasmparser::binary_reader::BinaryReaderError>>::map_err::<scry_analyze_core::AnalyzeError, scry_analyze_core::analyze::{closure#13}> | rust defined | yes | no | 3 | 48 bytes | unbounded | 85 |
| 55 | <alloc::collections::btree::node::Handle<alloc::collections::btree::node::NodeRef<alloc::collections::btree::node::marker::Mut, usize, alloc::collections::btree::set_val::SetValZST, alloc::collections::btree::node::marker::Leaf>, alloc::collections::btree::node::marker::Edge>>::insert::<alloc::alloc::Global> | rust defined | yes | no | 3 | 32 bytes | unbounded | 10 |
| 56 | <alloc::collections::btree::node::Handle<alloc::collections::btree::node::NodeRef<alloc::collections::btree::node::marker::Mut, usize, alloc::collections::btree::set_val::SetValZST, alloc::collections::btree::node::marker::Leaf>, alloc::collections::btree::node::marker::KV>>::split::<alloc::alloc::Global> | rust defined | yes | no | 2 | 0 bytes | unbounded | 9 |
| 57 | <alloc::collections::btree::node::Handle<alloc::collections::btree::node::NodeRef<alloc::collections::btree::node::marker::Mut, usize, alloc::collections::btree::set_val::SetValZST, alloc::collections::btree::node::marker::Internal>, alloc::collections::btree::node::marker::Edge>>::insert::<alloc::alloc::Global> | rust defined | yes | no | 5 | 32 bytes | unbounded | 21 |
| 58 | <alloc::collections::btree::node::Handle<alloc::collections::btree::node::NodeRef<alloc::collections::btree::node::marker::Mut, usize, alloc::collections::btree::set_val::SetValZST, alloc::collections::btree::node::marker::Internal>, alloc::collections::btree::node::marker::KV>>::split::<alloc::alloc::Global> | rust defined | yes | no | 2 | 0 bytes | unbounded | 4 |
| 59 | <alloc::collections::btree::node::Handle<alloc::collections::btree::node::NodeRef<alloc::collections::btree::node::marker::Mut, usize, alloc::collections::btree::set_val::SetValZST, alloc::collections::btree::node::marker::Leaf>, alloc::collections::btree::node::marker::Edge>>::insert_recursing::<alloc::alloc::Global, <alloc::collections::btree::map::entry::VacantEntry<usize, alloc::collections::btree::set_val::SetValZST>>::insert_entry::{closure#0}> | rust defined | yes | no | 5 | 48 bytes | unbounded | 41 |
| 60 | <alloc::vec::Vec<scry_analyze_core::TrapCheck>>::dedup_by::<scry_analyze_core::analyze::{closure#20}> | rust defined | yes | no | 1 | 0 bytes | 0 bytes | 18 |
| 61 | <core::iter::adapters::map::Map<core::ops::range::Range<usize>, scry_analyze_core::resolved_stack_callees::{closure#1}> as core::iter::traits::iterator::Iterator>::fold::<(), core::iter::traits::iterator::Iterator::for_each::call<alloc::vec::Vec<usize>, <alloc::vec::Vec<alloc::vec::Vec<usize>>>::extend_trusted<core::iter::adapters::map::Map<core::ops::range::Range<usize>, scry_analyze_core::resolved_stack_callees::{closure#1}>>::{closure#0}>::{closure#0}> | rust defined | yes | no | 2 | 48 bytes | unbounded | 51 |
| 62 | <alloc::vec::Vec<core::option::Option<scry_analyze_core::BreakState>>>::extend_trusted::<core::iter::adapters::map::Map<core::slice::iter::Iter<scry_analyze_core::Label>, <scry_analyze_core::Interp>::loop_region::{closure#0}>> | rust defined | yes | no | 3 | 80 bytes | unbounded | 185 |
| 63 | <alloc::vec::Vec<scry_analyze_core::AbstractValue> as core::clone::Clone>::clone | rust defined | yes | no | 2 | 16 bytes | unbounded | 33 |
| 64 | <core::iter::adapters::map::Map<core::slice::iter::Iter<scry_analyze_core::DefinedFunc>, scry_analyze_core::compute_stack_usage::{closure#0}> as core::iter::traits::iterator::Iterator>::fold::<(), core::iter::traits::iterator::Iterator::for_each::call<scry_analyze_core::StackBound, <alloc::vec::Vec<scry_analyze_core::StackBound>>::extend_trusted<core::iter::adapters::map::Map<core::slice::iter::Iter<scry_analyze_core::DefinedFunc>, scry_analyze_core::compute_stack_usage::{closure#0}>>::{closure#0}>::{closure#0}> | rust defined | yes | no | 2 | 16 bytes | unbounded | 37 |
| 65 | <core::iter::adapters::map::Map<core::iter::adapters::zip::Zip<core::slice::iter::Iter<scry_analyze_core::AbstractValue>, core::slice::iter::Iter<scry_analyze_core::AbstractValue>>, scry_analyze_core::join_locals::{closure#0}> as core::iter::traits::iterator::Iterator>::fold::<(), core::iter::traits::iterator::Iterator::for_each::call<scry_analyze_core::AbstractValue, <alloc::vec::Vec<scry_analyze_core::AbstractValue>>::extend_trusted<core::iter::adapters::map::Map<core::iter::adapters::zip::Zip<core::slice::iter::Iter<scry_analyze_core::AbstractValue>, core::slice::iter::Iter<scry_analyze_core::AbstractValue>>, scry_analyze_core::join_locals::{closure#0}>>::{closure#0}>::{closure#0}> | rust defined | yes | no | 2 | 16 bytes | 16 bytes | 31 |
| 66 | <core::iter::adapters::map::Map<core::iter::adapters::zip::Zip<core::slice::iter::Iter<scry_analyze_core::AbstractValue>, core::slice::iter::Iter<scry_analyze_core::AbstractValue>>, scry_analyze_core::widen_locals::{closure#0}> as core::iter::traits::iterator::Iterator>::fold::<(), core::iter::traits::iterator::Iterator::for_each::call<scry_analyze_core::AbstractValue, <alloc::vec::Vec<scry_analyze_core::AbstractValue>>::extend_trusted<core::iter::adapters::map::Map<core::iter::adapters::zip::Zip<core::slice::iter::Iter<scry_analyze_core::AbstractValue>, core::slice::iter::Iter<scry_analyze_core::AbstractValue>>, scry_analyze_core::widen_locals::{closure#0}>>::{closure#0}>::{closure#0}> | rust defined | yes | no | 2 | 16 bytes | 16 bytes | 31 |
| 67 | <alloc::vec::Vec<scry_analyze_core::AbstractValue>>::extend_trusted::<core::iter::adapters::map::Map<core::iter::adapters::zip::Zip<core::slice::iter::Iter<scry_analyze_core::AbstractValue>, core::slice::iter::Iter<scry_analyze_core::AbstractValue>>, scry_analyze_core::narrow_locals::{closure#0}>> | rust defined | yes | no | 2 | 0 bytes | unbounded | 38 |
| 68 | <core::iter::adapters::map::Map<core::iter::adapters::enumerate::Enumerate<core::slice::iter::Iter<scry_analyze_core::AbstractValue>>, scry_analyze_core::reduce_locals::{closure#1}> as core::iter::traits::iterator::Iterator>::fold::<(), core::iter::traits::iterator::Iterator::for_each::call<scry_analyze_core::AbstractValue, <alloc::vec::Vec<scry_analyze_core::AbstractValue>>::extend_trusted<core::iter::adapters::map::Map<core::iter::adapters::enumerate::Enumerate<core::slice::iter::Iter<scry_analyze_core::AbstractValue>>, scry_analyze_core::reduce_locals::{closure#1}>>::{closure#0}>::{closure#0}> | rust defined | yes | no | 2 | 48 bytes | unbounded | 28 |
| 69 | <core::iter::adapters::map::Map<core::ops::range::Range<usize>, scry_analyze_core::compute_stack_usage::{closure#2}> as core::iter::traits::iterator::Iterator>::fold::<(), core::iter::traits::iterator::Iterator::for_each::call<scry_analyze_core::FunctionStack, <alloc::vec::Vec<scry_analyze_core::FunctionStack>>::extend_trusted<core::iter::adapters::map::Map<core::ops::range::Range<usize>, scry_analyze_core::compute_stack_usage::{closure#2}>>::{closure#0}>::{closure#0}> | rust defined | yes | no | 2 | 0 bytes | unbounded | 36 |
| 70 | <core::iter::adapters::copied::Copied<alloc::collections::btree::set::Iter<usize>> as core::iter::traits::iterator::Iterator>::fold::<(), core::iter::traits::iterator::Iterator::for_each::call<usize, <alloc::vec::Vec<usize>>::extend_trusted<core::iter::adapters::copied::Copied<alloc::collections::btree::set::Iter<usize>>>::{closure#0}>::{closure#0}> | rust defined | yes | no | 2 | 0 bytes | unbounded | 53 |
| 71 | <alloc::vec::Vec<alloc::collections::btree::set::BTreeSet<usize>>>::extend_with | rust defined | yes | no | 3 | 64 bytes | unbounded | 107 |
| 72 | core::ptr::drop_glue::<core::option::Option<scry_provenance::ProvenanceSection>> | rust defined | yes | no | 1 | 0 bytes | 0 bytes | 9 |
| 73 | core::ptr::drop_glue::<core::result::Result<wasmparser::readers::core::names::Name, wasmparser::binary_reader::BinaryReaderError>> | rust defined | yes | no | 1 | 0 bytes | 0 bytes | 1 |
| 74 | core::ptr::drop_glue::<alloc::vec::Vec<alloc::vec::Vec<usize>>> | rust defined | yes | no | 1 | 0 bytes | 0 bytes | 29 |
| 75 | core::ptr::drop_glue::<alloc::vec::Vec<core::option::Option<scry_analyze_core::SummaryEntry>>> | rust defined | yes | no | 1 | 0 bytes | 0 bytes | 35 |
| 76 | core::ptr::drop_glue::<alloc::vec::Vec<scry_analyze_core::Diagnostic>> | rust defined | yes | no | 1 | 0 bytes | 0 bytes | 29 |
| 77 | core::ptr::drop_glue::<alloc::vec::Vec<scry_analyze_core::DefinedFunc>> | rust defined | yes | no | 1 | 0 bytes | 0 bytes | 7 |
| 78 | <alloc::vec::Vec<scry_analyze_core::DefinedFunc> as core::ops::drop::Drop>::drop | rust defined | yes | no | 1 | 0 bytes | 0 bytes | 68 |
| 79 | core::ptr::drop_glue::<alloc::vec::Vec<scry_analyze_core::ProgramPoint>> | rust defined | yes | no | 1 | 0 bytes | 0 bytes | 47 |
| 80 | core::ptr::drop_glue::<alloc::vec::Vec<scry_analyze_core::Gap>> | rust defined | yes | no | 1 | 0 bytes | 0 bytes | 29 |
| 81 | core::ptr::drop_glue::<alloc::vec::Vec<scry_analyze_core::Label>> | rust defined | yes | no | 1 | 0 bytes | 0 bytes | 49 |
| 82 | core::ptr::drop_glue::<alloc::vec::Vec<scry_analyze_core::CallEdge>> | rust defined | yes | no | 1 | 0 bytes | 0 bytes | 35 |
| 83 | core::ptr::drop_glue::<alloc::vec::Vec<scry_analyze_core::TrapCheck>> | rust defined | yes | no | 1 | 0 bytes | 0 bytes | 29 |
| 84 | core::ptr::drop_glue::<alloc::vec::Vec<alloc::string::String>> | rust defined | yes | no | 1 | 0 bytes | 0 bytes | 29 |
| 85 | core::ptr::drop_glue::<alloc::vec::Vec<wasmparser::readers::core::operators::Operator>> | rust defined | yes | no | 1 | 0 bytes | 0 bytes | 27 |
| 86 | core::ptr::drop_glue::<wasmparser::readers::core::operators::Operator> | rust defined | yes | no | 1 | 0 bytes | 0 bytes | 2 |
| 87 | core::ptr::drop_glue::<alloc::vec::Vec<(alloc::vec::Vec<wasmparser::readers::core::types::ValType>, alloc::vec::Vec<wasmparser::readers::core::types::ValType>)>> | rust defined | yes | no | 1 | 0 bytes | 0 bytes | 36 |
| 88 | core::ptr::drop_glue::<alloc::vec::Vec<(u32, alloc::string::String)>> | rust defined | yes | no | 1 | 0 bytes | 0 bytes | 31 |
| 89 | core::ptr::drop_glue::<alloc::vec::Vec<(u64, alloc::vec::Vec<u32>)>> | rust defined | yes | no | 1 | 0 bytes | 0 bytes | 31 |
| 90 | core::ptr::drop_glue::<core::iter::adapters::map::Map<core::iter::adapters::flatten::FlatMap<wasmparser::readers::SectionLimitedIntoIter<wasmparser::readers::core::imports::Imports>, wasmparser::readers::core::imports::ImportsIter, <wasmparser::readers::SectionLimited<wasmparser::readers::core::imports::Imports>>::into_imports_with_offsets::{closure#0}>, <wasmparser::readers::SectionLimited<wasmparser::readers::core::imports::Imports>>::into_imports::{closure#0}>> | rust defined | yes | no | 1 | 0 bytes | 0 bytes | 5 |
| 91 | core::ptr::drop_glue::<scry_analyze_core::AnalysisConfig> | rust defined | yes | no | 1 | 0 bytes | 0 bytes | 19 |
| 92 | core::slice::sort::stable::driftsort_main::<scry_analyze_core::PentagonFact, <[scry_analyze_core::PentagonFact]>::sort_by_key<(u32, u32), scry_analyze_core::compute_pentagon_facts::{closure#0}>::{closure#0}, alloc::vec::Vec<scry_analyze_core::PentagonFact>> | rust defined | yes | no | 3 | 4112 bytes | unbounded | 10 |
| 93 | core::slice::sort::stable::drift::sort::<scry_analyze_core::PentagonFact, <[scry_analyze_core::PentagonFact]>::sort_by_key<(u32, u32), scry_analyze_core::compute_pentagon_facts::{closure#0}>::{closure#0}> | rust defined | yes | yes | 6 | 336 bytes | unbounded | 12 |
| 94 | core::slice::sort::stable::driftsort_main::<scry_analyze_core::HandleFinding, <[scry_analyze_core::HandleFinding]>::sort_by_key<(u32, u32), scry_analyze_core::compute_handle_findings::{closure#0}>::{closure#0}, alloc::vec::Vec<scry_analyze_core::HandleFinding>> | rust defined | yes | no | 3 | 4112 bytes | unbounded | 11 |
| 95 | core::slice::sort::stable::drift::sort::<scry_analyze_core::HandleFinding, <[scry_analyze_core::HandleFinding]>::sort_by_key<(u32, u32), scry_analyze_core::compute_handle_findings::{closure#0}>::{closure#0}> | rust defined | yes | yes | 6 | 336 bytes | unbounded | 12 |
| 96 | core::slice::sort::stable::drift::sort::<scry_analyze_core::Gap, <[scry_analyze_core::Gap]>::sort_by_key<(u32, u32), scry_analyze_core::analyze::{closure#18}>::{closure#0}> | rust defined | yes | yes | 6 | 336 bytes | unbounded | 12 |
| 97 | core::slice::sort::stable::driftsort_main::<scry_analyze_core::BitFact, <[scry_analyze_core::BitFact]>::sort_by_key<(u32, u32, u32), scry_analyze_core::compute_bit_facts::{closure#11}>::{closure#0}, alloc::vec::Vec<scry_analyze_core::BitFact>> | rust defined | yes | no | 3 | 4112 bytes | unbounded | 10 |
| 98 | core::slice::sort::stable::drift::sort::<scry_analyze_core::BitFact, <[scry_analyze_core::BitFact]>::sort_by_key<(u32, u32, u32), scry_analyze_core::compute_bit_facts::{closure#11}>::{closure#0}> | rust defined | yes | yes | 6 | 336 bytes | unbounded | 12 |
| 99 | core::slice::sort::stable::driftsort_main::<scry_analyze_core::Advisory, <[scry_analyze_core::Advisory]>::sort_by_key<(u8, u32, u32), scry_analyze_core::compute_advisories::{closure#0}>::{closure#0}, alloc::vec::Vec<scry_analyze_core::Advisory>> | rust defined | yes | no | 3 | 4112 bytes | unbounded | 10 |
… showing 100 of 829 functions.
… showing 100 of 1349 call edges.
fn0:0 scry 3.2.4 — wasm-lattice cross-component import alivefn4:4 call resolved to 1 target (func 347); direct call edge recorded (sound); result via context-insensitive summaryfn4:6 call resolved to 1 target (func 344); direct call edge recorded (sound); result via context-insensitive summaryfn4:11 call resolved to 1 target (func 347); direct call edge recorded (sound); result via context-insensitive summaryfn4:13 call resolved to 1 target (func 344); direct call edge recorded (sound); result via context-insensitive summaryfn4:18 call resolved to 1 target (func 299); direct call edge recorded (sound); result via context-insensitive summaryfn4:20 call resolved to 1 target (func 264); direct call edge recorded (sound); result via context-insensitive summaryfn4:25 call resolved to 1 target (func 297); direct call edge recorded (sound); result via context-insensitive summaryfn4:27 call resolved to 1 target (func 262); direct call edge recorded (sound); result via context-insensitive summaryfn4:32 call resolved to 1 target (func 304); direct call edge recorded (sound); result via context-insensitive summaryfn4:34 call resolved to 1 target (func 270); direct call edge recorded (sound); result via context-insensitive summaryfn4:41 i32.load at offset interval [-9223372036854775808, 9223372036854775807] cannot be proven in-region — bounds-check elision unsafe (default region size = 1114112 bytes, load width = 4)fn4:46 i32.load at offset interval [-9223372036854775808, 9223372036854775807] cannot be proven in-region — bounds-check elision unsafe (default region size = 1114112 bytes, load width = 4)fn4:53 call resolved to 1 target (func 300); direct call edge recorded (sound); result via context-insensitive summaryfn4:55 call resolved to 1 target (func 265); direct call edge recorded (sound); result via context-insensitive summaryfn4:60 call resolved to 1 target (func 300); direct call edge recorded (sound); result via context-insensitive summaryfn4:62 call resolved to 1 target (func 265); direct call edge recorded (sound); result via context-insensitive summaryfn4:53 call resolved to 1 target (func 300); direct call edge recorded (sound); result via context-insensitive summaryfn4:55 call resolved to 1 target (func 265); direct call edge recorded (sound); result via context-insensitive summaryfn4:60 call resolved to 1 target (func 300); direct call edge recorded (sound); result via context-insensitive summaryfn4:62 call resolved to 1 target (func 265); direct call edge recorded (sound); result via context-insensitive summaryfn4:53 call resolved to 1 target (func 300); direct call edge recorded (sound); result via context-insensitive summaryfn4:55 call resolved to 1 target (func 265); direct call edge recorded (sound); result via context-insensitive summaryfn4:60 call resolved to 1 target (func 300); direct call edge recorded (sound); result via context-insensitive summaryfn4:62 call resolved to 1 target (func 265); direct call edge recorded (sound); result via context-insensitive summaryfn4:53 call resolved to 1 target (func 300); direct call edge recorded (sound); result via context-insensitive summaryfn4:55 call resolved to 1 target (func 265); direct call edge recorded (sound); result via context-insensitive summaryfn4:60 call resolved to 1 target (func 300); direct call edge recorded (sound); result via context-insensitive summaryfn4:62 call resolved to 1 target (func 265); direct call edge recorded (sound); result via context-insensitive summaryfn4:79 call resolved to 1 target (func 335); direct call edge recorded (sound); result via context-sensitive re-evalfn4:82 i32.load at offset interval [-9223372036854775808, 9223372036854775807] cannot be proven in-region — bounds-check elision unsafe (default region size = 1114112 bytes, load width = 4)fn4:92 i32.load at offset interval [-9223372036854775808, 9223372036854775807] cannot be proven in-region — bounds-check elision unsafe (default region size = 1114112 bytes, load width = 4)fn4:97 i32.load at offset interval [-9223372036854775808, 9223372036854775807] cannot be proven in-region — bounds-check elision unsafe (default region size = 1114112 bytes, load width = 4)fn4:106 call resolved to 1 target (func 347); direct call edge recorded (sound); result via context-insensitive summaryfn4:108 call resolved to 1 target (func 344); direct call edge recorded (sound); result via context-insensitive summaryfn4:106 call resolved to 1 target (func 347); direct call edge recorded (sound); result via context-insensitive summaryfn4:108 call resolved to 1 target (func 344); direct call edge recorded (sound); result via context-insensitive summaryfn4:106 call resolved to 1 target (func 347); direct call edge recorded (sound); result via context-insensitive summaryfn4:108 call resolved to 1 target (func 344); direct call edge recorded (sound); result via context-insensitive summaryfn4:125 call resolved to 1 target (func 335); direct call edge recorded (sound); result via context-sensitive re-evalfn4:133 i32.load at offset interval [-9223372036854775808, 9223372036854775807] cannot be proven in-region — bounds-check elision unsafe (default region size = 1114112 bytes, load width = 4)fn4:138 i32.load at offset interval [-9223372036854775808, 9223372036854775807] cannot be proven in-region — bounds-check elision unsafe (default region size = 1114112 bytes, load width = 4)fn4:145 call resolved to 1 target (func 347); direct call edge recorded (sound); result via context-insensitive summaryfn4:147 call resolved to 1 target (func 344); direct call edge recorded (sound); result via context-insensitive summaryfn4:145 call resolved to 1 target (func 347); direct call edge recorded (sound); result via context-insensitive summaryfn4:147 call resolved to 1 target (func 344); direct call edge recorded (sound); result via context-insensitive summaryfn4:145 call resolved to 1 target (func 347); direct call edge recorded (sound); result via context-insensitive summaryfn4:147 call resolved to 1 target (func 344); direct call edge recorded (sound); result via context-insensitive summaryfn4:164 call resolved to 1 target (func 335); direct call edge recorded (sound); result via context-sensitive re-evalfn4:170 call resolved to 1 target (func 335); direct call edge recorded (sound); result via context-sensitive re-evalfn4:175 call resolved to 1 target (func 593); direct call edge recorded (sound); result via context-insensitive summaryfn4:177 call resolved to 1 target (func 564); direct call edge recorded (sound); result via context-insensitive summaryfn4:180 i32.load at offset interval [-9223372036854775808, 9223372036854775807] cannot be proven in-region — bounds-check elision unsafe (default region size = 1114112 bytes, load width = 4)fn4:185 i32.load at offset interval [-9223372036854775808, 9223372036854775807] cannot be proven in-region — bounds-check elision unsafe (default region size = 1114112 bytes, load width = 4)fn4:197 i32.load at offset interval [-9223372036854775808, 9223372036854775807] cannot be proven in-region — bounds-check elision unsafe (default region size = 1114112 bytes, load width = 4)fn4:202 call resolved to 1 target (func 347); direct call edge recorded (sound); result via context-insensitive summaryfn4:204 call resolved to 1 target (func 344); direct call edge recorded (sound); result via context-insensitive summaryfn4:210 call resolved to 1 target (func 307); direct call edge recorded (sound); result via context-insensitive summaryfn4:212 call resolved to 1 target (func 273); direct call edge recorded (sound); result via context-insensitive summaryfn4:197 i32.load at offset interval [-9223372036854775808, 9223372036854775807] cannot be proven in-region — bounds-check elision unsafe (default region size = 1114112 bytes, load width = 4)fn4:202 call resolved to 1 target (func 347); direct call edge recorded (sound); result via context-insensitive summaryfn4:204 call resolved to 1 target (func 344); direct call edge recorded (sound); result via context-insensitive summaryfn4:210 call resolved to 1 target (func 307); direct call edge recorded (sound); result via context-insensitive summaryfn4:212 call resolved to 1 target (func 273); direct call edge recorded (sound); result via context-insensitive summaryfn4:197 i32.load at offset interval [-9223372036854775808, 9223372036854775807] cannot be proven in-region — bounds-check elision unsafe (default region size = 1114112 bytes, load width = 4)fn4:202 call resolved to 1 target (func 347); direct call edge recorded (sound); result via context-insensitive summaryfn4:204 call resolved to 1 target (func 344); direct call edge recorded (sound); result via context-insensitive summaryfn4:210 call resolved to 1 target (func 307); direct call edge recorded (sound); result via context-insensitive summaryfn4:212 call resolved to 1 target (func 273); direct call edge recorded (sound); result via context-insensitive summaryfn4:231 call resolved to 1 target (func 335); direct call edge recorded (sound); result via context-sensitive re-evalfn4:236 call resolved to 1 target (func 303); direct call edge recorded (sound); result via context-insensitive summaryfn4:238 call resolved to 1 target (func 268); direct call edge recorded (sound); result via context-insensitive summaryfn4:243 call resolved to 1 target (func 302); direct call edge recorded (sound); result via context-insensitive summaryfn4:245 call resolved to 1 target (func 267); direct call edge recorded (sound); result via context-insensitive summaryfn4:250 call resolved to 1 target (func 298); direct call edge recorded (sound); result via context-insensitive summaryfn4:252 call resolved to 1 target (func 263); direct call edge recorded (sound); result via context-insensitive summaryfn4:257 call resolved to 1 target (func 306); direct call edge recorded (sound); result via context-insensitive summaryfn4:259 call resolved to 1 target (func 272); direct call edge recorded (sound); result via context-insensitive summaryfn4:264 call resolved to 1 target (func 305); direct call edge recorded (sound); result via context-insensitive summaryfn4:266 call resolved to 1 target (func 271); direct call edge recorded (sound); result via context-insensitive summaryfn4:271 call resolved to 1 target (func 301); direct call edge recorded (sound); result via context-insensitive summaryfn4:273 call resolved to 1 target (func 266); direct call edge recorded (sound); result via context-insensitive summaryfn4:278 call resolved to 1 target (func 101); direct call edge recorded (sound); result via context-insensitive summaryfn4:280 call resolved to 1 target (func 269); direct call edge recorded (sound); result via context-insensitive summaryfn5:2 i32 binop on non-i32-interval operand — pushing topfn5:7 i32.store at offset interval [-9223372036854775808, 9223372036854775807] cannot be proven in-region — bounds-check elision unsafe (default region size = 1114112 bytes, store width = 4)fn5:10 i32.store at offset interval [-9223372036854775808, 9223372036854775807] cannot be proven in-region — bounds-check elision unsafe (default region size = 1114112 bytes, store width = 4)fn5:16 i32.load at offset interval [-9223372036854775808, 9223372036854775807] cannot be proven in-region — bounds-check elision unsafe (default region size = 1114112 bytes, load width = 4)fn5:22 i32.load at offset interval [-9223372036854775808, 9223372036854775807] cannot be proven in-region — bounds-check elision unsafe (default region size = 1114112 bytes, load width = 4)fn5:27 call resolved to 1 target (func 337); direct call edge recorded (sound); result via context-insensitive summaryfn5:29 i32.load at offset interval [-9223372036854775808, 9223372036854775807] cannot be proven in-region — bounds-check elision unsafe (default region size = 1114112 bytes, load width = 4)fn5:35 i32.load at offset interval [-9223372036854775808, 9223372036854775807] cannot be proven in-region — bounds-check elision unsafe (default region size = 1114112 bytes, load width = 4)fn5:41 i32.store at offset interval [-9223372036854775808, 9223372036854775807] cannot be proven in-region — bounds-check elision unsafe (default region size = 1114112 bytes, store width = 4)fn5:44 i32.load at offset interval [-9223372036854775808, 9223372036854775807] cannot be proven in-region — bounds-check elision unsafe (default region size = 1114112 bytes, load width = 4)fn5:46 i32.store at offset interval [-9223372036854775808, 9223372036854775807] cannot be proven in-region — bounds-check elision unsafe (default region size = 1114112 bytes, store width = 4)fn5:49 i32.store at offset interval [-9223372036854775808, 9223372036854775807] cannot be proven in-region — bounds-check elision unsafe (default region size = 1114112 bytes, store width = 4)fn5:61 unsupported operator at v0.2 AC#1: <unsupported> — locals degraded to topfn5:73 block modelled by write-set havoc (FEAT-016 fallback): 1 local(s) widened to top, rest preservedfn5:119 block modelled by write-set havoc (FEAT-016 fallback): 1 local(s) widened to top, rest preservedfn5:142 loop modelled by write-set havoc (FEAT-016 fallback): 7 local(s) widened to top, rest preserved… showing 100 of 7973 diagnostics.
1965 site(s) where scry degraded a function to ⊤ (gave up).
fn5:61 MemoryCopyfn5:73 blockfn5:119 blockfn5:142 loopfn5:285 blockfn5:469 blockfn5:640 blockfn5:659 blockfn5:764 blockfn6:7 I32Store8fn7:7 I32Store8fn8:29 I32Store8fn9:7 I32Store8fn10:7 I32Store8fn11:7 I32Store8fn12:7 I32Store8fn13:7 I32Store8fn14:7 I32Store8fn15:7 I32Store8fn16:7 I32Store8fn17:29 I32Store8fn18:29 I32Store8fn19:7 I32Store8fn20:7 I32Store8fn21:7 I32Store8fn22:7 I32Store8fn23:7 I32Store8fn24:7 I32Store8fn25:7 I32Store8fn26:7 I32Store8fn27:7 I32Store8fn28:7 I32Store8fn29:7 I32Store8fn30:7 I32Store8fn31:7 I32Store8fn32:7 I32Store8fn33:7 I32Store8fn34:7 I32Store8fn35:7 I32Store8fn36:29 I32Store8fn37:29 I32Store8fn44:13 selectfn44:65 blockfn45:36 blockfn45:36 blockfn45:36 blockfn45:58 selectfn45:75 blockfn47:13 selectfn47:65 blockfn48:40 I32Load8Ufn48:45 blockfn48:45 blockfn48:45 blockfn48:45 blockfn48:90 blockfn48:90 blockfn48:90 blockfn48:90 blockfn49:48 I32Load8Ufn49:61 loopfn49:402 blockfn49:466 blockfn50:41 blockfn50:41 blockfn50:41 blockfn50:47 I64Load8Ufn50:60 blockfn50:101 blockfn51:14 I32Load8Ufn51:53 loopfn51:272 blockfn53:26 unreachablefn55:14 I32Load16Ufn55:42 blockfn55:163 blockfn56:12 I32Store16fn56:54 blockfn57:23 I32Load16Ufn57:51 blockfn57:97 blockfn57:139 blockfn57:339 blockfn57:386 blockfn57:428 blockfn58:3 I32Load16Ufn58:6 blockfn59:53 blockfn59:53 blockfn59:62 I32Load16Ufn59:83 blockfn59:83 blockfn59:83 blockfn59:211 blockfn59:211 blockfn59:211 blockfn60:23 blockfn60:23 blockfn60:23 blockfn60:48 I32Load8U… showing 100 of 1965 gaps.
6225 check(s); 6194 POTENTIAL-TRAP, 31 PROVEN-SAFE.
fn4:41 i32.load (out-of-bounds)fn4:46 i32.load (out-of-bounds)fn4:82 i32.load (out-of-bounds)fn4:92 i32.load (out-of-bounds)fn4:97 i32.load (out-of-bounds)fn4:133 i32.load (out-of-bounds)fn4:138 i32.load (out-of-bounds)fn4:180 i32.load (out-of-bounds)fn4:185 i32.load (out-of-bounds)fn4:197 i32.load (out-of-bounds)fn5:7 i32.store (out-of-bounds)fn5:10 i32.store (out-of-bounds)fn5:16 i32.load (out-of-bounds)fn5:22 i32.load (out-of-bounds)fn5:29 i32.load (out-of-bounds)fn5:35 i32.load (out-of-bounds)fn5:41 i32.store (out-of-bounds)fn5:44 i32.load (out-of-bounds)fn5:46 i32.store (out-of-bounds)fn5:49 i32.store (out-of-bounds)fn5:65 i32.store (out-of-bounds)fn5:90 i32.load (out-of-bounds)fn5:94 i32.load (out-of-bounds)fn5:102 i32.load (out-of-bounds)fn5:109 I64Load32U (out-of-bounds)fn5:114 i32.load (out-of-bounds)fn5:127 i32.load (out-of-bounds)fn5:279 i32.load (out-of-bounds)fn5:630 I64Load32U (out-of-bounds)fn5:633 i32.load (out-of-bounds)fn6:7 I32Store8 (out-of-bounds)fn6:10 I64Store (out-of-bounds)fn6:13 i32.store (out-of-bounds)fn7:7 I32Store8 (out-of-bounds)fn7:10 I64Store (out-of-bounds)fn7:13 i32.store (out-of-bounds)fn8:16 i32.store (out-of-bounds)fn8:26 i32.store (out-of-bounds)fn8:29 I32Store8 (out-of-bounds)fn8:32 I64Store (out-of-bounds)fn8:35 i32.store (out-of-bounds)fn8:38 i32.store (out-of-bounds)fn8:41 I64Store (out-of-bounds)fn8:44 i32.store (out-of-bounds)fn8:47 i32.store (out-of-bounds)fn9:7 I32Store8 (out-of-bounds)fn9:10 I64Store (out-of-bounds)fn9:13 i32.store (out-of-bounds)fn10:7 I32Store8 (out-of-bounds)fn10:10 I64Store (out-of-bounds)fn10:13 i32.store (out-of-bounds)fn11:7 I32Store8 (out-of-bounds)fn11:10 I64Store (out-of-bounds)fn11:13 i32.store (out-of-bounds)fn12:7 I32Store8 (out-of-bounds)fn12:10 I64Store (out-of-bounds)fn12:13 i32.store (out-of-bounds)fn13:7 I32Store8 (out-of-bounds)fn13:10 I64Store (out-of-bounds)fn13:13 i32.store (out-of-bounds)fn14:7 I32Store8 (out-of-bounds)fn14:10 I64Store (out-of-bounds)fn14:13 i32.store (out-of-bounds)fn15:7 I32Store8 (out-of-bounds)fn15:10 I64Store (out-of-bounds)fn15:13 i32.store (out-of-bounds)fn16:7 I32Store8 (out-of-bounds)fn16:10 I64Store (out-of-bounds)fn16:13 i32.store (out-of-bounds)fn17:16 i32.store (out-of-bounds)fn17:26 i32.store (out-of-bounds)fn17:29 I32Store8 (out-of-bounds)fn17:32 I64Store (out-of-bounds)fn17:35 i32.store (out-of-bounds)fn17:38 i32.store (out-of-bounds)fn17:41 I64Store (out-of-bounds)fn17:44 i32.store (out-of-bounds)fn17:47 i32.store (out-of-bounds)fn18:16 i32.store (out-of-bounds)fn18:26 i32.store (out-of-bounds)fn18:29 I32Store8 (out-of-bounds)fn18:32 I64Store (out-of-bounds)fn18:35 i32.store (out-of-bounds)fn18:38 i32.store (out-of-bounds)fn18:41 I64Store (out-of-bounds)fn18:44 i32.store (out-of-bounds)fn18:47 i32.store (out-of-bounds)fn19:7 I32Store8 (out-of-bounds)fn19:10 I64Store (out-of-bounds)fn19:13 i32.store (out-of-bounds)fn20:7 I32Store8 (out-of-bounds)fn20:10 I64Store (out-of-bounds)fn20:13 i32.store (out-of-bounds)fn21:7 I32Store8 (out-of-bounds)fn21:10 I64Store (out-of-bounds)fn21:13 i32.store (out-of-bounds)fn22:7 I32Store8 (out-of-bounds)fn22:10 I64Store (out-of-bounds)fn22:13 i32.store (out-of-bounds)fn23:7 I32Store8 (out-of-bounds)… showing 100 of 6225 trap checks.
No use-after-drop / double-drop faults.
No float-interval facts.
No strict-less-than guards recorded.
823 function(s) with program points — summary below; detailed per-point invariants for the first 12. The full per-point data is scry's library AnalysisResult; the actionable subset is in guidance.json.
252 program point(s) · up to 5 local(s) tracked.
| pc | locals | operand stack (bottom → top) | memory (offset → value) |
|---|---|---|---|
| 0 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 0, L2=i32 0, L3=i32 0, L4=i32 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 1 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 0, L2=i32 0, L3=i32 0, L4=i32 0 | i32 [-9223372036854775808, 9223372036854775807] · i32 88 | (⊤) |
| 2 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 0, L2=i32 0, L3=i32 0, L4=i32 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 3 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 0, L3=i32 0, L4=i32 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 4 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 0, L3=i32 0, L4=i32 0 | (empty) | (⊤) |
| 5 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 0, L3=i32 0, L4=i32 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 6 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 0, L3=i32 0, L4=i32 0 | (empty) | (⊤) |
| 7 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 0, L3=i32 0, L4=i32 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 8 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 0, L3=i32 0, L4=i32 0 | i32 [-9223372036854775808, 9223372036854775807] · i32 100 | (⊤) |
| 9 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 0, L3=i32 0, L4=i32 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 10 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 0, L3=i32 0, L4=i32 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 11 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 0, L3=i32 0, L4=i32 0 | (empty) | (⊤) |
| 12 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 0, L3=i32 0, L4=i32 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 13 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 0, L3=i32 0, L4=i32 0 | (empty) | (⊤) |
| 14 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 0, L3=i32 0, L4=i32 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 15 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 0, L3=i32 0, L4=i32 0 | i32 [-9223372036854775808, 9223372036854775807] · i32 112 | (⊤) |
| 16 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 0, L3=i32 0, L4=i32 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 17 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 0, L3=i32 0, L4=i32 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 18 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 0, L3=i32 0, L4=i32 0 | (empty) | (⊤) |
| 19 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 0, L3=i32 0, L4=i32 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
… showing 20 of 252 points for this function (full per-point invariants are scry's library output).
59 program point(s) · up to 12 local(s) tracked.
| pc | locals | operand stack (bottom → top) | memory (offset → value) |
|---|---|---|---|
| 0 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 [-9223372036854775808, 9223372036854775807], L3=i32 0, L4=i32 0, L5=i32 0, L6=i32 0, L7=i32 0, L8=i64 0, L9=i64 0, L10=i32 0, L11=i64 0 | ⊤ | (⊤) |
| 1 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 [-9223372036854775808, 9223372036854775807], L3=i32 0, L4=i32 0, L5=i32 0, L6=i32 0, L7=i32 0, L8=i64 0, L9=i64 0, L10=i32 0, L11=i64 0 | ⊤ · i32 592 | (⊤) |
| 2 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 [-9223372036854775808, 9223372036854775807], L3=i32 0, L4=i32 0, L5=i32 0, L6=i32 0, L7=i32 0, L8=i64 0, L9=i64 0, L10=i32 0, L11=i64 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 3 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 [-9223372036854775808, 9223372036854775807], L3=i32 [-9223372036854775808, 9223372036854775807], L4=i32 0, L5=i32 0, L6=i32 0, L7=i32 0, L8=i64 0, L9=i64 0, L10=i32 0, L11=i64 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 4 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 [-9223372036854775808, 9223372036854775807], L3=i32 [-9223372036854775808, 9223372036854775807], L4=i32 0, L5=i32 0, L6=i32 0, L7=i32 0, L8=i64 0, L9=i64 0, L10=i32 0, L11=i64 0 | (empty) | (⊤) |
| 5 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 [-9223372036854775808, 9223372036854775807], L3=i32 [-9223372036854775808, 9223372036854775807], L4=i32 0, L5=i32 0, L6=i32 0, L7=i32 0, L8=i64 0, L9=i64 0, L10=i32 0, L11=i64 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 6 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 [-9223372036854775808, 9223372036854775807], L3=i32 [-9223372036854775808, 9223372036854775807], L4=i32 0, L5=i32 0, L6=i32 0, L7=i32 0, L8=i64 0, L9=i64 0, L10=i32 0, L11=i64 0 | i32 [-9223372036854775808, 9223372036854775807] · i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 7 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 [-9223372036854775808, 9223372036854775807], L3=i32 [-9223372036854775808, 9223372036854775807], L4=i32 0, L5=i32 0, L6=i32 0, L7=i32 0, L8=i64 0, L9=i64 0, L10=i32 0, L11=i64 0 | (empty) | (⊤) |
| 8 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 [-9223372036854775808, 9223372036854775807], L3=i32 [-9223372036854775808, 9223372036854775807], L4=i32 0, L5=i32 0, L6=i32 0, L7=i32 0, L8=i64 0, L9=i64 0, L10=i32 0, L11=i64 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 9 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 [-9223372036854775808, 9223372036854775807], L3=i32 [-9223372036854775808, 9223372036854775807], L4=i32 0, L5=i32 0, L6=i32 0, L7=i32 0, L8=i64 0, L9=i64 0, L10=i32 0, L11=i64 0 | i32 [-9223372036854775808, 9223372036854775807] · i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 10 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 [-9223372036854775808, 9223372036854775807], L3=i32 [-9223372036854775808, 9223372036854775807], L4=i32 0, L5=i32 0, L6=i32 0, L7=i32 0, L8=i64 0, L9=i64 0, L10=i32 0, L11=i64 0 | (empty) | (⊤) |
| 11 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 [-9223372036854775808, 9223372036854775807], L3=i32 [-9223372036854775808, 9223372036854775807], L4=i32 0, L5=i32 0, L6=i32 0, L7=i32 0, L8=i64 0, L9=i64 0, L10=i32 0, L11=i64 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 12 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 [-9223372036854775808, 9223372036854775807], L3=i32 [-9223372036854775808, 9223372036854775807], L4=i32 0, L5=i32 0, L6=i32 0, L7=i32 0, L8=i64 0, L9=i64 0, L10=i32 0, L11=i64 0 | i32 [-9223372036854775808, 9223372036854775807] · i32 304 | (⊤) |
| 13 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 [-9223372036854775808, 9223372036854775807], L3=i32 [-9223372036854775808, 9223372036854775807], L4=i32 0, L5=i32 0, L6=i32 0, L7=i32 0, L8=i64 0, L9=i64 0, L10=i32 0, L11=i64 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 14 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 [-9223372036854775808, 9223372036854775807], L3=i32 [-9223372036854775808, 9223372036854775807], L4=i32 0, L5=i32 0, L6=i32 0, L7=i32 0, L8=i64 0, L9=i64 0, L10=i32 0, L11=i64 0 | (empty) | (⊤) |
| 15 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 [-9223372036854775808, 9223372036854775807], L3=i32 [-9223372036854775808, 9223372036854775807], L4=i32 0, L5=i32 0, L6=i32 0, L7=i32 0, L8=i64 0, L9=i64 0, L10=i32 0, L11=i64 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 16 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 [-9223372036854775808, 9223372036854775807], L3=i32 [-9223372036854775808, 9223372036854775807], L4=i32 0, L5=i32 0, L6=i32 0, L7=i32 0, L8=i64 0, L9=i64 0, L10=i32 0, L11=i64 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 17 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 [-9223372036854775808, 9223372036854775807], L3=i32 [-9223372036854775808, 9223372036854775807], L4=i32 [-9223372036854775808, 9223372036854775807], L5=i32 0, L6=i32 0, L7=i32 0, L8=i64 0, L9=i64 0, L10=i32 0, L11=i64 0 | (empty) | (⊤) |
| 18 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 [-9223372036854775808, 9223372036854775807], L3=i32 [-9223372036854775808, 9223372036854775807], L4=i32 [-9223372036854775808, 9223372036854775807], L5=i32 0, L6=i32 0, L7=i32 0, L8=i64 0, L9=i64 0, L10=i32 0, L11=i64 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 19 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 [-9223372036854775808, 9223372036854775807], L3=i32 [-9223372036854775808, 9223372036854775807], L4=i32 [-9223372036854775808, 9223372036854775807], L5=i32 0, L6=i32 0, L7=i32 0, L8=i64 0, L9=i64 0, L10=i32 0, L11=i64 0 | i32 [-9223372036854775808, 9223372036854775807] · i32 304 | (⊤) |
… showing 20 of 59 points for this function (full per-point invariants are scry's library output).
7 program point(s) · up to 2 local(s) tracked.
| pc | locals | operand stack (bottom → top) | memory (offset → value) |
|---|---|---|---|
| 0 | L0=i32 0, L1=i32 0 | ⊤ | (⊤) |
| 1 | L0=i32 0, L1=i32 0 | ⊤ · i32 48 | (⊤) |
| 2 | L0=i32 0, L1=i32 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 3 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 4 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 0 | (empty) | (⊤) |
| 5 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 6 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 0 | i32 [-9223372036854775808, 9223372036854775807] · i32 1 | (⊤) |
7 program point(s) · up to 2 local(s) tracked.
| pc | locals | operand stack (bottom → top) | memory (offset → value) |
|---|---|---|---|
| 0 | L0=i32 0, L1=i32 0 | ⊤ | (⊤) |
| 1 | L0=i32 0, L1=i32 0 | ⊤ · i32 48 | (⊤) |
| 2 | L0=i32 0, L1=i32 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 3 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 4 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 0 | (empty) | (⊤) |
| 5 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 6 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 0 | i32 [-9223372036854775808, 9223372036854775807] · i32 0 | (⊤) |
25 program point(s) · up to 3 local(s) tracked.
| pc | locals | operand stack (bottom → top) | memory (offset → value) |
|---|---|---|---|
| 0 | L0=i32 0, L1=i32 0, L2=i32 0 | ⊤ | (⊤) |
| 1 | L0=i32 0, L1=i32 0, L2=i32 0 | ⊤ · i32 48 | (⊤) |
| 2 | L0=i32 0, L1=i32 0, L2=i32 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 3 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 0, L2=i32 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 4 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 0, L2=i32 0 | (empty) | (⊤) |
| 5 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 0, L2=i32 0 | (empty) | (⊤) |
| 8 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 0, L2=i32 0 | i32 4 | (⊤) |
| 9 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 0, L2=i32 0 | i32 4 · i32 4 | (⊤) |
| 10 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 0, L2=i32 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 11 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 12 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 0 | i32 [0, 1] | (⊤) |
| 14 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 15 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 0 | i32 [-9223372036854775808, 9223372036854775807] · i32 0 | (⊤) |
| 16 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 0 | (empty) | (⊤) |
| 17 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 0 | (empty) | (⊤) |
| 18 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 0 | i32 4 | (⊤) |
| 19 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 0 | i32 4 · i32 4 | (⊤) |
| 20 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 21 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 [-9223372036854775808, 9223372036854775807] | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 22 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 [-9223372036854775808, 9223372036854775807] | i32 [0, 1] | (⊤) |
… showing 20 of 25 points for this function (full per-point invariants are scry's library output).
7 program point(s) · up to 2 local(s) tracked.
| pc | locals | operand stack (bottom → top) | memory (offset → value) |
|---|---|---|---|
| 0 | L0=i32 0, L1=i32 0 | ⊤ | (⊤) |
| 1 | L0=i32 0, L1=i32 0 | ⊤ · i32 48 | (⊤) |
| 2 | L0=i32 0, L1=i32 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 3 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 4 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 0 | (empty) | (⊤) |
| 5 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 6 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 0 | i32 [-9223372036854775808, 9223372036854775807] · i32 1 | (⊤) |
7 program point(s) · up to 2 local(s) tracked.
| pc | locals | operand stack (bottom → top) | memory (offset → value) |
|---|---|---|---|
| 0 | L0=i32 0, L1=i32 0 | ⊤ | (⊤) |
| 1 | L0=i32 0, L1=i32 0 | ⊤ · i32 48 | (⊤) |
| 2 | L0=i32 0, L1=i32 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 3 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 4 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 0 | (empty) | (⊤) |
| 5 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 6 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 0 | i32 [-9223372036854775808, 9223372036854775807] · i32 0 | (⊤) |
7 program point(s) · up to 2 local(s) tracked.
| pc | locals | operand stack (bottom → top) | memory (offset → value) |
|---|---|---|---|
| 0 | L0=i32 0, L1=i32 0 | ⊤ | (⊤) |
| 1 | L0=i32 0, L1=i32 0 | ⊤ · i32 48 | (⊤) |
| 2 | L0=i32 0, L1=i32 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 3 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 4 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 0 | (empty) | (⊤) |
| 5 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 6 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 0 | i32 [-9223372036854775808, 9223372036854775807] · i32 1 | (⊤) |
7 program point(s) · up to 2 local(s) tracked.
| pc | locals | operand stack (bottom → top) | memory (offset → value) |
|---|---|---|---|
| 0 | L0=i32 0, L1=i32 0 | ⊤ | (⊤) |
| 1 | L0=i32 0, L1=i32 0 | ⊤ · i32 48 | (⊤) |
| 2 | L0=i32 0, L1=i32 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 3 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 4 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 0 | (empty) | (⊤) |
| 5 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 6 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 0 | i32 [-9223372036854775808, 9223372036854775807] · i32 1 | (⊤) |
7 program point(s) · up to 2 local(s) tracked.
| pc | locals | operand stack (bottom → top) | memory (offset → value) |
|---|---|---|---|
| 0 | L0=i32 0, L1=i32 0 | ⊤ | (⊤) |
| 1 | L0=i32 0, L1=i32 0 | ⊤ · i32 48 | (⊤) |
| 2 | L0=i32 0, L1=i32 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 3 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 4 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 0 | (empty) | (⊤) |
| 5 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 6 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 0 | i32 [-9223372036854775808, 9223372036854775807] · i32 0 | (⊤) |
7 program point(s) · up to 2 local(s) tracked.
| pc | locals | operand stack (bottom → top) | memory (offset → value) |
|---|---|---|---|
| 0 | L0=i32 0, L1=i32 0 | ⊤ | (⊤) |
| 1 | L0=i32 0, L1=i32 0 | ⊤ · i32 48 | (⊤) |
| 2 | L0=i32 0, L1=i32 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 3 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 4 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 0 | (empty) | (⊤) |
| 5 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 6 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 0 | i32 [-9223372036854775808, 9223372036854775807] · i32 1 | (⊤) |
7 program point(s) · up to 2 local(s) tracked.
| pc | locals | operand stack (bottom → top) | memory (offset → value) |
|---|---|---|---|
| 0 | L0=i32 0, L1=i32 0 | ⊤ | (⊤) |
| 1 | L0=i32 0, L1=i32 0 | ⊤ · i32 48 | (⊤) |
| 2 | L0=i32 0, L1=i32 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 3 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 4 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 0 | (empty) | (⊤) |
| 5 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 0 | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 6 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 0 | i32 [-9223372036854775808, 9223372036854775807] · i32 1 | (⊤) |