pub fn test_rust_equivalence_given_input_values<T: Snippet>(
    snippet_struct: &T,
    stack: &[BFieldElement],
    stdin: &[BFieldElement],
    secret_in: &[BFieldElement],
    memory: &mut HashMap<BFieldElement, BFieldElement>,
    words_statically_allocated: usize,
    expected_final_stack: Option<&[BFieldElement]>
) -> VmOutputState