Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/third_party/rust/wasm-smith/src/core/   (Firefox Browser Version 153.0.1©)  Datei vom 27.6.2026 mit Größe 248 kB image not shown  

Quellcode-Bibliothek code_builder.rs

  Interaktion und
PortierbarkeitRust
 

java.lang.StringIndexOutOfBoundsException: Range [11, 9) out of bounds for length 12
java.lang.StringIndexOutOfBoundsException: Range [24, 22) out of bounds for length 94
mod no_tra
 :&nstructured_,
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [22, 1) out of bounds for length 5
usebuilder: &utCodeBuilder,
use std::rc::Rc;
use wasm_encoder::{
    AbstractHeapType, ArrayType, BlockType, Catch        (
    ,MemArg ,,StructType
}fn& Unstructured'java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
java.lang.StringIndexOutOfBoundsException: Range [4, 3) out of bounds for length 13

java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
java.lang.StringIndexOutOfBoundsException: Range [33, 31) out of bounds for length 43
        java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 6
            :

    ) => {
        ;
            @countjava.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
            ///
        )//         java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 2

/     . java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
u
            // The static set of options of instruction to generate that could be valid at
            allowed_instructionsjava.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 2
            builder: &mut//
        )(one //    choice.
            fn(&mut Unstructured//     (/java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
        //    less than java.lang.StringIndexOutOfBoundsException: Range [0, 20) out of bounds for length 15
            builder    Some ( ,
            let mutcost=0java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
             Unroll the loopthat checkswhether  instruction is valid in
                       // the current context and, if it is valid, pushes it onto our
    ome(eturn_valid) # ,900,
                (Some(try_table_valid), try_table, Control),
            // predicted and even inlined. This saved us about 30% of time in(),rif )java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
            // the `corpus` benchmark.
   $(
                (    ome) , ),
                if predicate.map_or(true ((r_valid,   Sreturn_call_indirect_valid , )java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
    Somebr_table_valid,,(throw_ref_valid,  )java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
                    .(generator_fn)java.lang.StringIndexOutOfBoundsException: Range [71, 72) out of bounds for length 71
cost +1000 $ ost?
                }
            )*

            // If there aren't actually any candidate instructions due to
                (Some(br_on_cast_valid), br_on_cast, Control),(all_indirect_valid ,)java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
            .
             cost =0 java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
return;
            }

            let i = u.int_in_range(Some   (Some(), return_call_ref,Control,
            let idx = builder
                allocs
                options
               binary_search_by_key&i,|| .)
       .unwrap_or_else(i|i- 1;
Some(uilder   Some(br_on_non_null_valid,br_on_non_null Control),
        }
    };

    ( @count; ) => {
        0
    };
    ( @count; $x    (Some(br_on_cast_valid(ome(java.lang.StringIndexOutOfBoundsException: Range [34, 32) out of bounds for length 60
)java.lang.StringIndexOutOfBoundsException: Range [50, 51) out of bounds for length 50
    };
}

// The static set of options of instruction to generate that could be valid at
// some given time. One entry per Wasm instruction.
//
// Each entry is made up of up to three parts:
//
// 1. A predicate for whether this is a valid choice, if any. `None` means that
//    the choice is always applicable.
//
// 2. The function to generate the instruction, given that we've made this
//    choice.
//
// 3. The `InstructionKind` the instruction belongs to; this allows filtering
//    out instructions by category.
//
// 4. An optional number used to weight how often this instruction is chosen.
//    Higher numbers are less likely to be chosen, and number specified must be
//    less than 1000.
instructions! {
    // Control instructions.(one i64_const,NumericInt)java.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 34
, ,990,
    (None(   (Somejava.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 49
N )java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
    loopControl,
    (Some(try_table_valid), try_table    (ome() ,MemoryIntjava.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
)r#,java.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 36
    (java.lang.StringIndexOutOfBoundsException: Range [28, 26) out of bounds for length 51
((,Some ,
    (Some((None, i32_const)
    (    None i64_const((,)
        )java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
    Some() #return,Controljava.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
    , Control,
    (Some(call_ref_valid), call_ref,    (Some(i64_i64_on_stack), i64_eq, ),
(c),call_indirect, )java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
omereturn_call_valid ,ontrol,
    (Some(return_call_ref_valid), return_call_ref, Control),
(i32i32_on_stack,,NumericInt,
    (Some(throw_valid), throw, Control, 850),    Some(i32_i32_on_stacko(64i_),NumericInt,
    (Some(), (32i32_on_stack,i32_gt_u NumericInt,
    (), ,Control,
    Some(i64_i64_on_stack ,NumericInt)java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
((,br_on_castControljava.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
    (Somei64_i64_on_stack ,),
/Sion_stack,i_,NumericInt,
    (Some(drop_valid((64_64on_stack,(Some(i64_i64_on_stack NumericIntjava.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
   elect_valid,selectParametricjava.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
    // Variable instructions.ome,i64_gt_uNjava.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
Slocal_get_valid,,,
(Some),local_set Variable,
        Some(64_64on_stack,i64_ge_u,NumericInt),
    (Some(global_get_valid), (Some(f32_f32_on_stack), f32_eq, Numeric
    ((    () ,
    // Memory instructions.
    ), i32_load, MemoryIntjava.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
    (    Some(_,f32_ltNumeric,
    (Some(Some(f64_f64_on_stackf64_le )
    S(f4)f64_ge,Numeric,
    (( (me,,Numeric,
        Somef32_f32_on_stack,f32_ge,Numeric),
    _    (omei32_on_stack  NumericInt
(Some(),i32_load_16_u, ),
    (Some(have_memory_and_offset), i64_load_8_s, MemoryInt),
    (me(ave_memory_and_offset,i64_load_16_s )
    (Some((Some(i32_i32_on_stack() i32_sub, NumericInt,
    (Some(have_memory_and_offset) i64_load_8_u,MemoryInt)java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
    (Some((f_) , Numeric,
    (Some(have_memory_and_offset), i64_load_32_u, MemoryInt),
),i32_store )java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
   , MemoryInt)
    (Some(f32_store_valid    (ome(32on_stack),i32_clz,   (Some(i32_i32_on_stack), i32_div_u()java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
,f64_storeMemoryjava.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
(,MemoryInt),
    (Some(i32_store_valid), i32_store_16(java.lang.StringIndexOutOfBoundsException: Range [26, 9) out of bounds for length 49
    Sistore_valid),     Somei_) i32_sub NumericIntjava.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
    S(,i32_shr_s java.lang.StringIndexOutOfBoundsException: Range [52, 53) out of bounds for length 52
    (    Some((Some(i32_i32_on_stack NumericInt,
    ome(i32_i32_on_stack,i32_div_u )java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
Smemory_grow_valid) ,MemoryInt,
    (Some(    )
()data_drop MemoryIntjava.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
   (memory_copy_valid,(Some(i32_i32_on_stack), i32_shl, NumericInt
   Somememory_fill_valid) , )
    // Numeric instructions.i64_i64_on_stack), )java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
    (one i32_const, NumericInt),
    (None, i64_const,     (omei32_i32_on_stack) i32_shr_u, NumericInt)java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
    (None        (Some(32__) i32_rotr, NumericInt),
    ((Some(64_    (omei64_i64_on_stack), i64_or, NumericInt),
    (Some((Some(i64_i64_on_stack,i64_xor,NumericInt)java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
    S), i32_eq,NumericInt),
    (Some(i32_i32_on_stack), i32_ne,     (Some(i64_i64_on_stack), i64_shr_s, NumericIn
    (Somei64_on_stack), i64_popcnt, NumericInt),
    (Some(i32_i32_on_stack), i32_lt_u, NumericInt),
    ), i32_gt_s NumericInt)java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
    , NumericInt,
    (Some(i32_i32_on_stack), i32_le_s, NumericInt),
    (Some(    (Some(i64_i64_on_stack i64_sub    Some32_,f32_abs,umeric,
    (Some(i32_i32_on_stack), i32_ge_s    ((, f32_neg,Numeric)java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
     NumericInt)
    (Some Someome( ,)
S, )
    (    ((on_stack, java.lang.StringIndexOutOfBoundsException: Range [46, 45) out of bounds for length 47
((java.lang.StringIndexOutOfBoundsException: Range [28, 26) out of bounds for length 51
S(java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 50
((_java.lang.StringIndexOutOfBoundsException: Range [29, 26) out of bounds for length 51
)
(java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 51
    ) java.lang.StringIndexOutOfBoundsException: Range [43, 42) out of bounds for length 44
    java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
    (Some java.lang.StringIndexOutOfBoundsException: Range [43, 42) out of bounds for length 44
    (    (Some(    (ome,f64_f64_on_stackf64_mulNumericjava.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 46
,,java.lang.StringIndexOutOfBoundsException: Range [46, 44) out of bounds for length 46
    _)java.lang.StringIndexOutOfBoundsException: Range [33, 26) out of bounds for length 43
tack,)java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 46
    (Somejava.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 53
,,
    (Some( (java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 51
    S(java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 46
    (Some(Some(i32_on_stack),     (Some(extendable_i32_on_stackjava.lang.StringIndexOutOfBoundsException: Range [51, 50) out of bounds for length 64
S(java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 46
    (Some(fojava.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 46
    S(java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 46
    (Some( java.lang.StringIndexOutOfBoundsException: Range [36, 33) out of bounds for length 65
((Some(i64_on_stack), f64_convert_i64_u, Numeric),
,java.lang.StringIndexOutOfBoundsException: Range [54, 44) out of bounds for length 55
),i32_subNumericInt
    (SomeSome(,i64_trunc_sat_f64_u )
    (i32_i32_on_stack, i32_div_s,NumericInt,
    (    (Some)java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
    ((ref_as_non_null_validSome() i32_trunc_sat_f32_s umeric)java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
    Somei_,i, ,
    (Some(i32_i32_on_stack), i32_and, NumericInt),
   (Some()  ,
    (Some(i32_i32_on_stack), i32_xor,     (Some(ref_cast_valid), ref_cast, Reference,
(32,java.lang.StringIndexOutOfBoundsException: Range [39, 36) out of bounds for length 50
    (SomeSome(table_grow_valid)  Reference,
    java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
    ((i32_i32_on_stack)  umericInt)java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
    (, i32_rotr ,
    Some(ref_func_valid), R,
    (Some(i64_on_stack), i64_ctz, NumericInt),
    (Some(i64_on_stack),i64_popcnt,NumericIntllReference)java.lang.StringIndexOutOfBoundsException: Range [62, 63) out of bounds for length 62
    / Aggregate.
    Some(struct_new_valid, struct_new Aggregate)java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
    (    (Some(ref_test_valid),ref_test, Reference),Some(,struct_get ),java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 48
() java.lang.StringIndexOutOfBoundsException: Range [39, 37) out of bounds for length 50
    java.lang.StringIndexOutOfBoundsException: Range [36, 33) out of bounds for length 66
    ((S(,array_new_elemAggregatetable_grow_valid  Reference,
    (java.lang.StringIndexOutOfBoundsException: Range [26, 9) out of bounds for length 52
    ((Sometable_init_valid table_init 
    ((array_len_valid)    Some(java.lang.StringIndexOutOfBoundsException: Range [34, 31) out of bounds for length 62
    ((java.lang.StringIndexOutOfBoundsException: Range [37, 34) out of bounds for length 68
    S(java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 50
    (Some(    
    )    java.lang.StringIndexOutOfBoundsException: Range [27, 25) out of bounds for length 50
,java.lang.StringIndexOutOfBoundsException: Range [50, 49) out of bounds for length 51
    )
    (Some     array_copy_valid,
    (Some(f32_on_stack), f32_neg,     (Some(array_init_data_valid), array_ini((java.lang.StringIndexOutOfBoundsException: Range [54, 37) out of bounds for length 67
    (Some(    (Some(ref_i31_valid)omejava.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 67
)java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
java.lang.StringIndexOutOfBoundsException: Range [24, 22) out of bounds for length 45
, )java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
    (Some(f32_on_stack), f32_sqrt, Numeric),
(f32_f32_on_stack(Some(,v128_store,VectorInt),
    Some(), f32_sub, Numeric)Ssimd_have_memory_and_offset v128_load32x2s, VectorInt)java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
    )v128_load8_splat,VectorInt),
    (Some(Some(simd_load_lane_valid), v128_load32_lanejava.lang.StringIndexOutOfBoundsException: Range [39, 37) out of bounds for length 70
   32__,32min)java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
    (f_, 128tore16_laneVectorIntjava.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
    32f32_on_stack) Numeric)java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
    64_,f64,,
    (Some((omeimd_enabledv128_const, ectorInt)java.lang.StringIndexOutOfBoundsException: Range [49, 48) out of bounds for length 48
    (java.lang.StringIndexOutOfBoundsException: Range [30, 28) out of bounds for length 64
 ,java.lang.StringIndexOutOfBoundsException: Range [44, 43) out of bounds for length 45
    (    (Somesimd_v128_on_stack,i64x2_extract_lane,VectorInt),
    (Some(    (omesimd_v128_v128_on_stacki8x16_shuffleSomeimd_v128_i64_on_stack java.lang.StringIndexOutOfBoundsException: Range [54, 53) out of bounds for length 66
    (Some(f64_on_stack), f64_sqrt, Numeric),
    (Some(f64_f64_on_stack), f64_add, Numeric),
   (omef64_f64_on_stack), f64_sub, Numeric),
    (Some(f64_f64_on_stack), f64_mul, Numeric),
    (Some(f64_f64_on_stack), f64_div,  (ome(),8_xtract_lane_s ),
    (Some(    Some(Some(simd_v128_on_stacki32x4_extract_laneimd_i32_on_stack i32x4_splat ,
( Some(imd_i64_on_stack) i64x2_splat ,
    (Some(f64_f64_on_stack), f64_copysign, Numeric),
    Some(64n_stack),i32_wrap_i64, NumericInt),
    (Some(f32_on_stack), i32_trunc_f32_s, Numeric)(ome(simd_f64_on_stack) f64x2_splat, Vector),
    (Some(32_) i32_trunc_f32_u, Numeric,
    (Some(f64_on_stack), i32_trunc_f64_s, Numeric),
    Some(f64_on_stack),  ((simd_v128_v128_on_stack_relaxed, i8x16_relaxed_swizzle, )java.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78
(i32_on_stack), i64_extend_i32_s, NumericInt),
    (Some(i32_on_stack), i64_extend_i32_u, NumericInt),
    (ome(32_n_stack), i64_trunc_f32_s, Numeric),
    (Some(f32_on_stack), i64_trunc_f32_u, Numeric),
    (Some(f64_on_stack), i64_trunc_f64_s, Numeric),
    (Somesimd_v128_f64_on_stack) f64x2_replace_lane,Vector),
    (Some,i32x4_splat,    simd_v128_v128_on_stack  VectorInt,
    (Some((java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
    ),
    (    (omeimd_v128_v128_on_stacki8,VectorInt)java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
(f64_on_stackSome(java.lang.StringIndexOutOfBoundsException: Range [35, 33) out of bounds for length 59
    ,Numeric,
    (Some(i32_on_stack    Somesimd_v128_v128_on_stack ,VectorInt,
    Somei64_on_stack), java.lang.StringIndexOutOfBoundsException: Range [36, 33) out of bounds for length 57
    (    (Somejava.lang.StringIndexOutOfBoundsException: Range [49, 46) out of bounds for length 86
    Some) i64x2_relaxed_laneselectjava.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
f32_on_stacki ,
    (Some(f64_on_stack), Some(simd_v128_v128_on_stack), i16x8_ge_uijava.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
((java.lang.StringIndexOutOfBoundsException: Range [36, 33) out of bounds for length 57
java.lang.StringIndexOutOfBoundsException: Range [36, 33) out of bounds for length 59
    (Some(    (Some),i32x4_gt_s, java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
    Sextendable_i32_on_stack),    (Some(simd_v128_v128_on_stack), i32x4_le_s, Vec)java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
(extendable_i64_on_stack, _extend_8_s NumericInt
    (Some(    (Some(simd_v128_v128_on_stackjava.lang.StringIndexOutOfBoundsException: Range [47, 46) out of bounds for length 59
    (Some(    ((simd_v128_v128_on_stack, ,VectorInt),
    (Some(simd_v128_v128_on_stack,imd_v128_v128_on_stack,i16x8_gt_u VectorIntjava.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
    nontrapping_f32_on_stack,java.lang.StringIndexOutOfBoundsException: Range [57, 56) out of bounds for length 67
i_runc_sat_f64_s,  )
    (Somesimd_v128_v128_on_stack)     (Some(simd_v128_v128_on_stack), i64x2_gt_s)java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
    (omenontrapping_f32_on_stack)i64,Numericjava.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
    (Some(nontrapping_f32_on_stackSomeSome  ,
    ((Somesimd_v128_v128_on_stack,i32x4_lt_u,   (Somes,f32x4_lt ,
    (Some(Some(simd_v128_v128_on_stack,i32x4_gt_s, ectorInt,
    
    (Some    ((Some((Some(simd_v128_v128_on_stacki32x4_le_s,VectorInt),
    (Some(Some(simd_v128_v128_on_stack,f32x4_le,Vector)java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
),java.lang.StringIndexOutOfBoundsException: Range [50, 49) out of bounds for length 62

((ref_test_validjava.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 48
    (Some(((java.lang.StringIndexOutOfBoundsException: Range [35, 33) out of bounds for length 57
    , ref_is_null, Reference)java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
    (table_fill_valid) table_fill,Reference)java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
    ),table_set ,
    (Some(table_get_valid), table_get, Reference((java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 59
    ( table_size, Reference)java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
    S(table_grow_valid), table_grow,     (Some(simd_v128_v128_on_stack), f32x4_eq, Vect
    Somejava.lang.StringIndexOutOfBoundsException: Range [5, 1) out of bounds for length 61
    (    (Some,v128_or),
    (Some(elem_drop_valid) (java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 54
/java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
    ),
   ) java.lang.StringIndexOutOfBoundsException: Range [57, 55) out of bounds for length 68
    (Some((simd_v128_v128_on_stackimd_v128_on_stack  VectorInt,
    (Some(struct_set_validS(java.lang.StringIndexOutOfBoundsException: Range [30, 28) out of bounds for length 56
    (Some((simd_v128_on_stackomejava.lang.StringIndexOutOfBoundsException: Range [35, 33) out of bounds for length 54
    , java.lang.StringIndexOutOfBoundsException: Range [61, 60) out of bounds for length 62
    (Some(    (Some(simd_v128_on_stack), v1not, VectorInt)
    (Some(simd_v128_i32_on_stack),i8x16_shl, VectorInt),
    ((array_new_elem_valid((), i8x16_shr_sVectorInt)java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
   Some),((java.lang.StringIndexOutOfBoundsException: Range [36, 33) out of bounds for length 61
S) ectorIntjava.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 56
    Some(,array_len (Some(simd_v128_v128_on_stack), i8x16_add_sat_)java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
Ssimd_v128_v128_on_stack,VectorInt)
    (Some(simd_v128_v128_on_stack, java.lang.StringIndexOutOfBoundsException: Range [52, 51) out of bounds for length 64
e,
    (Some(   (Some(simd_v128_on_stack), i8,java.lang.StringIndexOutOfBoundsException: Range [53, 54) out of bounds for length 53
java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 46
(    (Somejava.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 58
    egate)java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
    (Some(Some(simd_v128_on_stack  ,
    // SIMD instructions.
(java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 62
    (    (Some(simd_v128_i32_on_stack),i16x8_neg, VectorInt
    Somesimd_have_memory_and_offset) v128_load8x8u, VectorIntjava.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66
    omesimd_have_memory_and_offset,  java.lang.StringIndexOutOfBoundsException: Range [66, 65) out of bounds for length 67
    (Some( (S(java.lang.StringIndexOutOfBoundsException: Range [36, 33) out of bounds for length 68
    ((,x16_java.lang.StringIndexOutOfBoundsException: Range [52, 51) out of bounds for length 64
    (),i8x16_sub,VectorInt),
        Some(simd_v128_v128_on_stack,i8x16_sub_sat_s VectorInt    s),,,
    Some(simd_have_memory_and_offset) v128_load16_splat,,
    (Some(Some(simd_v128_v128_on_stack, i8x16_min_u,VectorInt),
    (Some(simd_have_memory_and_offset), v128_load64_splat,(s(simd_v128_i32_on_stack VectorInt)java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
    Some, ectorInt)java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
(S(java.lang.StringIndexOutOfBoundsException: Range [31, 28) out of bounds for length 72
, v128_store ,
    (  ,
    (Some(simd_load_lane_valid),(Some(simd_v128_v128_on_stacki16x8_min_u,, VectorInt
 ,java.lang.StringIndexOutOfBoundsException: Range [57, 55) out of bounds for length 68
java.lang.StringIndexOutOfBoundsException: Range [31, 28) out of bounds for length 72
Some ,,
    (Some(simd_store_lane_valid), v128_store16_lane, VectorInt),
    (simd_store_lane_valid,v128_store32_lane ),
    (Some (Some(imd_v128_v128_on_stack, i16x8_add, VectorInt),
    (    (Some(simd_v128_on_stack),i32x4_negVectorInt)java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
,
    (Some(simd_v128_on_stack), i8x16_extract_lane_s, VectorInt),
java.lang.StringIndexOutOfBoundsException: Range [52, 51) out of bounds for length 64
    , VectorInt)
    (Some(simd_v128_on_stack)    Some(simd_v128_on_stack)i32x4_extend_high_i16x8u ectorIntjava.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
    Some    o(,,java.lang.StringIndexOutOfBoundsException: Range [56, 55) out of bounds for length 57
    (    (SomeSome, ,
((Somejava.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 59
    ((,i32x4_add,VectorInt)
    (Some(Some(simd_v128_v128_on_stack,i32x4_sub, VectorInt),
    (Some(simd_v128_i64_on_stack), i64x2_replace_laneSome(simd_v128_v128_on_stack,i16x8_extmul_high_i8x16s ,
    (Some (    (Some, java.lang.StringIndexOutOfBoundsException: Range [71, 70) out of bounds for length 72
    ((simd_v128_f32_on_stack) f32x4_replace_lane,Vector),
    (Some(simd_v128_on_stackSome(simd_v128_v128_on_stack)_java.lang.StringIndexOutOfBoundsException: Range [60, 59) out of bounds for length 72
    S(, 64x2_replace_lane, Vector),
    (Some(    (Some(simd_v128_on_stack(ome(    (Some(simd_v128_on_stack,java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
    , java.lang.StringIndexOutOfBoundsException: Range [42, 41) out of bounds for length 54
    (),java.lang.StringIndexOutOfBoundsException: Range [47, 45) out of bounds for length 58
    Somesimd_i64_on_stack,i64x2_splat java.lang.StringIndexOutOfBoundsException: Range [60, 54) out of bounds for length 73
    Some(imd_f32_on_stack), f32x4_splat 6 ,
    (Some(simd_f64_on_stack), f64x2_splatSome(,i64x2_neg java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
    () i8x16_swizzle,VectorInt,
    (Some(simd_v128_v128_on_stack_relaxed), i8x16_relaxed_swizzle, java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 57
    (Some(simd_v128_v128_v128_on_stack(java.lang.StringIndexOutOfBoundsException: Range [31, 28) out of bounds for length 67
    Some((simd_v128_on_stack)java.lang.StringIndexOutOfBoundsException: Range [56, 55) out of bounds for length 68
(ome(simd_v128_on_stack), i64x2_extend_low_i32x4u, VectorInt),
    (Some(simd_v128_v128_v128_on_stack_relaxed)    (Some(simd_v128_on_stack(omesimd_v128_v128_on_stack) i32x4_mul,VectorInt)java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
    (), i64x2_relaxed_laneselect,VectorInt),
    (Some(simd_v128_v128_on_stack), i8x16_eq, VectorInt),    (Some(simd_v128_v128_on_stack),Some( java.lang.StringIndexOutOfBoundsException: Range [48, 46) out of bounds for length 59
    Some(java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 57
    ),  ,
(Some(imd_v128_v128_on_stack java.lang.StringIndexOutOfBoundsException: Range [53, 52) out of bounds for length 65
    Some(java.lang.StringIndexOutOfBoundsException: Range [35, 33) out of bounds for length 73
    
    ,java.lang.StringIndexOutOfBoundsException: Range [47, 46) out of bounds for length 59
    Simd_v128_v128_on_stack), i64x2_extmul_high_i32x4s, VectorInt),
    (Some(simd_v128_v128_on_stack), i8x16_ge_s,(ome(    (Some(simd_v128_on_stack), i64x2_abs, VectorInt),
    (Some(    Some(imd_v128_on_stack), i64x2_neg, VectorInt),
    (Some(    (Some(simd_v128_on_stackSomeSome(simd_v128_on_stack), f32x4_ceil, Vector),
    (Some(simd_v128_v128_on_stack), i16x8_ne, VectorInt),
    Some(java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 59
    Some((
    (java.lang.StringIndexOutOfBoundsException: Range [33, 9) out of bounds for length 59
        (Some(simd_v128_v128_on_stack), f32x4_mul, Vector),
     (ome(simd_v128_v128_on_stack), f32x4_div, Vector),
    (Some(    (Some(simd_v128_i32_on_stacki64x2_shl, VectorInt),
    (Some(simd_v128_v128_on_stack),  (Some(md_v128_i32_on_stack), 64, VectorInt),
   (Some(simd_v128_v128_on_stack)  VectorInt)java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
    (Some(simd_v128_v128_on_stack), i32x4_eq, VectorInt),
    (), i32x4_ne, VectorInt),
    (Some(simd_v128_v128_on_stack)), i32x4_lt_s,),
    (Some(simd_v128_v128_on_stack)    (Some(simd_v128_v128_on_stack), (Some(simd_v128_on_stack), f64x2_ceil, Vector
   (Some(), i64x2_extmul_low_i32x4sVectorInt),
    (Some(simd_v128_v128_on_stack), i32x4_gt_u, VectorInt),
        (Some(,i64x2_extmul_high_i32x4sVectorInt)java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
    )java.lang.StringIndexOutOfBoundsException: Range [48, 46) out of bounds for length 59
    (Some (java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 50
java.lang.StringIndexOutOfBoundsException: Range [36, 33) out of bounds for length 55
(sjava.lang.StringIndexOutOfBoundsException: Range [35, 33) out of bounds for length 57
imd_v128_v128_on_stack java.lang.StringIndexOutOfBoundsException: Range [57, 55) out of bounds for length 57
    (Some (ome 32,)
 (Some(simd_v128_v128_on_stack f64x2p_min )java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
    (Some(simd_v128_v128_on_stack), i64x2_le_s,     (())java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
    (Someimd_v128_on_stack,x4_java.lang.StringIndexOutOfBoundsException: Range [52, 51) out of bounds for length 61
   (simd_v128_v128_on_stack),x4_eq Vectorjava.lang.StringIndexOutOfBoundsException: Range [54, 55) out of bounds for length 54
    simd_v128_on_stack,Vector,
    (Some(Some(simd_v128_v128_on_stack), f32x4p_max, Vector,V)java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
    (simd_v128_v128_on_stack), Vector)java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
    (    (Some(simd_v128_on_stack), f6 Vector)
    (Some(simd_v128_v128_on_stack),(    Ss, ,Vector)java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
    Some() ,)
    (    omesimd_v128_on_stack_relaxed  ,
    (simd_v128_v128_on_stack), f64x2_lt(Some(simd_v128_on_stack_relaxed), (Some(java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 51
    (Some(java.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 80
    (Some(Some(simd_v128_v128_on_stack), f64x2_sub, Vector    (Some(simd_v128_on_stack_relaxed),(ome(,fx2mul     (Some(simd_v128_v128_v128_on_stack_relaxed), f32ximd_v128_v128_v128_on_stack_relaxed),f32x4_relaxed_madd,)java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
), f64x2_ge, 2relaxed_madd,)java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
    (,    Some((imd_v128_v128_v128_on_stack_relaxed), f64x2_relaxed_nmadd, Vector),
    (Some(simd_v128_v128_on_stack, ,
    (Some(imd_v128_on_stack), i32x4_trunc_sat_f32x4s, Vector),
    (Some(    (Some(simd_v128_v128_on_stackrelaxed, (Some(simd_v128_on_stack), i32x4_trunc_sat_f32x4u, Vector
    (((() i16x8_relaxed_dot_i8x16_i7x16_s VectorInt)java.lang.StringIndexOutOfBoundsException: Range [88, 89) out of bounds for length 88
    , VectorInt),
    (ome(java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 68
    )java.lang.StringIndexOutOfBoundsException: Range [11, 9) out of bounds for length 70
    (Some(simd_v128_on_stack,fjava.lang.StringIndexOutOfBoundsException: Range [72, 43) out of bounds for length 74
    (simd_v128_on_stack Vjava.lang.StringIndexOutOfBoundsException: Range [64, 65) out of bounds for length 64
    (Somei32java.lang.StringIndexOutOfBoundsException: Range [46, 45) out of bounds for length 58
    (Some(,  ),
S(simd_v128_on_stack_relaxed,i32x4_relaxed_trunc_f32x4u Vector,
    (Some(, MemoryInt),,
    (    Some(simd_v128_on_stack_relaxed,  Vector)java.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80
    simd_v128_i32_on_stack),i8x16_shr_u ,
    (Some(simd_v128_v128_on_stack), i8x16_add, VectorInt),
    Somesimd_v128_v128_on_stackix16_add_sat_s,VectorIntfjava.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 64
    (ome(simd_v128_v128_on_stack),ix16_add_sat_u,     java.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 64
    (Some( ((Some(i32_atomic_store_valid, java.lang.StringIndexOutOfBoundsException: Range [54, 52) out of bounds for length 65
    , VectorInt)java.lang.StringIndexOutOfBoundsException: Range [64, 65) out of bounds for length 64
    (Some(simd_v128_v128_on_stack), i8x16_sub_sat_u, VectorInt),
    , ectorInt)java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
    (Some(((i64_atomic_store32,
(Somesimd_v128_v128_on_stack),_,MemoryInt),
    (Some(simd_v128_v128_v128_on_stack_relaxedi32x4_relaxed_dot_i8x16_i7x16_add_s VectorInt)java.lang.StringIndexOutOfBoundsException: Range [98, 99) out of bounds for length 97
    simd_v128_v128_on_stack,avgr_u, ectorInt),
    (Some(i32_atomic_rmw_atop_valid), i32_atomic_rmw_or  wide_arithmetic_binop128_on_stack) ,Njava.lang.StringIndexOutOfBoundsException: Range [70, 68) out of bounds for length 70
    (Some((Some(i32_atomic_rmw_atop_validSomeide_arithmetic_mul_wide_on_stack,i64_mul_wide_ujava.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74
    (( i32_atomic_load )
    (),  ,
    java.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 68
 java.lang.StringIndexOutOfBoundsException: Range [46, 45) out of bounds for length 58
),
    (Some((tomic_load_validi32_atomic_load16_u
java.lang.StringIndexOutOfBoundsException: Range [9, 4) out of bounds for length 68
    (omesSome(, i32_atomic_rmw8_add_uMemoryInt),
    (Some(simd_v128_on_stack), i16x8_extend_high_i8x16s, VectorInt)Somei32_atomic_store_valid,i32_atomic_store,M,
    (Some(java.lang.StringIndexOutOfBoundsException: Range [54, 28) out of bounds for length 67
    (Some(((i32_atomic_rmw_atop_valid) i32_atomic_rmw8_or_u,MemoryIntSome(i32_atomic_rmw_atop_valid)),i32_atomic_rmw8_xor_u, MemoryInt),
    (Some(simd_v128_i32_on_stack)    (Somei32_atomic_rmw_atop_valid), i32_atomic_rmw8_xchg_u, MemoryInt),
    (Some(simd_v128_i32_on_stackSomei64_atomic_rmw_atop_valid)i64atomic_rmw8_xor_u ),
    (    Somei64_atomic_rmw_atop_valid),i_atomic_rmw8_xchg_u,MemoryInt),
    (Some( (), i32_atomic_rmw_sub, emoryInt),
    (Some(simd_v128_v128_on_stack), i16x8_add_sat_s, VectorInt),
    (((tomic_rmw_atop_validi32,MemoryInt),
    (Somesimd_v128_v128_on_stack) i32_atomic_rmw_atop_valid), i32_atomic_rmw16_or_),
    simd_v128_v128_on_stack),i16java.lang.StringIndexOutOfBoundsException: Range [53, 51) out of bounds for length 64
    ,    ome(i64_atomic_rmw_atop_valid,e,
    (Some(simd_v128_v128_on_stack), i16x8_mul, VectorInt),
    (,
    (Some(simd_v128_v128_on_stack(Some(i64_atomic_rmw_atop_validjava.lang.StringIndexOutOfBoundsException: Range [62, 60) out of bounds for length 73
    (java.lang.StringIndexOutOfBoundsException: Range [33, 9) out of bounds for length 60
    (Some((Some(i64_atomic_rmw_atop_valid(,MemoryInt)java.lang.StringIndexOutOfBoundsException: Range [74, 75) out of bounds for length 74
java.lang.StringIndexOutOfBoundsException: Range [35, 4) out of bounds for length 61
    (Some(simd_v128_v128_on_stack), Some(i64_atomic_rmw_atop_valid), i64_atomic_rmw32_sub_ujava.lang.StringIndexOutOfBoundsException: Range [38, 35) out of bounds for length 73
    (Some(Some(  ,
    (Somei32_atomic_rmw_atop_valid),, Si64_atomic_rmw_atop_valid), i64_atomic_rmw32_or_u, MemoryInt),
    Somesimd_v128_v128_on_stack) java.lang.StringIndexOutOfBoundsException: Range [60, 59) out of bounds for length 72
()java.lang.StringIndexOutOfBoundsException: Range [70, 59) out of bounds for length 72
    (S,java.lang.StringIndexOutOfBoundsException: Range [60, 59) out of bounds for length 72
    java.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 53
(imd_v128_on_stack,java.lang.StringIndexOutOfBoundsException: Range [42, 40) out of bounds for length 53
(i64_atomic_rmw_atop_valid,  MemoryInt
    ((Some(i64_atomic_rmw_cmpxchg_valid,java.lang.StringIndexOutOfBoundsException: Range [79, 78) out of bounds for length 80
    (imd_v128_on_stack i32x4_extend_low_i16x8sVectorIntjava.lang.StringIndexOutOfBoundsException: Range [67, 68) out of bounds for length 67
    (Some(simd_v128_on_stack(i32_atomic_rmw_atop_valid), i32_atomic_rmw16_and_u, java.lang.StringIndexOutOfBoundsException: Range [0, 71) out of bounds for length 58
    omesimd_v128_on_stack, i32x4_extend_low_i16x8uVectorInt),
    (Some(simd_v128_on_stack), i32x4_extend_high_i16x8u,  ((,atomic_wait64,)java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
    _ java.lang.StringIndexOutOfBoundsException: Range [47, 46) out of bounds for length 59
    (Some(// The types on the operand stack right now.
    ), i32x4_add, VectorInt),
    Somesimd_v128_v128_on_stack,i32x4_sub),
    (Some(simd_v128_v128_on_stack)java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    ), java.lang.StringIndexOutOfBoundsException: Range [0, 47) out of bounds for length 26
    (ome( MemoryInt,
    (Some(simd_v128_v128_on_stack), i32x4_max_s, (Some(i64_atomic_rmw_atop_valid), i64_atomic_rmw32_or_u),
    fn,&CodeBuilder& Instruction)>Result(>
    (Some(java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 7
    (Some(Some(java.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 76
    (java.lang.StringIndexOutOfBoundsException: Range [60, 9) out of bounds for length 73
    , VectorInt / g to java.lang.StringIndexOutOfBoundsException: Range [44, 43) out of bounds for length 77
(java.lang.StringIndexOutOfBoundsException: Range [41, 38) out of bounds for length 80
    (    (Some
    (Some(simd_v128_on_stack) Satomic_notify_valid ,
    ((Some
    (Some(: BTreeMap<Rc<FuncTypeRc java.lang.StringIndexOutOfBoundsException: Range [42, 41) out of bounds for length 48
    (Some(simd_v128_on_stack), // The control labels in scope right now
    java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    (Some(simd_v128_on_stack), i64x2_extend_low_i32x4u, VectorInt),java.lang.StringIndexOutOfBoundsException: Range [17, 12) out of bounds for length 35
    (simd_v128_on_stack    java.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78
    (Some(java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 0
    (Some(java.lang.StringIndexOutOfBoundsException: Range [0, 32) out of bounds for length 18
(simd_v128_i32_on_stack Vjava.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
    (Some(simd_v128_v128_on_stack), java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
    (Some(simd_v128_v128_on_stack)>java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
    (Some(table64_init:Vec<u32u32)>java.lang.StringIndexOutOfBoundsException: Range [34, 35) out of bounds for length 34
    // Cached information about the module that we're generating functions for,java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 79
    (Some(simd_v128_v128_on_stack), i64x2_extmul_high_i32x4s, used to speed checks.Themutable globalsmap isjava.lang.StringIndexOutOfBoundsException: Range [69, 41) out of bounds for length 41
    (mutable_globals<32 u32java.lang.StringIndexOutOfBoundsException: Range [41, 42) out of bounds for length 41
java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
    (Some/ used forlookup invalidatinginstructions toknowjava.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 49
     have which types. For example if there are no 64-bit memories then we
    (Some(simd_v128_on_stack), // shouldn't ever look for i64 on/java.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 76
    (Somememory64: Vecjava.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
    (Some(java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 0
    Some(java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 50
table64_with_funcref java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    (Some(simd_v128_v128_on_stack),// Functions that are referenced in the module through globals and segments.
    (Some java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    (Some(simd_v128_v128_on_stack), f32x4_mulglobals_cnt as (segment, table).
    (imd_v128_v128_on_stack, Vectorjava.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
:java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 36
    java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 41
    (java.lang.StringIndexOutOfBoundsException: Range [25, 23) out of bounds for length 41
8_/
    disallow_exportingbool,
    (java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    (Some(simd_v128_on_stackjava.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 23
    Somejava.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 54
    (    allocs a mut,
    (Some(simd_v128_on_stack), f64x2_neg, Vector),
    (Some(simd_v128_on_stack),globals_cnt
    (Some(    // Temporary locals injected and by new_globals Vec<(ConstExpr)>java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
    (Some(global_dropped_f64:Option<u32>java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
    (Some(java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 0
    (Some(    // `local.get` and
    (Some(simd_v128_v128_on_stack:
    (Some(,f64x2_maxjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    (Some(simd_v128_v128_on_stack), java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 31
}
    (Some
    (Some(simd_v128_on_stack), i32x4_trunc_sat_f32x4u, Vector),
    (Some(simd_v128_on_stack), f32x4_convert_i32x4s, java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 16
    (Some(simd_v128_on_stack), f32x4_convert_i32x4u,/java.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
     params:VecValType,
    (Some(simd_v128_on_stack    a mut CodeBuilderAllocations, CodeBuilderAllocations,
    (Some(simd_v128_on_stack), f64x2_convert_low_i32x4s,
    (java.lang.StringIndexOutOfBoundsException: Range [26, 9) out of bounds for length 65
    Somesimd_v128_on_stack),Vector),
    (Some(java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 18
    (Some(
    java.lang.StringIndexOutOfBoundsException: Range [0, 17) out of bounds for length 14
    ( Option        if self.kind == Contr: java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
    (Some(simd_v128_on_stack_relaxedjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    (Somejava.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 23
    (Some(simd_v128_v128_v128_on_stack_relaxedkind java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 25
    (Some(simd_v128_v128_v128_on_stack_relaxed), java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 25
    (ome(simd_v128_v128_v128_on_stack_relaxed),     java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    (Some
    (Some(simd_v128_v128_on_stack_relaxed), f32x4_relaxed_max
    (Some(    results: Vec<ValType
    (Some(simd_v128_v128_on_stack_relaxed),java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 18
    (Some(simd_v128_v128_on_stack_relaxed
    height: ,
    (Some(java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 1
    (    TryTable {
    (Some(wide_arithmetic_binop128_on_stack)java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    Somewide_arithmetic_mul_wide_on_stack), i64_mul_wide_s, NumericInt        if.kind == ControlKind::Loop {
    (Some(wide_arithmetic_mul_wide_on_stack),            &self.,
    // Atomic instructions}else{
    (Some(atomic_load_valid), java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 29
    (Some(atomic_load_valid), java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 25
    (Some(atomic_load_valid), i32_atomic_load8_u,MemoryInt),
    (Some(atomic_load_valid), i64_atomic_load8_u, MemoryInt),
    (Some(atomic_load_valid), i32_atomic_load16_u,         letmut          
    (Some(atomic_load_valid), i64_atomic_load16_u
    (Some(atomic_load_valid), i64_atomic_load32_u, java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 44
    (Some(mutable_globals
    (i64_atomic_store_valid), i64_atomic_store, MemoryInt),
    (Some(i32_atomic_store_valid), i32_atomic_store8, MemoryInt    If,
    (Some(i64_atomic_store_valid), java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 9
    (java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}
    (Some(java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 0
   Some(i32_atomic_rmw_atop_valid), i32_atomic_rmw_add, MemoryInt),
    (Some(i32_atomic_rmw_atop_valid), i32_atomic_rmw_sub, MemoryInt),
    (Some(java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 8
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    (java.lang.StringIndexOutOfBoundsException: Range [16, 9) out of bounds for length 27
    (Some(        let mut functjava.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 44
        ::ew(java.lang.StringIndexOutOfBoundsException: Range [50, 51) out of bounds for length 50
    (i64_atomic_rmw_atop_valid), i64_atomic_rmw_subfunctions
    (Some(entry(funcclone())
    (Some(i64_atomic_rmw_atop_valid), i64_atomic_rmw_or            if.mutable{.r_insert(()
    (Some(i64_atomic_rmw_atop_valid), java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 31
    (Some(i64_atomic_rmw_atop_valid), java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 0
    ((i32_atomic_rmw_atop_valid), i32_atomic_rmw8_add_u ),
    Somei32_atomic_rmw_atop_valid), f =Vec::new();
         java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 41
    (i32_atomic_rmw_atop_valid)           
    (Some(java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 0
    (Some(java.lang.StringIndexOutOfBoundsException: Range [16, 14) out of bounds for length 41
    (Some(i64_atomic_rmw_atop_valid), i64_atomic_rmw8_add_u, tagsentry(func_type.arams.to_vec)java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
                    ();
    (Some(i64_atomic_rmw_atop_valid), java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 0
    (Some(i64_atomic_rmw_atop_valid)atomic_rmw8_or_u, emoryInt)java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71
    (Some(i64_atomic_rmw_atop_valid), java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 43
    (Some(java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
    (                or_insertjava.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
    S(i32_atomic_rmw_atop_valid), i32_atomic_rmw16_sub_u, )
    (Some(java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 9
    (Some mutjava.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
    (        l java.lang.StringIndexOutOfBoundsException: Range [47, 36) out of bounds for length 55
    (Some(            ifSomei) expr){
)java.lang.StringIndexOutOfBoundsException: Range [72, 60) out of bounds for length 73
    java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
(table64_init= Vec::new);;
    (Some(for i g)  module&table64_with_funcref
    (Someatch .items{
    (Some(i64_atomic_rmw_atop_valid), i64_atomic_rmw16_xchg_utable32_tyspush()  > 
    (Some(java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
    (Some(i64_atomic_rmw_atop_valid), java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 54
    (Some(java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 14
    (Somei64_atomic_rmw_atop_valid)  ,
    (Somei64_atomic_rmw_atop_valid), i64_atomic_rmw32_xor_u, MemoryInt),referenced_functions.xtende(.loned);
 java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 17
    (Some(i32_atomic_rmw_cmpxchg_valid),             (j  in
    (Some(i64_atomic_rmw_cmpxchg_valid ref_type_is_sub_typeg.java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 9
    Some(i32_atomic_rmw_cmpxchg_valid, i32_atomic_rmw8_cmpxchg_u emoryInt),
    (Some(i64_atomic_rmw_cmpxchg_valid), i64_atomic_rmw8_cmpxchg_u, MemoryInt),
    (Some(i32_atomic_rmw_cmpxchg_valid), i32_atomic_rmw16_cmpxchg_u, MemoryInt),
)java.lang.StringIndexOutOfBoundsException: Range [69, 67) out of bounds for length 80
java.lang.StringIndexOutOfBoundsException: Range [69, 67) out of bounds for length 80
    (}
    (Some(atomic_wait32_valid), atomic_wait32, MemoryInt),
    (Some(java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 9
    (Some(atomic_instruction_valid)}
}

(crate       }
    // The control labels in scope right now.
    controls: Vecfor(i g) java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 0

    // The types on the operand stack right now.
    operands: Vec<    Vece(;

   
    // be valid right now.
    i mem.memory64 {
        fnElements:Functions                java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 40
            memory32.i u32
    )>,

    / Cached information about the module that we're generating functions for,
    // used to speed up validity checks. The mutable globals map is a map of the.java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
//java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
    // all mutable).
    mutable_globals:java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 22

    // Like mutable globals above this is a map from function types to the listmut}
    // of functions that have that function type.
      c java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 48

    // Like functions above this is a map from tag types to the list of tags
    // have that tag type.
    iftt else

                p(as)java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
    table32_with_funcref:letmut table32  Vec:new(e java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
    table64_with_funcref: Vecletjava.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 0

      referenced   globalsand .
    referenced_functions:                    let ds =match (,  .iter)) {

    // Precomputed tables/element segments that can be used for `table.init`,                       ,=mtjava.lang.StringIndexOutOfBoundsException: Range [66, 65) out of bounds for length 66
    // stored as (segment, table).
    forj, t2)push( u32u32;
    table64_init: Vecjava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 17

    // Precomputed valid tables to copy between, stored in (src, dst) order.
    java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 41
    table_copy_32_to_64: Vec<(u32,let java.lang.StringIndexOutOfBoundsException: Range [36, 34) out of bounds for length 42
    table_copy_64_to_32: Vec<(u32, u32)>,
    table_copy_64_to_64:                     pias ,  

    // Lists of table/memory indices which are either 32-bit or 64-bit. This is
    // used for faster lookup in validating instructions to know which memoriesl java.lang.StringIndexOutOfBoundsException: Range [43, 41) out of bounds for length 42
    // have which types. For example if there are no 64-bit memories then weglobals[indexas ;
    // shouldn't ever look for i64 on the stack for `i32.load`.global_dropped_f64=None;
    emory32: ec<:I >java.lang.StringIndexOutOfBoundsException: Range [45, 46) out of bounds for length 45
    memory64        
    java.lang.StringIndexOutOfBoundsException: Range [46, 18) out of bounds for length 46
    table64: Vec<u32>,

    // State used when dropping operands to avoid dropping them into the ether
    // but instead folding their final values into module state, at this timeValType:java.lang.StringIndexOutOfBoundsException: Range [41, 40) out of bounds for length 45
V:I32.java.lang.StringIndexOutOfBoundsException: Range [62, 61) out of bounds for length 65
    globals_cnt: u32,
n                                   java.lang.StringIndexOutOfBoundsException: Range [55, 54) out of bounds for length 69
java.lang.StringIndexOutOfBoundsException: Range [24, 22) out of bounds for length 36
java.lang.StringIndexOutOfBoundsException: Range [24, 22) out of bounds for length 36
    >
    global_dropped_f64 is_none) {
    global_dropped_v128: Option ValType: >gjava.lang.StringIndexOutOfBoundsException: Range [55, 54) out of bounds for length 69

    // Indicates that additional exports cannot be generated. This will be true
    // if the `Config` specifies exactly which exports should be present.
    java.lang.StringIndexOutOfBoundsException: Range [13, 9) out of bounds for length 13
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
    #[
    shared: bool,
    func_ty: &'a FuncType,
    locals: &'a mut Vec<ValType>,
java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 43

    // Temporary locals injected and used by nan canonicalization. Note that
ofjava.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 80
    table32_with_funcref,
    ` and similar instructions.
java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 31
    :Option,
    f64_scratch: Option<usize>,
    v128_scratch: Optiontjava.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 32
}

            table32,
#[derive(Debug, Clone)
structjava.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 16
    kind: ControlKind,
    /// Value types that must be on the stack when entering this control frame.
    params: Vec<njava.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 36
    /// Value types that are left on the stack when exiting this control frame.
    results: Vec<            global_droppe
    /// How far down the operand stack instructions inside this control frame.java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 30
    /// can reach.
    height:usize
}

impl Controls.java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
fnjava.lang.StringIndexOutOfBoundsException: Range [23, 18) out of bounds for length 27
        if r) CodeBuildera>java.lang.StringIndexOutOfBoundsException: Range [26, 27) out of bounds for length 26
            &elfparamssh java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
        }             java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
            java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 22
        }
     
}

#[derive(f32_scratch None
enumjava.lang.StringIndexOutOfBoundsException: Range [18, 16) out of bounds for length 18
    Block,
    If,
Loop,
    TryTable
}

enum Float {
    F32,
    F64,
    F32x4,
    F64x2
}

impl  {
    // example.
        let mut for (ty, init) in selfjava.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
        for i  i java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
                          :
                mutable_globals
                    )
                    Vec.g,init;
                    .push(i as u32);
            }
        }

          java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 39
        forjava.lang.StringIndexOutOfBoundsException: Range [78, 76) out of bounds for length 79
            tags.entry(tag_typeporting  ||
                
                .push(implcontin
        }

          java.lang.StringIndexOutOfBoundsException: Range [0, 25) out of bounds for length 0
        (,funcjava.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 79
            functions
                .entry(func.clone())
                .or_insert(Vec::new    java.lang.StringIndexOutOfBoundsException: Range [5, 6) out of bounds for length 5
                .push(idx);
        }

        let mut java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 0
        let mut table64_with_funcref
        let mut table32_tys
                muttable64_tys /java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
                 .java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 35
            let funcref_dst = }
                table64_tys.push(tablelet.java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 41
                &mut table64_with_funcref
            } else    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
                table32_tys.push(table.element_type);
                &mut java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 26
            };
    iftable.element_type results Vec<>,
                funcref_dst java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
            }
        }

        let mut referenced_functionsjava.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80
        for (_, expr) in module.defined_globals.iter() {
            if let}
                referenced_functions.insert(i);
            }
        }

        let mut table32_init = Vec::new();
        let mut java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 19
        for (i, g) in 
            height  len( -)
                Elements::        allocs.       }java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
   let =e.java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 73
                    i)java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
                }
                Elements::java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 11
                    referenced_functions.java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                java.lang.StringIndexOutOfBoundsException: Range [17, 18) out of bounds for length 17
            }
        selfoperands( java.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 46
                if module.java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 13
                    let java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                        &mut java.lang.StringIndexOutOfBoundsException: Range [0, 41) out of bounds for length 19
   .java.lang.StringIndexOutOfBoundsException: Range [21, 22) out of bounds for length 21
                        self.allocs
                    };
             .push(i asu32,as u32    
                }
            }
        }

        let mut memory32 = Vec
        let mut memory64 =     &ut     fn push_operand(&mut self
        s.operands(allocslen(;
            if mem.memory64 {
                memory64.java.lang.StringIndexOutOfBoundsException: Range [0, 29) out of bounds for length 0
            }    []
java.lang.StringIndexOutOfBoundsException: Range [39, 16) out of bounds for length 40
            }
        }

        let mut java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 19
        let mut table64 = Vec::new();
        let mut table_copy_32_to_32 java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        let mut     fn push_operand(&mut self, ty: (self,:<> {let =.java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 38
        let mut java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 0
        let mut .extend(controllabel_types().        let target = usize::try_from(target).u
        for (i, t) in module.java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 5
            if     /// Pop the .java.lang.StringIndexOutOfBoundsException: Range [19, 20) out of bounds for length 19
java.lang.StringIndexOutOfBoundsException: Range [28, 16) out of bounds for length 39
            } else {
                table32.push(fn  
            

fsjava.lang.StringIndexOutOfBoundsException: Range [30, 28) out of bounds for length 45
                selfjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
                    dst = match (t.table64, t2.table64) {
                        (falsefalse)             
                        
                        (truefalse) => &mut java.lang.StringIndexOutOfBoundsException: Range [0, 60) out of bounds for length 7
                        (truetrue) =>     
                    };[]
(i,j u32);
                }
            }
        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9

                mat o-at] {
        let mut self.types_on_stack(module.java.lang.StringIndexOutOfBoundsException: Range [57, 56) out of bounds for length 59
        let}
        let mut java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 0
        #inline

try touse
        // mutable globals for dropped values.
        if disallow_exporting {
            for (_, kind, index self
                &y
                    let ty = modulejava.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
                     ty java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
                        java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                            ValType::I32 => {
                                java.lang.StringIndexOutOfBoundsException: Range [54, 53) out of bounds for length 65
                                          global_dropped_i32
                                } else {
                                    global_dropped_f32 = Some(*index)
                                }
                            java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
                            ValType::I64 => #inline]
                               java.lang.StringIndexOutOfBoundsException: Range [62, 61) out of bounds for length 65
                                      
                                } else {
                                    global_dropped_f64 = Some
                                }
                            
                           :: > 
                            _ => {  java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 13
                        }
                   }
                }
            }
        }

        CodeBuilderAllocations///
            controls: Vec::with_capacity(4.((dx, ty|/java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
            operands
            fn ref_type_on_stack&) >inline]java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
            unctions,java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
            agsjava.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
            java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
            table32_with_funcref,
            table64_with_funcref,
            referenced_functions:         java.lang.StringIndexOutOfBoundsException: Range [9, 10) out of bounds for length 9
            table32_init,
            table64_init,
            table_copy_32_to_32,
            table_copy_32_to_64,
             field_type_on_stack_at(self&java.lang.StringIndexOutOfBoundsException: Range [53, 52) out of bounds for length 89
            table_copy_64_to_64,
            memory32,
            java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 0
            table32,
            table64,

            global_dropped_i32,
                /// * `Some(None)
            global_dropped_f32,
            global_dropped_f64,
            ,
            globals_cnt:         match self.operands
            new_globals: Vec::Some(ValType::Ref(r) >S/
            disallow_exporting,
        }
    }

    pubcrate)fn builder<a(
        &'a mut self,
        func_ty: &'a FuncType,
        ocals &' mut Vec<ValType>java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
        shared: bool,
    ) -> CodeBuilder<'a> {
        self.ValType
        self                nullable,
            kind: ControlKind::Block,
            params: vec![],
            results: func_ty.results.to_vec(),
            height: 0module:&aModule,
        });

        self.operands.clear();
        self.options.clear();

        &java.lang.StringIndexOutOfBoundsException: Range [43, 42) out of bounds for length 43
            shared,
            func_ty,
            locals,
            allocs: self
                ) -> Option<(bool,>Option(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 30
    /// When in unreachable code and the stack is polymorphic, returns `None`.match &.(tycomposite_type java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
                npop_ref_type&s) java.lang.StringIndexOutOfBoundsException: Range [50, 48) out of bounds for length 51
_= Nonejava.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
    }

    pub fn finish(self, u: java.lang.StringIndexOutOfBoundsException: Range [5, 6) out of bounds for length 5
        
        // injected into the module here. Each global is then exported, most of
        // the time (if additional exports are allowed), to ensure it's part of
is  differential 
        // example.
        ajava.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
            let global_idx = module.globals.len() as u32;)- Option(bool u32,&>' tructType)> {
           .lobals.push(lobalType java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
                 ty
                mutable: true,
                shared: false,
            });
            moduledefined_globals.ushny.

            if self.disallow_exporting || u.ratio(1,     /// When in unreachable code and the stack is polymorphic, returns `None`.
                java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
            }

            let name = unique_string(1_000, &mut module.java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 55
            HeapTypeidx)>&tyidx).java.lang.StringIndexOutOfBoundsException: Range [80, 79) out of bounds for length 87
java.lang.StringIndexOutOfBoundsException: Range [0, 8) out of bounds for length 0
O) java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 23
    }
}

java.lang.StringIndexOutOfBoundsException: Range [16, 4) out of bounds for length 9
    fnjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        letcontrol ...)ujava.lang.StringIndexOutOfBoundsException: Range [50, 46) out of bounds for length 46

         java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 38
        // declared types) and then push the declared types. This avoids us
        // accidentally generating code that relies on erased subtypes.
        for _ in &control    // Get the `(ref null? <index>)` type on the top of the stack that
            self.pop_operand();
        }
                            (&self, : M) -> java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 17
            self.        false
            :java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5

       
    }

    fn push_control(
        &mut self,
        kind: java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 18
        params: impl Into<            Box::new(|_| Ok::mpty},
 java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 22
    ) {
        let for (i ty inmodule.func_types() java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
        let results = results.into();

        fn on_empty_struct_ref_on_stack(
        // off the stack (which could be subtypes of the declared parameter
        java.lang.StringIndexOutOfBoundsException: Range [8, 17) out of bounds for length 9
        // erasure of any subtyping that exists so that we don't accidentally
        // generate code that relies on the specific subtypes. eapType:Concreteidx)java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
for
            self.)java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
        self.push_operands(¶ms);

        let    ) - Result<Vec<>_> ,
        self.allocs.controls.push(Control {
            kind,
            params,
            results,
            eight,
        );
    }

    /// Get the operands that are in-scope within the current control frame.arbitrary_block_type(}else java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
    #[inline]
    fn operands(&self)Box:;
        etheightjava.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 38
        &self.java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 10
    }

     stack regardlesso xpectedtype
    #[inline]
    fnpop_operand(mut                 .ypes_on_stackmodule &ty.arams){
        self.allocs.operands.pop().unwrap()
    }

    #[inline
&mut}
        debug_assert!(self.java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 9
                fujava.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
            .operands
            .len()java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    }

    [java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
    fn push_operands(&                java.lang.StringIndexOutOfBoundsException: Range [24, 26) out of bounds for length 24
        elf.allocs
            .operands
            // just terminate our wasm function's frames.
    }

    #[inline]
    fn  else{
        self.allocs.& ,
    }

    fn pop_label_types)?
                            break
        let
        debug_assert            
        selfjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
             canonicalizationthen erformthat            // canonicalization then perform that h u.java.lang.StringIndexOutOfBoundsException: Range [82, 81) out of bounds for length 96
            .truncate(self.allocs.                selfend_active_control_frames//is basedoff passfor
    }u,

    fn push_label_types(&mutjava.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 48
        let target = usizeInstruction;
        let control b;
        self.allocs
            .operands
            .extend(control.label_types().iter().copied().map(| match choose_instructionu module allowed_instructions ) java.lang.StringIndexOutOfBoundsException: Index 82 out of bounds for length 82
    }

    /// Pop the target label types, and then push them again.
    ///
    /// This is not a no-op due to subtyping: if we have a `T <: U` on the
    /// stack, and the target label's type is `[U]`, then this will erase the
    /// information about `T` and subsequent operations may only operate on `U`.
    fn |:
        self.pop_label_types32Add>self..canonicalize_nanFloat::F32,&,
        self.push_label_types(target)
    }

    fn selfnd_active_control_frames
        self.types_on_stack(module, to_check.label_types())
    }

    /// Is the given type on top of the stack?
    #[inline]
    fn type_on_stack(&self, module: & Instruction:                    ;
        self.type_on_stack_at(module, 0, tybreak
    }

    /// Is the given type on the stack at the given index (indexing from the top
    /// of the stack towards the bottom).
    #[inlinejava.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
    fn type_on_stack_at(&self, module &,at usize expected:ValTypeInstructionF32x4Ceil
        let operands = self.operands();
if >=// is based off' for  
            return false//|Instruction32
        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
        match if module.config                    I:
            None =>matchInstruction:
 :F32x4Sub
        }
    }

    /// Are the given types on top of the stack?
    #[inline]
    ,                   | Instruction:
        selfjava.lang.StringIndexOutOfBoundsException: Range [35, 33) out of bounds for length 45
            && types
                .iter()
                .rev(|Instruction::F32Min
                .enumerate()
                .all(|(idx                    Instruction:F32Mul
    }

    /// Are the given field types on top of the stack?Instruction |java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 43
    #[inline]
     &Module,t| Instruction:: >{
        self.operandsselfFloat:F64x2, java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 45
            && types
                .iter()
                .ev)
                .enumerate()
                .all(|(idx,         selflocals.extendself.Instruction:
    }

    /// Is the given field type on top of the stack?
    #[inline]
    fn field_type_on_stack(&self, module: &Module,     fn canonicalize_nan(&mut self, ty: Float, ins: &mut>self.(:, &mut instructions,
        self.type_on_stack(module, ty.element_type./java.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
    }

    /// Is the given field type on the stack at the given position (indexed from
    /// the top of the stack)?
    #[inline]
    fn field_type_on_stack_at(&self, module: &Module, at: usize, ty: java.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 43
        self.type_on_stack_at(            Float::F64 => (&mut self, ValType:F)
    }

    /// Get the ref type on the top of the operand stack, if any.;
    ///
    /// * `None` means no reftype on the stack.
    /// * `Some(None)` means that the stack is polymorphic.
    /// * `Some(Some(r))` means that `r` is the ref type on top of the stack.
    fn ref_type_on_stack(&self) -> Option<Option<RefType>> {
        matchjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
            Some:F64x2Ceil
            Some(_) => None,
            None =        ins| Instruction::64x2Nearest
        }
    }

    /// Is there a `(ref null? <index>)` on the stack at the given position? If
    /// so return its nullability and type index.
    fn concrete_ref_type_on_stack_at(&self, at:                    Instruction::F64x2Div
        selfjava.lang.StringIndexOutOfBoundsException: Range [8, 1) out of bounds for length 79
            ValType::Ref(RefType {
                nullable,
                heap_type: HeapType::Concrete(ty),
            }) => Some((nullable, ty)),
            _ => None,
        }
    }

    /// Is there a `(ref null? <index>)` at the given stack position that
    /// references a concrete array type?
    (
        &self,
        module: &Module,
        at: F64>Instruction:f64:from_bits(CANON_64BIT_NAN).into()),
    ) -> Option<( Float::java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 29
        let (nullable, ty | nan< java.lang.StringIndexOutOfBoundsException: Range [43, 42) out of bounds for length 72
        match &module.ty(ty).composite_type.inner {
            CompositeInnerType::Array(a) => Some((java.lang.StringIndexOutOfBoundsException: Range [0, 58) out of bounds for length 13
            _ > ,
        }
    }

    // local if canonicalization happens more than once in a function.
    /// references a concrete struct type?;
    fnjava.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 76
        self,
module:&a ,
        at: usize,
.  java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
        let (nullable, ty) = self.Float:F64 =>            Float::F64 => Instruction
        java.lang.StringIndexOutOfBoundsException: Range [28, 13) out of bounds for length 51
            CompositeInnerType::Struct(s) => Some((nullable, ty, s)),
             =>,
        }
    }

    /// Pop a reference type from the stack and return it.
    ///
    /// When in unreachable code and the stack is polymorphic, returns `None`.Save i' aocaljava.lang.StringIndexOutOfBoundsException: Range [69, 68) out of bounds for length 80
    fn pop_ref_type(&mut self) -> Option<java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 27
        let ref_ty = self.ref_type_on_stack().unwrap();
        self.pop_operand();
        ref_ty
   }

    /// Pops a `(ref null? <index>)` from the stack and return its nullability
    /// and type index.
    pop_concrete_ref_type(&  -        // the same representation.
        let ref_ty = self.pop_ref_type().unwrap();
        match ref_ty.heap_type {
            HeapType:i)=>(ef_ty., 
            _ => panic!("not a concrete ref type"),
        }
    }

    /// Get the `(ref null? <index>)` type on the top of the stack that
    /// references a function type, if any.
    fnjava.lang.StringIndexOutOfBoundsException: Range [0, 7) out of bounds for length 5
         selfoperands()
            ValType::Ref(java.lang.StringIndexOutOfBoundsException: Range [8, 26) out of bounds for length 18
                HeapType::Concrete(idx) => match &module.ty(idx).composite_type.inner {
                    CompositeInnerType::Func(_) => Some(r),
CompositeInnerType:Struct(instructions mut nstruction>,
                },
                _ => None,
letnan =| - Result<(>
            _ => None,
        }
    }

    // Is there a `(ref null? <index>)` on the top of the stack that referencesselfuarantee_label_results(module,instructions,;
    // a struct type with at least one field?
     java.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 93
        match self.java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 13
            Some(Some(ValType::Ref(RefType {
                nullable
                heap_type        / the condition of the `select`, which is the float's equality test
             =/java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
                 pushIjava.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 47
                    !..(local)java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
                java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
                _ => false,
            },
            _ => false,
        }
    }

    #[        
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        let mut options: Vec<Box<dyn Fn(&mut Unstructuredjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
            ox:new|_ Okit picks  al1`otherwise  zerothefloat
            / sinstructions.ushnstruction:n);
        ]
        if module.config.multi_value_enabled {
            ,y n java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 48
                if self.types_on_stack(module, &ty.params) {
                    options.push(Box::new(move |_| Ok(BlockType::FunctionType(ijava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
                java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
            }
        }
         f  s..java.lang.StringIndexOutOfBoundsException: Range [35, 33) out of bounds for length 35
        (u
    }

    pub(cratefn arbitrary(
        mut self,
        u: &mut ,
        module u mut Unstructured<_,
    ) -> Result<Vec<Instruction>> {
        fn java.lang.StringIndexOutOfBoundsException: Range [31, 32) out of bounds for length 31
        let allowed_instructions = if module.config.allow_floats {
            modulens: &mutVec<Instruction>>java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 44
        } else {
            odule..)
       ;
        self..java.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 48

        while !// theoperandstackfor theend of  java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
            keep_going operandsen( &s.module,&labelresults) {
            if !keep_going {
                
                    u,
                    module,
                    &mut instructions,
                    module.config.disallow_traps,
                )?;
                break;
            }

            match java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
                Some(f) => {
                    f(u, module, &mut self, &mut instructions)?;
                }
                            if label.kind == ControlKind::If && label.params != label.results {
                // underlying data, so we really cannot generate any morejava.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
                // instructions. In this case we swallow that error and instead
                // just terminate our wasm function's frames.
                None => {
                    .java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 27
                        u,
                        module,
                        &mut instructions,
                                    if let Some(actual) = operands.get(i) {
                   ?;
                    contin;
                }
            }

            // If the configuration for this module requests nan !selfallocs                    (u,*ty, nstructions)?;
            // canonicalization then perform that here based on whether or not
            // the previous instruction needs canonicalization. Note that this
            // is based off Cranelift's pass for nan canonicalization for which
            // instructions to canonicalize, but the general idea is most.(expectedu))java.lang.StringIndexOutOfBoundsException: Range [81, 82) out of bounds for length 81
            / floating-point operations.
            if module.config.self.allocs
                atch
                    Instruction::F32Ceilextend(.                .extend(label.results
                    | Instruction::F32Floor
                    | Instruction::F32Nearest
                    | Instruction::F32Sqrt
                    | Instruction::F32Trunc
                    | Instruction::/// Modifies the instruction stream        java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 44
                    | Instruction::F32Max
                    | Instruction::F32Min
                    ||I::
                    | Instruction::F32Sub
                     : java.lang.StringIndexOutOfBoundsException: Range [42, 5) out of bounds for length 5
                    Instruction::F64Ceil
                    | Instruction::F64Floor
                    | Instruction::F64Nearest
                    | Instruction::F64Sqrtisallow_trapsbooljava.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
                    |function  java.lang.StringIndexOutOfBoundsException: Range [51, 50) out of bounds for length 76
                    | Instruction::java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                    |    
                    | Instructionfnjava.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
                    | Instruction::F64Mul
                    | Instruction::F64Sub
                    | Instruction::java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                    Instruction::F32x4Ceil
                    | Instruction::F32x4Floor
                    | Instruction::F32x4Nearest
                    
                    | java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 27
                    | Ok)
                    | Instruction::java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 10
                    | Instruction::F32x4Min
                    | Instruction::F32x4Mul
                    | Instruction::
                    | Instruction::/drop extraneousresults tower (false
                        // to deal with.}
                    }
                    Instruction:F64x2Ceil
                    | Instruction        // doesn't match we throw out that and everything else remaining,
                    
                   java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 44
                     Instruction.)
                    | Instruction::F64x2Div
                    | Instruction::F64x2Max
                    | Instruction::F64x2Min
                    | ::F64x2Mul
                    | Instruction::F64x2Sub
                    | Instruction::F64x2Add => {
                        self.canonicalize_nan(Float            ValType::I64 => {
                    }
                     = }
                }
            }
}

        .ocals.i(&..)

        Ok(instructions)
    }

    fncanonicalize_nan(mut , ty:,;
        java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
        // figure out that local here. Note that this tries to use the same
        // local if canonicalization happens more than once in a function.
        let (local.push        ()
            Float:F32> &allocs.lobals_cntjava.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 53
            Float::F64 => (&mut self.f64_scratch, ValType::instructions.push(Instruction::I32ReinterpretF32
4 > & selfjava.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 18
        };
        let local = match *local {
            Some(i) => i as                  i:utjava.lang.StringIndexOutOfBoundsException: Range [43, 42) out of bounds for length 44
            None =>                         new_globals
        };

      (ut self.llocsjava.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 53
        // a value on the stack as `val1` for the `select` instruction.
        ins.push(Instruction::LocalTee(local));

        // The `val2` value input to the `select` below, our nan pattern.
        //
        // The nan patterns here are chosen to be a canonical representation
        ll always produce the same bits of
        // a nan so if the wasm takes a look at the nan inside it'll always see
        // the same representation.
        java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72
        const
            ;
        ins.push(match ty {
            Floatinstructionspush()java.lang.StringIndexOutOfBoundsException: Range [58, 59) out of bounds for length 58
            Float::F64 => Instruction::F64Const(f64::from_bits(java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 58
r ()
                let nan = CANON_32BIT_NAN as
                = nan | (nan < 32 ||(nan <  / the typef this operand isn  ample it 
                Instruction            let ret =val
            }
            Float::F64x2             Someret
                let}
                let nan = nan | (nan << 64);
                Instruction::V128Const(nan)
            }
        });

        // the condition of the `select`, which is the float's equality test
        with itself        java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
        ins.push(Instruction::java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 29
        java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 29
        ,
            Float    _:&       java.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78
            Float::F64 => Instruction::F64Eq,
            Float::F32x4 => Instruction::F32x4Eq,
                        ValTy: >java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
        });

        self
        // equal to itself) it picks `val1`, otherwise if zero (aka the float
        // is nan) it picks `val2`.
        ins.push(fnnop
            Float::F32}
            Float::F32x4 | Float::java.lang.StringIndexOutOfBoundsException: Range [0, 39) out of bounds for length 24
        );
    }

    fn Ok(())
        let val = self.locals.len() + self.func_ty.params.len() }
        self.extra_localsjava.lang.StringIndexOutOfBoundsException: Range [25, 23) out of bounds for length 45
        u32::try_from(val).unwrap()
    }

    fn end_active_control_frames(
        mutself,
        u: &mut Unstructured<'_>,
        module: &Module,
        instructions:mVecmsallocs.)
        disallow_traps: bool,
    ) -> Result<()> {
        hile!.Ok(()
            // Ensure that this label is valid by placing the right types onto
            // the operand stack for the end of the label.
            self.guarantee_label_results(u, module, instructions, disallow_traps)?;

            // Remove the label and clear the operand stack since the label has
java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 28
            let label = self.allocs.controls.pop(                        .new_globals
            allocsoperands.(label..height;

            // If this is an `if` that is not stack neutral, then itu:&U                   (mut.allocsglobals_cntjava.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
            // must have an `else`. Generate synthetic results here in the same
            // manner we did above..Instruction:IRjava.lang.StringIndexOutOfBoundsException: Range [66, 64) out of bounds for length 66
            if(,                (global,  block_tybuilder.arbitrary_block_type,module)?java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
                instructions.push(Instruction::Else);
                self.allocs.controls.push(label.clone());
java.lang.StringIndexOutOfBoundsException: Range [19, 16) out of bounds for length 27
                    .operands
)S)java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
                selfinc
                self.allocs.controls.pop();
                self.allocs.operands.truncate(label.    for (i,ctrl)i global :128java.lang.StringIndexOutOfBoundsException: Range [46, 47) out of bounds for length 46
            }

            / The last control frame for the function return does not
            // need an `end` instruction.
            if!.allocscontrols.is_empty( {
                instructions.push(Instruction::End);
            }

            // Place the results of the label onto the operand stack for use
            // after the label.
            self.allocs
                .operands
                .extend(label..resultsfn(l&ut- java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
    }

    /// Modifies the instruction stream to guarantee that the current control
    /// label's results are on the stack and ready for the control label to return.
     java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 31
        &mut self,
        u: &mut Unstructured unreachable(
        module: &Module,
        instructions: &mut Vec<        if builder.allocs.tags.contains_ke(label_types){
        disallow_traps: bool,
    ) -> Result<()> {
        let operands = self.operands();
        let label = self.allocs.controls.last().unwrap();

        // Already done, yay!
            instru.java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 48
            return Ok(());
        }

java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                // generate any types for a label, but it's not too interesting, so
        // don't favor it.
        if !disallow_traps && u.ratio(1, u16::MAX)? {
            instructions.push(Instruction::Unreachable);
            return Ok(());
        }

        // Arbitrarily massage the stack to get the expected results. First we
        // drop all extraneous results to we're only dealing with those we want all extraneous results to we're}
        // to deal with. Afterwards we start at the bottom of the stack and move
        // up, figuring out what matches and what doesn't. As soon as something
        // doesn't match we throw out that and everything else remaining,
        // filling in results with dummy values.
java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 41
        instructions:&mut Vec<java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 13
        let label_results =        let label_results = label
        while operands.len() > label_results.len() {
            java.lang.StringIndexOutOfBoundsException: Range [4, 1) out of bounds for length 33
            operands=operands[..) ;
        }
        (,e  label_resultsiter()enumerate({
            if let Some(actual) = operands.get(i) {
                Somejava.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 47
                    continue;
                
                for.[
                    self.drop_operand(u, *ty, instructions)?;
}
                operands = &[];
            }
            instructions.push(module.arbitrary_const_instruction(*expected, u)?);
        }
        Ok(())
    }

 java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 60
        &mut self,
        u: &mut Unstructured<'_()java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
        ty: Option<ValType>,
        instructions: java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    ) ->  module Modulebuilder: mut CodeBuilder)>bool java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
        if !self.java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 1
            .java.lang.StringIndexOutOfBoundsException: Range [25, 8) out of bounds for length 8
        }
        Ok(())
    }

    /// Attempts to drop the top operand on the stack by "mixing" it into a
    /// global.
    ///
 - (bel_types.) 
    /// everything is part of some computation somewhere. Otherwise, for
     as the stack
    /// won't happen to match the function type that we're generating.
    ///
    /// This will return `true` if the operand has been dropped, and `false` if
    /// it didn't for one reason or another.
    fnmix_operand_into_global
        &mut if  abel_types =[ValType)java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
        java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        ty else_validjava.lang.StringIndexOutOfBoundsException: Range [0, 20) out of bounds for length 0
        instructions: &mut last_control builder/java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 76
    ) -> Result/java.lang.StringIndexOutOfBoundsException: Range [73, 40) out of bounds for length 40
java.lang.StringIndexOutOfBoundsException: Range [22, 18) out of bounds for length 80
        // to unreachable code, then it can't be combined, so return `false`.
        let ty = match ty {
            Some(ty) => ty,
            None => return Ok(false),


        :ijava.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
       // without combining it.
        if u.ratio}
            return java.lang.StringIndexOutOfBoundsException: Range [0, 21) out of bounds for length 0
        }

         // see if there's a matching tag. 
        java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
        let (global, combine) = match ty {
            
*allocs..java.lang.StringIndexOutOfBoundsException: Range [81, 79) out of bounds for length 84
                    selfallocsnew_globals(yC:(0);
                    inc(&mut self.allocs.globals_cnt)
                });
Xor)
if uilder...( });
            ValType::I64 => {
                let global = *self.allocs.global_dropped_i64.get_or_insert_with(builderoperands(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                    allocsnew_globals.push(        
                    inc(&mut self.allocs.globals_cnt)
java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 19
                e(
            }
            ValType::F32 => {
                letletp,results      &dulejava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
                    self.allocs
                        
                        .push((java.lang.StringIndexOutOfBoundsException: Range [31, 1) out of bounds for length 1
                    inc(&mut self.allocs.globals_cnt)java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
                });
                push utjava.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 30
                (global, Instruction::I32Xor
            }
            Type:F64= java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 17
                 =*elf.llocs.java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 1
                    self.allocs
                         u: & .push_control: arams,results);
                        .push((ValType::I64, ConstExpr::i64_const(0)(java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
                    inc(&mut[java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 9
                });
                push(
                (global, Instruction::I64Xor)
            }
           :java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 30
                letjava.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 40
                    self.allocs.new_globals.push((ty, ConstExpr::v128_const(0.(&alType:;
                    java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 15
                });
                (global, Instruction::V128Xor)
            }

            // Don't know how to combine reference types at this time, so just
            // let it get dropped.
            java.lang.StringIndexOutOfBoundsException: Range [46, 19) out of bounds for length 48
inline
        instructions.push(Instruction::GlobalGet(global));
        instructions.push(combine);
        instructions.pushjava.lang.StringIndexOutOfBoundsException: Range [25, 26) out of bounds for length 10

        return Ok(true);

        fn. builder.types_on_stack,lresults
            let ret =java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
            *val += 1;
            java.lang.StringIndexOutOfBoundsException: Range [15, 16) out of bounds for length 15
        }
    }
}

#[inline]
fn unreachable_valid(module: &Module, :&java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    !moduleijava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
}

fn unreachable(
    _: &mut Unstructured java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
    _:.
    _: &mut CodeBuilder,
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
)- (>{
    instructions.& types_on_stackmodule, control t )=builder
    Ok(()ajava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
}

fn nop(
    _: &mut Unstructured,
    _: &Module,
   _ m CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> _: &mutUnstructured
    instructions.push    :&Module,
    Ok(())
java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 1

fn block(
     & java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
    module: &Module,
     mut java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    letjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    et(params =b(module, builder;
builder.allocsoperandspush(ty;
    instructions.push(Instruction:is_valid
    Ok(())
}

#[]
fn try_table_valid(module: &Module, _: &mut CodeBuilder) -> java.lang.StringIndexOutOfBoundsException: Range [4, 1) out of bounds for length 20
    module.config.exceptions_enabled
}

fn try_table(
mut Unstructured
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -        .allocs
    let block_ty = builder.arbitrary_block_type(ucontrols

    let mut catch_options        filter(l|builder.java.lang.StringIndexOutOfBoundsException: Range [49, 48) out of bounds for length 60
        Box<dyn Fn(&mut Unstructured<'_>, &mutdebug_assert    debug_assert!n>  ;
    > = Vec::new();

 i ,
 =i s java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25

        let label_types = ctrl.label_types.)

        // Empty labels are candidates for a `catch_all` since nothing is
        // pushed in that case.
        if label_types.is_empty() {
            catch_options.push(Box::new(move |_, _| Ok(Catch::All { label: i })));
        }

java.lang.StringIndexOutOfBoundsException: Range [10, 8) out of bounds for length 77
        // which first pushes nothing since there's no tag and then pushes
        // the caught exception value.
        if label_types == [ValType::java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
            catch_options.push(Box::new(java.lang.StringIndexOutOfBoundsException: Range [0, 44) out of bounds for length 15
        }

        // If there is a tag which exactly matches the types of the label we're
        // looking at then that tag can be used as part of a `catch` branch.
        , are pushed
        // for the label.
        if builder.allocs.tags.contains_key(label_types) {
            let label_types = let ty = builder.allocs.operands.popty  uilderallocs
            lettys =control..lis_validbuilder
       Ok(:One,&tysjava.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
                    tag: *u.java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 17
                    label: i,
                })
            }));
        }

        // And finally the last type of catch label, `catch_ref`. If the label
        // ends with `exnref`, then use everything except the last `exnref` to
        // see if there's a matching tag. If so then `catch_ref` can be used
        // with that tag when branching to this label.
        if let Some((&ValType::EXNREF, rest     & java.lang.StringIndexOutOfBoundsException: Range [30, 31) out of bounds for length 30
            if builder.allocs.tags.contains_key(rest) {
                let rest = rest.to_vec();
                catch_options.push(Box::new(move |u, builder| {
                    Ok(Catch::OneRef {
                        tag:*uchoose(&        allocs
                        label: i,
                    })
                ;
            }
       
    }

    let mut catches = Vec  0java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
    if catch_options.len() > 0 {
        for _ java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
            catches.push(u.choose(&catch_options)?(u, builder)?);
        }
    }

    (
    builder.push_control(ControlKind::TryTablekeys()

    instructions(func_ty|builder( func_ty.)
    Ok((.th()
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

 r#loop(
    u: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()) -> Result<(> java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
    let block_ty builder.arbitrary_block_type(, module)?;
    let (params, results) = module.params_results(&block_ty);
    builder.push_control(ControlKind::Loop, params, results);
    instructionspush(:       filter(| )|builder.(module &.arams)java.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
java.lang.StringIndexOutOfBoundsException: Range [4, 1) out of bounds for length 5
}

#[nline]
fnassert!candidates.len()> );
    let i  u.int_in_range(0.candidates.len
}

fn rfn java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 45
    u: &mut Unstructured,
    module: &odule,
t CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<(Ok(())
    [java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    java.lang.StringIndexOutOfBoundsException: Range [16, 7) out of bounds for length 60
    let (params, results) = module.params_results(&block_ty);
    builder.push_control(ControlKind::If, params, results);
    instructions.push(Instruction::If(block_ty));
    Ok(())
}

#inline
fn else_valid(module: &Module, builder: &mut
    let last_controlNone >java.lang.StringIndexOutOfBoundsException: Range [0, 22) out of bounds for length 17
java.lang.StringIndexOutOfBoundsException: Range [6, 4) out of bounds for length 57
        && builder.operands().len() == last_control.results.len()
        && builder.types_on_stack(module, &last_control.results)
}

fn r#else(
    _: &mut Unstructured,
    module: &odule,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
)-> <)>{
    letcontrol =builder.pop_controll   uilder.( params;
    java.lang.StringIndexOutOfBoundsException: Range [12, 8) out of bounds for length 45
    builder.push_operands(&control.params);
}
    instructions.push(Instruction::Else);
    Ok(())
}

#[inline]
fn  
    _ mutjava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
    // does not have an associated `end`.
    if builder.allocs.controls.i     instructions: &mut)
        return false;
    }
    let control = builder.allocs.controls.last().unwrap();
    builder.operands().len() == control.results.len()
        && builder.types_on_stack(module, &control.results)
        // `if`s that don't leave the stack as they found it must have an
        // `else`.
         == ControlKind:If& control.java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 39
}

end(
    _: &mut Unstructured,
    _: &Module,
    builder: &mut builderpush_operands(func_tyresults);
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_control(
    instructions.push(Instruction::End);
    Ok(())
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

#[ module & builder mutCodeBuilder -bool{
fn br_valid(module: &java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 0
    builder
        .
        : Module
        .iter()
        .any(|l| builder.label_types_on_stack(module, l))
}

fn br(java.lang.StringIndexOutOfBoundsException: Range [4, 2) out of bounds for length 20
    u: &mut Unstructured results  controls[]resultsclonejava.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 30
    is_return_call bool
    builder: &mut java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 11
    utVecInstruction>
) ->Result<) java.lang.StringIndexOutOfBoundsException: Range [17, 18) out of bounds for length 17
    let n = builder
        .allocs
        .controls
        .iter()
#[nline]
        .count();
    debug_assert! call_valid(module:&Module, uilderreturnfalse;
    let i = u.int_in_range(0}
    let (target,    uilder
        .allocs
        .controls
        .iter()
        .rev()
        .enumerate()
        .filter(|(_, l)|         .keys  allocsten> java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 57
        .nth(i)
        .unwrap();
    letjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    builder.pop_label_types(module, target);
    instructions.push(Instruction::Br(target));
    Ok((.java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 0
}

#[inline]
fn.operands.u &java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
    if !builder.type_on_stack(module, ValType::I32) {
        return false;
}
    let ty = builder.allocs.operands.pop().unwrap();
    let is_valid = builder
        .allocs
        .controls
        .iter()
        .any(|l| builder.label_types_on_stack(module, l));
    builder.| )java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    is_valid
}

fnbr_ifjava.lang.StringIndexOutOfBoundsException: Range [9, 10) out of bounds for length 9
    u: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
builder.java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 45
) builder.push_operands&.esults;
    builder.pop_operands(module, &[ValType::I32]);

    let n = builder
        .allocs

        .iter()
        .filter(|l| builder.label_types_on_stack(module((java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
        .count();
    debug_assert!(n > 0);
    let i = u.int_in_range(0..=n - 1)?;
    let (target, _) = builder
        .allocs
        .controls
        .iter()
        .rev()
        .enumerate()
       (,l)|builderlabel_types_on_stack(,l)
        .nth( builderallocs
        .unwrap();
    let target = u32::try_from(target).unwrap();
    builder.    if module.configif     if moduleallocs.table64_with_funcref
    };
    Ok(()))
}

#[inline]
(module:&Module, builder:nline]
    if !builder.type_on_stack(module, ValType::I32) {
        eturn false;
    }
    let ty = builder.allocs.operands.pop().unwrap();
    letlet tyfig.tail_call_enabled java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
    builder.allocs.operands.push(ty);
    is_valid
}

java.lang.StringIndexOutOfBoundsException: Range [38, 12) out of bounds for length 12
    u: &mut java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 20
    builder: &mut     builder: &mut CodeBuilder
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::I32]);

    let n = builder
        .allocs
        .controls
        .iter(()
        .filter(|l| builder.label_types_on_stack(module, l))
        .count();
    debug_assert!(n > 0);

    let i = u.int_in_range(0..=n - 1)?;
    let (default_target, _) = builder
        .allocs
        .controls
        .iter    let CompositeInnerType::Func(f) >fjava.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
        .rev()
               .enumerate
        .filter(|(_, l)| builder.label_types_on_stackpop_operands(,&p)java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
        .nthi)
        .;
    let control = &builder.allocs.controls[builder.allocs.controls.len() - 1 - default_target];

    let targets = builder
        .allocs
        .java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 1
        .iter()
        .rev()
        .enumerate()
        .filter(|(_, l)call_indirect_valid_impl(module builder,f)
        .map(|(t, _)| t as u32)
        .collect();

    let tys = control.label_types().to_vec();
     java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 66

    instructions.push(Instruction::BrTable(targets, default_target as u32));
    Ok(())
}

#[inline]
fn return_valid(module:         / We have no way to reflect,at runtime, HConcrete()= ,
    builder.label_types_on_stack(module, &builder.allocs.controls > unreachable!,
}

fn r#        / ``. hereforewecan       CompositeInnerType:Func()>,
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
            return false;
) -> Result<()> {
    let results = builder.allocs.controlsletcan_call32 = builder.type_on_stack(module    letty = builder.allocs.operands.pop().unwrap();
    builder.pop_operands(module, &results);
    instructions.push(Instruction::Return);
     && unc_ty.results=func_ty.results;
}

#[inline]
fn call_valid(module: &Module, builder: &mut CodeBuilder) -> bool {
    builder
        .allocs
        .functions
        
        .any(|func_ty| builder.types_on_stack(module, &func_ty.params))
}

fn call(
    u: &mut Unstructured,let module-(>{
    &java.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 47
    :mjava.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 30
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    let candidates = builder
        .allocs
        .functions
        .iter()
        .filter(|C:F()=    u:Unstructuredjava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
        .flat_map(|(_, v)| v.iter().copied())
        .instructions.Instruction:R())
    assert!(candidates.len() > 0);
    letjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    let (func_idx, ty) = module.funcs().nth(candidates[i] fnjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
p_module typarams;
    builder.push_operands(&ty.results);
pushInstruction:allfunc_idx)java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
    Ok(())
}

#[inline]
fn call_ref_valid(module: &Module, builder: &mut CodeBuilder) -> bool fn return_call_indirect(
    if !module.config.gc_enabled {
        return false;
    }
    let funcref = match builder.concrete_funcref_on_stack(module) {
        Some(f) => f,
        None => return false,
    };
    if java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 7
         false;
    }
    match funcref.heap_type {
        java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
            let ty =         .filter(|(_, ty)| {
            let params = &module.ty(idx).unwrap_func().params;
            let valid  .( params;
            builder.allocs.operands.push(ty);
            valid
        })
        _ => unreachable!(),
    }
}

 (
    _u: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder{
    : & VecInstruction>,
) -> Result<()> {
    let heap_ty = match builder.pop_operand() {
        Some(ValType::Ref(r)) => r.heap_type
        _ => unreachable!(),
   ;
l    {
        HeapTypeidx java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 41
        _ => unreachable!(),
    };
    let func_ty = match &module.ty(idx).composite_type.inner {
        CompositeInnerTypebuilderallocs.keys().java.lang.StringIndexOutOfBoundsException: Range [0, 39) out of bounds for length 1
        _ => unreachable throw
    };
    builder.pop_operands(module, &func_ty.params);
    builder.java.lang.StringIndexOutOfBoundsException: Range [4, 1) out of bounds for length 20
    instructions.push(Instruction::CallRef(idx));
    Ok(())
}

#inline]
fn call_indirect_valid(module: &Module, builder.ter)
    call_indirect_valid_impl(module, builder, false)
}

fn call_indirect_valid_impl(
    module: &Module,
    builder: &mut CodeBuilder,
    is_return_call: bool,
) -> bool {
    ifmodule..disallow_traps{
        // We have no way to reflect, at run time, on a `funcref` in.types_on_stack(module, &func_ty.params[] )(;
        // the `i`th slot in a table and dynamically avoid trapping
        // `call_indirect`s. Therefore, we can't emit *any*
        // `call_indirect` instructions if we want to avoid traps.
        returnjava.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 51
    }
    let can_call32 = builder#[
 (:& :&mutCodeBuilder =.int_in_range..a.len- 1)java.lang.StringIndexOutOfBoundsException: Range [54, 55) out of bounds for length 54
    let    let 
        && builder.allocs.table64_with_funcref.len() > 0;
    if !can_call32 && !can_call64 {
        return false;
    }
    let ty = builder.allocs#inline]
    let is_valid = module.func_types().any(|(_, ty)| {
        ush(:ThrowRef)java.lang.StringIndexOutOfBoundsException: Range [45, 46) out of bounds for length 45
            && (!is_return_call || builder.allocs.controls[0].label_types() == &ty.results)
    });
    builder.allocs.operands.push(ty);
    is_valid
}

java.lang.StringIndexOutOfBoundsException: Range [17, 18) out of bounds for length 17
   :&mutUnstructuredjava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<    let idx = match ref_ty.heap_type {
) -> Result<()> {
    let table = select_call_indirect_table(u, module, builder)?;

    let choices = module
        .func_types()
        .filter(|(letjava.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 6
        .collect::<Vec<_let  b.allocsoperands.(ty);;
    let (type_idx, ty) = u.choose(&choices)?;
    builder.pop_operands(module, &ty.params);
    builder.push_operands(&ty.results);
    instructions.push(Instruction::CallIndirect {
        : &..operands.(.)java.lang.StringIndexOutOfBoundsException: Range [52, 53) out of bounds for length 52
        table_index: table,
    });
    Ok(())
}

fn(
    {
    module: &Module,
    builder: &mut CodeBuilder,
) -> Result<u32> {
       let   .type_on_stackmodule, java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 19
        .module,java.lang.StringIndexOutOfBoundsException: Range [37, 12) out of bounds for length 20
        &builder.allocs.table32_with_funcrefmodule:&                               bstractHeapType:;
    } else {
uilder.pop_operandsm&ValType::])java.lang.StringIndexOutOfBoundsException: Range [54, 55) out of bounds for length 54
        builder.allocs.
    };
    Ok(*u.choose(tables)?)
}

#[inline]
fnSome(ValType::efr) = rheap_typejava.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
    if!module.configtail_call_enabled {
        return
    }

    builder.allocs.functions.keys().any(|func_ty| {
        builder.types_on_stack(module, &func_ty.params)
            && builder.allocs.controls[0].label_types() == &java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 15
    })
}

fn return_call(
    u: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut     (
) -
    letiter(
        .        ructions.push(Instruction:ReturnCallRef(idx));
        .functions
        .iter()
        .filter(|(func_ty, _)| {
            builder.types_on_stackmodule func_typarams)
                && builder.allocs.controls[0].label_types() == &func_ty.results
        })
        .flat_map(|(_, java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 9
        .collectfn eturn_call_indirect_valid&odulelet =u32try_fromtarget)unwrap();
    assert!(candidates.len() > 0);
    let i = u.int_in_range(0..=candidates.len() - 1)?;
    let(unc_idx,ty) =bpush_operands(ValType:Ref{
    builder.nullable: false
    builder.push_operands(&ty.results);
    instructions.push(Instruction::ReturnCallreturnfalse;
    Ok(())
}

#[java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
return_call_ref_validodule:Modulebuilder:mutCodeBuilder) -> ool {
    if !module.config.gc_enabled {
        return false;
    }

    let ref_ty = match builder.concrete_funcref_on_stack(module) {
        None => return java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 0
        Some(r) if r.fn java.lang.StringIndexOutOfBoundsException: Range [35, 36) out of bounds for length 35
        Some(r) => r,
    };

    let idx = match ref_ty.instructions:mVec<Instruction>java.lang.StringIndexOutOfBoundsException: Range [40, 41) out of bounds for length 40
        HeapType::Concrete(idx) => idx,
    letref_ty =match label_types(.last( java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
    };
    let func_ty = match &module.ty(idx).composite_type.inner {
        CompositeInnerType::Func(f) => f,
}
    };

    let ty = builder.allocs.            builder.types_on_stackmodule,&y.java.lang.StringIndexOutOfBoundsException: Range [0, 53) out of bounds for length 16
    java.lang.StringIndexOutOfBoundsException: Range [46, 45) out of bounds for length 63
        && builder.func_ty.results == func_ty.results;
    builder.allocs.operands.push(ty);
    valid
    let  (ype_idx,  ty) =u.choose(&choices)?;

fn return_call_ref(
    _u: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
-R(>{
    let heap_ty = match builder.pop_operand() {
        Some(ValType::Ref(r)) => r.heap_type,
        _ => unreachable!(),
    };
    let idx = match heap_ty {
        HeapType:java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        _ => unreachable!(),
    };
    let func_ty = match &module.ty(idx).composite_type.inner {
        CompositeInnerType::Func(f) => f,
        _ => unreachable!(),
    };
    builder.pop_operands(module, &func_ty.params);
    builder.push_operands(&func_ty.results);
    instructions.push(Instruction::ReturnCallRef(idx));
    Ok(())
}

#[inline]
fn return_call_indirect_valid(java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 30
    if !module.config.tail_call_enabled {
        return 
    }
    call_indirect_valid_impl(,, )
}

fn return_call_indirect
    u:.((k _| buildertypes_on_stack( klet i = u.int_in_range(0..=n - 1)?;
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    let table =    assert!(candidates.len() > 0);

    let choices = java.lang.StringIndexOutOfBoundsException: Range [8, 1) out of bounds for length 20
        .func_types()
        .filter(|_ ty)| {
            builder.types_on_stack(module, &ty.params)
                && builder.allocs.controls[0].label_types() == &ty.results
        )
        .collect::<Vec<_>>();
     type_idx,ty =uchoose(choices);
    builder.pop_operands(module, &ty.params);
    builder.push_operands(&ty.results);
    java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 1
    *ype_idx },
        table_index: table,
    });
    Ok(())
}

#[inline]
fn throw_valid(module: &Module, builder: &mut CodeBuilder) -> bool {
    module.config.exceptions_enabled
        && builder
            module: Modulejava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 11
            .tags
            .keys()
            any(k|types_on_stack(,k)
}

 (
    u: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    let candidates = builder
        .allocs
        .tags
        .iter()
        .filter(|(k, _)| builder.types_on_stack(module, k))
        .flat_map(|(_, v)| v.iter().copied())
        .collect::<Vec<_>>();
a!candidates.len    if ref_type_on_stack(()java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
    let i = u.int_in_range(0..=candidates.len() - 1)?;
    let (tag_idx, tag_type) = module.tags().nth(candidates[i] as usize).unwrap();
    // Tags have no results, throwing cannot return
    !tag_typefunc_type.resultsl() =let valid  br_valid(, java.lang.StringIndexOutOfBoundsException: Range [42, 40) out of bounds for length 42
    builder.pop_operands(module, &tag_type.func_type.params);
    instructions.push(java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    Ok(())
Somer = ,

#[inline]
fn throw_ref_valid(module: &Module, builder: &mut CodeBuilder) -> bool {
    module.config.exceptions_enabled && java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 30
}

fn throw_ref(
    _u:   match builderpop_ref_type(           ||is_valid_br_on_cast_control(, l java.lang.StringIndexOutOfBoundsException: Index 82 out of bounds for length 82
    module: &Module,
    builder the [type difference] between  None=> java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
    instructions: &mut Vec<Instruction>,
                Concreteu.java.lang.StringIndexOutOfBoundsException: Range [51, 49) out of bounds for length 99
    builder.module,&ValType:EXNREF]);
    instructions.push(Instruction::ThrowRef);
    Ok(()
}

#[inline]
fn br_on_null_valid(module: &Module, builder: &letM,
    if {
        return false;
    }
    if builder.ref_type_on_stacklet from_ref_type =.ref_type_on_stack(.);
        return false;
    }
    et ty = java.lang.StringIndexOutOfBoundsException: Range [0, 20) out of bounds for length 19
    let valid = r_validmodule builder);
    builder.allocs.operands.push.iter(java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
    valid
}

fn br_on_null(
    u: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: mutV.
) -> Result<()> {
    let heap_type = match builderjava.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
        .rev)
        None => {
            if !module.types.is_empty() &&         .filter(|(_, l)| builder.label_types(|_,l| builder.label_types_on_stack(module, l))
                HeapType::(u.int_in_range(.=u32:try_from(module.types.len()).unwrap())?)
            } else {
    lettarget  :try_from(ljava.lang.StringIndexOutOfBoundsException: Range [26, 23) out of bounds for length 54
&java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
Extern Any,None NoExtern oFunc Eq,;
                ])?;
                t  moduleut?java.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74
                HeapType::Abstract { shared, ty }
            }
        }
    };

    letn  builder
        .allocs
        .controls
        .iter()
        .filter(|builder.pop_operand
        .count();
    debug_assert!nis_valid_br_on_non_null_control

    let    module: &    builder.push_label_types(relative_depth);
    let (target, _) = builder
        .java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 0
        .controls
        .iter()
        .rev()
        .numerate)
        .filter(|(_, l)| builder.label_types_on_stack(module, l))
        .nth(i)
        .unwrap();
    let target = u32::try_from        to_ref_type,

    builder.pop_push_label_types(module, target);
    builder.push_operands(&[ValType::Ref(RefType {
        ullable: ,
        heap_type,
    })]);

    instructions.push(Instruction::BrOnNull(target));
    Ok(())
}Ok()java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10

fn is_valid_br_on_non_null_control(
    module: &Module,
    control: Control,
    builder: &CodeBuilder,
) -> bool.rev()
    let ref_ty = match control.label_types().last() {
        Some(ValType::Ref(r)) =>           .enumerate()
        Some(_) | None =>         .label_types()
    };
    let nullable_ref_ty = RefType {
        nullable: true,
        ..ref_ty
    };
    builder.type_on_stack(module, ValType::Ref(nullable_ref_ty))
        && control
            .label_types()
            .iter()
            .rev()
            .enumerate()
            .skip(1)
            .all(|}
}

#[inline]
fn br_on_non_null_valid(module: &Module, builder: &mut CodeBuilder) -> booljava.lang.StringIndexOutOfBoundsException: Range [0, 76) out of bounds for length 20
    module.config.gc_enabled
        && builder
            .allocs CodeBuilder,
            .controls
            .iterfn (module: ction>,
    java.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 57
}

fn (
    u: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    count)
) -> Result<()> {
    let n = builder
        .allocs
        .controls
.(
        .filter(|l| is_valid_br_on_non_null_control(module, l, builder        .controls
        .count();
    debug_assert!(n > 0);

    let i = u.int_in_range(0..=         :&,
    java.lang.StringIndexOutOfBoundsException: Range [4, 1) out of bounds for length 40
         from_ref_type.)nwrapjava.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
        .controls
        .iter(s
        r(java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
        .enumerate()
        filter(    java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 27
        .thi)
        .unwrap();
    lettarget =u32::try_from(target).unwrap(;

    .pop_push_label_types(module, target;
    builder.pop_ref_type()java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
    instructions.push(java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 15
    Ok(())
}

fn- java.lang.StringIndexOutOfBoundsException: Range [8, 6) out of bounds for length 20
    module: &Module,
    builder: &CodeBuilder,
control Control,
    from_ref_ty: java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 15
) -> bool {
s sub java.lang.StringIndexOutOfBoundsException: Range [36, 26) out of bounds for length 26
    let to_ref_ty = match java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 23
        Some(ValType::Ref(r)) => *r,
        _ => return false,
    };
     let Some( = java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
        if !module.ref_type_is_sub_typejava.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
    .
        }
    }
/ . andthe ofthe label types are        )
    control
.|idxty| ilder.push_operand(Some(ValType::Ref)
java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 49
        .rev_       from_ref_type,
        enumerate()
        .skip(1)
        .all(|(idx, ty)| builder.type_on_stack_at(module, idx, *ty))
}

#[inline]
fn br_on_cast_valid(module: &Module, builder: &mut CodeBuilder) -> bool {
    let from_ref_ty = match builder.ref_type_on_stack() {
        None => return false,
        Some(r)= r,
    };
mconfiggc_enabled
        && builder
            .allocs
java.lang.StringIndexOutOfBoundsException: Range [48, 21) out of bounds for length 21
            .iter()
            .any(|l| java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 25
}

/// Compute the [type difference] between the two given ref types.
///
/// [type difference]: https://webassembly.github.io/gc/core/valid/conventions.html#aux-reftypediff
fn ref_type_difference(a: RefType, b: RefType) -> RefType {
    RefType {
        nullable: if b.nullable { false } else { a.nullable },
        heap_type: a.heap_type,
    }
}

fn br_on_cast(
    u: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
 java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 17
    let from_ref_type = builder.ref_type_on_stack().unwrap();

    let n = builder
        .allocs
        .controls
        .iter        .iteri &mutVecInstruction>java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
        flter(| is_valid_br_on_cast_control(module, builder, l, from_ref_type))
        .count();
    debug_assert!(n > 0);

    let i = u.int_in_range(0..=    debug_assert!n > 0)
    let (relative_depth, control) = builder
        .allocs
        .controls
        .iter()
        .rev()
        .enumerate()
.filter(|(_ l)|is_valid_br_on_cast_control(filter(|(_, l)| is_valid_br_on_cast_control(module, ,from_ref_type)java.lang.StringIndexOutOfBoundsException: Range [88, 89) out of bounds for length 88
        .nth(i)
        .unwrap();
    let relative_depth = u32::try_from(relative_depth).unwrap();

    let num_label_types = control.label_types().len();
    let to_ref_type = match control.label_types().last() {
        Some(ValType::Ref(r)) => *r,
        _ => unreachable!(),
    };

u, to_ref_type);
    let from_ref_type = from_ref_type.unwrap_or(to_ref_type);
let  u

    // Do `pop_push_label_types` but without its debug assert that the types are
    // on the stack, since we know that we have a `from_ref_type` but the label
    // requires a `to_ref_type`.
     _in0. {
        builder.pop_operand();
    }
    builder.push_label_types(relative_depth);

    // Replace the label's `to_ref_type` with the type difference.
    builder.pop_operand();
    builder.([ValType:Refjava.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 30
        from_ref_type,
        to_ref_type,
    ))]);

    instructions.push(Instruction::BrOnCast {
        from_ref_type,
        to_ref_type,
        relative_depth,
    });
    Ok(())
}

fn))) )java.lang.StringIndexOutOfBoundsException: Range [8, 9) out of bounds for length 8
    module: &Module,
    builder: &CodeBuilder,
    control: &Control,
    from_ref_type: Option<RefType>,
) -> bool {
    control
        .label_types()
        .last()
        .ap_or(false, label_ty match ( java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 20
            (ValType::Ref.unc_ty
                module.ref_type_is_sub_type(from_ty, *label_ty)
            }
:(,= ,
            _ => false,
        })
        && control
            .label_types()
            .iter()
            .rev()
java.lang.StringIndexOutOfBoundsException: Range [20, 12) out of bounds for length 24
  .kip)
            builder mut ,
}

#[inline]
fn br_on_cast_fail_valid(module: &Module, builder: &mut CodeBuilder) -> bool {
    let from_ref_ty = match builder.ref_type_on_stack() {
        None => return false,
        Some(r) => r,
    };
    module.config.gc_enabled
        && builder
            .allocs
.java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 24
            .iter()
            (l|i(module,.|(idxt type_on_stack_at(idx, ))java.lang.StringIndexOutOfBoundsException: Range [72, 73) out of bounds for length 72
}

fn br_on_cast_fail_valid(module: &Module, builder: &mut CodeBuilder) -> bool {
    u: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions:    }
){
    let from_ref_type = builder.ref_type_on_stack().unwrap();

    let n = builder
        .allocs
        .controls

        .filter(|l| is_valid_br_on_cast_fail_control
        .count();
    debug_assert!(n > 0);

    imodule:&,
    let (relative_depth, control) = builder
        .allocs
        .> Result<
        .iter()
        .rev()
        .enumerate()
        .filter(|(_, l)|     let from_ref_type = builder.ref_type_on_stack from_ref_type = builder.ref_type_on_stack().unwrap();
        .nth(i)
        .unwrap();
    let relative_depth = u32::try_from(relative_depth).unwrap();

    let from_ref_type =
        from_ref_type.unwrap_or_else(|| match control.label_types().last().unwrap() {
            ValType::Ref(r) => *r,
            _ => unreachable=n ?java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
        });
    let to_ref_type = module.arbitrary_matching_ref_type(u, from_ref_type)?;

    java.lang.StringIndexOutOfBoundsException: Range [1, 1) out of bounds for length 0
    / our `to_ref_type`.
    builder.pop_push_label_types(module, relative_depth.(java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
    builder.pop_operand();
    builder.push_operand(Some(ValType::Ref(to_ref_type)));

    instructions.push(java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 14
        from_ref_type,
        to_ref_type,
        relative_depth,
    });
()
}

#[inline[funwrap_or_else(|control.label_types)last(nwrap({
fn drop_valid(_ global_get_valid(module: Module,_:&mut odeBuilder) -> bool {
    !builder.operands().is_empty()
}

fn drop(
    u: &mut Unstructured,
    _module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    let ty = builder.pop_operand();
    builder.drop_operand(u, ty, instructions)?;
    Ok(())
}

#[inline]
fn builder.pop_push_label_types(odule relative_depth);
    if !(builder.operands().len() >= 3 && builder.type_on_stack(module, ValType::I32)) {
        return false;
    }
    let t = builder.operands()[builder.operands().len() - 2];
    let u = builder.operands()[builder.operands().from_ref_type,
    t.is_none() || u.is_none() || t == u
}

java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 10
    : &Unstructured,
    _module: &Module,
    builder: &mut
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operand(;
    let t = builder.pop_operand();
    let u = builder.pop_operand();
    let ty = t.or(u);
    builder.allocs.operands.push(ty);
    match ty {
        Some(ty @ ValType: m <>    tyb(
        Some(ValType::I32) |  .
        | Some(ValType::V128) | None
    }#inline
(
java.lang.StringIndexOutOfBoundsException: Range [1, 2) out of bounds for length 1

#[inline]
 local_get_valid(module:Module :&ut CodeBuilderfn:Module &CodeBuilder)  java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
!builder.unc_typarams.s_empty( |!..(java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
}

fn local_get(
    u: &mut Unstructured,
    _module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
        let  builderpop_operand)
    let n = let u = builder.pop_operand();
  .ujava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
    let i = u.int_in_range(0..=n - 1)?;
    builder.allocs.operands.push(Some(if i < num_params {
        builder.func_ty.params[i]
    } else {
        builder.locals[i - num_params]
    }));
    Instruction:ias)java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
Ok()
}

#[inline]
fn local_set_valid(module: &Module, builder: &mut CodeBuilder) -> java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 0
    builder
        module.{
        .params
        .iter()
        .chain(builderjava.lang.StringIndexOutOfBoundsException: Range [0, 1) out of bounds for length 0
        .any(|ty| }
}

java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
    u: m ,
    module: &Module,
    builder: &mut CodeBuilder,
    debug_assertn  )java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
) -> Result<()> {
    let ninstructions    ..perandspushSome( i num_params java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
        .func_ty
        .params}else {
iter(
        .chain(builder    };
         instructions.ush(nstruction:LocalGet(  u32);
Ok()
}
    let i = u.int_in_range(0..=n - 1)?;
    let (j, _) = builder
.
        .params
        .ter(
builder.iter(java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
enumerate(
        .filter.hain(..()
        .nth(
        .nwrap();
.operands()java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
    instructions.push(Instruction::LocalSet(j as u32));
    Ok(())
}

fn local_tee(
    u:mut Unstructured
let  =
builder:mut CodeBuilderjava.lang.StringIndexOutOfBoundsException: Range [30, 31) out of bounds for length 30
    instructions: &mut Vec<Instruction>,
) -> Result<( .b.()
    let n = builder
        .func_ty
        .params
         else {
    let  =u.nt_in_range0.n-1?java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
        .filter(|ty| builder    Ok())
        .count();
    debug_assert!(n > 0);
    let i = u.int_in_range(0..=n - 1)?;
    let (j, ty) = builder
        .func_ty
        .ilter((, ty) .type_on_stack(,*ty)
        .(
.hain(uilder.ocalsiter()
    builder.llocs.perands.op)java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
        .filter(|(_, ty)| builder.type_on_stack(module, **ty))
        .nth(i)
        .unwrap();
    fn local_tee(
    instructions            builder,
    &odule,
        :&utC,
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

#[inline]
fn java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
    module.globals.len() > 0
java.lang.StringIndexOutOfBoundsException: Range [1, 2) out of bounds for length 1

fnglobal_get(
    u:         .count(;
module M,
    i=int_in_range0=-?java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    debug_assert!(module.globals.len() > 0);
    let global_idx = u.int_in_range(0..=module.globals.len() - 1)?;
    builder
        .filter(( )module *y)
.erands
java.lang.StringIndexOutOfBoundsException: Range [13, 8) out of bounds for length 57
    instructionsallocsoperands(;
    Ok(())
java.lang.StringIndexOutOfBoundsException: Range [1, 2) out of bounds for length 1

java.lang.StringIndexOutOfBoundsException: Range [1, 2) out of bounds for length 1
fn global_set_valid(module: &Module, builder: &mut CodeBuilder) -> bool {
    builder

.
}
        .any(|(ty, _)| builder.type_on_stack(module, *ty))
}

fn global_set(
    u: &    builder mut,
module: &odule
 m CodeBuilder
    java.lang.StringIndexOutOfBoundsException: Range [4, 1) out of bounds for length 44
) -> Result<()> {
    builder
.allocs
.operands
        iter)
    instructions.ush(nstructionn i64_load_8_s(
k()
java.lang.StringIndexOutOfBoundsException: Range [1, 2) out of bounds for length 1
    let i =     :& CodeBuilderjava.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
   builder..pop(
candidatesi)
    Ok(())
}

#[inline]
fn (:&,_ mut java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 20
    module.memories.len;
}

mut,
 have_memory_and_offset(odule Module,builder
        :mut CodeBuilder
        | (.llocs.memory64.( >0 &.m,:)
}

#inline]
fn have_data(module: &Module, _: &mutlet java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 55
n( >0
}

fn i32_load            instructions,leti .t_in_range(.candidateslen)- 1?;
   u:m ,
module:Module,
:m CodeBuilder,
    instructions: &mut Vec<Instruction>,
)
    let memarg = mem_arg(u, module, builderffn have_memory(m:& : bool{
    builder.allocs.operands.push(Some(ValType::I32));
    if module.config.disallow_traps {
        no_traps::load(java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 9
}else {
        .push(:(emarg)java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
    }| builder.llocs.emory64.en)>0 & .ype_on_stack        no_traps:java.lang.StringIndexOutOfBoundsException: Range [23, 24) out of bounds for length 23
    Ok(())
}

fn (
u:& Unstructured
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec}
) -> Result<()> {
    let    u:m 
    ..operands.((:I64)java.lang.StringIndexOutOfBoundsException: Range [53, 54) out of bounds for length 53
ifmodule.onfig. {
)-(  ){
    } else {
        instructions.push(Instruction::I64Load(memarg    ..perands.ush(ome(    builder.allocs.operands.push(Some(ValType;
    }
Ok(java.lang.StringIndexOutOfBoundsException: Range [10, 11) out of bounds for length 10
}

fn f32_load(
    u: &mut Unstructured,
&java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) ->    module Modulejava.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
    let memarg = mem_arg(u, module, builder, &[012])?;
    :m CodeBuilder
    if<>{
        no_traps::load(Instruction::F32Load(memarg =mem_argu , [,1);
    } else
instructionspush(nstruction::F32Load(memarg));
    }
Ok()
}

 f64_load(
    u: &mut Unstructured,
java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 20
    builder: &mut CodeBuilder,
    instructionsfn (
) -> Result<()> {
    let    odule:&odule,
builder.llocs.perands.((:F64)java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
    Result<) {
        no_traps::load(Instruction::F64Load(memarg), module, java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 58
      {
        instructions.push(Instruction::F64Load(memarg));
    }
Ok()
}

 i32_load_8_s
}
    Ok()
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    let memarg = mem_arg(u, module, builder, &[0])?;
    builder.allocs.operands.push(Some(ValType::I32));
    if    :&ut ,
no_traps:(
Ijava.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 17
            module
            builder,
            instructions,
       )
            no_traps:load(nstruction:F64Load(emarg) ,builder )java.lang.StringIndexOutOfBoundsException: Index 84 out of bounds for length 84
        instructions.push(Instruction::        instructions.push(Instruction::F64Load(memarg
    }
    Ok(())
}

i32_load_8_u(
    u: &mut Unstructured,
    module: &Module module:M,
    builder: &mut CodeBuilder,
    instructions: &mut    :&utVec<>
 >Result<) {
    memarg=mem_argu,odule builder,0?java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
    builder.allocs.operands.push(Some(ValType:I32));
    if module.config.disallow_traps {
        Instruction::32Load8Sm)java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
            Instruction::I32Load8U(memarg),
            module
            
            instructions,
        );
     {
        instructions.push(Instruction::I32Load8U(memarg));
    }
    
}

  no_traps::storeInstruction::(memarg) ,,instructions)java.lang.StringIndexOutOfBoundsException: Index 86 out of bounds for length 86
   :&ut Unstructuredjava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
    module: &Module,
    java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 9
    :&mutVecInstruction,
) -> Result<()> {
    let memargfn java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
    builder.allocs.operands.push(Some(ValType::I32));
    if module.config.disallow_traps {
        )
InstructionILoad16S(emarg,
            module,
            builder,
            java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 10
        );
    } else {
        instructions.push(Instruction::java.lang.StringIndexOutOfBoundsException: Range [0, 49) out of bounds for length 25
    }
builder: &ut CodeBuilder
}

fn i32_load_16_u(
    u: &mut Unstructured,
java.lang.StringIndexOutOfBoundsException: Range [12, 4) out of bounds for length 20
    uilder:& ,
            no_traps:load    :CodeBuilder,
) -> Result<()> {
 =u             module,
  {
    if module.config.disallow_traps {
        no_traps::load instructions.InstructionF64Store();
            Instruction::I32Load16U(memarg),
            module,
            builder,
            instructions,
        ;
     lse{
instructionspushInstruction:I32Load16Umemarg);
    }
(
}

java.lang.StringIndexOutOfBoundsException: Range [4, 2) out of bounds for length 37
    u: &mut Unstructured,
    module: &Module,
    builder &ut ,
structions&            java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
)- Result() {
    Instruction:(memarg)
    builder.allocs.operands.push(Some(ValType::I64));
            uilder,
        no_traps::load(
            Instruction::I64Load8S(memarg),
            module,
            builder,
            instructions,
        )
    } else {
 instructions.ush(nstruction:I64Load8Smemarg);
    }
        :&odule,
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

fn     let  mem_argu , builder []?java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
    u: &mut Unstructured,
        if mod.disallow_traps{
:&ut CodeBuilder
                :Module,
) -> Result<()> {
     =mem_arg(,module builder [0,1]?
    builder.instructions
   ifmoduleconfig.isallow_traps
       }{
            Instruction::I64Load16S(memarg),
            module,
            builder,
            instructions,
        );
    } else {
        instructions.
    }
    Okmodule: M,
}builder:&ut CodeBuilder,

java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    u: &mut Unstructured,
    module: &Module,
    builder:    if moduledisallow_traps
instructions  VecInstructionjava.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
) -> Result<()> {
    let memarg = mem_arg(u, module, builder, &[012])?;
    builder.allocs.operands,
    if module.config.disallow_traps {
        no_traps::load(
            Instruction::I64Load32S(memarg),
            java.lang.StringIndexOutOfBoundsException: Range [19, 20) out of bounds for length 19
builder,
java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
        );
    } else {
        instructions.Instruction:64Load32S();
    }
    Ok(())
}

fn i64_load_8_u(
u &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
     -> Result<){
) -> Result<()> {
                :I64Load32S()java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
    builder.allocs.operands.push(Some(ValType::I64));
    if             ,
                 java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 20
            Instruction::I64Load8U(memarg),
            module,
            builder,
            instructions,
        );
    } else {
fni64_load_8_u
         m ,
    :&,
}

fn i64_load_16_u(
    u: &mut Unstructured,
    module: &Module,
     CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    let memarg = mem_arg(u, module, builder, &[01])?;
   builder.java.lang.StringIndexOutOfBoundsException: Range [0, 18) out of bounds for length 10
    if module.config.disallow_traps {
        no_traps::load(
            Instruction::I64Load16U(memarg);
            module,
            ,
            instructions,
        );
    } else {
        instructions.push(Instruction::I64Load16U(memarg));
    }
    Ok(())
}

fn i64_load_32_u(
    u: &mut Unstructured,
    module: &Module,
   builder:mutCodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
     = mem_arg(,module,builder,&0 ,2);
    builder.allocs.operands.push(Instruction::I64Load16U(memarg
    if module.configmodule,
        no_traps::java.lang.StringIndexOutOfBoundsException: Range [0, 22) out of bounds for length 20
            Instruction::I64Load32U(memarg),
            module,
            builder,
            instructions,
        );
    } else {
        instructions.push(Instruction::I64Load32U(memarg));
    }
    ()
}

#[inline]
:    :&odulejava.lang.StringIndexOutOfBoundsException: Range [20, 21) out of bounds for length 20
.allocs.emory32    instructions  <,
        || (builder.allocs.memory64.len() > 0
            &builder.ypes_on_stack(odule,&ValType:, f))java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
}

ine
fn i32_store_valid(odule:&odule, builder m CodeBuilder)- bool{
                odule
}

fn i32_store(
    u: &mut Unstructured,
    odule &,
    builder: &mut CodeBuilder
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::I32]);
    let                  builder.module :,:,:])java.lang.StringIndexOutOfBoundsException: Index 96 out of bounds for length 96
    if    (fnmemory_fill
        no_traps:store(nstruction:I32Storememarg) ,    u:&t Unstructured,
    } else {
        instructions.push(Instruction::I32Store(memarg));
    }
    Ok(())
}

#[inline]
fn i64_store_valid(module: &Module, builder: &mut CodeBuilder) -> bool {
    store_valid(module, builder, || ValType::I64)
}

fn i64_store(
    u:     :&odule,
     java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
    builder: &mut CodeBuilder,
tions mutVec<nstruction>
) )builderpop_operandsmodule &ValType:I32)java.lang.StringIndexOutOfBoundsException: Range [50, 51) out of bounds for length 50
    builder.pop_operands(module, &[ValType::I64]);
    let java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 61
    if java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 0
        no_traps::store(Instruction::}else{
    } else {
        instructions.push(Instruction::I64Store(memarg));
    }
    Ok(())
}

f (:&,builder mutCodeBuilder)-bool{
fn f32_store_valid(module: &Module, builder: &mut CodeBuilder) -> java.lang.StringIndexOutOfBoundsException: Range [0, 70) out of bounds for length 49
    java.lang.StringIndexOutOfBoundsException: Range [0, 15) out of bounds for length 13
}

fn f32_store(
    u: &mut Unstructured,
    module: &Module,
    :&mut CodeBuilder,
    instructions( &ValType:);
)- <(>{
    builder.pop_operands(module    .config {
    let memarg java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    ifmodule.config.isallow_traps {
        no_traps::store(Instruction::F32Store(memarg), module,     (()
    } else {
        tions
    }
    Ok(())
}

#[inline]
 f64_store_valid(odule:&odule,builder: &mut CodeBuilder) -> bool {
    store_valid(module, builder, || ValType::F64)
}

fn f64_store(
    u: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::F64]);
    let  =mem_arg        :(:(emarg,,uilderinstructionsjava.lang.StringIndexOutOfBoundsException: Index 86 out of bounds for length 86
    if module.config.disallow_traps {
no_traps:storeIstruction:64Store(, ,builder )
    } else {
        instructions.push(Instruction::F64Store(memargjava.lang.StringIndexOutOfBoundsException: Range [54, 55) out of bounds for length 10
    }}
    Ok(())
}

fn(
    u:& Unstructured
    module: &Module,
    :&ut ,
    nstructions:&java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 40
) -> Result<()> {
    instructions: &mut Vec<Instruction>,
    let   (,module ,&0]?
    if module.disallow_trapsjava.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
        no_traps::store(
            Instruction::I32Store8(memarg),
            module,
            java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
            instructions,
        );
    } else {
        instructionsjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    Ok(())
}

) >Result(>{
    u: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions m <>java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
) -> Result<()> {
    builder.pop_operands(module, &[ValType::I32]);
    let memarg = mem_arg(ujava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    if else{
        no_traps::tore(
            Instruction::I32Store16(memarg),
            module,
            builder,
            instructions,
        );
     else java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
        instructions.push(Instruction::I32Store16(memarg));
    }
    Ok()
 letmemarg =mem_argu ,builder [0,1);

fn i64_store_8(
    u: &mut        no_tinstructions.sh(dulearbitrary_const_instruction:64 u);
    module: &ModuleInstruction:32Store16()java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
    builder: &mut CodeBuilder,
    java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
) -> Result<);
    builder.op_operandsmodule [:    builder mut CodeBuilderjava.lang.StringIndexOutOfBoundsException: Range [30, 31) out of bounds for length 30
        instructions: &mut Vec<nstruction,
    if module.config.disallow_traps )- <) {
        no_traps:java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
            Instruction::I64Store8(memarg),
            module,
            builder,
            instructions,
        );
    } else {
        instructions.push(Instruction::I64Store8(memarg));
    }
Ok)
}

fn i64_store_16(
     Unstructured,
    module instructions: &ut <>java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
    builder: &mut CodeBuilder,
     & Ijava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
) -> Result<()> {
    builder.pop_operands(module, &[ValType::I64]);
    memarg  u   [, ]?java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
    if module.config.disallow_traps {
        no_traps::store(
            Instruction::I64Store16(memarg),
            module,
            builder,
            instructions,
        );
    }else {
        instructions.push(Instruction::I64Store16(    .([:I32;
    }
    Ok(())
}

fn i64_store_32(
    u:     .disallow_traps java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType;
    let memarg = mem_arg(u, module, builder, &[01,      java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
    if module.config.disallow_traps {
        no_traps::store(
            Instruction:memarg)
            module,
            builder,
             i32_ne(
        );
    } else {
          instructions.push(nstruction:64Store32memarg);
    }
    Ok(())
}

fn memory_size(
   u mut ,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions mut<Instruction,
) -> Result<()> {
    let i = u.int_in_range(0..=module.memories.len() - 1)?;
     modulememories[]memory64 {
        ValType:    instructions,
    } else {
        ValType::I32
    };
    builder.push_operands(&[ty]);
    instructions.push(Instruction::MemorySize(i as java.lang.StringIndexOutOfBoundsException: Range [0, 54) out of bounds for length 1
    Ok(())
}

#[inline]
fn memory_grow_valid(module: &Module, builder: &mut CodeBuilder) -> bool {
    (builder.allocs.memory32.len() > 0 && builder..&java.lang.StringIndexOutOfBoundsException: Range [37, 35) out of bounds for length 43
        || (builder.allocs.    let ty = if module.memories[i java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
}

fn memory_grow(
    u: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,    instructions: &mut Vec<Instruction>,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    let ty = if builder.java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 0
        ValType::I32
    } else {
        ValType::I64
    };
    let index = memory_index(u, builder, ty)?;
    builder.pop_operands(module, &[ty]);
    builder.push_operands(&[ty]);
.push(:MemoryGrow);
    Ok(())
}

[nline]
fn memory_init_valid(:&java.lang.StringIndexOutOfBoundsException: Range [0, 36) out of bounds for length 0
)- <){
        &&    module: java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
      <>
         && (uilder.llocs.emory32.en)>0
            &&        h_ope(VlTypeI32)
            ||(.allocs.    java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
                && builder.types_on_stack(module, &[ValType::I64, ValType::I32, ValTypebuilderpop_operands(,&ty)java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
}

fn memory_init(
    u: &mut Unstructured,
    module: &Module,
    builder: &mut     builder.(,&ValType:I32,:;
    instructions: &mut Vec<Instruction>,
) >Result() java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
    builder.pop_operands(module,java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 10
    let ty = if builder.type_on_stack(module, ValType:
        ValType:I32
    } else {
        ValType::I64
    };
    let mem    &<>
    let data_index = data_index(u}
    buildermodule [)java.lang.StringIndexOutOfBoundsException: Range [40, 41) out of bounds for length 40
    instructions.push(Instruction::MemoryInit     pInstruction:;
    Ok(())
}

[nline]
fn memory_fill_valid(module: &Module, builder: &mut CodeBuilder) -> bool {
    module.configbuilder.op_operands(odule,&ValType:,ValType:);
builder.java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 64
        && (builder.allocs.memory32.len() > java.lang.StringIndexOutOfBoundsException: Range [0, 45) out of bounds for length 20
            && builder.types_on_stack(module    Va::64
| builder..len(  
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}

fn memory_fill(
    u: &mut Unstructured,
        Ok)java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -    : mutInstruction
    let ty )- Result(>{
        ValType::I32
    }else{
        ValType::I64
    };
    let mem = memory_index(u, builder, ty)?;
    builder.pop_operands(module, &[ty, ValType::I32, ty]);
instructions.ushInstruction:fni64_i64_on_stack( &bCodeBuilder   java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
    Ok(())
}

#[inline]
 :instructionsm Vec,
    if !module.config.bulk_memory_enabled {
        returnjava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 10
    }

    // The non-trapping case for memory copy has not yet been implemented,java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 30
    // so we are excluding them for now
    if module.    builder.push_operands(&[ValType::I32]);
        return false;
r

    let n32    
    let n64 =     _: &mut Unstructured,

    if n32 builderallocsmemory32(;
        ;
    }
ifbuilder.ypes_on_stack(odule,&ValType:I32 ValType:java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 64
        push(::)java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    if builder.types_on_stack(module, &[ValType::I64, ValType::I32, ValType::I32])
        && n32 >  module:&Module,
        && n64 > 0
    {
        return true;
    
    if builder.types_on_stack(module, &[ValType::I32, ValType::I64, ValType::I32])
        && n32 > 0
        && n64 > 0
    {
        true;
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5

    false
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

 java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 15
   :&Unstructured
Mjava.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    let (src, dst) = gen_copy_src_and_dst(module, builder);
    let src_mem = src.choose(u, &builder.allocs.    module:&
     :&ut<,
    instructions.push(Instruction::MemoryCopy { dst_mem, src_mem });
( fn&,u utUnstructured_,n32&u32,n64:&32)-Result<>java.lang.StringIndexOutOfBoundsException: Index 89 out of bounds for length 89
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

enum CopyIndexSize {
    I32,
    I64,
}

CopyIndexSize {
    fn choose(&self, u: &mut Unstructured<'_>, n32: &[u32], n64: &[u32]) ->builder.java.lang.StringIndexOutOfBoundsException: Range [35, 25) out of bounds for length 82
            } else if builder.types_on_stackmodule &:,ValType:I32,ValType:] java.lang.StringIndexOutOfBoundsException: Index 91 out of bounds for length 91
           : = uchoose(32
    &Unstructuredjava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
        })
    }
}

gen_copy_src_and_dst
            :builder(VI)
    builder: &mut CodeBuilder,
) -> (CopyIndexSize, CopyIndexSizejava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    if builder.
        builder.pop_operands(module, &[ValType::I64, ValType::I64, ValType::I64]);
        (CopyIndexSize::I64, CopyIndexSize::I64)
    } else if builder.types_on_stack(module, &[ValType::}
        builder.pop_operands(module, &[ValType::I32, ValType::I32, ValType::I32]);
        (& Vec<Instruction,
    } else if builder.types_on_stack(module, &[ValType::I64, ValType::I32, ValType::I32]) {
ands,[: : :I32);
        (java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 1
    } else if builder.types_on_stack(module, &[ValType)- Result(>java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
        builder.pop_operands(module, &[ValType::I32, ValType::I64, ValType::I32]);
        (CopyIndexSize::I64, CopyIndexSize::I32)
    } else >Result<(>{
unreachable()
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
}

#[inline]
fn data_drop_valid(module: &Module, builder    builder.ypes_on_stack(odule,&ValType:,:F32)
    have_data(module, builder) && module.config.bulk_memory_enabled
}

fn data_drop(
    u &utUnstructuredjava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
    fn f32_con(
    _builder: &mut CodeBuilder,
    instructions mut <nstruction>,
 -Result<()>{
    instructions.push(Instruction::DataDrop(data_index(u, java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 17
    Ok(())
}

fn i32_const(
    u: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
struction,
) -> Result<()> {
    builder.push_operands(&[ValType::I32]);
instructions.ush(.rbitrary_const_instruction(:])
    i:&ut<,
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

fn i64_const(
    u: &mut java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 1
    module: &Module,
    builder: &mut CodeBuilder,
    instructions.  mutUnstructured
module:M,
    java.lang.StringIndexOutOfBoundsException: Range [4, 1) out of bounds for length 30
structionspush(odulearbitrary_const_instruction(ValType::I64,u?;
    Ok(())
 uilder.pop_operands(,&ValType: :F32];

 (
    u: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
)module:&,
    builder.push_operands(&[ValType::F32]);
    instructions    instructions &ut Vec<nstruction
Ok()
}

fn f64_const(
    u: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
builder.push_operands&ValType:);
    instructions.push(module.arbitrary_const_instruction(java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 17
    Ok(())
}

#[inline]
fn i32_on_stackinstructions: mut VecInstruction,
    builder.type_on_stack(module, ValType::I32)
}

i32_eqz
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilderjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.module[(java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 65
    builder.push_operands(&[ValType::I32]);
    instructions.push(Instruction::I32Eqz);
    Ok(())
}

#[inline]
fn i32_i32_on_stack(module: &Module, builder: &mut CodeBuilder) -> bool {
builder[java.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 43
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

fn i32_eq(f64_ne(
        _ &ut,
    java.lang.StringIndexOutOfBoundsException: Range [4, 1) out of bounds for length 30
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::I32, ValType::I32]);
    push_operands[::32];
    instructions.push(Instruction::I32Eq);
    Ok(())
}

      >
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
mut VecInstruction,}
) -instructions:mutVec<nstruction>
    ) -> Result>java.lang.StringIndexOutOfBoundsException: Range [17, 18) out of bounds for length 17
    :CodeBuilderpushnstruction:L;
    ) -> Result<
    Ok(())
}

fn i32_lt_s(
    _: &mut Unstructured,
    module: &Module}
    builder: &java.lang.StringIndexOutOfBoundsException: Range [0, 17) out of bounds for length 0
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::I32, ValType::I32]);
    builder.java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    instructions
    Ok _ mut Unstructuredjava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
}

    VecInstruction,
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
pop_operandsmodule [: :)java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
    builder.push_operands(&[ValType
    instructions.push(Instruction::I32LtU)n (
    Ok(())
}

fn i32_gt_s(
    _: &mut java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 17
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<(Ok()
    builder.pop_operands(module, &[ValType::I32, ValType::I32    uilder java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
    builder.push_operands(&[ValType::I32]);
    instructions.push(Instruction::I32GtS);
    Ok(())
}

fn i32_gt_u(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::I32, ValType::I32]);
    builder.push_operands(&[ValType::java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 0
    instructions.push(Instruction::I32GtU);
    Ok(())
}
- ){
fnjava.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 12
    _: &mut Unstructured,
    module:&I]
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::I32, ValType::I32]);
    builder.push_operands(&[ValType::I32]);
builder:&ut 
    ())
}

fn i32_le_u(
:&mut
    module:Instruction:I32Popcnt)
    builder: &mut CodeBuilder    Ok())
    instructions: &mut Vec<java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 12
) -> Result<()> {
    builder.pop_operands(module, &[ValType::I32,    mutjava.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
    builder.push_operands(&[ValType::I32]);
    instructions.push(Instruction::I32LeU);
    Ok(())
}

fn i32_ge_s(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 1
    builder._: &mut Unstructured
    instructions.push(Instruction::I32GeS);
    Ok(())
}

fn i32_ge_u(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<fn
 ->Result(>java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
    builder.pop_operands(module,java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
    builder.push_operands(&[ValType::I32]);
    instructions.push(Instruction::I32GeU);
    Ok(())
}

#buildermutCodeBuilder
fn i64_on_stack(module: &Module    :&    _: &mut Unstructur
    builder.types_on_stack(module, &[ValType::I64])
}

fn i64_eqz(
   _ mut Unstructured,
:java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 20
   :CodeBuilder
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands}
    builder.push_operands(&[ValType::I32]);
    instructions.push(Instruction::java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 30

}

#[inline]
fn i64_i64_on_stack(module: &Module, builder: &mut CodeBuilder) -> java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 43
    builder.types_on_stack(module, &[ValType::I64, ValType::I64])
}

fn i64_eq(
    _: &mut builder: &mut
 ,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::I64, ValType::I64]);
    builder.push_operands(&[ValType::I32]);
    instructions.push(Instruction::I64Eq);
    Ok(())
}

fn i64_ne(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
        .onfig.disallow_trapsjava.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
) -> Result<()> {
    builder.pop_operands(modulepush:
builder&I]);
    instructions.push(Instruction::    .( [:,ValType:)
    Ok(())
}

fn i64_lt_s(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result.java.lang.StringIndexOutOfBoundsException: Range [28, 25) out of bounds for length 43
    builder.pop_operands(module, &[ValType::Ok()
    builder.push_operands(&[ValType::java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 0
    instructions.push(Instruction::I64LtS);
    Ok(())
}

fn i64_lt_u(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::I64, ValType::I64]);
    builder.push_operands(&[ValType::I32]);
    instructions
    Ok(())
}

fn i64_gt_s(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builderf
    builder.push_operands(&[ValType::I32]);
    instructions.push(Instruction::I64GtS);
    Ok(())
}

fn i64_gt_u(
    _: &mut Unstructured,
    module Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::I64, ValType::I64]);
    builder.push_operands(&[ValType::I32]);
        M
()java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
}

fn i64_le_s(
_ mut Unstructured
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
) -> Result<()> {
    builder.java.lang.StringIndexOutOfBoundsException: Range [0, 24) out of bounds for length 1
    builder.push_operands(&[ValType::I32]);
    instructions.push(Instruction::I64LeS);
    Ok(())
}

fn i64_le_u(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module,
push_operands&ValType:I32])
    instructions.push(Instruction::I64LeU);fn_ &ut Unstructured,java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
    (())
}

fn )- Result<(> 
    _: &mut Unstructured,
    module: &Module,
    builder &ut CodeBuilder,
instructions:& Vec<Instruction>,
<() java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
java.lang.StringIndexOutOfBoundsException: Range [1, 2) out of bounds for length 1
}
    instructions.push(java.lang.StringIndexOutOfBoundsException: Range [0, 33) out of bounds for length 25
    Ok(())
}

fn i64_ge_u(
    _: &mut Unstructured,
    module: &Module,
   java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 30
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::I64, ValType::I64]);
    builder.push_operands(&[ValType::I32]);
    instructions.push(Instruction::I64GeU);
    Ok(())
}

    uilder &ut CodeBuilder
    .types_on_stack(module,  instructions:mutVec<Instruction>
}

fn f32_eq(
_mutUnstructured
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
)->Result<() java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
    builder.pop_operands(module, &[ValType::F32, ValType::F32]);
    builder.push_operands(&[ValType::I32]);
    instructions.push(Instruction::F32Eq);
    Ok(())
}

fn f32_ne(
    _: &mut Unstructured,
    module: &Module,
    
instructionsmutInstruction
  <)java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
    builder.pop_operands(module, &[ValType::F32, ValType::F32]);
    builder.push_operands(& builder.(module [: :)java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
    instructions.push(Instruction::java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 10
   ()
}

fn f32_lt(
    _: &mut     &
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::    builder.pop_operands(module, &[ValType::F64F64])
    ]);
    instructions.push(Instruction::F32Lt;
    Ok(()    Ok(()
}

fn f32_gt(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut)- Result<) java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
) -> Result<()> {
    builder.pop_operands(module, &[ValType::F32, ValType::F32]);
    builder.push_operands(&[ValType::I32]);
    instructions.push(Instruction::F32Gt);
    Ok(())
}

fn f32_le(
    _: &mut Unstructured,
module:&Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>builder.op_operands(odule [ValType:I64,java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 50
) -> Result<()> {
    builder.pop_operands(module, &[ValType::F32, ValType::F32]);
    uilder.push_operands([ValType:I32);
    instructions.push(Instructionfn (
    Ok(())
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

fn f32_ge(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::F32, ValType::F32]);
    builder.push_operands(&[ValType::I32]);
    instructions.push(Instruction::F32Ge);
    Ok(())
}

fn f64_f64_on_stack(module: &Module, builder: &mut CodeBuilder) -> bool {
    builder.types_on_stack(module, &[ValType::F64, ValType::F64])
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

fn f64_eq(
    _: &mut Unstructured,
    module: &java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 10
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(     & ,
    builder.push_operands(&[ValType    instructions: &mut Vec<Instruction>,
    instructions.push(Instruction::F64Eq);
    Ok(())
}

fn f64_ne(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::F64, ValType::F64]);
    builder.java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 17
    instructions.push(Instruction::F64Ne);
    Ok(())
}

fn f64_lt(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
builderm [: :];
    builder.push_operands(&[ValType::I32]);
    instructions.push(Instruction::F64Lt);
    Ok(())
}

fn f64_gt(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>
) -> Result<()> {
    builder.pop_operands    instructions:&VecInstruction,
        instructions <,
    instructions.push(Instruction::F64Gt);
    Ok()
}

fn f64_le(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[    :&utjava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
    builder.push_operands(&[ValType::I32]);
    instructions.push(Instruction::F64Le);
Ok(java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
java.lang.StringIndexOutOfBoundsException: Range [1, 2) out of bounds for length 1

fn f64_ge(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::F64, ValType::F64]);
    fn i64_and(
    instructions    :&ut ,
    Ok(())
}

fn i32_clz(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    push(::I32RemU;
 >Result<) java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
    builder.pop_operands(module, &[ValTypef i64_or(
    builder.push_operands(&[ValType::I32]);
    instructions.push(Instruction::I32Clz);
    Ok(())
}

fn i32_ctz(
_ m ,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::I32]);
    builder.push_operands(&[ValType::I32]);
    instructions.push(Instruction::I32Ctz);
    Ok(())
}

(
    _: &mut Unstructured,
    module: &Module,
    :&mut ,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::I32]);
    builder.push_operands(&[ValType::I32]);
    fn i64_shljava.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
    Ok    builder.     o,
}

fn i32_add(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>
) -> Result<()> {
    builder.pop_operands(module, &[ValType::I32, ValType::I32]);
    builder.push_operands    & Instructionjava.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
    .Instructionbuilder.pop_operands(module, &[ValType ValType:];
    Ok(())
}

fn i32_sub(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands >(){
    builder.push_operands(&[ValType::I32]);
    instructions.push(Instruction::I32Sub);
    Ok(())
}

fn i32_mul(
    ,
    module: &Module,
,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    java.lang.StringIndexOutOfBoundsException: Range [24, 11) out of bounds for length 64
    builder.push_operands(&[ValType::I32]);
    instructions.push(Instruction::I32Mul);
    Ok(
}

fn i32_div_s(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions    . [alType:, :)
) ->    .ush_operands&ValType:I64];
    builder.instructionspush(:I64Rotl;
builderpush_operands&ValType:)java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
    if
       :signed_div_remInstruction:I32DivS  ;
    } else {
        instructions.push(Instruction::I32DivS);
    }
    Ok(())
}

fn i32_div_u(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> fn i64_clz(
    builder.pop_operands(module, &[ValType::I32, ValType::I32]);
    builder.push_operands(&[ValType::I32]);
    if module.config.disallow_traps {
        no_traps::unsigned_div_rem(Instruction::I32DivU, builder,        no_traps::unsigned_div_rem(Instruction::I32DivU, builder, 
    } else fn (
        instructions.push(Instruction::I32DivU);
    }
    Ok(())
}

fn i32_rem_s(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &)- <)>{
    builder.push_operands(&[ValType::I32]);
    if module.config.disallow_traps {
        no_traps::signed_div_rem(Instruction::I32RemS, builder, java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 25
    } else {
        instructions.push
    }
    Ok(())
}

fn i32_rem_u(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()
    builder.pop_operands(module, &[ValType::I32, ValType::I32]);
    builder.push_operands(&[ValType::I32]);
    if module.config.disallow_traps {
        no_traps::unsigned_div_rem(Instruction::I32RemU, builder, instructions)    :&odulejava.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
    } else  builder.&:    :&java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 40
        instructions.push(Instruction::I32RemU);
    }
    Ok(())
}

fn i32_and(
    _: &mut Unstructured,
    module: &Module,
     mut ,
    instructions: &mut Vec<Instructionbuilder:&CodeBuilder,
)>Result(>{
    builder.pop_operands(module, java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
    builder.push_operands,&ValType:,:)
    instructions.push(Instruction::I32And)    
    Ok(())
}

fn i32_or(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::I32, ValType::I32]);
    builder.push_operands(&[ValType::I32]);
    instructions.push(Instruction::I32Or);
    Ok(())
}

fn i32_xor(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::I32, ValType::I32]);
    builder.push_operands(&[ValType::I32]);
    instructions.push(Instruction::I32Xor    Ok(()java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
    Ok(())
}

fn i32_shl(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions:&
) -> Result<()> {
    builder.pop_operands(module, &[ValType::I32, ValType::I32]);
    builder.push_operands(&[ValType::I32]);
    instructions.push(Instruction::I32Shl);
    Ok(())
}

fn i32_shr_s(
    _: &java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 0
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builderpush_operands&:I64;
    ::I32];
    instructions.push(Instruction::I32ShrS);
    Ok    ()
}

fn i32_shr_u(
_ mut nstructuredjava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {fni64_and
    builder.pop_operands(module, &[ValType _ &ut,
    builder(java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
    instructions.push(Instruction::I32ShrU);
    instru: mut Instruction,
}

fn i32_rotl(
    _java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
    module .([:builder.pop_operands(module, &[ValType:]java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
i:)
    builder.pop_operands(module, &[ValType::java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 20
    builder.push_operands(&[ValType::I32]);
    instructions.push(Instruction::I32Rotl);
    Ok(())
}

fn i32_rotr(
    _: &mut Unstructured,
    module: &Module    .([F])
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::I32, ValType::I32]);
    builder.push_operands(&[ValType::I32]);
    instructions.push(Instruction::I32Rotr);
    Ok(())
}

fn i64_clz(
    _: &mut Unstructured,
    module: &Module,
        _: &mut Unstructured,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    instructions: &mut Vec<Instruction>,
    builder.push_operands(&[ValType::I64]);
    instructionsf  java.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 69
    Ok(())
}

(
_ java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::I64]);
    builder.push_operands(&[ValType::I64]);
    instructions.push(Instruction::I64Ctz);
    Ok(())
}

fn i64_popcnt(
    _:instructionsp(:F32Sub;
    Ok()
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::I64]);
    builder.push_operands(&[ValType::I64]);
    instructions:Module
    builder &ut ,
 instructions mut<nstruction>

fn.([ValType:)java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
_ &utUnstructuredjava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
    module: &Module,
java.lang.StringIndexOutOfBoundsException: Range [1, 2) out of bounds for length 1
    instructions: &mut Vec<Instruction
) -> Result< module &odule,
.pop_operands(odule, &[ValType::I64, ValType::I64]);
    builder.push_operands(&[ValType::I64]);
instructionspush(nstruction:)java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
    Ok(())
}

fn i64_sub(
java.lang.StringIndexOutOfBoundsException: Range [33, 25) out of bounds for length 25
            no_traps:truncInstruction:,builder,instructions;
    builder: &mut CodeBuilder,
    tions &utVecInstruction,
    :&ut Unstructured,
    .op_operandsmodule [ValType:I64,ValType:I64]java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
    builder.push_operands(&[ValType::fn java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
    instructions.push(Instruction::I64Sub);
    ()java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
}

fn i64_mul(
    _: &mut Unstructured}
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::I64, ValType::I64]);
    builder.push_operands(&[ValType::I64]);
    instructions.push(Instruction::I64Mul);
    Ok(())
}

fn i64_div_s(
    O()
   module:&odule,
    builder: &mut CodeBuilder,
    :& Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::I64, ValType::I64]);
    builder.push_operands(&[ValType::I64]);
     module..disallow_traps
        instructions:&mutVecInstruction>
    }else {
        instructions.push(Instruction::I64DivS);
    }
    Ok(())
}

fn i64_div_u(
    _: 
    module: &Module,
    
    instructions &ut Vec<Instruction,
) -> Result<()> {
    java.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 40
    builder    builder.( [ValType:];
    if module.config.disallow_traps {
        no_traps::unsigned_div_rem(Instruction::I64DivU    :&    ifconfigdisallow_trapsjava.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
    } else {
        instructions.push(Instruction::I64DivU);
    }
    ()
}

fn i64_rem_s(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
instructions &)><>java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
) ->b: & CodeBuilder
     instructions &ut<   .(:64java.lang.StringIndexOutOfBoundsException: Range [49, 48) out of bounds for length 50
    builder.push_operands(&[ValType::I64]);
    if module.config.disallow_traps {
        no_traps::signed_div_rem(Instruction::I64RemS, builder, instructions);
    } else()java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
        instructions.push(Instruction::I64RemS);
    }
    Ok(())
}

fn i64_rem_u(
    _: &mut Unstructured)- Result<) java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
    module    .([::64)java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> }
    builder.pop_operands(module, &[ValType::I64,
    builder.push_operands(&[ValType::I64]);
    if moduleif moduleconfigdisallow_trapsjava.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
        no_traps::unsigned_div_rem(Instruction::I64RemU, builder, instructions);
    } else {
        instructions.push(Instruction::I64RemU);
    }
    Ok(())
}

fn i64_and(
    _: &mut Unstructured,
fn f64_trunc(
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::java.lang.StringIndexOutOfBoundsException: Range [0, 47) out of bounds for length 30
    builder.push_operands(&[ValType::I64]);
    instructions.push(Instruction::I64And);
    Ok(())
}

fn i64_or(
    _: &mut Unstructured,
    module: &Module,f64_nearestjava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()>instructions m <nstruction,
.(module &ValType:,ValType:];
    builder.push_operands(&[ValType::I64]);
    instructions.push(Instruction::I64Or);
    Ok(())
}

fn java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 1
    _: &mutfnf64_sqrt(
    module: &Module,
    builder: &mut java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 20
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValTypebuilder.(module [ValType:F64)java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
_operands([::64)java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
    instructions.push(Instruction::I64Xor);
    Ok(())
}

fn i64_shl(
    _: &mut Unstructured,
&,
    builderjava.lang.StringIndexOutOfBoundsException: Range [5, 6) out of bounds for length 5
    instructionsm<nstruction,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::I64, ValType::I64]);
    builder.push_operands(&[ValType::I64]);
instructionspushInstruction:I64Shl)java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
    Ok(())
}

 java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 13
:,
    module: &Module,
    builder: &mut CodeBuilder,
instructions mutVecInstruction>
) -> Result<(java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    builder.pop_operands(module, &[ValType:java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    builder.push_operands(&[ValType::I64]);
    instructions.push(Instruction::I64ShrS);
    Ok(())
}

fn i64_shr_u(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    &utVecInstruction,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::    :&mut VecInstruction>java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
    builder.push_operands(&[ValType::I64]);
    instructions.push(Instruction::I64ShrU);
    Ok(())
}

fn i64_rotl(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut     builder.push_operands(&&mutCodeBuilder,
i.(java.lang.StringIndexOutOfBoundsException: Range [50, 49) out of bounds for length 51
) -> Result<()> {
buildermodule [:64,ValTypeI64)java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
    builder.java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 1
    java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 0
  Ok(    (java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
}

fn i64_rotr(
_ &ut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.(odule [ValType:, ValType:I64];
    builder.push_operands(&[ValType::I64]);
instructionspush(Instruction:I64Rotr);
    Okilder.push_operands([alTypeF4)java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
}

#[inline]
fn f32_on_stack(module: &Module, builder: &java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
    builder.types_on_stack(module, &[ValType::F32])
}

fn f32_abs(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builderOk()
    builder.push_operands(&[ValType::F32]);
    instructions.push(Instruction::F32Abs);
    Ok()java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

fn f32_neg(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 50
    builder.push_operands(&[ValType::F32]);
    instructionsinstructionspush(:);
    Ok(())
}

 f32_ceil
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mutmodule:&odulejava.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
) ->Result(> java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
    builder.pop_operands(module, &[ValType mutVecInstruction,
    builder.push_operands(&[ValType::F32]);
    push::32Ceil)
    Ok(())
}

 f32_floor_loorjava.lang.StringIndexOutOfBoundsException: Range [13, 14) out of bounds for length 13
    _ mut java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
    module: &java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 10
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -    :mut,
    builder.pop_operands(module, &[ValType: module Modulejava.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
    builder.push_operands(&[ValType::F32]);
    instructions.push(Instruction::F32Floor);
    Ok(())
}

 
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::F32]);
    builder.push_operands(&[ValType::F32]);
    instructions.push(Instruction::F32Trunc);
    Ok(())
}

fn f32_nearest(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
)-Result( {
    builder.pop_operands(module, &[ValType::F32]);
    builder.push_operands(&[ValType::F32]);
    instructions.push(Instruction::F32Nearest);
    Ok(())
}

fn f32_sqrt(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::F32]);
    builder.push_operands(&[ValType::F32]);
    instructions.push(Instruction::F32Sqrt);
    Ok(())
}

fn f32_add(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::F32, ValType::F32]);
    builder.push_operands(&[ValType::F32]);
    instructions.push(Instruction::F32Add);
    Ok(())
}

fn f32_sub(
    _ builder.ush_operands[ValType:I32]java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::F32, ValType::F32]);
    builder.push_operands}
    instructions.push(Instruction::F32Sub);
    Ok(())
}

fn f32_mul(
   :&java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 25
    module: &Module,
   builder    builder.(ValType:I32)java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    
    builder.push_operands(&[ValType::F32]);
    instructions.push(Instructionjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    ()
}

 (
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions:&utVec<nstruction>
) -> Resultpush_operands[:];
    instructions.ush(:java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 0
    java.lang.StringIndexOutOfBoundsException: Range [0, 11) out of bounds for length 10
    instructions.push(Instruction::F32Div);
    Ok(())
}

fn f32_min(
    :java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
    modulec   instructions mut <nstruction,
    builder: &mut CodeBuilder,
    instructions & VecInstruction>java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
)- Result<) {
    builder.        no_traps::trunc(:I64TruncF32S builder )
    builder.push_operands([ValType:F32];
    instructions.push(Instruction::F32Min);
    Ok(())
}

fn f32_max(
    _: &mut Unstructured i64_trunc_f32_u
    module: mut Unstructuredjava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::F32, ValType::F32]);
    .([:];
    instructions. .([:I64);
    ifmodule.. {
}

fn f32_copysign(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::F32, ValType i64_trunc_f64_s(
    builderpush_operands&:F32)java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
    instructions.java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 10
O()java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
}

#[inline]
 Module,
    builder.types_on_stack(module, &[ValType::F64])
}

fn f64_abs(
    _: &mut Unstructured,
java.lang.StringIndexOutOfBoundsException: Range [7, 5) out of bounds for length 10
    
    instructions: &mut Vec<Instruction>,
) ->     module&java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
    builder.pop_operands: :& I>
    builderpush_operands&ValType:];
    instructions.push(Instruction::F64Abs);
()
}

fn f64_neg(
    _: &mut Unstructured,
    module: &Module,
builder:&utCodeBuilder
    java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 12
)- <>{
    builder.pop_operands(module, &[ValType::F64]);
    builder.push_operands(&[ValType::F64]);
    instructions.push(Instruction::F64Neg);
    Ok(())
}

fn f64_ceil(
_ &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.
   builderpush_operands&ValType:F64];
}

}

fn f64_floor(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
     java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 23
) -> Result<()> {
    builder.pop_operands(module, &[    (()
    builder.push_operands(&[ValType::F64]);
    instructions.push(Instruction::F64Floor);
    Ok
}

fn f64_trunc(
    _ &ut Unstructured,
    module:builder:&ut ,
    builder:&ut CodeBuilder
    ) -> Result<()>
)<()>{
        .(&ValType:];
    builder.push_operands(&[ValType::F64]);
    instructions.ush(nstruction:)java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
    Ok()java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
}

f64_nearest(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::F64]);
    builderpush_operands([alTypeF64)
    instructions.push(Instruction::F64Nearest           (F32)
    Ok(())
}

fn (
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
:mut Vec>
) -> Result<()> {
    builder.pop_operands(module, &[ValType::F64]);
    builder.push_operands(&[ValType::    builder.push_operands(&[ValType::F32
        .(:F32DemoteF64;
java.lang.StringIndexOutOfBoundsException: Range [6, 4) out of bounds for length 10
}

fn f64_add(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut - Result<) {
) -    builderpop_operands(odule,[::32];
    builder.pop_operands(module, &[ValType::F64, ValType::F64]);
    builder.push_operands(&[ValType::F64]);
    instructions.push(Instruction::F64Add);
    Ok(())
}

fn f64_sub(
    _:&mutU,
    module: &Module,
    builder:&ut ,
    instructions: &mut Vec<Instruction>,
) - <) {
    builder.pop_operands(module, &[ValType::F64, java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 38
    builder.push_operands(&[ValType::F64]);
    instructions.push(Instruction::    pop_operandsmodule,[:I32)
        bu.(&ValType:F64)java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
} mut,

fn f64_mul(
    _: &mut Unstructured,
    odule M,
    builder: &mut java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 20
    instructions: &mut Vec<Instructionbuilderjava.lang.StringIndexOutOfBoundsException: Range [41, 40) out of bounds for length 47
) -> Result<()> {
    builder.pop_operands(module, &[ValType::F64, ValType::F64]);
    builder.push_operands(&[ValType::F64]);
    instructions.push(Instruction::F64Mul);
    Ok()
}

fn f64_div(
    _: &mut Unstructured,
    module Module
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module    :& Vec<>,
    builder.java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 1
    IFDiv;
    Ok(())
}

fn f64_min(
    _: &mut     if data == 1 {
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,}
) -> Result<()> {
    builder.pop_operands(module, &[ValType::F64, ValType::F64]java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    builder.push_operands(&[ValType::F64]);
[]
    Ok(())
}

fn builder,[:]java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
    java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 50
    module: &Module,
    module Module,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ >Result(>{
    builder.&ValType::64];
    instructions.push(Instruction::F64Max);
    Ok(())
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

fn .. {
    _ & Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType:: .iter(
                (|ty| RefTypenew_abstract(,true false),
    instructions.push(Instruction::F64Copysign);
    Ok Ok(()
}

fn i32_wrap_i64(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::I64]);
    builder.push_operands(&[ValType::I32]);
    instructions.push(Instruction::I32WrapI64);
    Ok(())
}

fn nontrapping_f32_on_stack(module: &Module, builder: &mut CodeBuilder) -> bool {
    module.config.saturating_float_to_int_enabled && f32_on_stack(module, builder)
}

fninstructions mut Ijava.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 40
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 0
    builder.push_operands(&[java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 9
    ifmodule..disallow_traps {
        no_traps::trunc(Instruction::I32TruncF32S, builder, instructions);
    } else {
        instructions.
    }
    Ok(()er: &mut CodeBuilder,
}

fn i32_trunc_f32_u(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
     ty = module[:try_fromi.unwrap).;
) -> Result<(builderpush_operandSome(alType:Ref(f config {
    builder.pop_operands(module, &[ValType m,
    builder.push_operands(&[ValType::I32]);
    if module builder.pop_operands(module, [ValType::I32]);
        ::runc(nstruction:I32TruncF32U,builder,);
    } else {
        instructions.push(Instruction::I32TruncF32U);
    }
    Ok(())
}

fn nontrapping_f64_on_stack(java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    module.config.saturating_float_to_int_enabled && f64_on_stack(module, builder)
}

fn i32_trunc_f64_s(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>O()java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
) <() java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
    builder.pop_operands(module, &[ValType::F64]);
    builder.push_operands(&[ValType::I32]);
    if module.config.disallow_traps {
        no_traps::trunc(Instruction::I32TruncF64S, builder, instructions);
    } else {
        instructions.push(Instruction::I32TruncF64S);
    }
    Ok(())
}

fn i32_trunc_f64_u(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::F64]);
    builder.push_operands(&[ValType::I32]);
    if module.config.disallow_traps {
        no_traps::trunc(Instruction::I32TruncF64U, builder, instructions);
    } else {
        instructions.push(Instruction::I32TruncF64U);
    }
    Ok(())
}

fn i64_extend_i32_s}
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) ->Result<)>{
    builder.pop_operands(module, &[builder.pop_operands(module, &[ValType;
    ::I64)
    instructions.push(Instruction::I64ExtendI32S.Instruction:)java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
    Ok(())
java.lang.StringIndexOutOfBoundsException: Range [1, 2) out of bounds for length 1

fn i64_extend_i32_u(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> <) java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
    builder.pop_operandsOk()java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
    builder.push_operands(&[ValType::I64]);
    instructions.push(Instruction::I64ExtendI32U);
    Ok(())
}

fn i64_trunc_f32_s(
    _java.lang.StringIndexOutOfBoundsException: Range [5, 6) out of bounds for length 0
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::F32]);
    builder.push_operands(&[ValType::I64]);
    if fn (
        : &mut Unstructured

        instructions.push(Instruction::I64TruncF32S);
    }
    Ok(())
}

fn instructions.(Instruction:I32TruncSatF64U;
    _: &mut Unstructured,
    java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 20
    builder: &mut 
     m I,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::F32]);
    builder.push_operands(&[ValType::I64]);
    if module.config.disallow_traps {
        no_traps::trunc(Instruction::I64TruncF32U, builder, instructions);
    } else {
        .ush(nstruction:I64TruncF32U)java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
    }
    Ok(())
}

fn i64_trunc_f64_s(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
 >) {
    builder.pop_operands(module, &[ValType::F64])b.&ValType:64)
    builder.push_operands(&[ValType::I64]);
    ifOk())
        no_traps::trunc(Instruction::I64TruncF64S, builder, instructions);
    } else {
        instructions.push(Instruction::I64TruncF64S);
    }
    Ok(())
}

fn i64_trunc_f64_u(
    _: &mut Unstructured,
    modulelet ref_ty = match builder.pop_ref_type() {
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    java.lang.StringIndexOutOfBoundsException: Range [24, 11) out of bounds for length 50
    builder.    &>java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
    if module.config.disallow_traps {
        no_traps::trunc(Instruction::I64TruncF64U, builder, instructions);
    } else {
        instructions.push(Instruction::I64TruncF64U);
}
    Ok(())
}

fn f32_convert_i32_s(
    _: &mut Unstructured,
    odule: &,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::I32]);
    builder.push_operands(&[ValType::F32]);
    instructions.push(Instruction::F32ConvertI32S);
    Ok(())
}

fn f32_convert_i32_u(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValTypemodule.onfig.
    builder.push_operands&&(tm :)
    | .module :)java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
    Ok(())
}

fn f32_convert_i64_s(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<( (true,true) >{
    builder.pop_operands(module, &[ValType::I64]);
    .ush_operands(&[ValType::F32]);
    instructions.push(Instruction::F32ConvertI64S);
        Ok()
}

fn f32_convert_i64_u(
    : Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) ->Result<()> {
    builder.pop_operands(module, &[ValType::I64]);
    builder.push_operands(&[ValType::F32]);
    instructions.push(Instruction::F32ConvertI64U);
    Ok(())
}

fn f32_demote_f64(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::F64]);
    builder.push_operands(&[ValType::F32]);
    instructions.push(Instruction::F32DemoteF64);
    Ok(())
}

fn f64_convert_i32_s(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
   instructions:&<,
) -> Result<()> {
    builder.pop_operands(module, &java.lang.StringIndexOutOfBoundsException: Range [34, 35) out of bounds for length 10
    builder.push_operands(&[ValType::F64]);
    instructions.push(Instruction::F64ConvertI32S);
    Ok(())
}

fn f64_convert_i32_u(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::I32]);
    builder.push_operands(&[ValType::F64]);
    java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 15
    Ok(())
}

fn f64_convert_i64_s(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions mut VecInstruction>
) -> Result<()> java.lang.StringIndexOutOfBoundsException: Range [16, 17) out of bounds for length 12
    builder.pop_operands(module, &[ValType::I64]);
    builder.push_operands(&[ValType::F64]);
    instructions.push(Instruction::F64ConvertI64S);
    Ok(())
}

fn f64_convert_i64_u(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
 >Result<) java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
    builder.pop_operands(module, &[ValType::I64]);
    builder.push_operands(&[ValType::F64]);
    instructions.push(Instruction:.numerate(java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
    Ok(())
}

fn f64_promote_f32(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder        .java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 23
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    module: &,
    java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 43
    instructions.push(Instruction::F64PromoteF32);
    Ok(())
}

fn java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 9
    llet ty =m.[ as        for i in 0..module.types.len() 
    builder.op_operandsmodule [index_type) ..into(]java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::F32]);
    builder.java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 9
instructionspush(::);
    Ok(())
}

fn i64_reinterpret_f64(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::F64]);
    builder.push_operands(&[ValType::I64]);
    instructions.push(Instruction::I64ReinterpretF64);
    Ok(())
}

fn f32_reinterpret_i32(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::I32]);
    builder.push_operands(&[ValType::F32]);
    instructions.push(Instruction::F32ReinterpretI32);
    Ok(())
}

fn f64_reinterpret_i64(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::I64]);
    builder.push_operands(&[ValType::F64]);
    instructions.push(Instruction::F64ReinterpretI64);
    Ok(())
}

fn extendable_i32_on_stack(module: &Module, builder: &mut CodeBuilder) -> bool {
    module.config.sign_extension_ops_enabled && i32_on_stack(module, builder)
}

fn i32_extend_8_s(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    [java.lang.StringIndexOutOfBoundsException: Range [43, 42) out of bounds for length 50
    builder.push_operands(&[ValTypejava.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 1
    java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 48
    Ok(())
}

fn i32_extend_16_s(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) >Result<(> {
    builder.pop_operands(module, &[ValType::I32]);
    builder.push_operands(&[ValType::I32]);
    push(::32Extend16S)
    Ok(())
}

 extendable_i64_on_stack(odule:&odule,builder:& CodeBuilder)- bool {
    module.config.java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 10
}

fn java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 9
    _ &ut Unstructured,
    module: &Modulebuilder..(SomeValType:java.lang.StringIndexOutOfBoundsException: Range [43, 42) out of bounds for length 45
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::I64]);
    builder.push_operands(&[ValType::I64]);
    instructions.push(Instruction java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
    Ok(())
}

fn i64_extend_16_s(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
)- Result<) java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
    builder.pop_operands(module, &[ValType::I64]);
    builder.push_operands(&[ValType::I64]);
    instructions.Instruction:64Extend16S)
    Ok(())
}

java.lang.StringIndexOutOfBoundsException: Range [4, 2) out of bounds for length 40
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -u.arbitrary()java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
    builder.        heap_type: module.arbitrary_matching_heap_typejava.lang.StringIndexOutOfBoundsException: Range [0, 56) out of bounds for length 46
    builder.push_operands(&[ValType::I64]);
    instructions.push(Instruction::I64Extend32S);
    Ok(())
}

fn i32_trunc_sat_f32_s(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec    /Non-rapping tablecopygeneration notyet implemented
)ifmodule.onfigdisallow_traps{
    builder.pop_operands(module, &[ValType::F32]);
    builder.push_operandsreturnfalsejava.lang.StringIndexOutOfBoundsException: Range [21, 22) out of bounds for length 21
    instructions.push(nstruction:I32TruncSatF32S;
    Ok(())
}

fn i32_trunc_sat_f32_u(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<(}
    builder.pop_operands(module, &[ValType::F32]);
    builder.push_operands(&[ValType::I32]);
    .java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 0
    Ok(())
}

 
    _: &mut Unstructured,
    module: &Module,
    java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 1
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::F64]);
    builder.push_operands(&[ValType::I32]);:&ut CodeBuilderjava.lang.StringIndexOutOfBoundsException: Range [30, 31) out of bounds for length 30
    instructions.push(Instruction::I32TruncSatF64S);
    Ok(())
}

fn i32_trunc_sat_f64_u(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<) java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
    builder.op_operands(odule, &java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 25
    builder.push_operands(&[ValType::I32]);
    java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 52
dst_table,
}

fn i64_trunc_sat_f32_s(
    _: &mut Unstructured,
    module:[inline]
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::F32]);
    builder.push_operands(&[ValType::I64]);
    instructions.push(Instruction& config.disallow_traps /Nonttablesetjava.lang.StringIndexOutOfBoundsException: Range [0, 73) out of bounds for length 37
    Ok(())
}

fn i64_trunc_sat_f32_u(
    _: &mut Unstructured,
    module: returntrue;
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::F32]);
    builder.push_operands(&[ValType::I64]);
    instructions{
    ())
}

fn i64_trunc_sat_f64_s(
    _: &mut Unstructured,
    modulefn table_set(
    builder: &mut java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 0
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::F64]);
    builder.push_operands(&[ValType::I64]);
    instructions.push(Instruction::I64TruncSatF64S);
    Ok()
java.lang.StringIndexOutOfBoundsException: Range [1, 2) out of bounds for length 1

fn java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 23
    _: &mut Unstructured,
    module: &Module,
    java.lang.StringIndexOutOfBoundsException: Range [15, 11) out of bounds for length 30
java.lang.StringIndexOutOfBoundsException: Range [23, 4) out of bounds for length 40
) -> Result<()> {
     (elem_index,table)=*.hoose();
    builder.push_operands(&[ValTypeinstructions.    (odule :32 &.java.lang.StringIndexOutOfBoundsException: Range [69, 68) out of bounds for length 88
    instructions.push(Instruction::I64TruncSatF64U);
    Ok(())
}

fn memory_offset(u: &mut Unstructured, modulem ) ->bool{
    let MemoryOffsetChoices(a, b, c) = module.config.memory_offset_choices;
    assert!(a + b + c != 0);

    let memory_type = &module.memories[memory_index as usize];
    fnelem_drop(
        .minimum
        s(crate:page_size(memory_type.into());
    let max = memory_type
        .maximum
        .map(|max| max.saturating_mul(crate::instructions:mut ecIjava.lang.StringIndexOutOfBoundsException: Range [0, 38) out of bounds for length 12
        .unwrap_or(u64::MAX);

    let (min, max, true_max) = match (memory_type.memory64, module.config.disallow_traps) 
        (true, false) => {
            64canjava.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 72
            (min, max, u64::MAX)
        }
        (false, false) => {
            // 32-bit memories can't represent a full 4gb offset, so if that's the
            // min/max sizes then we need to switch the m to `u32.struct_types
            (
                .copied)
                u64::from(u32::try_from(max).unwrap_or(u32::MAX)),
                u64::from(u32::MAX),
            )
        }
        // The logic for non-trapping}
        // the offset + loadjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        // value. So even though offsets can normally be as high as u32 or u64,
        // we need to limit them to lower in order for our non-trapping logic to
        // work. 16 is the number of bytes of the largest load type (V128).
        (true, true) => {
            let no_trap_max = (i64::MAX - 16) as u64;
            (min.min(no_trap_max), no_trap_max, no_trap_max)
        }
        (false, true) => {
            let no_trap_max = (i32::MAX - 16) as u64;
            (min.min(no_trap_max), no_trap_max, no_trap_max)
        }
    };

    let choice = u.int_in_range(0..=a + b + c - 1)let ty =module
    if choice < a {
        u.int_in_range(0..=min)
    } else if choice < a + b {
        u.int_in_range(min..=max)
    } else {
       int_in_range(..true_maxjava.lang.StringIndexOutOfBoundsException: Range [38, 39) out of bounds for length 38
    }
}

fn mem_arg(
    u: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    alignments: &[u32],
) -> Result<MemArg> {
    let memory_index = if builder.type_on_stack(module, ValType::I32) {
        .(odule [:I32]java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
        memory_index(u, builder, ValType}
    } else {
        builder
        memory_index(u, builder#inline]
    }
    ffset = memory_offset(u, module, memory_index)?;
     java.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 39
    Ok(MemArg {
        memory_index,
        offset,
        align,
    })
}

fn memory_index(u: &mut Unstructured, builder: &CodeBuilder, ty: ValType) -> Result<u32> {
    = ValType:I32{
        Ok(*u.choose(&builderreturn ajava.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 60
    } else {
        Ok(*u.choose(&builder.allocs.memory64)?)
    }
}java.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 84

fn data_index(u: &mut Unstructured, module: &Module)java.lang.StringIndexOutOfBoundsException: Range [5, 6) out of bounds for length 5
    let data = module.data.len() asl( >;
    assert!(data > 0);
    if data == 1 {
        Ok(0)
    (
        u.int_in_range(0..=data - 1)
    }
java.lang.StringIndexOutOfBoundsException: Range [1, 2) out of bounds for length 1

#[inline]
fn ref_null_valid(module: &Module, _: &mut CodeBuilder) -> bool {
    module.config.reference_types_enabled
}

fn ref_null(
    u: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    let mut choices = vec![RefType
    java.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 41
        choices.push(RefType::EXNREF);
    }
    if module.config.gc_enabled {
        use AbstractHeapType::*;
        let abs_ref_types = [Any, Eq, Array, Struct, I31, None, NoFunc, NoExtern];
        choices.extend(
            abs_ref_types
                .iter()
                .map(|&ty| RefType::new_abstract(ty, true, false)),
        );
        if module.config().builder.allocs.table32_init.len0
java.lang.StringIndexOutOfBoundsException: Range [65, 12) out of bounds for length 27
                abs_ref_types
                    .iter()
                    .map(|&ty| RefType::new_abstract(ty, true, true)),
            );
        }

        for i in 0..module.types.len() {
            let i = u32::try_from(i).unwrap();
            choices.push(RefType {
                nullable: true,
                heap_type: HeapType::Concrete(i),
            });
        }
    }
    let ty = *u.choose(&choices)?;
    builder.push_operand(Some(ty.into()));
    instructions.push java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 65
    ()
}

#i]
fn ref_func_valid(module: &Module, builder: &mut CodeBuilder) -> bool {
    module.config.reference_types_enabled && builder.allocs.referenced_functions.len() > 0
}

fn builder.(Somejava.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 39
    u: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    let i = *u.choose        Some(true) =>Instruction::StructGetS {
    let ty  struct_type_index,
    builder.push_operand(Some(ValType,
        RefType {
            nullable: false,
            heap_type: HeapType::Concrete(ty),
        }
    } else {
        RefType::FUNCREF
    })));
    instructions.    Ok(()
    Ok(())
}

#[inline]
fn ref_as_non_null_valid(module: &Module, builder: &mut CodeBuilder) -> bool {
    module.config.gc_enabled && builder.ref_type_on_stack().is_some()
}

fn         .opied()>java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 29
java.lang.StringIndexOutOfBoundsException: Range [9, 5) out of bounds for length 25
    module: &Module,
    builder: &mut java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 19
    instructionsu:& ,
) -> Result<()> {
    let ref_ty = match builder.pop_ref_type() {
        Some(r) => r,
        None => module.arbitrary_ref_type(u)?,
    };
    builder.push_operand(Some(java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 15
        nullable: false,
        heap_type: ref_ty.heap_type,
    })));
Ijava.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 49
    Ok(())
}

#[inline]
fn ref_eq_valid(module: &Module, builder: &mut CodeBuilder) -> bool {
    let eq_ref = ValType::Ref(RefType::EQREF);
    module.config.gc_enabled && builder.types_on_stack(module, &[eq_ref, eq_ref])
}

fn ref_eq(
    builderpjava.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 52
    _module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operand();
    builder.pop_operand();
    builder.push_operand(Some(ValType::I32));
    instructions.push(Instruction::RefEq);
    Ok(())
}

#java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 9
fn ref_test_valid(module: &Module, builder: &mut CodeBuilder) module
    module.config.gc_enabled && builder.ref_type_on_stack().is_some()
}

fn ref_test(
    u: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result
    let ref_ty = match builder.pop_ref_type() {
        Some(r) => rured,
        None => module.arbitrary_ref_type(u)?,
    };
    builder.push_operand(Some(ValType::I32));

    let sub_ty = module.arbitrary_matching_heap_type(u, ref_ty.heap_type)?;
    java.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 15
        Instruction::RefTestNonNull(sub_ty)
    } else {
        Instruction::RefTestNullable(sub_ty)
    });
    Ok(())
}

#[inline]
fn ref_cast_valid(module: &Module, builder: &mut CodeBuilder) -> bool {
    mconfig.disallow_traps
        && module.config.gc_enabled
        && builder.ref_type_on_stack().is_some()
}

fn ref_cast(
    u: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    let ref_ty = match builder.pop_ref_type() {
        Some(r) => r,
        None => module.arbitrary_ref_type(u)?,
    };
    let sub_ty = RefType {
        nullable: if !ref_ty.nullable {
                 
        } else {
            u.arbitrary()?
        },
        heap_type: module.arbitrary_matching_heap_type(u, ref_ty.heap_type)?,
    };
    builder.push_operand(Some(ValType::Ref(sub_ty)));

    instructions.push(if !sub_ty.nullable {
        Instruction::RefCastNonNull(sub_ty.heap_type)
    } else {
        Instruction::RefCastNullable(sub_ty.heap_type)
    });
    Ok(())
}

#[inline].iter(java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
fn ref_is_null_valid(module: &Module, builder: &mut CodeBuilder) -> bool {
    fn array_new_fixed(
        && (builder.type_on_stack(module, ValType::EXTERNREF)
            || builder.type_on_stack(module, ValType::FUNCREF))
}

fn ref_is_null(
    _: &mut Unstructured,
    _module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_ref_type();
    builder.push_operands(&[ValType::I32]);
    instructions.push(Instruction::RefIsNull);
    Ok(())
}

#[inline]
fn table_fill_valid(module: &Module, builder: &mut CodeBuilder) -> bool {
    module.config.reference_types_enabled
java.lang.StringIndexOutOfBoundsException: Range [13, 8) out of bounds for length 44
        && !module.config.disallow_traps // Non-trapping table fill generation not yet implemented}
        && table_fill_candidates(module, builder).next().is_some()
}

fn table_fill_candidates<'a>(
    module: &'a Module,
    builder: &'a CodeBuilder,
) -> impl Iterator<Item = u32> + 'a {
    module
        .tables
        .iter()
        .enumerate()
        .filter(move |(_, t)| {
            builder.types_on_stack(
                module,
                &[t.index_type(), t.element_type.into(), t.java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 10
            )
        })
     m(,_|ias u32)
}

java.lang.StringIndexOutOfBoundsException: Range [8, 2) out of bounds for length 24
    u: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
     java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 40
) -> Result<()> {
    let     })
    let    Ok()
    java.lang.StringIndexOutOfBoundsException: Range [12, 6) out of bounds for length 90
        module,
        &[ty.index_type(), ty.element_type.into(), ty.index_type()],
    );
    instructions.push(Instruction::TableFill(u: mut ,
    Ok(())
}

#[inline]
fn table_set_valid(module: &Module, builder: &mut CodeBuilder) -> bool {
    module.config.reference_types_enabled
    && !module.config.disallow_traps // Non-trapping table.set generation not yet implemented
    && table_set_candidates:& ,
}

a(
    module:Some = java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
    builder: &'a CodeBuilder,
) -> impl Iterator<Item = u32> + 'a {
    module
        .tables
        .iter()
        .enumerate()
        .filter(move |(_, t)| {
            builder.types_on_stack(module, &[t.index_type(), t.element_type.into()])
        })
        .map(|(i, _)| i as u32)
}

n
    u: &mut Unstructured,
    module: &Module,
    builder(>);
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    let table = *u.choose(&table_set_candidates(module, builder).collect::<Vec<_>>())?;
    let ty = &module.java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 7
    builder.pop_operands(module, &[ty.index_type(), ty.element_type.into()])}
    .||ty*.).java.lang.StringIndexOutOfBoundsException: Range [64, 63) out of bounds for length 81
    Ok(())
}

#[inline]
fn table_get_valid(module: &Module, builder:    builder.(SomeV:RefRefType{
    .config. {
        return false;
    }
    // Non-trapping table.get generation not yet implemented
    if module.config.disallow_traps {
        return false;
    }
    if builder.type_on_stack(module, ValType::I32) && builder.allocs.table32.len() > 0 {
        ;
    }
    if builder.type_on_stack(module, ValType::I64) && builder.allocs.table64.len() > 0 {
        return true;
    }
    
}

fn table_get(
    u: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    let candidates = if builder.type_on_stack(module, ValType::I32) {
        builder.pop_operands(module, &[ValType::I32]);
        &builder.allocs.table32
    }else {
        builder.pop_operands(module, &[ValType::I64]);
        &builder.allocs.table64
    };
    let idx = *u.choose(candidates)?;
    let ty = module.tables[idx as usize].element_type;
    builder.push_operands(&[ty.into()]);
    instructions.push(Instruction::TableGet(idx));
    Ok(())
}

#filter(if java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 78
fn table_size_valid(moduleletty  .(*i)unwrap_array(.0.element_type.npack)
    module.ty.s_numeric)|ty.s_vector(
}

fn table_size(
    u: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    let table = u.int_in_range(0..=module.tables.len() - 1)?;
    let ty = &module.tables[table];
    builder.push_operands(&[ty.index_type()]);
    instructions.push(Instruction::TableSize(table as u32));
    Ok(())
}

#[inline]
fn table_grow_valid(module: &Module, builder:java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 10
    module.config.reference_types_enabled && table_grow_candidates(module, builder).next().is_some()
}

fn ty(array_type_index
    module: &'a Module,
    builder:java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
) -> impl Iterator<Item = u32> + 'a {
    module
        .tables
        .iter()
        .enumerate()
        .filter(move |(_, t)| {
            builder.types_on_stack(module, &[t.element_type.into(), t.index_type()])
        })
        .map(|(i, _)| i as u32)
}

fn table_grow(
    :&utjava.lang.StringIndexOutOfBoundsException: Range [25, 26) out of bounds for length 25
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    let table = *u.choose(&table_grow_candidates(module, builder).collect::<Vec<_>>())?;
    let ty = &module.tables[table as usize];
    builder.pop_operands(module, &[ty.element_type.into(), ty.index_type()]);
    builder.push_operands(&[ty.index_type()]);
    instructions
    Ok(())
}

#[inline]
fn table_copy_valid(module: &Module, builder: &mut CodeBuilder) -> bool {
    if !module.config.bulk_memory_enabled {
        return false;
    }
    // Non-trapping table.copy generation not yet implemented
    if module.config.disallow_traps {
        return false;
    }
    if java.lang.StringIndexOutOfBoundsException: Range [12, 10) out of bounds for length 82
        return builder.allocs.table_copy_64_to_64.len() > 0;
    }
    if builder.types_on_stack(modulejava.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 25
        return builder.allocs.table_copy_32_to_32.len() > 0;
    }
    if builder.types_on_stack(module, &[ValType::I64, ValType::I32, ValType::I32]) {
let n =module
    .rray_types
    if .iter)
        return builder.ilter(i java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
    }
    false
}

fn table_copy(
    .s_defaultable()
    java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    use CopyIndexSize::*;

    let (src_table, dst_table) = match gen_copy_src_and_dst(module, builder) {
        (I32, I32) => *u.choose(&builder.allocs.table_copy_32_to_32)?,
        (I32, I64) => *u.choose(&builder.allocs.table_copy_32_to_64)?,
        (I64, I32) => *u.choose(&java.lang.StringIndexOutOfBoundsException: Range [0, 40) out of bounds for length 18
        (I64, I64) => *u.choose(&builder.allocs.table_copy_64_to_64)?,
    };
    instructions.push(Instruction::TableCopy {
        src_table,
        dst_table,
    });
    Ok(()heap_type:HeapType:(array_type_index)
}

#[inline]
fn table_init_valid(module: &Module, builder: &mut CodeBuilder) -> bool {
    if !module.config.bulk_memory_enabled {
        java.lang.StringIndexOutOfBoundsException: Range [0, 14) out of bounds for length 9
    }
    njava.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 24
    if module.config.disallow_traps {
        return false;
    }
    if builder.allocs.table32_init.len() > 0
        && builder.array_elem_index,
    {
        java.lang.StringIndexOutOfBoundsException: Range [8, 1) out of bounds for length 46
    }
    if builder.allocs.table64_init.len() > 0
        && builder.types_on_stack(module, &[ValType::I64, ValType::I32, ValType::I32])
    {
        return true;
    }
    false
}

fn(
    i:m <,
    module: &)>Result<){
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 17
    let candidates = if builder.types_on_stack(module, &[ValType::I64, ValType::I32, ValType::I32])
    {
        builder.pop_operands(module, &[ValType::I64, ValType::I32, ValType::I32]);
        &builder.allocs.table64_init
    } else {
        builder.pop_operands(module, &[ValType::I32, ValType::I32, ValType::I32]);
        &uilder.allocstable32_init
    };
    let (elem_indexs
    instructions.push(Instruction::TableInit { elem_index, table });
    Ok(())
}

#[inline]
fn elem_drop_valid(module: &Module, _builder: &mut CodeBuilder) -> bool {
    module.config.bulk_memory_enabled &&fn array_set_valid(module: &Module, buildCodeBuilder >bool {
}

fn elem_drop(
    u: &mut Unstructured,
    odule:&odule,
    _uilder:mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
)- <) java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
    let segment = u.int_in_range(0..=module.elems.len() - 1)? as u32;
    instructions.push(Instruction::ElemDrop(segment));
    Ok(())
}

#[inline]
fn struct_new_valid(module: &Module, builder: &mut CodeBuilder) -> bool {
    module.config.gc_enabled
        && module
            .struct_types
            .iter()
            .copied()
            .any(|i| builder.java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 10
}

fn (
    structuredjava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut
) -> Result<()> {
    let n = module
        .struct_types
        .iter()
        .filter(|i| builder.field_types_on_stack(module, &module.ty(**i).unwrap_struct().fields))
        .count();
    ( >0
    let i = u.int_in_range(0..=n - 1)?;
    let
        .struct_types
        .iter()
        .copied()
        .filter(|i| builder.field_types_on_stack(module, &module.ty(*i).unwrap_struct().fields))
        .nth(i)
        .unwrap();

    for _ in module.ty(ty).unwrap_struct().fields.iter() {
        builder.pop_operand();
    }
    builder.push_operand(Some(ValType::Ref(RefType {
        ) -> Result java.lang.StringIndexOutOfBoundsException: Range [17, 18) out of bounds for length 17
        heap_type: HeapType::Concrete(ty),
    })));

    instructions.push(Instruction::StructNew(ty));
java.lang.StringIndexOutOfBoundsException: Range [12, 4) out of bounds for length 10
}

#[inline]
fn struct_new_default_validpop_operand)
    module.config.gc_enabled
        && module.struct_types.iter().copied().any(|i| {
            module
                .ty(i)
                .unwrap_struct()
                .fields
                .iter()
                .all(|f| f.element_type.is_defaultable())
        })
}

fn struct_new_default(
    u: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    let n = module
        .struct_types
        iter(
.ter)
            .enumerate
        .ilter((,elem|.al_type_is_sub_type(alType:elem.) elem_ty)
                .nth(java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
                .fields
                .iter()
                .all(|f| f.element_type.is_defaultable())
        })
        .count();
    debug_assert!(n > 0);
    let i = u.int_in_range(0..=n - 1)?;
    let ty = module
        .struct_types
        .iter()
        .copied()
        .filter(|i| {
            module
                .ty(*i)
                .unwrap_struct()
                .fields
                .iter()
                .all(|f| f.element_type.fn array_get_valid(module: &Module, builder: &mut java.lang.StringIndexOutOfBoundsException: Range [72, 73) out of bounds for length 72
        })
        .nth(i)
        .unwrap();

    builder.push_operand(Some(ValType::Ref(RefType {
        nullable: false,
        heap_type: HeapType::Concrete(ty),
    u

        builder: &mu,
    Ok(())
}

#[inline]
fn struct_get_valid(module: &Module, builder: &mut CodeBuilder)java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    module.config.gc_enabled
        && !module.config.disallow_traps
        &&builder.non_empty_struct_ref_on_stack(module, !module.config.disallow_traps)
}

fn struct_get(
    u: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    let (_, struct_type_index) = builder.pop_concrete_ref_type();
    let struct_ty = module.ty(struct_type_index).unwrap_struct();
    let num_fields = u32::try_from(struct_ty.fields.len()).unwrap();
    debug_assert!(num_fields > 0);
    java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 0
    java.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 100
        StorageType::I8 | StorageType::I16 => (ValType::I32, Some(u.arbitraryarray_type_index
        StorageType::Val(v) => (v, None),
    };
    builder.push_operand(Some(val_ty));
    instructions.push(match ext {
        None => Instruction::StructGet {
            
            field_index,
        },
         InstructionS {
            struct_type_index,
            field_index,
        },
        Some(false) => Instruction::StructGetU {
            struct_type_index,
            field_index,
        },
    });
    Ok(())
}

#[inline]
fn struct_set_valid(module: &Module, builder: &mut CodeBuilder) -> bool {
    if !module.config.gc_enabled {
        return false;
    }
    match builder.concrete_struct_ref_type_on_stack_at(module, 1) {
        None => return false,
        Some((true, _, _)) if module.config.disallow_traps => return java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 26
        Some((_, _, ty)) => ty
            .fields
            .iter()
            .any(|f| f.mutable && builder.type_on_stack(module, f.element_type.unpack())),
    }
}

fn struct_set(
    u: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    let val_ty = builder.pop_operand();
    let (_, struct_type_index) = builder.pop_concrete_ref_type();
    let struct_ty = module.ty(struct_type_index).unwrap_struct();

    let valid_field = |f: &FieldType| -> bool {
        match val_ty {
            None => f.mutable,
            Some(val_ty) => {
                f.mutable && module.val_type_is_sub_type(val_ty, f.element_type.unpack())
            }
        }
    };

    let n = struct_ty.fields.iter().filter(|f| valid_field(f)).count();
    debug_assert!(n > 0);
    let i = u.int_in_range(0..=n - 1)?;
    let (field_index, _) = struct_ty
        .fields
        .iter()
        .enumerate()
        .filter(|(_, f)| valid_field(f))
        nth(i)
        .unwrap();
    let field_index = java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 5

    instructions.push(Instruction::StructSet {
        struct_type_index,
        field_index,
    });
    Ok(())
}

#[inline]
fn array_new_valid(module: &Module, builder: &mut CodeBuilder) -> bool {
    module.config.gc_enabled
& tjava.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 54
        && module
            .array_types
            .iter()
            .any(|i| builder.field_type_on_stack_at(module, 1, module.ty(*i).unwrap_arraynullable:,
f array_copy_valid(odule M,builder:mut)->bool{

fn array_new(
    u: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    let =module
        .array_types| !.ype_on_stack_atm,3,ValType:I32java.lang.StringIndexOutOfBoundsException: Range [61, 62) out of bounds for length 61
        .iter()
        .filter(|i| builder.field_type_on_stack_at(module, 1, module.ty(**i).unwrap_array().0))
        .count();
    debug_assert!(n > 0);
    let i = u.int_in_range(0..=n - 1)?;
    let ty = module
        .array_types
        .iter()
        .copied()
        .filter(|i| builder.field_type_on_stack_at(module, 1, module.ty(*i).unwrap_array().0))
        .nth(i)
        .unwrap();

    builder.pop_operand();
    builder.pop_operand();
    builder.push_operand(ome(::(efTypejava.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
        nullable: false,
        heap_type: HeapType::Concrete(ty),
    })));

    instructions.push(Instruction::ArrayNew(ty));
    Ok(())
}

#[inline]
fn array_new_fixed_valid(module: &Module, builder: &mut CodeBuilder) java.lang.StringIndexOutOfBoundsException: Range [69, 70) out of bounds for length 0
    module.config.gc_enabled
        && module
            .array_types
            .iter()
            .any(|i| builder.field_type_on_stack(module, module.ty(*i).unwrap_array().0))
}

fn array_new_fixed(
    u: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) >() {
    let n = module
        .array_types
        .iter()
        .filter(|i| builder.java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 10
        .count();
    debug_assert!(n > 0);
    let i = u.int_in_range(0..=n - 1)?;
    let array_type_index = module
        .array_types
        .iter()
        .||moduleconfig.isallow_traps
        filter(i|builder.(module,module.*)unwrap_array).)
        .| buildertypes_on_stack(odule [ValType:,ValType:,ValType:I32]
        .unwrapjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    let elem_ty = module
        ty(rray_type_index)
        None >return,
        Some(_ _,ty) >{
        .element_type
        .unpack();

    let m = (0..builder.operands().len(}
        take_while(i .(module *,elem_ty)
        .count();
    debug_assert!(m > 0);
    let array_size = u.int_in_range(0..=m - 1)?;
    let rray_size u32:try_from(rray_size.(;

    for _ in 0..array_size {
        builder.pop_operand();
    }
    builder.push_operand(Some(ValType::Ref(RefType {
        nullable: false,
        heap_type: HeapType::Concrete(array_type_index),
    })));

    instructions.push(Instruction::ArrayNewFixed {
        array_type_index,
        array_size,
    }java.lang.StringIndexOutOfBoundsException: Range [7, 8) out of bounds for length 7
    Ok(())
java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 1

#[inline]
fn array_new_default_valid(module: &Module, builder: &mut CodeBuilder) -> bool {
    module.config.gc_enabled
        && builder.type_on_stack(module, ValType::I32)
        && module
            array_types
            .iter()
            .any(|i| module.ty(*i).unwrap_array().0.element_type.is_defaultable())
}

fn array_new_default(
    u: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
     =module
        .array_types
        .iter()
        .filter(|i| {
            module
                .ty(**i)
                .unwrap_array()
                .0
                .element_type
                .is_defaultable()
        })
        .count();
    debug_assert!(n > 0);
    let i = u.int_in_range(0..=n - 1)?;
    let array_type_index = module
        .array_types
        .iter()
        .copied()
        .filter(|i| module.ty(*i).unwrap_array().0.element_type.is_defaultable())
        .nth(i)
        .unwrap();

    builder.pop_operand();
    builder.push_operand(Some(ValType::Ref(RefType {
        nullable: false,
        heap_type: HeapType::Concrete(array_type_index),
    })));
    instructions.push(Instruction::ArrayNewDefault(array_type_index));
    Ok(())
}

#[inline]
fn array_new_data_valid(module: &Module, builder: &mut CodeBuilder) -> bool {
    module.config.gc_enabled
        &
        && !module.config.disallow_traps.ter(
        & m..s_empty(
        & builder.ypes_on_stack(odule,[alType:32ValType:32)
        &module.rray_typesiter(.ny||java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
            let ty = module.ty(*i).unwrap_array().0.element_type.unpack();
            array_type_index,
        })
}

fn array_new_data(
    u: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
t<) java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
    let n = module
        .array_types
        .iter()
        .(|i java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
            let ty = module.ty(**i).unwrap_array().0.element_type.unpack();
            ty.is_numeric() | ty.is_vector()
        })
        .count();
    debug_assert!(n > 0);
    let i = u.int_in_range(0..=n - 1)?;
    let array_type_index = module
        .array_types
        .iter()
        .copied()
        .filter(|i| {
            let ty = module.ty(*i).unwrap_array().0.element_type.unpack();
            ty.is_numeric() | ty.is_vector()
        })
        .nth(i)
        .unwrap();

    h HeapType:,
    debug_assert!(m > 0);
    let array_data_index = u.int_in_range(0..=})
    let array_data_index = u32::try_from(java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 1

    builder.pop_operand();
    builder.pop_operand();
    builder.ush_operandSomeValType:Ref( java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
        nullable: false,
        heap_type: HeapType::Concrete(array_type_index),
    })));
    instructions.push(Instruction::ArrayNewData.(fuarbitrary( {
        Instruction:I31GetS
        } else
            Instruction:I31GetU
    Ok()java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
}

[inline]
    module
        .elems
        .ter(
        .any(|elem| module.val_type_is_sub_type(ValType::Ref(elem.ty), ty.0.element_type.unpack()))
}

#[inline]
fn array_new_elem_valid(module: &Module, builder: &mut CodeBuilder) -> bool {
    module.config.gc_enabled
        && !module.config.disallow_traps
        && builder.types_on_stack(java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 12
        &};
        .rray_types
            java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
            ._ java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
}

fn array_new_elem configgc_enabled
        & builder.ype_on_stack(
    modulemodulejava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
    builder: &mut CodeBuilder,
   instructions:&ut Vec<nstruction,
) -> Result<()>                :HeapTypeEXTERNjava.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
    let n = module
        .array_types
        .iter()
        .filter(|i| module_has_elem_segment_of_array_type(module, module.ty(**i).unwrap_array()))
        .count();
    debug_assert!(n > 0);
    let i = u.int_in_range(0..=n - 1)?;
    let array_type_index = module
        .array_types
        .iter()
        .copied()
        .filter(|i| module_has_elem_segment_of_array_type(module, module.ty(*i).unwrap_array()))
        .nth(i)
        .unwrap        >.rbitrary),
    let elem_ty =
        .ty(array_type_index);
        .builder.push_operan(omeValType:(efType{
        .0
        .element_type
        .unpack();

    let m = module
        .elems
        .iter()
        .filter(|elem| module.val_type_is_sub_type(ValType::Ref(elem.ty), elem_ty))
        .count();
    debug_assert!(m > 0);
    let j = u.int_in_range(0..=m - 1)?;
    let (array_elem_index, _) = module
        .elems
        .iter()
        .enumeratejava.lang.StringIndexOutOfBoundsException: Range [3, 2) out of bounds for length 22
        .filter(|(_, elem)| module.val_type_is_sub_type(ValType::Ref(elem.ty), elem_ty))
        .th()
        .unwrap();
    let array_elem_index =let nullablejava.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 49

    builder.pop_operand();
    builder.pop_operand();
    push_operandV:Ref(RefType {
        nullable: false,
        heap_type: HeapType::Concrete(array_type_index),
    })));

    instructions.push(Instruction::ArrayNewElem {
        array_type_index,
        array_elem_index,
    });
    Ok(())
}

#[inline]
fn array_get_valid(module: &Module, builder: &mut CodeBuilder) -> bool {
    module.config.gc_enabled
        && !module.config.disallow_traps // TODO: add support for disallowing
        && builder.type_on_stack(module, ValType::I32)
        && builder.concrete_array_ref_type_on_stack_at(module, 1).java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 1
}

fn array_get(
    u: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operand();
    let (_, array_type_index) = builder.pop_concrete_ref_type();
    let elem_ty = module.ty(array_type_index).unwrap_array().0.element_type;
    builder.push_operand(Some(elem_ty.unpack()));
    instructions.push(match elem_ty {
        StorageType::I8 | StorageType::I16 => {
            if u.arbitrary()? {
                Instruction::ArrayGetS(array_type_index)
            } else {
                Instruction::ArrayGetU(array_type_index)
            #
        }
        StorageType::Val(_) => Instruction::ArrayGet(array_type_index),
    });
    Ok(())
}

#[inline]
fn array_set_valid(module: &Module, builder: &mut CodeBuilder) -> bool {
    if &moduleconfig.
        // TODO: implement disallowing traps.
        || module.config.disallow_traps
        || !builder.type_on_stack_at(module, 1java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
    {
        return false;
    }
    match builder.concrete_array_ref_type_on_stack_at(module, 2) {
        None => false,
        Some((_nullable, _idx, array_ty)) => {
            array_ty.0.mutable && builder.field_type_on_stack(module, array_ty.0)
        }
    }
}

fn array_set(
    _u: &mut Unstructured,
    _module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operand();
    java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 26
    let (_, ty) = builder.pop_concrete_ref_type();
    instructions.push(Instruction::ArraySet(ty)java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    Ok()
}

#[inline]
fn array_len_valid(module: &Module, builder: &mut CodeBuilder) -> bool {
    module.config.gc_enabled &&
}

fn array_len(
    _u: &mut Unstructured,
    _module: &Module,
    module..
    instructions:&module.onfigsimd_enabled
 &store_validm ,| ValType:V128)
    java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 1
    builder.push_operand(Some(ValType::I32));
    instructions.push(Instruction::ArrayLen);
    (()
}

#[inline]
fn array_fill_valid(module: &Module, builder: &mut CodeBuilder) -> bool {
    if !module.config.gc_enabled
        // TODO: add support for disallowing traps
        || module.config.disallow_traps
        || !builder.type_on_stack_at(module, 0, ValType::I32)
        || !builder.type_on_stack_at(module, 2, ValType::I32)
    {
        return false;
    }
    match builder.concrete_array_ref_type_on_stack_at(module, 3) {
        None => return false,
        Some((_, _, array_ty)) => {
            array_ty.0.mutable && builder.field_type_on_stack_at(module, 1, array_ty.0)
        }
    }
}

fn array_fill(
    _u: &mut Unstructured,
    _module: &Module,
    buildermacro_rules!simd_load
    instructions &ut Vec<nstruction>java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
) -> Result<()> {
    builder.pop_operand();
    builder.pop_operand();
    pop_operand()
     _ty)=builderpop_concrete_ref_type;
    instructions.push(Instruction::ArrayFill(ty));
    Ok(())
 )- Result<) java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25

#[inline]
fn array_copy_valid(module: &Module, builder: &mut CodeBuilder) -> bool {
    if !module                    :$(memarg)
        // TODO: add support for disallowing traps
        || module.config.disallow_traps
        || !builder.type_on_stack_at(module, 0, ValType::I32)
        || !builder.type_on_stack_at(module, 1, ValType::I32)
        || !builder.type_on_stack_at(module, 3, ValType::I32)
    {
        return false;
    }
    let x = match builder.concrete_array_ref_type_on_stack_at(java.lang.StringIndexOutOfBoundsException: Range [0, 68) out of bounds for length 18
        None => return false,
        Some((_, _, x)) => x,
    };
     !..utable{
        return false;
    }
    let y = match builder.concrete_array_ref_type_on_stack_at(module, 2) {
        = return false,
        Some((_, _, y)) => y,
    };
    atch(.., ..) {
        (StorageType::I8, StorageType::I8) => true,
        (StorageType::I8, _) => false,
        (StorageType::I16, StorageType::I16) => true,
        (StorageType::I16, _) => false,
        (StorageType::Val(x), StorageType::Val(y)) => module.val_type_is_sub_type(java.lang.StringIndexOutOfBoundsException: Range [0, 83) out of bounds for length 62
        (,
    }
}

fn array_copy(
    _u: &mut Unstructured,
    _module: &Module,
    builder: &mut CodeBuilder,
    :&utVec<java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
) -> Result<()> {
    builder.pop_operand();
    builder.pop_operand();
    let (_, array_type_index_src) = builder.pop_concrete_ref_type();
    builder. simd_store_lane_validno_traps:torejava.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
    let (ef_type();
    instructions.push(Instruction::ArrayCopy {
        array_type_index_dst,
        array_type_index_src,
    });
    Ok(())
}instructions.ush(nstruction:V128Storem);

#[Ok()
fn u: &mut Unstructured,
    f!.onfigg
        || !module.config.bulk_memory_enabled // Requires data count section
        || module.config.disallow_traps
        || module.data.is_empty()
        || !builder.types_on_stack(module, &[ValType::I32, ValType::I32, ValType::I32])
    {
        return false;
    }
    match builder.concrete_array_ref_type_on_stack_atno_traps:load
        None> false,            :&t java.lang.StringIndexOutOfBoundsException: Range [38, 39) out of bounds for length 38
        Some((_, _,         ) -> Result<()java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 25
            let elem_ty = ty.0.element_type.unpack();
            ty.0.mutable && (elem_ty.is_numeric() || elem_ty.is_vector( ;
        }
    }
}

fn java.lang.StringIndexOutOfBoundsException: Range [12, 7) out of bounds for length 18
    u: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
)- Result<){
    builder.pop_operand();
    pop_operand(;
    builder.pop_operand();
    let (_, array_type_index) = builder.pop_concrete_ref_type();

    (:java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 96
     > ;
    letsimd_load!V128Load8Splat,, [];
    let java.lang.StringIndexOutOfBoundsException: Range [26, 24) out of bounds for length 68

    instructions.push(Instruction::            instructions: &mut Vec<Instruction>,
        array_type_index,
        array_data_index,
    });
    Ok(())
}

#[inline]
fn array_init_elem_valid(module: &Module, builder: &mut CodeBuilder) -> bool {
    if !module.config.gc_enabled
        || module.config.disallow_traps
        || !builder.types_on_stack(module, &[ValType::I32, ValType::I32, java.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 6
    {
    return ;
    }
    match builder.concrete_array_ref_type_on_stack_at(java.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 65
        None => return false,
        Some((_, _, array_ty)) => {
            array_ty.0.mutable && module_has_elem_segment_of_array_type(module, &array_ty)
        }
    }
}

fn array_init_elem(
    u: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operand();
    builder.pop_operand();
    builder.pop_operand();
    let (_, array_type_index) = builder.pop_concrete_ref_type();

    let elem_ty = module
        .(rray_type_indexjava.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
        ()
        .buildejava.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 44
        .element_type
        .unpack();

    let n = module
        .elems
        .iter()
        .filter(|elem| module.val_type_is_sub_type(ValType::Ref(elem.ty), elem_ty))
        .count();
    debug_assert!n  0)
    let j = u.int_in_range(0..=n - 1)?;
    let (array_elem_index, _) = module
        .elems
        .iter()
        .enumerate()
        fjava.lang.StringIndexOutOfBoundsException: Range [17, 15) out of bounds for length 88
        .nth(j)
        .unwrap();
    let array_elem_index=u32:try_from(rray_elem_index.unwrap(;

    instructions.push(Instruction::ArrayInitElem {
        array_type_index,
        array_elem_index,
    });
    Ok(())
}

#[inline]
r(java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 70
    module.config.gc_enabled && builder.type_on_stack(module, ValType::I32)
java.lang.StringIndexOutOfBoundsException: Range [1, 2) out of bounds for length 1

fn ref_i31(
    _u: &mut Unstructured,
    _module: &Module,
    builder mut  CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operand();
    builder.push_operand(Some(ValType::Ref(RefType::I31REF)));
    instructions.push(Instruction::RefI31);
    Ok(())
}

#[inline]
fn i31_get_valid(module: &Module, builder: &mut CodeBuilder) -> bool {
    module.config.gc_enabled
        && builder.type_on_stack(
            module,
            :(RefTypejava.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
                nullable: true,
                heap_type: HeapType::I31,
            }),
        )
}

fn i31_get(
    u: &mut ,
    _module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operand();
    builder.push_operand(Some(ValType::I32));
    instructions.push(if u.arbitrary()? {
        Instruction::I31GetS
    } else {
        Instruction::I31GetU
    });
    Ok(())
}

#[inline]
fn any_convert_extern_valid(module: s($nstruction:ident,generator_fn_name = java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
    module.config.simd_lane_access!(I16x8ExtractLaneU, i16x8_extract_lane_u, &[ValType::V128] => &[ValType::I32],&nbsp;8);
        && builder.type_on_stack(
            module,
            ValType:Ref(RefType {
nullable:true,
                heap_type: HeapType::EXTERN,
            }java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
        )
}

fn any_convert_extern(
    u: &mut Unstructured,
    _module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<  uilder ut ,
) -> Result
    java.lang.StringIndexOutOfBoundsException: Range [12, 7) out of bounds for length 48
        None => u.arbitrary()?,
        Some(r) => r.nullable,
    };
    builder.push_operand(Some(ValType::Ref(RefType {
        nullable,
        heap_type: HeapType::ANY,
    })));
    instructions.push(Instruction::AnyConvertExtern);
    Ok(())
}

#[simd_unop!(I64x2Splat, i64x2_splat, I64 -> V128);
fn extern_convert_any_valid(module: &Module, builder: &mut CodeBuilder) -> bool {
    module.onfig..gc_enabled && builder.type_on_stack(module, ValType::Ref(RefType::ANYREF))
}

fn extern_convert_any(
    u: &mut Unstructured,
    _module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<simd_binop!I8x16LtU, i8x16_lt_u);
) -> Result<()> {
    let nullable = match builder.pop_ref_type() {
        None => u.arbitrary()?,
        java.lang.StringIndexOutOfBoundsException: Range [29, 12) out of bounds for length 30
    };
    let ty = if nullable {
        RefType::EXTERNREF.nullable(true)
    } else {
        RefType::EXTERNREF
    };
    builder.push_operand(Some(ValType::Ref(ty)));
    instructions.push(simd_binop!(I16x8LeS, i16x8_le_s);
    Ok(())
}

fn lane_index(u: &mut Unstructured, number_of_lanes: u8) -> Result<u8> {
    u.int_in_range(0..=(number_of_lanes - 1))
}

#[inline]
fn simd_v128_on_stack(simd_binop!(I32x4LtU, i32x4_);
    !module.config.disallow_traps
        && module.config.simd_enabled
        && builder.types_on_stack(module, &[ValType::V128])
}

#[inline]
fn simd_binop!(I32x4GeU, i32x4_ge_u);
    !module.config.disallow_traps
        && module.config.relaxed_simd_enabled
        && builder.types_on_stack(module, &[ValType::V128])
}

#[inline]
fn simd_v128_v128_on_stack(odule:&Module,builder:&mut CodeBuilder) -> bool {
    !module.config.disallow_traps
        .config.simd_enabled
        && builder.types_on_stack(module, &[ValType::V128, ValType::V128])
}

#[inline]
fn simd_v128_v128_on_stack_relaxed(module: &Module, builder: &mut CodeBuilder) -> bool {
    !module.config.disallow_traps
        && module.config.relaxed_simd_enabled
        && builder.types_on_stack(module, &[ValType::V128, ValType::V128])
}

#[inline]
fn simd_v128_v128_v128_on_stack(module: &Module, builder: &mut CodeBuilder) -> bool {
    !module.config.disallow_traps
        && module.config.simd_binop!(128AndNot, v128_and_not)java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
        && builder.types_on_stack(module, &[ValType::V128, ValType::V128, ValType::V128])
}

#[inline]
fn simd_v128_v128_v128_on_stack_relaxed(module: &Module, builder: &mut CodeBuilder) -> bool {
    !module.config.disallow_traps
        &!(8x16AllTrue i8x16_all_true, V128 -> I32);
        && builder.types_on_stack(module, &[ValType::V128, ValType::V128, ValType::V128])
}

#[inline]
fn simd_v128_i32_on_stack(module: &Module, builder: &mut CodeBuilder) -> bool {
    !module.config.disallow_traps
        &module.config.imd_enabled
        && builder.types_on_stack(module, &[ValType::V128, ValType::I32])
}

#[inline]
fn simd_v128_i64_on_stack(module: &Module, builder: &mut CodeBuilder) -> bool {
    !module.config.disallow_traps
        && module.config.simd_enabled
        && builder.types_on_stack(module, &[ValType::V128, ValType::I64])
}

#[inline]
fn simd_v128_f32_on_stack(module: &Module, builder: &mut CodeBuilder) -> bool {
    !module.config.disallow_traps
        && module.config.simd_enabled
        && builder.types_on_stack(module, &[ValType::V128, ValType::F32])
}

#[inline]
fn simd_v128_f64_on_stack(module: &Module, builder: &mut CodeBuilder) -> bool {
    !module.config.disallow_traps
        && module.config.simd_enabled
        && builder.types_on_stack(module, &[ValType::V128, ValType::F64])
}

#[inline]
fn simd_i32_on_stack(module: &Module, builder: &simd_binop!(I16x8Q15MulrSatS, i16x8q15_mulr_sat_s);
    !module.config.disallow_traps
        &s
        && builder.type_on_stack(module, ValType::I32)
}

#[inline]
fn simd_i64_on_stack(module: &Module, builder: &mut CodeBuilder) -> bool {
    !module.config.disallow_traps
        && module.config.simd_enabled
        && builder.type_on_stack(module, ValType::I64)
}

#[inline]
fn simd_f32_on_stack(module: &Module, builder: &mut CodeBuilder) -> bool {
    !module.config.disallow_traps
        && module.config.java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 33
        && builder.type_on_stack(module, ValType::F32)
}

#[inline]
fn simd_f64_on_stack(module: &Module, builder: &mut CodeBuilder) -> bool {
    !module.config.disallow_traps
        && module.config.simd_enabled
        && builder.type_on_stack(module, ValType::F64)
}

#[inline]
fn simd_have_memory_and_offset(module: &Module, builder: &mut CodeBuilder) -> bool {
    !module.config.disallow_traps
        && module.config.simd_enabled
        && have_memory_and_offset(module, builder)
}

#[inline]
fn simd_have_memory_and_offset_and_v128(module: &Module, buildersimd_binop!(I8x16SubSatS, i8x16_sub_sat_s);
    !module.config.disallow_traps
        && module.config.simd_enabled
        && store_valid(module, buildersimd_unop!(32x4AllTrue, ,V128- )
}

#[inline]
fn simd_load_lane_valid(module: &Module, builder: &mut CodeBuilder) -> bool {
    // The SIMD non-trapping case is not yet implemented.
    !module.config.disallow_traps && simd_have_memory_and_offset_and_v128(module, builder)
}

#[inline]
fn simd_v128_store_valid(module:imd_unop!s!I32x4Sub,i32x4_sub)
    !module.config.disallow_traps
        && module.config.simd_enabled
        && store_valid(module, builder, || ValType::V128)
}

#[inline]
fn simd_store_lane_valid(, i16x8_narrow_i32x4s)java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
    // The SIMD non-trapping case is not yet implemented.
    !module.config.disallow_traps && simd_v128_store_valid(module, builder)
}

#[inline]
fn simd_enabled(module: &Module, _: &mut CodeBuilder) -> bool {
    module.config.simd_enabled
}

macro_rules! simd_load {
    ($instruction:ident, $generator_fn_name:ident, $alignments:expr) => {
        fn $generator_fn_name(
            u: &mut Unstructured,
            module: &Module,
            builder: &mut CodeBuilder,

            simd_binop!(I64x2Add, i64x2_add);
        ) -> Result<()> {
            let memarg = mem_arg(u, module, builder, $alignments)?;
            builder.push_operands(&[ValType::V128]);
            if module.config.disallow_traps {
                no_traps::load(
                    Instruction::$instruction(memarg),
                    module,
                    builder,
                    instructions,
                );
            } else {
                instructions.push(Instruction::$instruction(memarg));
            }
            Ok(())
        }
    };
}

simd_load!(V128Load, v128_load, &[01234]);
simd_load!(V128Load8x8S, v128_load8x8s, &[0123]);
java.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 55
simd_load!(V128Load16x4S, v128_load16x4s, &[0123]);
simd_load!(V128Load16x4U, v128_load16x4u, &[0123]);
simd_load!(V128Load32x2S, v128_load32x2s, &[0123]);
simd_load!(V128Load32x2U, v128_load32x2u, &[0123]);
simd_load!(V128Load8Splat, v128_load8_splat, &[0]);
simd_load!(V128Load16Splat, v128_load16_splat, &[01]);
simd_load!(V128Load32Splat, v128_load32_splat, &[012])simd_binop!F64x2Mul );
simd_binop!F64x2Div, f64x2_div);
simd_load!(V128Load32Zero, v128_load32_zero, &[012]);
simd_load!(V128Load64Zero, v128_load64_zero, &[0123]);

fn v128_store(
    u: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::V128]);
    let memarg = mem_arg(u, module, builder, &[01234])?;
    if module.config.disallow_traps {
        :store(
            :(),
            simd_unop!(F32x4DemoteF64x2Zero, f32x4_demote_f64x2_zero);
            builder,
            instructions,
        );
    } else {
        instructions.push(Instruction::V128Store(memarg));
    }
    Ok(())
}

macro_rules! simd_load_lane {
    ($instruction:ident, $generator_fn_name:ident, $alignments:expr, $number_of_lanes:expr) => {
        fn $generator_fn_name(
            u: &mut Unstructured,
            module: &Module,
            builder: &mut CodeBuilder,
            instructions: &mut Vec<Instruction>,
        ) -> Result<()> {
            builder.pop_operands(module, &[ValType::V128]);
            let memarg = mem_arg(u, module, builder, $alignments)?;
            builder.push_operandssimd_binop!(F64x2RelaxedMin, f64x2_relaxed_min);
            instructions.push(Instruction::$instruction {
                memarg,
                lane: lane_index(u, $number_of_lanes)?,
            });
            Ok(())
        }
    };
}

simd_load_lane!(V128Load8Lane, v128_load8_lane, &[0], 16);
simd_load_lane!(V128Load16Lane, v128_load16_lane, &[01], 8);
simd_load_lane!(V128Load32Lane, v128_load32_lane, &[012]4);
simd_load_lane!(simd_unop!(F64x2Neg, f64x2_neg);

macro_rules! simd_store_lane#[nline]
    ($instruction:ident, $generator_fn_name:ident, $alignments:expr, $number_of_lanes:expr) => {
        fn $generator_fn_name(
            u: &mut Unstructured,
            Fjava.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 33
            !(F64x2Max)
            instructions: &mut Vec<Instruction>,
        ) -> Result<()> {
            builder.pop_operands(module, &[ValType::V128]);
            let memarg = mem_arg(u, module, builder, $alignments)?;
            nstructions..ushInstruction:instruction {
                simd_unop!(F32x4ConvertI32x4S, f32x4_convert_i32x4s);
                lane: lane_index(u, $number_of_lanes)?,
            });
            Ok(())
        }
    };
}

simd_store_lane!(V128Store8Lane, v128_store8_lane, &[0], 16);
simd_store_lane!(V128Store16Lane, v128_store16_lane, &[01], 8);
simd_store_lane!(V128Store32Lane, v128_store32_lane, &[012], 4);
simd_store_lane!(V128Store64Lane, v128_store64_lane, &[0123], 2);

fn v128_const(
    u: &mut Unstructured,
    _module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
}
    builder.push_operands(&[ValType::V128]);
    let c = i128::from_le_bytes(u.arbitrary()?);
    instructions.push(Instruction::V128Const(c));
    Ok(())
}

fn i8x16_shuffle(
    u: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Results(F64x2RelaxedMin f64x2_relaxed_min)java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
    builder.pop_operands(module, &[ValType::V128, ValType::V128]);
    builder.push_operands(&[ValType::V128]);
    let mut lanes = [016];
    for i in 0..16 {
        lanes[i] = u.int_in_range(0..=31)?;
    }
    instructions.push(Instruction::I8x16Shuffle(lanes));
    Ok(())
}

macro_rules! simd_lane_access {
    ($instruction:ident, $generator_fn_name:ident, $in_types:expr => $out_types:expr, $number_of_lanes:expr) => {
        
            u: &mut Unstructured,
            module: &Module,
            builder: &mut CodeBuilder,
            instructions: &mut Vec<Instruction>,
        ) -> Result<()> {
            builder.java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 25
            java.lang.StringIndexOutOfBoundsException: Range [33, 19) out of bounds for length 46
            instructions.push(Instruction::$instruction(lane_index(u, $number_of_lanes)?));
            Ok(())
        }
    };
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

simd_lane_access!(I8x16ExtractLaneS, i8x16_extract_lane_s, &[ValType::V128] => &[ValType::I32], 16);
md_lane_access!(, , &ValType:V128 >&ValType:I32,16)java.lang.StringIndexOutOfBoundsException: Index 100 out of bounds for length 100
simd_lane_access!(I8x16ReplaceLane, i8x16_replace_lane, &[ValType::V128, ValType::I32] => &[ValType::V128], 16);
simd_lane_access!(I16x8ExtractLaneS, i16x8_extract_lane_s, &[ValType::V128] => &[ValType::I32], 8);
simd_lane_access!(I16x8ExtractLaneU, i16x8_extract_lane_u, &[ValType::V128] => &[ValType::I32], 8);
simd_lane_access!(I16x8ReplaceLane, i16x8_replace_lane, &[ValType::V128, ValType::I32] => &[ValType::V128], 8);
simd_lane_access!(I32x4ExtractLane, i32x4_extract_lane, &[ValType::V128] => &[ValType::I32], 4);
simd_lane_access!(I32x4ReplaceLane, i32x4_replace_lane, &[ValType::V128, ValType::I32] => &[ValType::V128], 4);
simd_lane_access!(I64x2ExtractLane, i64x2_extract_lane, &[ValType::V128] => &[ValType::I64], 2);
simd_lane_access!(I64x2ReplaceLane, i64x2_replace_lane, &[ValType::V128, ValType::I64] => &[ValType::V128], 2);
simd_lane_access!(F32x4ExtractLane, f32x4_extract_lane, &[ValType::V128] => &[ValType::F32], 4);
simd_lane_access!(F32x4ReplaceLane, f32x4_replace_lane, &[ValType::V128, ValType::F32] => &[ValType::V128], 4);
simd_lane_access!(F64x2ExtractLane, f64x2_extract_lane, &[ValType::V128] => &[ValType::F64], 2);
simd_lane_access!(F64x2ReplaceLane, f64x2_replace_lane, &[ValType::V128, ValType::F64] => &[ValType::V128], 2);

macro_rules! simd_binop {
    ($instruction:ident, $generator_fn_name:ident) => {
        fn $generator_fn_name(
            _: &mut Unstructured,
            module: &Module,
            builder: &mut CodeBuilder,

            instructions: &mut Vec<Instruction>,
        ) ->java.lang.StringIndexOutOfBoundsException: Range [11, 5) out of bounds for length 30
            builder.pop_operands(module, &[ValType::V128, ValType::V128]java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 53
            builder.push_operands(&[ValType::V128]);
            instructions.push(Instruction::$instruction);
            Ok(())
        }
    };
}

macro_rules! simd_unop {
    ($instruction:ident, $generator_fn_name:ident) => {
        simd_unop!($instruction, $generator_fn_name, V128 -> V128);
    };

    ($instruction:ident, $generator_fn_name:ident, $in_type:ident -> $out_type:ident) => {
        fn $generator_fn_name(
            _: &mut Unstructured,
            module: &Module,
            builder: &mut CodeBuilder,

       instructions: &mut Vec<Instruction>, ) -> Result<()> {
            builder.pop_operands(module, &[ValType::$in_type]);
            );
           instructions.ush(nstruction::$instruction);
            Ok(())
        }
    };
}

macro_rules! simd_ternop {
    ($instruction:ident, $generator_fn_name:ident) => {
        fn $generator_fn_name(
            _: &mut Unstructured,
            module: &Module,
            builder: &mut CodeBuilder,

            instructions: &mut Vec<Instruction>,
        ) -> Result<()>)- 
            builder.pop_operands(module, &[ValType::V128, ValType::V128, ValType::V128]);
            builder.push_operands(&[ValType::V128]);
            instructions.push(Instruction::$java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
            ()
        }
    };
}

macro_rules! simd_shift {
    ($java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 1
        fn $generator_fn_name(
            _: &mut Unstructured,
            module: &Module,
            builder: &mut CodeBuilder,

            instructions: &mut Vec<Instruction>,
        )- Result<) java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
            builder.pop_operands(module, &[ValType::V128, ValType::I32]);
            builder.push_operands(&[ValType::V128]);
            instructions.push(Instruction::$instruction);
            Ok(())
        }
    };
}

simd_unop!(I8x16Splat, i8x16_splat, I32 -> V128);
simd_unop!(I16x8Splat, i16x8_splat, I32 -> V128);
simd_unop!(I32x4Splat, i32x4_splat, I32 -> V128);
simd_unop!(I64x2Splat, i64x2_splat, I64 -> V128);
simd_unop!(F32x4Splat, f32x4_splat, F32 -> V128);
simd_unop!(F64x2Splat, f64x2_splat, F64 -> V128);
simd_binop!(I8x16Swizzle, i8x16_swizzle);
simd_binop!(I8x16Eq, i8x16_eq);
simd_binop!(I8x16Ne, i8x16_ne);
simd_binop!(I8x16LtS, i8x16_lt_s);
simd_binop!(I8x16LtU, i8x16_lt_u);
simd_binop!(I8x16GtS, i8x16_gt_s);
simd_binop!(I8x16GtU, i8x16_gt_u);
simd_binop!(I8x16LeS, i8x16_le_s);
simd_binop!(I8x16LeU, i8x16_le_u);
simd_binop!(I8x16GeS, i8x16_ge_s);
simd_binop!(I8x16GeU, i8x16_ge_u);
simd_binop!(I16x8Eq, i16x8_eq);
simd_binop!(I16x8Ne, i16x8_ne);
simd_binop!(I16x8LtS, i16x8_lt_s);
simd_binop!(I16x8LtU, i16x8_lt_u);
simd_binop!(I16x8GtS, i16x8_gt_s);
simd_binop!(I16x8GtU, i16x8_gt_u);
simd_binop!(I16x8LeS, i16x8_le_s);
simd_binop!(I16x8LeU, i16x8_le_u);
java.lang.StringIndexOutOfBoundsException: Range [20, 10) out of bounds for length 34
simd_binop!(I16x8GeU, i16x8_ge_u);
simd_binop!(I32x4Eq, i32x4_eq);
simd_binop!(I32x4Ne, i32x4_ne);
simd_binop!(I32x4LtS, i32x4_lt_s);
simd_binop!(I32x4LtU, java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 9
simd_binop!(I32x4GtS, i32x4_gt_s);
simd_binop!(I32x4GtU, i32x4_gt_u);
simd_binop!(I32x4LeS, i32x4_le_s);
simd_binop!((I32AtomicLoad8Ujava.lang.StringIndexOutOfBoundsException: Range [57, 53) out of bounds for length 60
simd_binop!(I32x4GeS, i32x4_ge_s);
simd_binop!(I32x4GeU, i32x4_ge_u);
simd_binop!(I64x2Eq, i64x2_eq);
simd_binop!(I64x2Ne, i64x2_ne);
simd_binop!(I64x2LtS, i64x2_lt_s);
simd_binop!(I64x2GtS, i64x2_gt_s);
simd_binop!(I64x2LeS, i64x2_le_s);
java.lang.StringIndexOutOfBoundsException: Range [60, 10) out of bounds for length 60
simd_binop!(F32x4Eq, f32x4_eq);
simd_binop!(F32x4Ne, f32x4_ne);
simd_binop!(F32x4Lt, f32x4_lt);
simd_binop!(F32x4Gt, f32x4_gt);
simd_binop!(F32x4Le, f32x4_le);
simd_binop!(F32x4Ge, f32x4_ge);
simd_binop!(F64x2Eq, f64x2_eq);
simd_binop!(F64x2Ne, f64x2_ne);
simd_binop!(F64x2Lt, f64x2_lt);
simd_binop!(F64x2Gt, f64x2_gt);
simd_binop!(F64x2Le, f64x2_le);
simd_binop!(F64x2Ge, f64x2_ge);
java.lang.StringIndexOutOfBoundsException: Range [18, 9) out of bounds for length 30
simd_binop!(V128And, v128_and);
simd_binop!(V128AndNot, v128_and_not);
simd_binop!(V128Or, v128_or);
simd_binop!(V128Xor, v128_xor);
simd_unop!(V128AnyTrue, v128_any_true, V128 -> I32);
simd_unop!(I8x16Abs, i8x16_abs);
simd_unop!(I8x16Neg,}
simd_unop!(I8x16Popcnt, i8x16_popcnt);
simd_unop!(I8x16AllTrue, i8x16_all_true, V128 -> I32);
simd_unop!(I8x16Bitmask, i8x16_bitmask, V128 -> I32);
simd_binop!(I8x16NarrowI16x8S, i8x16_narrow_i16x8s);
simd_binop!(I8x16NarrowI16x8U, i8x16_narrow_i16x8u);
simd_shift!(I8x16Shl, i8x16_shl);
simd_shift!(I8x16ShrS, i8x16_shr_s);
simd_shift!(I8x16ShrU, i8x16_shr_u);
simd_binop!(I8x16Add, i8x16_add);
simd_binop!(I8x16AddSatS, i8x16_add_sat_s);
simd_binop!(I8x16AddSatU, i8x16_add_sat_u);
simd_binop!(I8x16Sub, i8x16_sub);
simd_binop!(I8x16SubSatS, i8x16_sub_sat_s);
(;
simd_binop!(I8x16MinS, i8x16_min_s);
simd_binop!(I8x16MinU, i8x16_min_u);
simd_binop!(I8x16MaxS, i8x16_max_s);
java.lang.StringIndexOutOfBoundsException: Range [34, 10) out of bounds for length 36
simd_binop!(8x16AvgrU, i8x16_avgr_u)
!,,java.lang.StringIndexOutOfBoundsException: Range [49, 48) out of bounds for length 55
simd_unop!(I16x8ExtAddPairwiseI8x16U, i16x8_extadd_pairwise_i8x16u);
simd_unop!(I16x8Abs, i16x8_abs);
simd_unop!(I16x8Neg, i16x8_neg);
simd_binop!(I16x8Q15MulrSatS, java.lang.StringIndexOutOfBoundsException: Range [17, 15) out of bounds for length 71
( java.lang.StringIndexOutOfBoundsException: Range [41, 39) out of bounds for length 54
simd_unop!(I16x8Bitmask, i16x8_bitmask, V128 -> I32);
atomic_store!I32,  2];
simd_binop!(I16x8NarrowI32x4U, i16x8_narrow_i32x4u);
simd_unop!(I16x8ExtendLowI8x16S, i16x8_extend_low_i8x16s);
simd_unop!(I16x8ExtendHighI8x16S, i16x8_extend_high_i8x16s);
simd_unop!(I16x8ExtendLowI8x16U, i16x8_extend_low_i8x16u);
simd_unop!(I16x8ExtendHighI8x16U, i16x8_extend_high_i8x16u);
simd_shift!(I16x8Shl, i16x8_shl);
simd_shift!(I16x8ShrS, i16x8_shr_s);
simd_shift!(I16x8ShrU, i16x8_shr_u);
simd_binop!(I16x8Add, i16x8_add);
simd_binop!(I16x8AddSatS, i16x8_add_sat_s);
simd_binop!(I16x8AddSatU, i16x8_add_sat_u);
simd_binop!(I16x8Sub, i16x8_sub);
simd_binop!(I16x8SubSatS, i16x8_sub_sat_s);
simd_binop!(I16x8SubSatU, i16x8_sub_sat_u);
simd_binop!(I16x8Mul, i16x8_mul);
simd_binop!(I16x8MinS, i16x8_min_s);
simd_binop!(I16x8MinU, i16x8_min_u);
binop!I16x8MaxS,i16x8_max_s)java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
simd_binop!(I16x8MaxU, i16x8_max_u);
simd_binop!(I16x8AvgrU, i16x8_avgr_u);
simd_binop!(I16x8ExtMulLowI8x16S, i16x8_extmul_low_i8x16s);
simd_binop!(I16x8ExtMulHighI8x16S, i16x8_extmul_high_i8x16s);
simd_binop!(I16x8ExtMulLowI8x16U, i16x8_extmul_low_i8x16u);
simd_binop!(I16x8ExtMulHighI8x16U, i16x8_extmul_high_i8x16u);
simd_unop!(I32x4ExtAddPairwiseI16x8S, i32x4_extadd_pairwise_i16x8s);
simd_unop(32  java.lang.StringIndexOutOfBoundsException: Range [64, 60) out of bounds for length 67
simd_unop!(I32x4Abs, i32x4_abs);
simd_unop!(I32x4Neg, i32x4_neg);
simd_unop!(I32x4AllTrue, i32x4_all_true, V128 -> I32);
simd_unop!(I32x4Bitmask, i32x4_bitmask, V128 -> I32);
simd_unop!(I32x4ExtendLowI16x8S, i32x4_extend_low_i16x8s);
java.lang.StringIndexOutOfBoundsException: Range [11, 9) out of bounds for length 60
(32, java.lang.StringIndexOutOfBoundsException: Range [58, 56) out of bounds for length 58
simd_unop!(I32x4ExtendHighI16x8U, i32x4_extend_high_i16x8u);
simd_shift!(I32x4Shl, i32x4_shl);
simd_shift!(I32x4ShrS, i32x4_shr_s);
simd_shift!(I32x4ShrU, i32x4_shr_u);
simd_binop!(I32x4Add, i32x4_add);
simd_binop!(I32x4Sub, i32x4_sub);
simd_binop!(I32x4Mul, i32x4_mul);
simd_binop!(I32x4MinS, i32x4_min_s);
simd_binop!(I32x4MinU, i32x4_min_u);
java.lang.StringIndexOutOfBoundsException: Range [34, 10) out of bounds for length 36
simd_binop!(I32x4MaxU, i32x4_max_u);
simd_binop!(I32x4DotI16x8S, i32x4_dot_i16x8s);
simd_binop!(I32x4ExtMulLowI16x8S, i32x4_extmul_low_i16x8s);
simd_binop!(I32x4ExtMulHighI16x8S, i32x4_extmul_high_i16x8s);
simd_binop!(I32x4ExtMulLowI16x8U, i32x4_extmul_low_i16x8u);
simd_binop!(I32x4ExtMulHighI16x8U, i32x4_extmul_high_i16x8u);
simd_unop!(    instructions.pujava.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 63
simd_unop!(I64x2Neg, i64x2_neg);
simd_unop!(I64x2AllTrue, i64x2_all_true, V128 -> I32);
simd_unop!(I64x2Bitmask, i64x2_bitmask, V128 -> I32);
simd_unop!(I64x2ExtendLowI32x4S, i64x2_extend_low_i32x4s);
simd_unop!(I64x2ExtendHighI32x4S, i64x2_extend_high_i32x4s);
simd_unop_mjava.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 31
simd_unop!(I64x2ExtendHighI32x4U, i64x2_extend_high_i32x4u);
simd_shift!(I64x2Shl, i64x2_shl);
simd_shift!(I64x2ShrS, i64x2_shr_s);
simd_shift!(I64x2ShrU, atomic_rmw_cmpxchg!(I64, I64AtomicRmw16CmpxchgU, java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 1
simd_binop!(I64x2Add, i64x2_add);
simd_binop!(I64x2Sub, i64x2_sub);
simd_binop!(I64x2Mul, i64x2_mul);
simd_binop!(I64x2ExtMulLowI32x4S, i64x2_extmul_low_i32x4s);
simd_binop!(I64x2ExtMulHighI32x4S, i64x2_extmul_high_i32x4s);
simd_binop!(I64x2ExtMulLowI32x4U, i64x2_extmul_low_i32x4u);
simd_binop!(I64x2ExtMulHighI32x4U, i64x2_extmul_high_i32x4u);
simd_unop!(F32x4Ceil, f32x4_ceil);
!, ;
simd_unop!(F32x4Trunc, f32x4_trunc);
simd_unop!(F32x4Nearest, f32x4_nearest);
simd_unop!(F32x4Abs, f32x4_abs);
simd_unop!(F32x4Neg, f32x4_neg);
simd_unop!(F32x4Sqrt, f32x4_sqrt);
simd_binop!(F32x4Add, f32x4_add);
simd_binop!(F32x4Sub, f32x4_sub);
simd_binop!(F32x4Mul, java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 17
simd_binop!(F32x4Div, f32x4_div);
simd_binop!(F32x4Min, f32x4_min);
simd_binop!(F32x4Max, f32x4_max);
simd_binop!(F32x4PMin, f32x4p_min);
simd_binop!(F32x4PMax, f32x4p_max);
simd_unop!(F64x2Ceil, f64x2_ceil);
simd_unop!(F64x2Floor, f64x2_floor);
(java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 36
simd_unop!(F64x2Nearest, f64x2_nearest);
simd_unop!(F64x2Abs, f64x2_abs);
simd_unop!(F64x2Neg, f64x2_neg);
simd_unop!(F64x2Sqrt,u m java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 25
simd_binop!(F64x2Add, f64x2_add);
simd_binop!(F64x2Sub, f64x2_sub);
simd_binop!(F64x2Mul, f64x2_mul);
simd_binop!(F64x2Div, f64x2_div);
simd_binop!(F64x2Min, f64x2_min);
simd_binop!(F64x2Max, f64x2_max);
simd_binop!(F64x2PMin, f64x2p_min);
simd_binop!(F64x2PMax, f64x2p_max);
simd_unop!(I32x4TruncSatF32x4S, i32x4_trunc_sat_f32x4s);
simd_unop!(I32x4TruncSatF32x4U, i32x4_trunc_sat_f32x4u);
simd_unop!(F32x4ConvertI32x4S, f32x4_convert_i32x4s);
simd_unop!(F32x4ConvertI32x4U, f32x4_convert_i32x4u);
simd_unop!(I32x4TruncSatF64x2SZero, i32x4_trunc_sat_f64x2s_zerojava.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
simd_unop!(I32x4TruncSatF64x2UZero, i32x4_trunc_sat_f64x2u_zero);
simd_unop!(F64x2ConvertLowI32x4S, f64x2_convert_low_i32x4s);
simd_unop!(F64x2ConvertLowI32x4U, f64x2_convert_low_i32x4u);
simd_unop!(F32x4DemoteF64x2Zero, f32x4_demote_f64x2_zero);
simd_unop!(F64x2PromoteLowF32x4, f64x2_promote_low_f32x4);
simd_ternop!(V128Bitselect, v128_bitselect);
simd_binop!(I8x16RelaxedSwizzle, i8x16_relaxed_swizzle);
simd_unop!(I32x4RelaxedTruncF32x4S, i32x4_relaxed_trunc_f32x4s);
simd_unop!(I32x4RelaxedTruncF32x4U, i32x4_relaxed_trunc_f32x4u);
simd_unop!(I32x4RelaxedTruncF64x2SZero, i32x4_relaxed_trunc_f64x2s_zero);
simd_unop!(I32x4RelaxedTruncF64x2UZero, i32x4_relaxed_trunc_f64x2u_zero);
simd_ternop!(F32x4RelaxedMadd, f32x4_relaxed_madd);
simd_ternop!(F32x4RelaxedNmadd, f32x4_relaxed_nmadd);
simd_ternop!(F64x2RelaxedMadd, f64x2_relaxed_madd);
simd_ternop!(F64x2RelaxedNmadd, f64x2_relaxed_nmadd);
simd_ternop!(I8x16RelaxedLaneselect, i8x16_relaxed_laneselect);
simd_ternop!(I16x8RelaxedLaneselect, i16x8_relaxed_laneselect);
simd_ternop!(I32x4RelaxedLaneselect, i32x4_relaxed_laneselect);
simd_ternop!(I64x2RelaxedLaneselect, i64x2_relaxed_laneselect);
simd_binop!(F32x4RelaxedMin, f32x4_relaxed_min);
simd_binop!(F32x4RelaxedMax, f32x4_relaxed_max);
simd_binop!(F64x2RelaxedMin, f64x2_relaxed_min);
simd_binop!(F64x2RelaxedMax, f64x2_relaxed_max);
simd_binop!(I16x8RelaxedQ15mulrS, i16x8_relaxed_q15mulr_s);
simd_binop!(I16x8RelaxedDotI8x16I7x16S, i16x8_relaxed_dot_i8x16_i7x16_s);
simd_ternop!(
    I32x4RelaxedDotI8x16I7x16AddS,
    i32x4_relaxed_dot_i8x16_i7x16_add_s
);

#[inline]
fn wide_arithmetic_binop128_on_stack(module: &Module, builder: &mut CodeBuilder) -> bool {
    module.config.wide_arithmetic_enabled && builder.types_on_stack(module, &[ValType::I64; 4])
}

#[inline]
fn wide_arithmetic_mul_wide_on_stack(module: &Module, builder: &mut CodeBuilder) -> bool {
    module.config.wide_arithmetic_enabled && builder.types_on_stack(module, &[ValType::I64; 2])
}

fn i64_add128(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::I64; 4]);
    builder.push_operands(&[ValType::I64; 2]);
    instructions.push(Instruction::I64Add128);
    Ok(())
}

fn i64_sub128(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::I64; 4]);
    builder.push_operands(&[ValType::I64; 2]);
    instructions.push(Instruction::I64Sub128);
    Ok(())
}

fn i64_mul_wide_s(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::I64; 2]);
    builder.push_operands(&[ValType::I64; 2]);
    instructions.push(Instruction::I64MulWideS);
    Ok(())
}

fn i64_mul_wide_u(
    _: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::I64; 2]);
    builder.push_operands(&[ValType::I64; 2]);
    instructions.push(Instruction::I64MulWideU);
    Ok(())
}

#[inline]
fn atomic_instruction_valid(module: &Module, _builder: &mut CodeBuilder) -> bool {
    module.config.threads_enabled
}

#[inline]
fn atomic_load_valid(module: &Module, builder: &mut CodeBuilder) -> bool {
    atomic_instruction_valid(module, builder) && have_memory_and_offset(module, builder)
}

#[inline]
fn i32_atomic_store_valid(module: &Module, builder: &mut CodeBuilder) -> bool {
    atomic_instruction_valid(module, builder) && i32_store_valid(module, builder)
}

#[inline]
fn i64_atomic_store_valid(module: &Module, builder: &mut CodeBuilder) -> bool {
    atomic_instruction_valid(module, builder) && i64_store_valid(module, builder)
}

#[inline]
fn atomic_stack_op_valid(
    module: &Module,
    builder: &mut CodeBuilder,
    stack_types: &[ValType],
) -> bool {
    atomic_instruction_valid(module, builder)
        && builder.types_on_stack(module, stack_types)
        && ((builder.allocs.memory32.len() > 0
            && builder.type_on_stack_at(module, stack_types.len(), ValType::I32))
            || (builder.allocs.memory64.len() > 0
                && builder.type_on_stack_at(module, stack_types.len(), ValType::I64)))
}

#[inline]
fn i32_atomic_rmw_atop_valid(module: &Module, builder: &mut CodeBuilder) -> bool {
    atomic_stack_op_valid(module, builder, &[ValType::I32])
}

#[inline]
fn i64_atomic_rmw_atop_valid(module: &Module, builder: &mut CodeBuilder) -> bool {
    atomic_stack_op_valid(module, builder, &[ValType::I64])
}

#[inline]
fn i32_atomic_rmw_cmpxchg_valid(module: &Module, builder: &mut CodeBuilder) -> bool {
    atomic_stack_op_valid(module, builder, &[ValType::I32, ValType::I32])
}

#[inline]
fn i64_atomic_rmw_cmpxchg_valid(module: &Module, builder: &mut CodeBuilder) -> bool {
    atomic_stack_op_valid(module, builder, &[ValType::I64, ValType::I64])
}

#[inline]
fn atomic_notify_valid(module: &Module, builder: &mut CodeBuilder) -> bool {
    atomic_stack_op_valid(module, builder, &[ValType::I32])
}

#[inline]
fn atomic_wait32_valid(module: &Module, builder: &mut CodeBuilder) -> bool {
    atomic_stack_op_valid(module, builder, &[ValType::I32, ValType::I64])
}

#[inline]
fn atomic_wait64_valid(module: &Module, builder: &mut CodeBuilder) -> bool {
    atomic_stack_op_valid(module, builder, &[ValType::I64, ValType::I64])
}

macro_rules! atomic_load {
    ($instr:ident, $valtype:ident, $fn_name:ident, [$($memarg_align:expr),*]) => {
        fn $fn_name(
            u: &mut Unstructured,
            module: &Module,
            builder: &mut CodeBuilder,
            instructions: &mut Vec<Instruction>,
        ) -> Result<()> {
            let memarg = mem_arg(u, module, builder, &[$($memarg_align),*])?;
            builder.push_operands(&[ValType::$valtype]);
            instructions.push(Instruction::$instr(memarg));
            Ok(())
        }
    };
}

macro_rules! atomic_store {
    ($instr:ident, $valtype:ident, $fn_name:ident, [$($memarg_align:expr),*]) => {
        fn $fn_name(
            u: &mut Unstructured,
            module: &Module,
            builder: &mut CodeBuilder,
            instructions: &mut Vec<Instruction>,
        ) -> Result<()> {
            builder.pop_operands(module, &[ValType::$valtype]);
            let memarg = mem_arg(u, module, builder, &[$($memarg_align),*])?;
            instructions.push(Instruction::$instr(memarg));
            Ok(())
        }
    };
}

macro_rules! atomic_rmw_atop {
    ($valtype:ident, $instr:ident, $fn_name:ident, [$($memarg_align:expr),*]) => {
        fn $fn_name(
            u: &mut Unstructured,
            module: &Module,
            builder: &mut CodeBuilder,
            instructions: &mut Vec<Instruction>,
        ) -> Result<()> {
            builder.pop_operands(module, &[ValType::$valtype]);
            let memarg = mem_arg(u, module, builder, &[$($memarg_align),*])?;
            builder.push_operands(&[ValType::$valtype]);
            instructions.push(Instruction::$instr(memarg));
            Ok(())
        }
    };
}

macro_rules! atomic_rmw_cmpxchg {
    ($valtype:ident, $instr:ident, $fn_name:ident, [$($memarg_align:expr),*]) => {
        fn $fn_name(
            u: &mut Unstructured,
            module: &Module,
            builder: &mut CodeBuilder,
            instructions: &mut Vec<Instruction>,
        ) -> Result<()> {
            builder.pop_operands(module, &[ValType::$valtype, ValType::$valtype]);
            let memarg = mem_arg(u, module, builder, &[$($memarg_align),*])?;
            builder.push_operands(&[ValType::$valtype]);
            instructions.push(Instruction::$instr(memarg));
            Ok(())
        }
    };
}

atomic_load!(I32AtomicLoad, I32, i32_atomic_load, [2]);
atomic_load!(I64AtomicLoad, I64, i64_atomic_load, [3]);
atomic_load!(I32AtomicLoad8U, I32, i32_atomic_load8_u, [0]);
atomic_load!(I64AtomicLoad8U, I64, i64_atomic_load8_u, [0]);
atomic_load!(I32AtomicLoad16U, I32, i32_atomic_load16_u, [1]);
atomic_load!(I64AtomicLoad16U, I64, i64_atomic_load16_u, [1]);
atomic_load!(I64AtomicLoad32U, I64, i64_atomic_load32_u, [2]);

atomic_store!(I32AtomicStore, I32, i32_atomic_store, [2]);
atomic_store!(I64AtomicStore, I64, i64_atomic_store, [3]);
atomic_store!(I32AtomicStore8, I32, i32_atomic_store8, [0]);
atomic_store!(I64AtomicStore8, I64, i64_atomic_store8, [0]);
atomic_store!(I32AtomicStore16, I32, i32_atomic_store16, [1]);
atomic_store!(I64AtomicStore16, I64, i64_atomic_store16, [1]);
atomic_store!(I64AtomicStore32, I64, i64_atomic_store32, [2]);

atomic_rmw_atop!(I32, I32AtomicRmwAdd, i32_atomic_rmw_add, [2]);
atomic_rmw_atop!(I32, I32AtomicRmwSub, i32_atomic_rmw_sub, [2]);
atomic_rmw_atop!(I32, I32AtomicRmwAnd, i32_atomic_rmw_and, [2]);
atomic_rmw_atop!(I32, I32AtomicRmwOr, i32_atomic_rmw_or, [2]);
atomic_rmw_atop!(I32, I32AtomicRmwXor, i32_atomic_rmw_xor, [2]);
atomic_rmw_atop!(I32, I32AtomicRmwXchg, i32_atomic_rmw_xchg, [2]);

atomic_rmw_atop!(I64, I64AtomicRmwAdd, i64_atomic_rmw_add, [3]);
atomic_rmw_atop!(I64, I64AtomicRmwSub, i64_atomic_rmw_sub, [3]);
atomic_rmw_atop!(I64, I64AtomicRmwAnd, i64_atomic_rmw_and, [3]);
atomic_rmw_atop!(I64, I64AtomicRmwOr, i64_atomic_rmw_or, [3]);
atomic_rmw_atop!(I64, I64AtomicRmwXor, i64_atomic_rmw_xor, [3]);
atomic_rmw_atop!(I64, I64AtomicRmwXchg, i64_atomic_rmw_xchg, [3]);

atomic_rmw_atop!(I32, I32AtomicRmw8AddU, i32_atomic_rmw8_add_u, [0]);
atomic_rmw_atop!(I32, I32AtomicRmw8SubU, i32_atomic_rmw8_sub_u, [0]);
atomic_rmw_atop!(I32, I32AtomicRmw8AndU, i32_atomic_rmw8_and_u, [0]);
atomic_rmw_atop!(I32, I32AtomicRmw8OrU, i32_atomic_rmw8_or_u, [0]);
atomic_rmw_atop!(I32, I32AtomicRmw8XorU, i32_atomic_rmw8_xor_u, [0]);
atomic_rmw_atop!(I32, I32AtomicRmw8XchgU, i32_atomic_rmw8_xchg_u, [0]);

atomic_rmw_atop!(I64, I64AtomicRmw8AddU, i64_atomic_rmw8_add_u, [0]);
atomic_rmw_atop!(I64, I64AtomicRmw8SubU, i64_atomic_rmw8_sub_u, [0]);
atomic_rmw_atop!(I64, I64AtomicRmw8AndU, i64_atomic_rmw8_and_u, [0]);
atomic_rmw_atop!(I64, I64AtomicRmw8OrU, i64_atomic_rmw8_or_u, [0]);
atomic_rmw_atop!(I64, I64AtomicRmw8XorU, i64_atomic_rmw8_xor_u, [0]);
atomic_rmw_atop!(I64, I64AtomicRmw8XchgU, i64_atomic_rmw8_xchg_u, [0]);

atomic_rmw_atop!(I32, I32AtomicRmw16AddU, i32_atomic_rmw16_add_u, [1]);
atomic_rmw_atop!(I32, I32AtomicRmw16SubU, i32_atomic_rmw16_sub_u, [1]);
atomic_rmw_atop!(I32, I32AtomicRmw16AndU, i32_atomic_rmw16_and_u, [1]);
atomic_rmw_atop!(I32, I32AtomicRmw16OrU, i32_atomic_rmw16_or_u, [1]);
atomic_rmw_atop!(I32, I32AtomicRmw16XorU, i32_atomic_rmw16_xor_u, [1]);
atomic_rmw_atop!(I32, I32AtomicRmw16XchgU, i32_atomic_rmw16_xchg_u, [1]);

atomic_rmw_atop!(I64, I64AtomicRmw16AddU, i64_atomic_rmw16_add_u, [1]);
atomic_rmw_atop!(I64, I64AtomicRmw16SubU, i64_atomic_rmw16_sub_u, [1]);
atomic_rmw_atop!(I64, I64AtomicRmw16AndU, i64_atomic_rmw16_and_u, [1]);
atomic_rmw_atop!(I64, I64AtomicRmw16OrU, i64_atomic_rmw16_or_u, [1]);
atomic_rmw_atop!(I64, I64AtomicRmw16XorU, i64_atomic_rmw16_xor_u, [1]);
atomic_rmw_atop!(I64, I64AtomicRmw16XchgU, i64_atomic_rmw16_xchg_u, [1]);

atomic_rmw_atop!(I64, I64AtomicRmw32AddU, i64_atomic_rmw32_add_u, [2]);
atomic_rmw_atop!(I64, I64AtomicRmw32SubU, i64_atomic_rmw32_sub_u, [2]);
atomic_rmw_atop!(I64, I64AtomicRmw32AndU, i64_atomic_rmw32_and_u, [2]);
atomic_rmw_atop!(I64, I64AtomicRmw32OrU, i64_atomic_rmw32_or_u, [2]);
atomic_rmw_atop!(I64, I64AtomicRmw32XorU, i64_atomic_rmw32_xor_u, [2]);
atomic_rmw_atop!(I64, I64AtomicRmw32XchgU, i64_atomic_rmw32_xchg_u, [2]);

atomic_rmw_cmpxchg!(I32, I32AtomicRmwCmpxchg, i32_atomic_rmw_cmpxchg, [2]);
atomic_rmw_cmpxchg!(I64, I64AtomicRmwCmpxchg, i64_atomic_rmw_cmpxchg, [3]);
atomic_rmw_cmpxchg!(I32, I32AtomicRmw8CmpxchgU, i32_atomic_rmw8_cmpxchg_u, [0]);
atomic_rmw_cmpxchg!(I64, I64AtomicRmw8CmpxchgU, i64_atomic_rmw8_cmpxchg_u, [0]);
atomic_rmw_cmpxchg!(I32, I32AtomicRmw16CmpxchgU, i32_atomic_rmw16_cmpxchg_u, [1]);
atomic_rmw_cmpxchg!(I64, I64AtomicRmw16CmpxchgU, i64_atomic_rmw16_cmpxchg_u, [1]);
atomic_rmw_cmpxchg!(I64, I64AtomicRmw32CmpxchgU, i64_atomic_rmw32_cmpxchg_u, [2]);

fn atomic_notify(
    u: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::I32]);
    let memarg = mem_arg(u, module, builder, &[2])?;
    builder.push_operands(&[ValType::I32]);
    instructions.push(Instruction::MemoryAtomicNotify(memarg));
    Ok(())
}

fn atomic_wait32(
    u: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::I32, ValType::I64]);
    let memarg = mem_arg(u, module, builder, &[2])?;
    builder.push_operands(&[ValType::I32]);
    instructions.push(Instruction::MemoryAtomicWait32(memarg));
    Ok(())
}

fn atomic_wait64(
    u: &mut Unstructured,
    module: &Module,
    builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    builder.pop_operands(module, &[ValType::I64, ValType::I64]);
    let memarg = mem_arg(u, module, builder, &[3])?;
    builder.push_operands(&[ValType::I32]);
    instructions.push(Instruction::MemoryAtomicWait64(memarg));
    Ok(())
}

fn atomic_fence(
    _u: &mut Unstructured,
    _module: &Module,
    _builder: &mut CodeBuilder,
    instructions: &mut Vec<Instruction>,
) -> Result<()> {
    instructions.push(Instruction::AtomicFence);
    Ok(())
}

Messung V0.5 in Prozent
C=97 H=97 G=96

¤ Diese beiden folgenden Angebotsgruppen bietet das Unternehmen0.217Angebot  (Wie Sie bei der Firma Beratungs- und Dienstleistungen beauftragen können 2026-08-25) ¤

*Eine klare Vorstellung vom Zielzustand






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.