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.
mechanizedgamma-sweptrunnable-attestedadvisories: 11343proven-safe: 74unmodeled-control-flow: 1804unsupported-op: 691These counts are the limitations above, made concrete: a precision gap is not a defect in the code, and a low proven count is a statement about scry, not about the module.
0 real fault(s) to fix · 8760 unproven obligation(s) to prove/guard · 2509 analyzer precision gap(s) · 74 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:184 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:189 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 `memory.copy` — 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 `i32.store8` — downstream facts in this function are weaker.fn82:33 proven-safe — scry PROVED `i32.div_u` cannot divide-by-zero on any run.fn83:35 proven-safe — scry PROVED `i32.div_u` cannot divide-by-zero on any run.fn93:24 proven-safe — scry PROVED `i32.div_u` cannot divide-by-zero on any run.fn250:14 proven-safe — scry PROVED `i32.div_u` cannot divide-by-zero on any run.fn250:55 proven-safe — scry PROVED `i32.div_u` cannot divide-by-zero on any run.fn251:16 proven-safe — scry PROVED `i32.div_u` cannot divide-by-zero on any run.fn285:13 proven-safe — scry PROVED `i32.div_u` cannot divide-by-zero on any run.fn450:24 proven-safe — scry PROVED `i32.div_u` cannot divide-by-zero on any run.fn699:5 proven-safe — scry PROVED `i32.load` cannot out-of-bounds access on any run.fn704:32 proven-safe — scry PROVED `i64.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 | 372 |
| 5 | scry_mcdc::drive | rust defined | yes | no | 3 | 608 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 | 23 |
| 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 | 23 |
| 18 | run_interproc_taint_no_diag | defined | yes | no | 0 | 48 bytes | unbounded | 23 |
| 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 | 23 |
| 37 | run_with_param_taint_no_diag | defined | yes | no | 0 | 48 bytes | unbounded | 23 |
| 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 | <core::option::Option<scry_interval::Interval>>::is_some_and::<<scry_analyze_core::Interp>::poly_transfer::{closure#1}> | rust defined | yes | no | 2 | 16 bytes | 16 bytes | 10 |
| 44 | <core::option::Option<&mut scry_analyze_core::AbstractValue>>::ok_or_else::<scry_analyze_core::AnalyzeError, scry_analyze_core::interpret_op::{closure#2}> | rust defined | yes | no | 3 | 48 bytes | unbounded | 72 |
| 45 | <core::option::Option<&mut scry_analyze_core::AbstractValue>>::ok_or_else::<scry_analyze_core::AnalyzeError, scry_analyze_core::interpret_op::{closure#4}> | rust defined | yes | no | 3 | 48 bytes | unbounded | 72 |
| 46 | <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 |
| 47 | <alloc::string::String as core::fmt::Display>::fmt | rust defined | yes | yes | 2 | 0 bytes | unbounded | 7 |
| 48 | <alloc::raw_vec::RawVec<scry_analyze_core::Diagnostic>>::grow_one | rust defined | yes | no | 1 | 16 bytes | unbounded | 22 |
| 49 | <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 |
| 50 | <[scry_analyze_core::Gap]>::sort_by_key::<(u32, u32), scry_analyze_core::analyze::{closure#18}> | rust defined | yes | no | 2 | 16 bytes | unbounded | 32 |
| 51 | 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 |
| 52 | 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 |
| 53 | <[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 |
| 54 | 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 |
| 55 | 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 |
| 56 | alloc::str::join_generic_copy::<str, u8, alloc::string::String> | rust defined | yes | no | 5 | 32 bytes | unbounded | 10 |
| 57 | <alloc::collections::btree::node::NodeRef<alloc::collections::btree::node::marker::Mut, u32, alloc::collections::btree::set_val::SetValZST, alloc::collections::btree::node::marker::LeafOrInternal>>::fix_node_through_parent::<alloc::alloc::Global> | rust defined | yes | no | 3 | 80 bytes | unbounded | 10 |
| 58 | <alloc::collections::btree::node::BalancingContext<u32, alloc::collections::btree::set_val::SetValZST>>::bulk_steal_left | rust defined | yes | no | 2 | 0 bytes | unbounded | 12 |
| 59 | <alloc::collections::btree::node::BalancingContext<u32, alloc::collections::btree::set_val::SetValZST>>::do_merge::<<alloc::collections::btree::node::BalancingContext<u32, alloc::collections::btree::set_val::SetValZST>>::merge_tracking_parent<alloc::alloc::Global>::{closure#0}, alloc::collections::btree::node::NodeRef<alloc::collections::btree::node::marker::Mut, u32, alloc::collections::btree::set_val::SetValZST, alloc::collections::btree::node::marker::Internal>, alloc::alloc::Global> | rust defined | yes | no | 2 | 0 bytes | unbounded | 8 |
| 60 | <alloc::collections::btree::node::BalancingContext<u32, alloc::collections::btree::set_val::SetValZST>>::bulk_steal_right | rust defined | yes | no | 2 | 0 bytes | unbounded | 13 |
| 61 | <alloc::collections::btree::node::Handle<alloc::collections::btree::node::NodeRef<alloc::collections::btree::node::marker::Mut, u32, alloc::collections::btree::set_val::SetValZST, alloc::collections::btree::node::marker::Leaf>, alloc::collections::btree::node::marker::KV>>::remove_leaf_kv::<<alloc::collections::btree::map::entry::OccupiedEntry<u32, alloc::collections::btree::set_val::SetValZST>>::remove_kv::{closure#0}, alloc::alloc::Global> | rust defined | yes | no | 3 | 48 bytes | unbounded | 19 |
| 62 | <alloc::collections::btree::node::BalancingContext<u32, alloc::collections::btree::set_val::SetValZST>>::do_merge::<<alloc::collections::btree::node::BalancingContext<u32, alloc::collections::btree::set_val::SetValZST>>::merge_tracking_child<alloc::alloc::Global>::{closure#0}, alloc::collections::btree::node::NodeRef<alloc::collections::btree::node::marker::Mut, u32, alloc::collections::btree::set_val::SetValZST, alloc::collections::btree::node::marker::LeafOrInternal>, alloc::alloc::Global> | rust defined | yes | no | 2 | 0 bytes | unbounded | 8 |
| 63 | <alloc::collections::btree::node::Handle<alloc::collections::btree::node::NodeRef<alloc::collections::btree::node::marker::Mut, alloc::string::String, u32, alloc::collections::btree::node::marker::Leaf>, alloc::collections::btree::node::marker::Edge>>::insert::<alloc::alloc::Global> | rust defined | yes | no | 4 | 48 bytes | unbounded | 13 |
| 64 | <alloc::collections::btree::node::Handle<alloc::collections::btree::node::NodeRef<alloc::collections::btree::node::marker::Mut, alloc::string::String, u32, alloc::collections::btree::node::marker::Leaf>, alloc::collections::btree::node::marker::KV>>::split::<alloc::alloc::Global> | rust defined | yes | no | 2 | 16 bytes | unbounded | 14 |
| 65 | <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 |
| 66 | <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 | 8 |
| 67 | <alloc::collections::btree::node::Handle<alloc::collections::btree::node::NodeRef<alloc::collections::btree::node::marker::Mut, u32, 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 |
| 68 | <alloc::collections::btree::node::Handle<alloc::collections::btree::node::NodeRef<alloc::collections::btree::node::marker::Mut, u32, 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 | 8 |
| 69 | <alloc::collections::btree::node::Handle<alloc::collections::btree::node::NodeRef<alloc::collections::btree::node::marker::Mut, alloc::string::String, u32, alloc::collections::btree::node::marker::Internal>, alloc::collections::btree::node::marker::Edge>>::insert::<alloc::alloc::Global> | rust defined | yes | no | 6 | 48 bytes | unbounded | 24 |
| 70 | <alloc::collections::btree::node::Handle<alloc::collections::btree::node::NodeRef<alloc::collections::btree::node::marker::Mut, alloc::string::String, u32, alloc::collections::btree::node::marker::Internal>, alloc::collections::btree::node::marker::KV>>::split::<alloc::alloc::Global> | rust defined | yes | no | 2 | 32 bytes | unbounded | 9 |
| 71 | <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 |
| 72 | <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 |
| 73 | <alloc::collections::btree::node::Handle<alloc::collections::btree::node::NodeRef<alloc::collections::btree::node::marker::Mut, u32, 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 |
| 74 | <alloc::collections::btree::node::Handle<alloc::collections::btree::node::NodeRef<alloc::collections::btree::node::marker::Mut, u32, 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 |
| 75 | <alloc::collections::btree::node::Handle<alloc::collections::btree::node::NodeRef<alloc::collections::btree::node::marker::Mut, alloc::string::String, u32, alloc::collections::btree::node::marker::Leaf>, alloc::collections::btree::node::marker::Edge>>::insert_recursing::<alloc::alloc::Global, <alloc::collections::btree::map::entry::VacantEntry<alloc::string::String, u32>>::insert_entry::{closure#0}> | rust defined | yes | no | 6 | 80 bytes | unbounded | 51 |
| 76 | <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 | 40 |
| 77 | <alloc::collections::btree::node::Handle<alloc::collections::btree::node::NodeRef<alloc::collections::btree::node::marker::Mut, u32, 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<u32, alloc::collections::btree::set_val::SetValZST>>::insert_entry::{closure#0}> | rust defined | yes | no | 5 | 48 bytes | unbounded | 40 |
| 78 | <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 |
| 79 | <alloc::collections::btree::set::BTreeSet<u32>>::remove::<u32> | rust defined | yes | no | 2 | 16 bytes | unbounded | 20 |
| 80 | <alloc::collections::btree::map::entry::OccupiedEntry<u32, alloc::collections::btree::set_val::SetValZST>>::remove_kv | rust defined | yes | no | 1 | 32 bytes | unbounded | 9 |
| 81 | <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 |
| 82 | <core::iter::adapters::map::Map<core::slice::iter::Iter<scry_analyze_core::Label>, <scry_analyze_core::Interp>::loop_region::{closure#0}> as core::iter::traits::iterator::Iterator>::fold::<(), core::iter::traits::iterator::Iterator::for_each::call<core::option::Option<scry_analyze_core::BreakState>, <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}>>::{closure#0}>::{closure#0}> | rust defined | yes | no | 3 | 144 bytes | unbounded | 59 |
| 83 | <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 |
| 84 | <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 | 53 |
| 85 | <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 | 55 |
| 86 | <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 | 58 |
| 87 | <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 | 47 |
| 88 | <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 | 49 |
| 89 | <alloc::vec::Vec<scry_analyze_core::LinearConstraint>>::extend_desugared::<core::iter::adapters::map::Map<core::iter::adapters::filter::Filter<core::slice::iter::Iter<scry_poly::Constraint>, scry_analyze_core::snapshot_linear::{closure#0}>, scry_analyze_core::snapshot_linear::{closure#1}>> | rust defined | yes | no | 3 | 64 bytes | unbounded | 20 |
| 90 | <alloc::vec::Vec<scry_analyze_core::LinearTerm> as alloc::vec::spec_from_iter_nested::SpecFromIterNested<scry_analyze_core::LinearTerm, core::iter::adapters::map::Map<core::iter::adapters::filter::Filter<core::iter::adapters::enumerate::Enumerate<core::slice::iter::Iter<i64>>, scry_analyze_core::snapshot_linear::{closure#1}::{closure#0}>, scry_analyze_core::snapshot_linear::{closure#1}::{closure#1}>>>::from_iter | rust defined | yes | no | 2 | 16 bytes | unbounded | 19 |
| 91 | <&char as core::fmt::Display>::fmt | rust defined | yes | yes | 2 | 0 bytes | unbounded | 5 |
| 92 | <alloc::collections::btree::map::IntoIter<u32, alloc::collections::btree::set_val::SetValZST>>::dying_next | rust defined | yes | no | 2 | 0 bytes | unbounded | 108 |
| 93 | <alloc::vec::Vec<(scry_analyze_core::Advisory, core::option::Option<&str>)>>::extend_trusted::<core::iter::adapters::zip::Zip<alloc::vec::into_iter::IntoIter<scry_analyze_core::Advisory>, alloc::vec::into_iter::IntoIter<core::option::Option<&str>>>> | rust defined | yes | no | 2 | 240 bytes | unbounded | 30 |
| 94 | core::ptr::drop_glue::<scry_analyze_core::Advisory> | rust defined | yes | no | 1 | 0 bytes | 0 bytes | 89 |
| 95 | <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 | 154 |
| 96 | core::ptr::drop_glue::<core::option::Option<scry_analyze_core::BreakState>> | rust defined | yes | no | 1 | 0 bytes | 0 bytes | 30 |
| 97 | core::ptr::drop_glue::<core::option::Option<scry_provenance::ProvenanceSection>> | rust defined | yes | no | 1 | 0 bytes | 0 bytes | 9 |
| 98 | core::ptr::drop_glue::<core::option::Option<(alloc::vec::Vec<scry_analyze_core::AbstractValue>, scry_octagon::Octagon, scry_segment::Segmentation, scry_poly::Poly)>> | rust defined | yes | no | 1 | 0 bytes | 0 bytes | 30 |
| 99 | 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 |
… showing 100 of 946 functions.
… showing 100 of 1577 call edges.
fn0:0 scry 3.3.0 — wasm-lattice cross-component import alivefn4:4 call resolved to 1 target (func 683); direct call edge recorded (sound); result via context-insensitive summaryfn4:6 call resolved to 1 target (func 653); direct call edge recorded (sound); result via context-insensitive summaryfn4:11 call resolved to 1 target (func 683); direct call edge recorded (sound); result via context-insensitive summaryfn4:13 call resolved to 1 target (func 653); direct call edge recorded (sound); result via context-insensitive summaryfn4:18 call resolved to 1 target (func 106); direct call edge recorded (sound); result via context-insensitive summaryfn4:20 call resolved to 1 target (func 324); direct call edge recorded (sound); result via context-insensitive summaryfn4:25 call resolved to 1 target (func 358); direct call edge recorded (sound); result via context-insensitive summaryfn4:27 call resolved to 1 target (func 322); direct call edge recorded (sound); result via context-insensitive summaryfn4:32 call resolved to 1 target (func 364); direct call edge recorded (sound); result via context-insensitive summaryfn4:34 call resolved to 1 target (func 330); 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 360); direct call edge recorded (sound); result via context-insensitive summaryfn4:55 call resolved to 1 target (func 325); direct call edge recorded (sound); result via context-insensitive summaryfn4:60 call resolved to 1 target (func 360); direct call edge recorded (sound); result via context-insensitive summaryfn4:62 call resolved to 1 target (func 325); direct call edge recorded (sound); result via context-insensitive summaryfn4:53 call resolved to 1 target (func 360); direct call edge recorded (sound); result via context-insensitive summaryfn4:55 call resolved to 1 target (func 325); direct call edge recorded (sound); result via context-insensitive summaryfn4:60 call resolved to 1 target (func 360); direct call edge recorded (sound); result via context-insensitive summaryfn4:62 call resolved to 1 target (func 325); direct call edge recorded (sound); result via context-insensitive summaryfn4:53 call resolved to 1 target (func 360); direct call edge recorded (sound); result via context-insensitive summaryfn4:55 call resolved to 1 target (func 325); direct call edge recorded (sound); result via context-insensitive summaryfn4:60 call resolved to 1 target (func 360); direct call edge recorded (sound); result via context-insensitive summaryfn4:62 call resolved to 1 target (func 325); direct call edge recorded (sound); result via context-insensitive summaryfn4:53 call resolved to 1 target (func 360); direct call edge recorded (sound); result via context-insensitive summaryfn4:55 call resolved to 1 target (func 325); direct call edge recorded (sound); result via context-insensitive summaryfn4:60 call resolved to 1 target (func 360); direct call edge recorded (sound); result via context-insensitive summaryfn4:62 call resolved to 1 target (func 325); direct call edge recorded (sound); result via context-insensitive summaryfn4:79 call resolved to 1 target (func 623); 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 683); direct call edge recorded (sound); result via context-insensitive summaryfn4:108 call resolved to 1 target (func 653); direct call edge recorded (sound); result via context-insensitive summaryfn4:106 call resolved to 1 target (func 683); direct call edge recorded (sound); result via context-insensitive summaryfn4:108 call resolved to 1 target (func 653); direct call edge recorded (sound); result via context-insensitive summaryfn4:106 call resolved to 1 target (func 683); direct call edge recorded (sound); result via context-insensitive summaryfn4:108 call resolved to 1 target (func 653); direct call edge recorded (sound); result via context-insensitive summaryfn4:106 call resolved to 1 target (func 683); direct call edge recorded (sound); result via context-insensitive summaryfn4:108 call resolved to 1 target (func 653); direct call edge recorded (sound); result via context-insensitive summaryfn4:125 call resolved to 1 target (func 623); 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 683); direct call edge recorded (sound); result via context-insensitive summaryfn4:147 call resolved to 1 target (func 653); direct call edge recorded (sound); result via context-insensitive summaryfn4:145 call resolved to 1 target (func 683); direct call edge recorded (sound); result via context-insensitive summaryfn4:147 call resolved to 1 target (func 653); direct call edge recorded (sound); result via context-insensitive summaryfn4:145 call resolved to 1 target (func 683); direct call edge recorded (sound); result via context-insensitive summaryfn4:147 call resolved to 1 target (func 653); direct call edge recorded (sound); result via context-insensitive summaryfn4:145 call resolved to 1 target (func 683); direct call edge recorded (sound); result via context-insensitive summaryfn4:147 call resolved to 1 target (func 653); direct call edge recorded (sound); result via context-insensitive summaryfn4:164 call resolved to 1 target (func 623); direct call edge recorded (sound); result via context-sensitive re-evalfn4:170 call resolved to 1 target (func 623); direct call edge recorded (sound); result via context-sensitive re-evalfn4:175 call resolved to 1 target (func 684); direct call edge recorded (sound); result via context-insensitive summaryfn4:177 call resolved to 1 target (func 654); direct call edge recorded (sound); result via context-insensitive summaryfn4:184 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:189 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:201 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:206 call resolved to 1 target (func 683); direct call edge recorded (sound); result via context-insensitive summaryfn4:208 call resolved to 1 target (func 653); direct call edge recorded (sound); result via context-insensitive summaryfn4:214 call resolved to 1 target (func 368); direct call edge recorded (sound); result via context-insensitive summaryfn4:216 call resolved to 1 target (func 334); direct call edge recorded (sound); result via context-insensitive summaryfn4:201 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:206 call resolved to 1 target (func 683); direct call edge recorded (sound); result via context-insensitive summaryfn4:208 call resolved to 1 target (func 653); direct call edge recorded (sound); result via context-insensitive summaryfn4:214 call resolved to 1 target (func 368); direct call edge recorded (sound); result via context-insensitive summaryfn4:216 call resolved to 1 target (func 334); direct call edge recorded (sound); result via context-insensitive summaryfn4:201 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:206 call resolved to 1 target (func 683); direct call edge recorded (sound); result via context-insensitive summaryfn4:208 call resolved to 1 target (func 653); direct call edge recorded (sound); result via context-insensitive summaryfn4:214 call resolved to 1 target (func 368); direct call edge recorded (sound); result via context-insensitive summaryfn4:216 call resolved to 1 target (func 334); direct call edge recorded (sound); result via context-insensitive summaryfn4:201 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:206 call resolved to 1 target (func 683); direct call edge recorded (sound); result via context-insensitive summaryfn4:208 call resolved to 1 target (func 653); direct call edge recorded (sound); result via context-insensitive summaryfn4:214 call resolved to 1 target (func 368); direct call edge recorded (sound); result via context-insensitive summaryfn4:216 call resolved to 1 target (func 334); direct call edge recorded (sound); result via context-insensitive summaryfn4:233 call resolved to 1 target (func 623); direct call edge recorded (sound); result via context-sensitive re-evalfn4:238 call resolved to 1 target (func 363); direct call edge recorded (sound); result via context-insensitive summaryfn4:240 call resolved to 1 target (func 328); direct call edge recorded (sound); result via context-insensitive summaryfn4:245 call resolved to 1 target (func 362); direct call edge recorded (sound); result via context-insensitive summaryfn4:247 call resolved to 1 target (func 327); direct call edge recorded (sound); result via context-insensitive summaryfn4:252 call resolved to 1 target (func 359); direct call edge recorded (sound); result via context-insensitive summaryfn4:254 call resolved to 1 target (func 323); direct call edge recorded (sound); result via context-insensitive summaryfn4:259 call resolved to 1 target (func 367); direct call edge recorded (sound); result via context-insensitive summaryfn4:261 call resolved to 1 target (func 333); direct call edge recorded (sound); result via context-insensitive summaryfn4:266 call resolved to 1 target (func 366); direct call edge recorded (sound); result via context-insensitive summaryfn4:268 call resolved to 1 target (func 332); direct call edge recorded (sound); result via context-insensitive summaryfn4:273 call resolved to 1 target (func 361); direct call edge recorded (sound); result via context-insensitive summaryfn4:275 call resolved to 1 target (func 326); direct call edge recorded (sound); result via context-insensitive summaryfn4:282 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:287 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:301 call resolved to 1 target (func 683); direct call edge recorded (sound); result via context-insensitive summaryfn4:303 call resolved to 1 target (func 653); direct call edge recorded (sound); result via context-insensitive summaryfn4:308 call resolved to 1 target (func 683); direct call edge recorded (sound); result via context-insensitive summaryfn4:310 call resolved to 1 target (func 653); direct call edge recorded (sound); result via context-insensitive summaryfn4:315 call resolved to 1 target (func 683); direct call edge recorded (sound); result via context-insensitive summaryfn4:317 call resolved to 1 target (func 653); direct call edge recorded (sound); result via context-insensitive summaryfn4:322 call resolved to 1 target (func 683); direct call edge recorded (sound); result via context-insensitive summary… showing 100 of 12678 diagnostics.
2509 site(s) where scry degraded a function to ⊤ (gave up).
fn5:61 memory.copyfn5:73 blockfn5:119 blockfn5:142 loopfn5:285 blockfn5:469 blockfn5:640 blockfn5:659 blockfn5:764 blockfn6:7 i32.store8fn7:7 i32.store8fn8:29 i32.store8fn9:7 i32.store8fn10:7 i32.store8fn11:7 i32.store8fn12:7 i32.store8fn13:7 i32.store8fn14:7 i32.store8fn15:7 i32.store8fn16:7 i32.store8fn17:29 i32.store8fn18:29 i32.store8fn19:7 i32.store8fn20:7 i32.store8fn21:7 i32.store8fn22:7 i32.store8fn23:7 i32.store8fn24:7 i32.store8fn25:7 i32.store8fn26:7 i32.store8fn27:7 i32.store8fn28:7 i32.store8fn29:7 i32.store8fn30:7 i32.store8fn31:7 i32.store8fn32:7 i32.store8fn33:7 i32.store8fn34:7 i32.store8fn35:7 i32.store8fn36:29 i32.store8fn37:29 i32.store8fn43:11 I64Nefn46:14 i32.load8_ufn46:53 loopfn46:277 blockfn48:26 unreachablefn51:13 selectfn51:65 blockfn52:36 blockfn52:36 blockfn52:36 blockfn52:58 selectfn52:75 blockfn54:13 selectfn54:65 blockfn55:40 i32.load8_ufn55:45 blockfn55:45 blockfn55:45 blockfn55:45 blockfn55:90 blockfn55:90 blockfn55:90 blockfn55:90 blockfn56:26 i64.extend_i32_ufn56:63 loopfn56:144 blockfn56:600 loopfn57:11 i32.load16_ufn57:16 blockfn57:45 blockfn57:139 blockfn57:271 blockfn58:15 i32.load16_ufn58:43 blockfn58:75 blockfn58:119 blockfn58:139 blockfn58:155 blockfn58:193 loopfn58:299 loopfn59:5 i32.load16_ufn59:41 blockfn59:72 blockfn59:94 blockfn59:111 blockfn59:266 blockfn60:14 i32.load16_ufn60:75 blockfn60:91 blockfn60:108 blockfn60:124 blockfn60:142 blockfn60:158 blockfn60:319 loopfn60:419 loopfn61:19 i32.load16_ufn61:48 blockfn62:5 i32.load16_ufn62:44 block… showing 100 of 2509 gaps.
8833 check(s); 8759 POTENTIAL-TRAP, 74 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:184 i32.load (out-of-bounds)fn4:189 i32.load (out-of-bounds)fn4:201 i32.load (out-of-bounds)fn4:282 i32.load (out-of-bounds)fn4:287 i32.load (out-of-bounds)fn4:330 i32.load (out-of-bounds)fn4:381 i32.load (out-of-bounds)fn4:386 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 i64.load32_u (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 i64.load32_u (out-of-bounds)fn5:633 i32.load (out-of-bounds)fn6:7 i32.store8 (out-of-bounds)fn6:10 i64.store (out-of-bounds)fn6:13 i32.store (out-of-bounds)fn7:7 i32.store8 (out-of-bounds)fn7:10 i64.store (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 i32.store8 (out-of-bounds)fn8:32 i64.store (out-of-bounds)fn8:35 i32.store (out-of-bounds)fn8:38 i32.store (out-of-bounds)fn8:41 i64.store (out-of-bounds)fn8:44 i32.store (out-of-bounds)fn8:47 i32.store (out-of-bounds)fn9:7 i32.store8 (out-of-bounds)fn9:10 i64.store (out-of-bounds)fn9:13 i32.store (out-of-bounds)fn10:7 i32.store8 (out-of-bounds)fn10:10 i64.store (out-of-bounds)fn10:13 i32.store (out-of-bounds)fn11:7 i32.store8 (out-of-bounds)fn11:10 i64.store (out-of-bounds)fn11:13 i32.store (out-of-bounds)fn12:7 i32.store8 (out-of-bounds)fn12:10 i64.store (out-of-bounds)fn12:13 i32.store (out-of-bounds)fn13:7 i32.store8 (out-of-bounds)fn13:10 i64.store (out-of-bounds)fn13:13 i32.store (out-of-bounds)fn14:7 i32.store8 (out-of-bounds)fn14:10 i64.store (out-of-bounds)fn14:13 i32.store (out-of-bounds)fn15:7 i32.store8 (out-of-bounds)fn15:10 i64.store (out-of-bounds)fn15:13 i32.store (out-of-bounds)fn16:7 i32.store8 (out-of-bounds)fn16:10 i64.store (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 i32.store8 (out-of-bounds)fn17:32 i64.store (out-of-bounds)fn17:35 i32.store (out-of-bounds)fn17:38 i32.store (out-of-bounds)fn17:41 i64.store (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 i32.store8 (out-of-bounds)fn18:32 i64.store (out-of-bounds)fn18:35 i32.store (out-of-bounds)fn18:38 i32.store (out-of-bounds)fn18:41 i64.store (out-of-bounds)fn18:44 i32.store (out-of-bounds)fn18:47 i32.store (out-of-bounds)fn19:7 i32.store8 (out-of-bounds)fn19:10 i64.store (out-of-bounds)fn19:13 i32.store (out-of-bounds)fn20:7 i32.store8 (out-of-bounds)fn20:10 i64.store (out-of-bounds)fn20:13 i32.store (out-of-bounds)fn21:7 i32.store8 (out-of-bounds)fn21:10 i64.store (out-of-bounds)… showing 100 of 8833 trap checks.
No use-after-drop / double-drop faults.
No float-interval facts.
No strict-less-than guards recorded.
940 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.
372 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 372 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 608 | (⊤) |
| 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 312 | (⊤) |
| 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 312 | (⊤) |
… 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 | (⊤) |
23 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 | (empty) | (⊤) |
| 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] | (empty) | (⊤) |
| 24 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 [-9223372036854775808, 9223372036854775807] | i32 [-9223372036854775808, 9223372036854775807] | (⊤) |
| 25 | L0=i32 [-9223372036854775808, 9223372036854775807], L1=i32 [-9223372036854775808, 9223372036854775807], L2=i32 [-9223372036854775808, 9223372036854775807] | i32 [-9223372036854775808, 9223372036854775807] · i32 0 | (⊤) |
… showing 20 of 23 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 | (⊤) |