;;; Code for arithmeticexpressions.ArithmeticExpressions [type definition]
(type $arithmeticexpressions.ArithmeticExpressions.vtable (sub $java.lang.Object.vtable (struct
 (field $$getClassImpl__java_lang_Class (ref $function.$getClassImpl__java_lang_Class))
 (field $m_equals__java_lang_Object__boolean (ref $function.m_equals__java_lang_Object__boolean))
 (field $m_hashCode__int (ref $function.m_hashCode__int))
 (field $m_toString__java_lang_String (ref $function.m_toString__java_lang_String))
 (field $m_testCoercions__void (ref $function.m_testCoercions__void))
 (field $m_testCompoundArray__void (ref $function.m_testCompoundArray__void))
 (field $m_testCompoundBoxedTypes__void (ref $function.m_testCompoundBoxedTypes__void))
 (field $m_testDoubleAssignments__void (ref $function.m_testDoubleAssignments__void))
 (field $m_testEffectivelyFinalVariableInAssignmentExpression__boolean__void (ref $function.m_testEffectivelyFinalVariableInAssignmentExpression__boolean__void))
 (field $m_testExtendedOperands__void (ref $function.m_testExtendedOperands__void))
 (field $m_testPrimitives__void (ref $function.m_testPrimitives__void))
 ))
)
(type $arithmeticexpressions.ArithmeticExpressions (sub $java.lang.Object (struct
 (field $vtable (ref $arithmeticexpressions.ArithmeticExpressions.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $bar@arithmeticexpressions.ArithmeticExpressions (mut i64))
 (field $intField@arithmeticexpressions.ArithmeticExpressions (mut i64))
 ))
)

;;; Code for arithmeticexpressions.ArithmeticExpressions.1Ref [type definition]
(type $arithmeticexpressions.ArithmeticExpressions.1Ref.vtable (sub $java.lang.Object.vtable (struct
 (field $$getClassImpl__java_lang_Class (ref $function.$getClassImpl__java_lang_Class))
 (field $m_equals__java_lang_Object__boolean (ref $function.m_equals__java_lang_Object__boolean))
 (field $m_hashCode__int (ref $function.m_hashCode__int))
 (field $m_toString__java_lang_String (ref $function.m_toString__java_lang_String))
 ))
)
(type $arithmeticexpressions.ArithmeticExpressions.1Ref (sub $java.lang.Object (struct
 (field $vtable (ref $arithmeticexpressions.ArithmeticExpressions.1Ref.vtable))
 (field $itable (ref $itable))
 (field $$systemIdentityHashCode@java.lang.Object (mut i32))
 (field $$outer_this@arithmeticexpressions.ArithmeticExpressions.1Ref (mut (ref null $arithmeticexpressions.ArithmeticExpressions)))
 (field $field@arithmeticexpressions.ArithmeticExpressions.1Ref (mut (ref null $java.lang.Object)))
 ))
)

;;; Code for arithmeticexpressions.ArithmeticExpressions [imports]

;;; Code for arithmeticexpressions.ArithmeticExpressions.1Ref [imports]

;;; Code for arithmeticexpressions.ArithmeticExpressions [static fields]
(global $one@arithmeticexpressions.ArithmeticExpressions (mut i64)
 (i64.const 0)
)
(global $foo@arithmeticexpressions.ArithmeticExpressions (mut i64)
 (i64.const 0)
)
(global $counter@arithmeticexpressions.ArithmeticExpressions (mut i64)
 (i64.const 0)
)
(global $$class-initialized@arithmeticexpressions.ArithmeticExpressions (mut i32)
 (i32.const 0)
)
(global $$class@arithmeticexpressions.ArithmeticExpressions (mut (ref null $java.lang.Class))
 (ref.null $java.lang.Class)
)

;;; Code for arithmeticexpressions.ArithmeticExpressions.1Ref [static fields]
(global $$class-initialized@arithmeticexpressions.ArithmeticExpressions.1Ref (mut i32)
 (i32.const 0)
)
(global $$class@arithmeticexpressions.ArithmeticExpressions.1Ref (mut (ref null $java.lang.Class))
 (ref.null $java.lang.Class)
)

;;; Code for arithmeticexpressions.ArithmeticExpressions [vtable.init]
(global $arithmeticexpressions.ArithmeticExpressions.vtable (ref $arithmeticexpressions.ArithmeticExpressions.vtable)
 (struct.new $arithmeticexpressions.ArithmeticExpressions.vtable
  (ref.func $$getClassImpl__java_lang_Class@arithmeticexpressions.ArithmeticExpressions)
  (ref.func $m_equals__java_lang_Object__boolean@java.lang.Object)
  (ref.func $m_hashCode__int@java.lang.Object)
  (ref.func $m_toString__java_lang_String@java.lang.Object)
  (ref.func $m_testCoercions__void@arithmeticexpressions.ArithmeticExpressions)
  (ref.func $m_testCompoundArray__void@arithmeticexpressions.ArithmeticExpressions)
  (ref.func $m_testCompoundBoxedTypes__void@arithmeticexpressions.ArithmeticExpressions)
  (ref.func $m_testDoubleAssignments__void@arithmeticexpressions.ArithmeticExpressions)
  (ref.func $m_testEffectivelyFinalVariableInAssignmentExpression__boolean__void@arithmeticexpressions.ArithmeticExpressions)
  (ref.func $m_testExtendedOperands__void@arithmeticexpressions.ArithmeticExpressions)
  (ref.func $m_testPrimitives__void@arithmeticexpressions.ArithmeticExpressions)
 )
)

;;; Code for arithmeticexpressions.ArithmeticExpressions.1Ref [vtable.init]
(global $arithmeticexpressions.ArithmeticExpressions.1Ref.vtable (ref $arithmeticexpressions.ArithmeticExpressions.1Ref.vtable)
 (struct.new $arithmeticexpressions.ArithmeticExpressions.1Ref.vtable
  (ref.func $$getClassImpl__java_lang_Class@arithmeticexpressions.ArithmeticExpressions.1Ref)
  (ref.func $m_equals__java_lang_Object__boolean@java.lang.Object)
  (ref.func $m_hashCode__int@java.lang.Object)
  (ref.func $m_toString__java_lang_String@java.lang.Object)
 )
)

;;; Code for arithmeticexpressions.ArithmeticExpressions [methods]

;;; ArithmeticExpressions ArithmeticExpressions.$create()
(func $$create__@arithmeticexpressions.ArithmeticExpressions
 (result (ref null $arithmeticexpressions.ArithmeticExpressions))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:20:13
 (local $$instance (ref null $arithmeticexpressions.ArithmeticExpressions))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:20:13
  (call $$clinit__void_<once>_@arithmeticexpressions.ArithmeticExpressions )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:20:13
  (local.set $$instance (struct.new $arithmeticexpressions.ArithmeticExpressions (global.get $arithmeticexpressions.ArithmeticExpressions.vtable) (global.get $itable.empty) (i32.const 0) (i64.const 0) (i64.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:20:13
  (call $$ctor__void_$p_arithmeticexpressions_ArithmeticExpressions@arithmeticexpressions.ArithmeticExpressions (ref.as_non_null (local.get $$instance)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:20:13
  (return (local.get $$instance))
 )
)

;;; void ArithmeticExpressions.$ctor()
(func $$ctor__void_$p_arithmeticexpressions_ArithmeticExpressions@arithmeticexpressions.ArithmeticExpressions
 (param $this (ref null $arithmeticexpressions.ArithmeticExpressions))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:20:13
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:20:13
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:20:13
  (call $$init__void_$p_arithmeticexpressions_ArithmeticExpressions@arithmeticexpressions.ArithmeticExpressions (ref.as_non_null (local.get $this)))
 )
)

;;; void ArithmeticExpressions.testCoercions()
(func $m_testCoercions__void@arithmeticexpressions.ArithmeticExpressions
 (type $function.m_testCoercions__void)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:25:14
 (local $b i32)
 (local $c i32)
 (local $s i32)
 (local $i i32)
 (local $f f32)
 (local $d f64)
 (local $o (ref null $java.lang.Object))
 (local $this (ref null $arithmeticexpressions.ArithmeticExpressions))
 (local.set $this (ref.cast (ref $arithmeticexpressions.ArithmeticExpressions) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:26:4
  (local.set $b (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:27:4
  (local.set $c (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:28:4
  (local.set $s (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:29:4
  (local.set $i (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:30:4
  (local.set $f (f32.const 1.0))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:31:4
  (local.set $d (f64.const 1.0))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:32:4
  (local.set $b (i32.const -1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:33:4
  (local.set $c (i32.const 65535))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:34:4
  (local.set $s (i32.const -1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:35:4
  (local.set $i (i32.const -1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:36:4
  (local.set $f (f32.const 9.223372036854776E18))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:37:4
  (local.set $d (f64.const 9.223372036854776E18))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:38:4
  (local.set $o (call $m_valueOf__char__java_lang_Character@java.lang.Character (local.get $c)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:39:4
  (local.set $s (i32.extend16_s (call $m_charValue__char@java.lang.Character (ref.as_non_null (ref.cast (ref null $java.lang.Character) (local.get $o))))))
 )
)
(elem declare func $m_testCoercions__void@arithmeticexpressions.ArithmeticExpressions)

;;; void ArithmeticExpressions.testPrimitives()
(func $m_testPrimitives__void@arithmeticexpressions.ArithmeticExpressions
 (type $function.m_testPrimitives__void)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:42:14
 (local $a i32)
 (local $b i32)
 (local $$value i32)
 (local $c i32)
 (local $$value_1 i32)
 (local $d i32)
 (local $e i32)
 (local $f i32)
 (local $g i32)
 (local $h i32)
 (local $i i32)
 (local $j i32)
 (local $p i32)
 (local $r i32)
 (local $t i32)
 (local $u i32)
 (local $v i32)
 (local $w i32)
 (local $k i32)
 (local $l i32)
 (local $m i32)
 (local $o f64)
 (local $s i32)
 (local $q i32)
 (local $x i32)
 (local $y i32)
 (local $z (ref null $java.lang.Long))
 (local $this (ref null $arithmeticexpressions.ArithmeticExpressions))
 (local.set $this (ref.cast (ref $arithmeticexpressions.ArithmeticExpressions) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:43:4
  (local.set $a (i32.const 10))
  (local.set $b (block (result i32)
   (local.set $$value (local.get $a))
   (local.set $a (i32.add (local.get $a) (i32.const 1)))
   (local.get $$value)
  ))
  (local.set $c (block (result i32)
   (local.set $$value_1 (local.get $a))
   (local.set $a (i32.sub (local.get $a) (i32.const 1)))
   (local.get $$value_1)
  ))
  (local.set $d (block (result i32)
   (local.set $a (i32.add (local.get $a) (i32.const 1)))
   (local.get $a)
  ))
  (local.set $e (block (result i32)
   (local.set $a (i32.sub (local.get $a) (i32.const 1)))
   (local.get $a)
  ))
  (local.set $f (i32.sub (i32.const 0) (local.get $a)))
  (local.set $g (local.get $a))
  (local.set $h (i32.xor (i32.const -1) (local.get $a)))
  (local.set $i (i32.sub (i32.add (i32.add (i32.const 1) (i32.const 1)) (i32.const 2)) (i32.const 5)))
  (local.set $j (i32.mul (i32.add (i32.const 1) (i32.const 2)) (i32.add (i32.const 3) (i32.const 4))))
  (local.set $p (i32.rem_s (i32.mul (call $m_safeDivision__int__int__int@javaemul.internal.Primitives (i32.const 1)(i32.const 2)) (i32.const 3)) (i32.const 4)))
  (local.set $r (i32.sub (i32.const 0) (i32.const -2147483648)))
  (local.set $t (i32.sub (i32.const 0) (i32.sub (i32.const 0) (i32.sub (i32.const 0) (i32.const 1)))))
  (local.set $u (i32.const 1))
  (local.set $v (i32.sub (i32.const 0) (i32.sub (i32.const 0) (i32.const 1))))
  (local.set $w (i32.sub (i32.const 5) (i32.sub (i32.const 0) (i32.const 4))))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:59:4
  (local.set $k (i32.eqz (i32.eq (i32.add (i32.add (i32.const 1) (i32.const 2)) (i32.const 3)) (i32.const 4))))
  (local.set $l (i32.ne (i32.add (i32.const 1) (i32.const 2)) (i32.const 4)))
  (local.set $m (f64.ne (f64.const 9.223372036854776E18) (f64.const 9.223372036854778E18)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:60:4
  (local.set $o (f64.sub (f64.convert_i32_s (call $m_safeDivision__int__int__int@javaemul.internal.Primitives (i32.add (i32.const 5) (i32.const 1))(i32.const 2))) (f64.const 0.0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:62:4
  (local.set $a (i32.shl (local.get $a) (i32.const 31)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:63:4
  (local.set $a (i32.shl (local.get $a) (i32.const 1)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:64:4
  (local.set $a (i32.wrap_i64 (i64.add (i64.extend_i32_s (local.get $a)) (i64.const 1))))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:65:4
  (local.set $a (i32.wrap_i64 (call $m_safeDivision__long__long__long@javaemul.internal.Primitives (i64.extend_i32_s (local.get $a))(i64.const 1))))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:66:4
  (local.set $a (i32.trunc_sat_f64_s (f64.add (f64.convert_i32_s (local.get $a)) (f64.const 1.7976931348623157E308))))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:68:4
  (local.set $k (i32.or (local.get $k) (i32.const 1)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:70:4
  (local.set $s (i32.const 10))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:71:4
  (local.set $k (i32.eq (block (result i32)
   (local.set $s (i32.extend16_s (i32.add (local.get $s) (i32.const 1))))
   (local.get $s)
  ) (i32.const 10)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:73:4
  (local.set $q (i32.shr_s (i32.const 3) (i32.const 2)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:74:4
  (local.set $q (i32.shr_u (i32.const 3) (i32.const 2)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:76:4
  (local.set $x (i32.extend8_s (i32.mul (i32.add (i32.extend16_s (local.get $a)) (i32.extend8_s (i32.extend16_s (local.get $b)))) (i32.extend16_s (i32.extend8_s (local.get $c))))))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:78:4
  (local.set $y (i32.const 121))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:79:4
  (local.set $z (call $m_valueOf__long__java_lang_Long@java.lang.Long (i64.const 121)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:80:4
  (local.set $k (i64.eq (i64.extend_i32_u (local.get $y)) (call $m_longValue__long@java.lang.Long (ref.as_non_null (local.get $z)))))
 )
)
(elem declare func $m_testPrimitives__void@arithmeticexpressions.ArithmeticExpressions)

;;; void ArithmeticExpressions.testDoubleAssignments()
(func $m_testDoubleAssignments__void@arithmeticexpressions.ArithmeticExpressions
 (type $function.m_testDoubleAssignments__void)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:83:14
 (local $a f64)
 (local $this (ref null $arithmeticexpressions.ArithmeticExpressions))
 (local.set $this (ref.cast (ref $arithmeticexpressions.ArithmeticExpressions) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:84:4
  (local.set $a (f64.const 1.0))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:85:4
  (local.set $a (f64.add (local.get $a) (f64.const 2.0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:86:4
  (local.set $a (f64.sub (local.get $a) (f64.const 3.0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:87:4
  (local.set $a (f64.mul (local.get $a) (f64.const 4.0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:88:4
  (local.set $a (f64.div (local.get $a) (f64.const 5.0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:89:4
  (local.set $a (call $m_dmod__double__double__double@javaemul.internal.Primitives (local.get $a)(f64.const 6.0)))
 )
)
(elem declare func $m_testDoubleAssignments__void@arithmeticexpressions.ArithmeticExpressions)

;;; void ArithmeticExpressions.testCompoundArray()
(func $m_testCompoundArray__void@arithmeticexpressions.ArithmeticExpressions
 (type $function.m_testCompoundArray__void)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:97:14
 (local $ints (ref null $javaemul.internal.WasmArray.OfInt))
 (local $i i32)
 (local $$array (ref null $javaemul.internal.WasmArray.OfInt))
 (local $$index i32)
 (local $$value i32)
 (local $$array_1 (ref null $javaemul.internal.WasmArray.OfInt))
 (local $$index_1 i32)
 (local $$array_2 (ref null $javaemul.internal.WasmArray.OfInt))
 (local $$index_2 i32)
 (local $$value_1 i32)
 (local $longs (ref null $javaemul.internal.WasmArray.OfLong))
 (local $$array_3 (ref null $javaemul.internal.WasmArray.OfLong))
 (local $$index_3 i32)
 (local $booleans (ref null $javaemul.internal.WasmArray.OfBoolean))
 (local $strings (ref null $javaemul.internal.WasmArray.OfObject))
 (local $shorts (ref null $javaemul.internal.WasmArray.OfShort))
 (local $b i32)
 (local $$array_4 (ref null $javaemul.internal.WasmArray.OfShort))
 (local $$index_4 i32)
 (local $$value_2 i32)
 (local $this (ref null $arithmeticexpressions.ArithmeticExpressions))
 (local.set $this (ref.cast (ref $arithmeticexpressions.ArithmeticExpressions) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:98:4
  (local.set $ints (ref.null $javaemul.internal.WasmArray.OfInt))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:99:4
  (array.set $int.array (struct.get $javaemul.internal.WasmArray.OfInt $elements@javaemul.internal.WasmArray.OfInt (local.get $ints)) (i32.const 0) (i32.add (array.get $int.array (struct.get $javaemul.internal.WasmArray.OfInt $elements@javaemul.internal.WasmArray.OfInt (local.get $ints)) (i32.const 0)) (i32.const 1)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:100:4
  (array.set $int.array (struct.get $javaemul.internal.WasmArray.OfInt $elements@javaemul.internal.WasmArray.OfInt (local.get $ints)) (i32.const 0) (i32.sub (array.get $int.array (struct.get $javaemul.internal.WasmArray.OfInt $elements@javaemul.internal.WasmArray.OfInt (local.get $ints)) (i32.const 0)) (i32.const 1)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:101:4
  (array.set $int.array (struct.get $javaemul.internal.WasmArray.OfInt $elements@javaemul.internal.WasmArray.OfInt (local.get $ints)) (i32.const 0) (i32.mul (array.get $int.array (struct.get $javaemul.internal.WasmArray.OfInt $elements@javaemul.internal.WasmArray.OfInt (local.get $ints)) (i32.const 0)) (i32.const 1)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:102:4
  (array.set $int.array (struct.get $javaemul.internal.WasmArray.OfInt $elements@javaemul.internal.WasmArray.OfInt (local.get $ints)) (i32.const 0) (call $m_safeDivision__int__int__int@javaemul.internal.Primitives (array.get $int.array (struct.get $javaemul.internal.WasmArray.OfInt $elements@javaemul.internal.WasmArray.OfInt (local.get $ints)) (i32.const 0))(i32.const 1)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:103:4
  (array.set $int.array (struct.get $javaemul.internal.WasmArray.OfInt $elements@javaemul.internal.WasmArray.OfInt (local.get $ints)) (i32.const 0) (i32.and (array.get $int.array (struct.get $javaemul.internal.WasmArray.OfInt $elements@javaemul.internal.WasmArray.OfInt (local.get $ints)) (i32.const 0)) (i32.const 1)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:104:4
  (array.set $int.array (struct.get $javaemul.internal.WasmArray.OfInt $elements@javaemul.internal.WasmArray.OfInt (local.get $ints)) (i32.const 0) (i32.xor (array.get $int.array (struct.get $javaemul.internal.WasmArray.OfInt $elements@javaemul.internal.WasmArray.OfInt (local.get $ints)) (i32.const 0)) (i32.const 1)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:105:4
  (array.set $int.array (struct.get $javaemul.internal.WasmArray.OfInt $elements@javaemul.internal.WasmArray.OfInt (local.get $ints)) (i32.const 0) (i32.or (array.get $int.array (struct.get $javaemul.internal.WasmArray.OfInt $elements@javaemul.internal.WasmArray.OfInt (local.get $ints)) (i32.const 0)) (i32.const 1)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:106:4
  (array.set $int.array (struct.get $javaemul.internal.WasmArray.OfInt $elements@javaemul.internal.WasmArray.OfInt (local.get $ints)) (i32.const 0) (i32.rem_s (array.get $int.array (struct.get $javaemul.internal.WasmArray.OfInt $elements@javaemul.internal.WasmArray.OfInt (local.get $ints)) (i32.const 0)) (i32.const 1)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:107:4
  (array.set $int.array (struct.get $javaemul.internal.WasmArray.OfInt $elements@javaemul.internal.WasmArray.OfInt (local.get $ints)) (i32.const 0) (i32.shl (array.get $int.array (struct.get $javaemul.internal.WasmArray.OfInt $elements@javaemul.internal.WasmArray.OfInt (local.get $ints)) (i32.const 0)) (i32.const 1)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:108:4
  (array.set $int.array (struct.get $javaemul.internal.WasmArray.OfInt $elements@javaemul.internal.WasmArray.OfInt (local.get $ints)) (i32.const 0) (i32.shr_s (array.get $int.array (struct.get $javaemul.internal.WasmArray.OfInt $elements@javaemul.internal.WasmArray.OfInt (local.get $ints)) (i32.const 0)) (i32.const 1)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:109:4
  (array.set $int.array (struct.get $javaemul.internal.WasmArray.OfInt $elements@javaemul.internal.WasmArray.OfInt (local.get $ints)) (i32.const 0) (i32.shr_u (array.get $int.array (struct.get $javaemul.internal.WasmArray.OfInt $elements@javaemul.internal.WasmArray.OfInt (local.get $ints)) (i32.const 0)) (i32.const 1)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:110:4
  (array.set $int.array (struct.get $javaemul.internal.WasmArray.OfInt $elements@javaemul.internal.WasmArray.OfInt (local.get $ints)) (i32.const 0) (i32.add (array.get $int.array (struct.get $javaemul.internal.WasmArray.OfInt $elements@javaemul.internal.WasmArray.OfInt (local.get $ints)) (i32.const 0)) (i32.const 1)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:111:4
  (array.set $int.array (struct.get $javaemul.internal.WasmArray.OfInt $elements@javaemul.internal.WasmArray.OfInt (local.get $ints)) (i32.const 0) (i32.add (array.get $int.array (struct.get $javaemul.internal.WasmArray.OfInt $elements@javaemul.internal.WasmArray.OfInt (local.get $ints)) (i32.const 0)) (i32.const 1)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:112:4
  (local.set $i (i32.const 0))
  (block
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:113:4
   (local.set $$array (local.get $ints))
   (local.set $$index (block (result i32)
    (local.set $$value (local.get $i))
    (local.set $i (i32.add (local.get $i) (i32.const 1)))
    (local.get $$value)
   ))
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:113:4
   (array.set $int.array (struct.get $javaemul.internal.WasmArray.OfInt $elements@javaemul.internal.WasmArray.OfInt (local.get $$array)) (local.get $$index) (i32.add (array.get $int.array (struct.get $javaemul.internal.WasmArray.OfInt $elements@javaemul.internal.WasmArray.OfInt (local.get $$array)) (local.get $$index)) (i32.const 1)))
  )
  (block
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:114:4
   (local.set $$array_1 (local.get $ints))
   (local.set $$index_1 (block (result i32)
    (local.set $i (i32.add (local.get $i) (i32.const 1)))
    (local.get $i)
   ))
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:114:4
   (array.set $int.array (struct.get $javaemul.internal.WasmArray.OfInt $elements@javaemul.internal.WasmArray.OfInt (local.get $$array_1)) (local.get $$index_1) (i32.add (array.get $int.array (struct.get $javaemul.internal.WasmArray.OfInt $elements@javaemul.internal.WasmArray.OfInt (local.get $$array_1)) (local.get $$index_1)) (i32.const 1)))
  )
  (block
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:115:4
   (local.set $$array_2 (local.get $ints))
   (local.set $$index_2 (block (result i32)
    (local.set $$value_1 (local.get $i))
    (local.set $i (i32.add (local.get $i) (i32.const 1)))
    (local.get $$value_1)
   ))
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:115:4
   (array.set $int.array (struct.get $javaemul.internal.WasmArray.OfInt $elements@javaemul.internal.WasmArray.OfInt (local.get $$array_2)) (local.get $$index_2) (call $m_safeDivision__int__int__int@javaemul.internal.Primitives (array.get $int.array (struct.get $javaemul.internal.WasmArray.OfInt $elements@javaemul.internal.WasmArray.OfInt (local.get $$array_2)) (local.get $$index_2))(i32.const 1)))
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:117:4
  (local.set $longs (ref.null $javaemul.internal.WasmArray.OfLong))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:118:4
  (array.set $long.array (struct.get $javaemul.internal.WasmArray.OfLong $elements@javaemul.internal.WasmArray.OfLong (local.get $longs)) (i32.const 0) (i64.add (array.get $long.array (struct.get $javaemul.internal.WasmArray.OfLong $elements@javaemul.internal.WasmArray.OfLong (local.get $longs)) (i32.const 0)) (i64.const 1)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:119:4
  (array.set $long.array (struct.get $javaemul.internal.WasmArray.OfLong $elements@javaemul.internal.WasmArray.OfLong (local.get $longs)) (i32.const 0) (i64.sub (array.get $long.array (struct.get $javaemul.internal.WasmArray.OfLong $elements@javaemul.internal.WasmArray.OfLong (local.get $longs)) (i32.const 0)) (i64.const 1)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:120:4
  (array.set $long.array (struct.get $javaemul.internal.WasmArray.OfLong $elements@javaemul.internal.WasmArray.OfLong (local.get $longs)) (i32.const 0) (i64.sub (array.get $long.array (struct.get $javaemul.internal.WasmArray.OfLong $elements@javaemul.internal.WasmArray.OfLong (local.get $longs)) (i32.const 0)) (i64.const 1)))
  (block
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:121:4
   (local.set $$array_3 (call $m_getLongArray__arrayOf_long@arithmeticexpressions.ArithmeticExpressions ))
   (local.set $$index_3 (i32.const 0))
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:121:4
   (array.set $long.array (struct.get $javaemul.internal.WasmArray.OfLong $elements@javaemul.internal.WasmArray.OfLong (local.get $$array_3)) (local.get $$index_3) (i64.add (array.get $long.array (struct.get $javaemul.internal.WasmArray.OfLong $elements@javaemul.internal.WasmArray.OfLong (local.get $$array_3)) (local.get $$index_3)) (i64.const 1)))
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:123:4
  (local.set $booleans (ref.null $javaemul.internal.WasmArray.OfBoolean))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:124:4
  (array.set $boolean.array (struct.get $javaemul.internal.WasmArray.OfBoolean $elements@javaemul.internal.WasmArray.OfBoolean (local.get $booleans)) (i32.const 0) (i32.or (array.get_s $boolean.array (struct.get $javaemul.internal.WasmArray.OfBoolean $elements@javaemul.internal.WasmArray.OfBoolean (local.get $booleans)) (i32.const 0)) (i32.const 1)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:126:4
  (local.set $strings (ref.null $javaemul.internal.WasmArray.OfObject))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:127:4
  (array.set $java.lang.Object.array (struct.get $javaemul.internal.WasmArray.OfObject $elements@javaemul.internal.WasmArray.OfObject (local.get $strings)) (i32.const 0) (call $m_concat__java_lang_String__java_lang_String__java_lang_String@java.lang.String (call $m_valueOf__java_lang_Object__java_lang_String@java.lang.String (ref.cast (ref null $java.lang.String) (array.get $java.lang.Object.array (struct.get $javaemul.internal.WasmArray.OfObject $elements@javaemul.internal.WasmArray.OfObject (local.get $strings)) (i32.const 0))))(call $m_valueOf__java_lang_Object__java_lang_String@java.lang.String (ref.null $java.lang.Object))))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:129:4
  (local.set $shorts (ref.null $javaemul.internal.WasmArray.OfShort))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:130:4
  (local.set $b (i32.eq (block (result i32)
   (local.set $$array_4 (local.get $shorts))
   (local.set $$index_4 (i32.const 0))
   (local.set $$value_2 (i32.extend16_s (i32.add (array.get_s $short.array (struct.get $javaemul.internal.WasmArray.OfShort $elements@javaemul.internal.WasmArray.OfShort (local.get $shorts)) (i32.const 0)) (i32.const 1))))
   (array.set $short.array (struct.get $javaemul.internal.WasmArray.OfShort $elements@javaemul.internal.WasmArray.OfShort (local.get $$array_4)) (local.get $$index_4) (local.get $$value_2))
   (local.get $$value_2)
  ) (i32.const 10)))
 )
)
(elem declare func $m_testCompoundArray__void@arithmeticexpressions.ArithmeticExpressions)

;;; long[] ArithmeticExpressions.getLongArray()
(func $m_getLongArray__arrayOf_long@arithmeticexpressions.ArithmeticExpressions
 (result (ref null $javaemul.internal.WasmArray.OfLong))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:133:24
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:134:4
  (return (ref.null $javaemul.internal.WasmArray.OfLong))
 )
)

;;; void ArithmeticExpressions.testCompoundBoxedTypes()
(func $m_testCompoundBoxedTypes__void@arithmeticexpressions.ArithmeticExpressions
 (type $function.m_testCompoundBoxedTypes__void)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:137:14
 (local $c (ref null $java.lang.Integer))
 (local $d (ref null $java.lang.Integer))
 (local $i i32)
 (local $e (ref null $java.lang.Integer))
 (local $e2 (ref null $java.lang.Double))
 (local $f (ref null $java.lang.Integer))
 (local $$value (ref null $java.lang.Integer))
 (local $$value_1 (ref null $java.lang.Integer))
 (local $b (ref null $java.lang.Byte))
 (local $ch (ref null $java.lang.Character))
 (local $$value_2 (ref null $java.lang.Integer))
 (local $ref (ref null $arithmeticexpressions.ArithmeticExpressions.1Ref))
 (local $n i32)
 (local $this (ref null $arithmeticexpressions.ArithmeticExpressions))
 (local.set $this (ref.cast (ref $arithmeticexpressions.ArithmeticExpressions) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:138:4
  (local.set $c (call $m_valueOf__int__java_lang_Integer@java.lang.Integer (i32.const 1000)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:141:4
  (local.set $d (call $m_valueOf__int__java_lang_Integer@java.lang.Integer (i32.const 10000)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:142:4
  (local.set $d (call $m_valueOf__int__java_lang_Integer@java.lang.Integer (i32.add (call $m_intValue__int@java.lang.Integer (ref.as_non_null (local.get $d))) (call $m_intValue__int@java.lang.Integer (ref.as_non_null (local.get $c))))))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:144:4
  (local.set $i (i32.const 43))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:145:4
  (local.set $d (call $m_valueOf__int__java_lang_Integer@java.lang.Integer (i32.add (call $m_intValue__int@java.lang.Integer (ref.as_non_null (local.get $d))) (local.get $i))))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:146:4
  (local.set $d (call $m_valueOf__int__java_lang_Integer@java.lang.Integer (i32.shl (call $m_intValue__int@java.lang.Integer (ref.as_non_null (local.get $d))) (local.get $i))))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:147:4
  (local.set $i (i32.add (local.get $i) (call $m_intValue__int@java.lang.Integer (ref.as_non_null (local.get $c)))))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:150:4
  (local.set $e (block (result (ref null $java.lang.Integer))
   (local.set $c (call $m_valueOf__int__java_lang_Integer@java.lang.Integer (i32.add (call $m_intValue__int@java.lang.Integer (ref.as_non_null (local.get $c))) (i32.const 1))))
   (local.get $c)
  ))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:151:4
  (local.set $e (block (result (ref null $java.lang.Integer))
   (local.set $c (call $m_valueOf__int__java_lang_Integer@java.lang.Integer (i32.add (call $m_intValue__int@java.lang.Integer (ref.as_non_null (local.get $c))) (i32.const 1))))
   (local.get $c)
  ))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:152:4
  (local.set $e2 (call $m_valueOf__double__java_lang_Double@java.lang.Double (f64.const 100.0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:153:4
  (local.set $e2 (call $m_valueOf__double__java_lang_Double@java.lang.Double (f64.add (call $m_doubleValue__double@java.lang.Double (ref.as_non_null (local.get $e2))) (f64.const 1.0))))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:156:4
  (local.set $f (block (result (ref null $java.lang.Integer))
   (local.set $$value (local.get $c))
   (local.set $c (call $m_valueOf__int__java_lang_Integer@java.lang.Integer (i32.add (call $m_intValue__int@java.lang.Integer (ref.as_non_null (local.get $c))) (i32.const 1))))
   (local.get $$value)
  ))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:157:4
  (local.set $f (block (result (ref null $java.lang.Integer))
   (local.set $$value_1 (local.get $c))
   (local.set $c (call $m_valueOf__int__java_lang_Integer@java.lang.Integer (i32.add (call $m_intValue__int@java.lang.Integer (ref.as_non_null (local.get $c))) (i32.const 1))))
   (local.get $$value_1)
  ))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:158:4
  (local.set $b (call $m_valueOf__byte__java_lang_Byte@java.lang.Byte (i32.const 0)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:159:4
  (local.set $b (call $m_valueOf__byte__java_lang_Byte@java.lang.Byte (i32.extend8_s (i32.add (call $m_byteValue__byte@java.lang.Byte (ref.as_non_null (local.get $b))) (i32.const 1)))))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:160:4
  (local.set $ch (call $m_valueOf__char__java_lang_Character@java.lang.Character (i32.const 99)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:161:4
  (local.set $ch (call $m_valueOf__char__java_lang_Character@java.lang.Character (call $m_narrowIntToChar__int__int@javaemul.internal.Primitives (i32.add (call $m_charValue__char@java.lang.Character (ref.as_non_null (local.get $ch))) (i32.const 1)))))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:164:4
  (drop (call $m_intValue__int@java.lang.Integer (ref.as_non_null (block (result (ref null $java.lang.Integer))
   (local.set $f (call $m_valueOf__int__java_lang_Integer@java.lang.Integer (i32.add (call $m_intValue__int@java.lang.Integer (ref.as_non_null (local.get $f))) (i32.const 1))))
   (local.get $f)
  ))))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:165:4
  (drop (call $m_intValue__int@java.lang.Integer (ref.as_non_null (block (result (ref null $java.lang.Integer))
   (local.set $$value_2 (local.get $f))
   (local.set $f (call $m_valueOf__int__java_lang_Integer@java.lang.Integer (i32.sub (call $m_intValue__int@java.lang.Integer (ref.as_non_null (local.get $f))) (i32.const 1))))
   (local.get $$value_2)
  ))))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:171:4
  (local.set $ref (ref.null $arithmeticexpressions.ArithmeticExpressions.1Ref))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:172:4
  (struct.set $arithmeticexpressions.ArithmeticExpressions.1Ref $field@arithmeticexpressions.ArithmeticExpressions.1Ref (local.get $ref) (call $m_valueOf__byte__java_lang_Byte@java.lang.Byte (i32.extend8_s (i32.add (call $m_byteValue__byte@java.lang.Byte (ref.as_non_null (ref.cast (ref null $java.lang.Byte) (struct.get $arithmeticexpressions.ArithmeticExpressions.1Ref $field@arithmeticexpressions.ArithmeticExpressions.1Ref (local.get $ref))))) (i32.const 1)))))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:173:4
  (local.set $n (i32.add (i32.const 1) (call $m_byteValue__byte@java.lang.Byte (ref.as_non_null (ref.cast (ref null $java.lang.Byte) (struct.get $arithmeticexpressions.ArithmeticExpressions.1Ref $field@arithmeticexpressions.ArithmeticExpressions.1Ref (local.get $ref)))))))
 )
)
(elem declare func $m_testCompoundBoxedTypes__void@arithmeticexpressions.ArithmeticExpressions)

;;; Integer ArithmeticExpressions.getInteger()
(func $m_getInteger__java_lang_Integer@arithmeticexpressions.ArithmeticExpressions
 (result (ref null $java.lang.Integer))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:176:25
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:177:4
  (return (ref.null $java.lang.Integer))
 )
)

;;; void ArithmeticExpressions.testSideEffect()
(func $m_testSideEffect__void@arithmeticexpressions.ArithmeticExpressions
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:182:22
 (local $$qualifier (ref null $arithmeticexpressions.ArithmeticExpressions))
 (block
  (block
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:183:4
   (local.set $$qualifier (call $m_getWithSideEffect__arithmeticexpressions_ArithmeticExpressions@arithmeticexpressions.ArithmeticExpressions ))
   ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:183:4
   (struct.set $arithmeticexpressions.ArithmeticExpressions $intField@arithmeticexpressions.ArithmeticExpressions (local.get $$qualifier) (i64.add (struct.get $arithmeticexpressions.ArithmeticExpressions $intField@arithmeticexpressions.ArithmeticExpressions (local.get $$qualifier)) (i64.const 5)))
  )
 )
)

;;; ArithmeticExpressions ArithmeticExpressions.getWithSideEffect()
(func $m_getWithSideEffect__arithmeticexpressions_ArithmeticExpressions@arithmeticexpressions.ArithmeticExpressions
 (result (ref null $arithmeticexpressions.ArithmeticExpressions))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:186:39
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:187:4
  (return (ref.null $arithmeticexpressions.ArithmeticExpressions))
 )
)

;;; void ArithmeticExpressions.testExtendedOperands()
(func $m_testExtendedOperands__void@arithmeticexpressions.ArithmeticExpressions
 (type $function.m_testExtendedOperands__void)
 (param $this.untyped (ref $java.lang.Object))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:193:14
 (local $boxedInteger (ref null $java.lang.Integer))
 (local $i i32)
 (local $l i64)
 (local $d f64)
 (local $this (ref null $arithmeticexpressions.ArithmeticExpressions))
 (local.set $this (ref.cast (ref $arithmeticexpressions.ArithmeticExpressions) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:194:4
  (local.set $boxedInteger (call $m_valueOf__int__java_lang_Integer@java.lang.Integer (i32.const 3)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:195:4
  
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:196:4
  
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:197:4
  
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:198:4
  (local.set $l (i64.sub (i64.extend_i32_s (i32.sub (i32.const 2) (call $m_intValue__int@java.lang.Integer (ref.as_non_null (local.get $boxedInteger))))) (i64.const 2)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:199:4
  (local.set $l (i64.or (i64.extend_i32_s (i32.or (i32.const 2) (call $m_intValue__int@java.lang.Integer (ref.as_non_null (local.get $boxedInteger))))) (i64.const 2)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:200:4
  (local.set $l (i64.mul (i64.mul (i64.mul (i64.mul (i64.const 1000000) (local.get $l)) (i64.const 60)) (i64.const 60)) (i64.const 24)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:201:4
  (local.set $l (i64.mul (i64.mul (i64.extend_i32_s (i32.mul (i32.mul (i32.const 24) (i32.const 60)) (i32.const 60))) (local.get $l)) (i64.const 1000000)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:202:4
  (local.set $d (f64.convert_i64_s (block (result i64)
   (local.set $l (i64.extend_i32_s (block (result i32)
    (local.set $i (i32.const 20))
    (local.get $i)
   )))
   (local.get $l)
  )))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:203:4
  (local.set $l (i64.extend_i32_s (call $m_intValue__int@java.lang.Integer (ref.as_non_null (block (result (ref null $java.lang.Integer))
   (local.set $boxedInteger (call $m_valueOf__int__java_lang_Integer@java.lang.Integer (block (result i32)
    (local.set $i (i32.const 20))
    (local.get $i)
   )))
   (local.get $boxedInteger)
  )))))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:204:4
  (local.set $l (i64.add (i64.add (i64.extend_i32_s (i32.add (local.get $i) (call $m_intValue__int@java.lang.Integer (ref.as_non_null (local.get $boxedInteger))))) (local.get $l)) (i64.const 20)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:205:4
  (local.set $d (f64.add (f64.convert_i64_s (i64.add (i64.const 20) (local.get $l))) (local.get $d)))
 )
)
(elem declare func $m_testExtendedOperands__void@arithmeticexpressions.ArithmeticExpressions)

;;; void ArithmeticExpressions.testEffectivelyFinalVariableInAssignmentExpression(boolean condition)
(func $m_testEffectivelyFinalVariableInAssignmentExpression__boolean__void@arithmeticexpressions.ArithmeticExpressions
 (type $function.m_testEffectivelyFinalVariableInAssignmentExpression__boolean__void)
 (param $this.untyped (ref $java.lang.Object))
 (param $condition i32)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:208:14
 (local $effectivelyFinal i64)
 (local $unused i64)
 (local $this (ref null $arithmeticexpressions.ArithmeticExpressions))
 (local.set $this (ref.cast (ref $arithmeticexpressions.ArithmeticExpressions) (local.get $this.untyped)))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:209:4
  
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:211:4
  (if (if (result i32) (local.get $condition) (then (i64.ne (block (result i64)
    (local.set $effectivelyFinal (struct.get $arithmeticexpressions.ArithmeticExpressions $bar@arithmeticexpressions.ArithmeticExpressions (local.get $this)))
    (local.get $effectivelyFinal)
   ) (i64.const 0))) (else (i32.const 0)))
   (then
    (block
     ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:212:6
     (local.set $unused (local.get $effectivelyFinal))
    )
   )
  )
 )
)
(elem declare func $m_testEffectivelyFinalVariableInAssignmentExpression__boolean__void@arithmeticexpressions.ArithmeticExpressions)

;;; long ArithmeticExpressions.incrementCounter()
(func $m_incrementCounter__long@arithmeticexpressions.ArithmeticExpressions
 (result i64)
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:218:22
 (local $$value i64)
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:219:4
  (return (block (result i64)
   (local.set $$value (i64.add (global.get $counter@arithmeticexpressions.ArithmeticExpressions) (i64.const 1)))
   (global.set $counter@arithmeticexpressions.ArithmeticExpressions (local.get $$value))
   (local.get $$value)
  ))
 )
)

;;; void ArithmeticExpressions.$init()
(func $$init__void_$p_arithmeticexpressions_ArithmeticExpressions@arithmeticexpressions.ArithmeticExpressions
 (param $this (ref null $arithmeticexpressions.ArithmeticExpressions))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:20:13
 (local $$value i64)
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:95:2
  (struct.set $arithmeticexpressions.ArithmeticExpressions $bar@arithmeticexpressions.ArithmeticExpressions (local.get $this) (block (result i64)
   (local.set $$value (global.get $foo@arithmeticexpressions.ArithmeticExpressions))
   (global.set $foo@arithmeticexpressions.ArithmeticExpressions (i64.add (global.get $foo@arithmeticexpressions.ArithmeticExpressions) (i64.const 1)))
   (local.get $$value)
  ))
 )
)

;;; void ArithmeticExpressions.$clinit()
(func $$clinit__void_<once>_@arithmeticexpressions.ArithmeticExpressions
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:20:13
 (local $$value i64)
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:20:13
  (if (global.get $$class-initialized@arithmeticexpressions.ArithmeticExpressions)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:20:13
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:20:13
  (global.set $$class-initialized@arithmeticexpressions.ArithmeticExpressions (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:20:13
  (call $$clinit__void_<once>_@java.lang.Object )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:93:2
  (global.set $one@arithmeticexpressions.ArithmeticExpressions (i64.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:94:2
  (global.set $foo@arithmeticexpressions.ArithmeticExpressions (block (result i64)
   (local.set $$value (global.get $one@arithmeticexpressions.ArithmeticExpressions))
   (global.set $one@arithmeticexpressions.ArithmeticExpressions (i64.add (global.get $one@arithmeticexpressions.ArithmeticExpressions) (i64.const 1)))
   (local.get $$value)
  ))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:216:2
  (global.set $counter@arithmeticexpressions.ArithmeticExpressions (i64.const 0))
 )
)

;;; Class<T> ArithmeticExpressions.$getClassMetadata()
(func $$getClassMetadata__java_lang_Class_<once>_@arithmeticexpressions.ArithmeticExpressions
 (result (ref null $java.lang.Class))
 (block
  (if (i32.eqz (ref.is_null (global.get $$class@arithmeticexpressions.ArithmeticExpressions)))
   (then
    (return (global.get $$class@arithmeticexpressions.ArithmeticExpressions))
   )
  )
  (global.set $$class@arithmeticexpressions.ArithmeticExpressions (call $m_createForClass__java_lang_String__java_lang_Class__java_lang_Class@java.lang.Class (call $$getString_|arithmeticex...|__java_lang_String_<once>_@arithmeticexpressions.ArithmeticExpressions )(call $$getClassMetadata__java_lang_Class_<once>_@java.lang.Object )))
  (return (global.get $$class@arithmeticexpressions.ArithmeticExpressions))
 )
)

;;; Class<?> ArithmeticExpressions.$getClassImpl()
(func $$getClassImpl__java_lang_Class@arithmeticexpressions.ArithmeticExpressions
 (type $function.$getClassImpl__java_lang_Class)
 (param $this.untyped (ref $java.lang.Object))
 (result (ref null $java.lang.Class))
 (local $this (ref null $arithmeticexpressions.ArithmeticExpressions))
 (local.set $this (ref.cast (ref $arithmeticexpressions.ArithmeticExpressions) (local.get $this.untyped)))
 (block
  (return (call $$getClassMetadata__java_lang_Class_<once>_@arithmeticexpressions.ArithmeticExpressions ))
 )
)
(elem declare func $$getClassImpl__java_lang_Class@arithmeticexpressions.ArithmeticExpressions)

;;; Code for arithmeticexpressions.ArithmeticExpressions.1Ref [methods]

;;; Ref<T> Ref.$create(ArithmeticExpressions $outer_this)
(func $$create__arithmeticexpressions_ArithmeticExpressions@arithmeticexpressions.ArithmeticExpressions.1Ref
 (param $$outer_this (ref null $arithmeticexpressions.ArithmeticExpressions))
 (result (ref null $arithmeticexpressions.ArithmeticExpressions.1Ref))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:167:10
 (local $$instance (ref null $arithmeticexpressions.ArithmeticExpressions.1Ref))
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:167:10
  (call $$clinit__void_<once>_@arithmeticexpressions.ArithmeticExpressions.1Ref )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:167:10
  (local.set $$instance (struct.new $arithmeticexpressions.ArithmeticExpressions.1Ref (global.get $arithmeticexpressions.ArithmeticExpressions.1Ref.vtable) (global.get $itable.empty) (i32.const 0) (ref.null $arithmeticexpressions.ArithmeticExpressions) (ref.null $java.lang.Object)))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:167:10
  (call $$ctor__arithmeticexpressions_ArithmeticExpressions__void_$p_arithmeticexpressions_ArithmeticExpressions_1Ref@arithmeticexpressions.ArithmeticExpressions.1Ref (ref.as_non_null (local.get $$instance))(local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:167:10
  (return (local.get $$instance))
 )
)

;;; void Ref.$ctor(ArithmeticExpressions $outer_this)
(func $$ctor__arithmeticexpressions_ArithmeticExpressions__void_$p_arithmeticexpressions_ArithmeticExpressions_1Ref@arithmeticexpressions.ArithmeticExpressions.1Ref
 (param $this (ref null $arithmeticexpressions.ArithmeticExpressions.1Ref))
 (param $$outer_this (ref null $arithmeticexpressions.ArithmeticExpressions))
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:167:10
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:167:10
  (struct.set $arithmeticexpressions.ArithmeticExpressions.1Ref $$outer_this@arithmeticexpressions.ArithmeticExpressions.1Ref (local.get $this) (local.get $$outer_this))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:167:10
  (call $$ctor__void_$p_java_lang_Object@java.lang.Object (ref.as_non_null (local.get $this)))
 )
)

;;; void Ref.$clinit()
(func $$clinit__void_<once>_@arithmeticexpressions.ArithmeticExpressions.1Ref
 ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:167:10
 (block
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:167:10
  (if (global.get $$class-initialized@arithmeticexpressions.ArithmeticExpressions.1Ref)
   (then
    ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:167:10
    (return )
   )
  )
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:167:10
  (global.set $$class-initialized@arithmeticexpressions.ArithmeticExpressions.1Ref (i32.const 1))
  ;;@ transpiler/javatests/com/google/j2cl/readable/java/arithmeticexpressions/readable-j2wasm.js/arithmeticexpressions/ArithmeticExpressions.java:167:10
  (call $$clinit__void_<once>_@java.lang.Object )
 )
)

;;; Class<T> Ref.$getClassMetadata()
(func $$getClassMetadata__java_lang_Class_<once>_@arithmeticexpressions.ArithmeticExpressions.1Ref
 (result (ref null $java.lang.Class))
 (block
  (if (i32.eqz (ref.is_null (global.get $$class@arithmeticexpressions.ArithmeticExpressions.1Ref)))
   (then
    (return (global.get $$class@arithmeticexpressions.ArithmeticExpressions.1Ref))
   )
  )
  (global.set $$class@arithmeticexpressions.ArithmeticExpressions.1Ref (call $m_createForClass__java_lang_String__java_lang_Class__java_lang_Class@java.lang.Class (call $$getString_|arithmeticex...|__java_lang_String_<once>_@arithmeticexpressions.ArithmeticExpressions.1Ref )(call $$getClassMetadata__java_lang_Class_<once>_@java.lang.Object )))
  (return (global.get $$class@arithmeticexpressions.ArithmeticExpressions.1Ref))
 )
)

;;; Class<?> Ref.$getClassImpl()
(func $$getClassImpl__java_lang_Class@arithmeticexpressions.ArithmeticExpressions.1Ref
 (type $function.$getClassImpl__java_lang_Class)
 (param $this.untyped (ref $java.lang.Object))
 (result (ref null $java.lang.Class))
 (local $this (ref null $arithmeticexpressions.ArithmeticExpressions.1Ref))
 (local.set $this (ref.cast (ref $arithmeticexpressions.ArithmeticExpressions.1Ref) (local.get $this.untyped)))
 (block
  (return (call $$getClassMetadata__java_lang_Class_<once>_@arithmeticexpressions.ArithmeticExpressions.1Ref ))
 )
)
(elem declare func $$getClassImpl__java_lang_Class@arithmeticexpressions.ArithmeticExpressions.1Ref)
