; LLVM IR from facebook/hermes :: API/hermes_sandbox/external (hermes_sandbox_impl_compiled_4)

; Unoptimized IR (clang -disable-llvm-passes):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%struct.w2c_hermes = type { ptr, ptr, ptr, i32, i32, i32, %struct.wasm_rt_memory_t, %struct.wasm_rt_funcref_table_t }
%struct.wasm_rt_memory_t = type { ptr, i64, i64, i64, i8 }
%struct.wasm_rt_funcref_table_t = type { ptr, i32, i32 }

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #0

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #0

; Function Attrs: noreturn
declare void @wasm_rt_trap(i32 noundef) #1

; Function Attrs: inlinehint nounwind uwtable
declare hidden void @i32_store(ptr noundef, i64 noundef, i32 noundef) #2

; Function Attrs: inlinehint nounwind uwtable
declare hidden void @i64_store(ptr noundef, i64 noundef, i64 noundef) #2

; Function Attrs: inlinehint nounwind uwtable
declare hidden i32 @i32_load(ptr noundef, i64 noundef) #2

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(none)
declare i64 @llvm.expect.i64(i64, i64) #3

; Function Attrs: inlinehint nounwind uwtable
declare hidden i32 @i32_load8_u(ptr noundef, i64 noundef) #2

declare void @w2c_hermes_0x5F_assert_fail(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) #4

; Function Attrs: inlinehint nounwind uwtable
declare hidden i64 @i64_load(ptr noundef, i64 noundef) #2

; Function Attrs: nounwind uwtable
declare dso_local i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AraiseRangeError0x28hermes0x3A0x3Avm0x3A0x3ATwineChar160x20const0x260x29(ptr noundef, i32 noundef, i32 noundef) #5

; Function Attrs: nounwind uwtable
declare dso_local i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ATwineChar160x3A0x3ATwineChar160x28char0x20const0x2A0x29(ptr noundef, i32 noundef, i32 noundef) #5

declare i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A0x7EGCScope0x280x29(ptr noundef, i32 noundef) #4

; Function Attrs: inlinehint nounwind uwtable
declare hidden i64 @i64_reinterpret_f64(double noundef) #2

declare i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x3A0x3AHandle0x28hermes0x3A0x3Avm0x3A0x3AHandleRootOwner0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef, i32 noundef, i32 noundef, i64 noundef) #4

; Function Attrs: inlinehint nounwind uwtable
declare hidden void @f64_store(ptr noundef, i64 noundef, double noundef) #2

; Function Attrs: inlinehint nounwind uwtable
declare hidden double @f64_load(ptr noundef, i64 noundef) #2

declare void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSArray0x3A0x3Acreate0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20unsigned0x20int0x2C0x20unsigned0x20int0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) #4

declare i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x3A0x3AHandle0x28hermes0x3A0x3Avm0x3A0x3AHandleRootOwner0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AJSObject0x2A0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef) #4

; Function Attrs: nounwind uwtable
declare dso_local i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AraiseTypeError0x28hermes0x3A0x3Avm0x3A0x3ATwineChar160x20const0x260x29(ptr noundef, i32 noundef, i32 noundef) #5

; Function Attrs: nounwind uwtable
declare dso_local void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSObject0x3A0x3AdefineOwnComputedPrimitive0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ADefinePropertyFlags0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3APropOpFlags0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) #5

; Function Attrs: inlinehint nounwind uwtable
declare hidden double @f64_reinterpret_i64(i64 noundef) #2

; Function Attrs: nounwind uwtable
declare hidden double @wasm_fabs(double noundef) #5

declare i32 @w2c_hermes_hermes0x3A0x3AtruncateToInt32SlowPath0x28double0x29(ptr noundef, double noundef) #4

declare void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AtoIntegerOrInfinity0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef) #4

declare void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AtoObject0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef) #4

declare void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AlengthOfArrayLike0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSArray0x3E0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) #4

; Function Attrs: nounwind uwtable
define dso_local void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AarrayPrototypeToSpliced0x28void0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ANativeArgs0x29(ptr noundef %0, i32 noundef %1, i32 noundef %2, i32 noundef %3, i32 noundef %4) #5 {
  %6 = alloca ptr, align 8
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca i32, align 4
  %10 = alloca i32, align 4
  %11 = alloca i32, align 4
  %12 = alloca i32, align 4
  %13 = alloca i32, align 4
  %14 = alloca i32, align 4
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca i32, align 4
  %18 = alloca i32, align 4
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = alloca i64, align 8
  %26 = alloca i64, align 8
  %27 = alloca i64, align 8
  %28 = alloca double, align 8
  %29 = alloca double, align 8
  %30 = alloca double, align 8
  %31 = alloca double, align 8
  %32 = alloca i32, align 4
  %33 = alloca i32, align 4
  %34 = alloca i32, align 4
  %35 = alloca i32, align 4
  %36 = alloca i32, align 4
  %37 = alloca i32, align 4
  %38 = alloca i32, align 4
  %39 = alloca i32, align 4
  %40 = alloca i32, align 4
  %41 = alloca i32, align 4
  %42 = alloca i64, align 8
  %43 = alloca i64, align 8
  %44 = alloca i64, align 8
  %45 = alloca i64, align 8
  %46 = alloca i64, align 8
  %47 = alloca double, align 8
  %48 = alloca double, align 8
  %49 = alloca double, align 8
  %50 = alloca double, align 8
  %51 = alloca double, align 8
  %52 = alloca double, align 8
  %53 = alloca double, align 8
  %54 = alloca double, align 8
  %55 = alloca double, align 8
  store ptr %0, ptr %6, align 8, !tbaa !5
  store i32 %1, ptr %7, align 4, !tbaa !9
  store i32 %2, ptr %8, align 4, !tbaa !9
  store i32 %3, ptr %9, align 4, !tbaa !9
  store i32 %4, ptr %10, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #6
  store i32 0, ptr %11, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #6
  store i32 0, ptr %12, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #6
  store i32 0, ptr %13, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #6
  store i32 0, ptr %14, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #6
  store i32 0, ptr %15, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #6
  store i32 0, ptr %16, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #6
  store i32 0, ptr %17, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #6
  store i32 0, ptr %18, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #6
  store i32 0, ptr %19, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #6
  store i32 0, ptr %20, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #6
  store i32 0, ptr %21, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #6
  store i32 0, ptr %22, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #6
  store i32 0, ptr %23, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #6
  store i32 0, ptr %24, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #6
  store i64 0, ptr %25, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %26) #6
  store i64 0, ptr %26, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #6
  store i64 0, ptr %27, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #6
  store double 0.000000e+00, ptr %28, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 8, ptr %29) #6
  store double 0.000000e+00, ptr %29, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #6
  store double 0.000000e+00, ptr %30, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #6
  store double 0.000000e+00, ptr %31, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %42) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %43) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %46) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %47) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %48) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %49) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %50) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %51) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %52) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %53) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %54) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %55) #6
  %56 = load ptr, ptr %6, align 8, !tbaa !5
  %57 = getelementptr inbounds %struct.w2c_hermes, ptr %56, i32 0, i32 3
  %58 = load i32, ptr %57, align 8, !tbaa !15
  store i32 %58, ptr %32, align 4, !tbaa !9
  store i32 464, ptr %33, align 4, !tbaa !9
  %59 = load i32, ptr %33, align 4, !tbaa !9
  %60 = load i32, ptr %32, align 4, !tbaa !9
  %61 = sub i32 %60, %59
  store i32 %61, ptr %32, align 4, !tbaa !9
  %62 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %62, ptr %11, align 4, !tbaa !9
  %63 = load i32, ptr %32, align 4, !tbaa !9
  %64 = load ptr, ptr %6, align 8, !tbaa !5
  %65 = getelementptr inbounds %struct.w2c_hermes, ptr %64, i32 0, i32 3
  store i32 %63, ptr %65, align 8, !tbaa !15
  %66 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %66, ptr %32, align 4, !tbaa !9
  store i64 48, ptr %43, align 8, !tbaa !11
  %67 = load ptr, ptr %6, align 8, !tbaa !5
  %68 = getelementptr inbounds %struct.w2c_hermes, ptr %67, i32 0, i32 6
  %69 = load i32, ptr %32, align 4, !tbaa !9
  %70 = zext i32 %69 to i64
  %71 = add i64 %70, 280
  %72 = load i64, ptr %43, align 8, !tbaa !11
  call void @i64_store(ptr noundef %68, i64 noundef %71, i64 noundef %72)
  %73 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %73, ptr %32, align 4, !tbaa !9
  %74 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %74, ptr %33, align 4, !tbaa !9
  %75 = load ptr, ptr %6, align 8, !tbaa !5
  %76 = getelementptr inbounds %struct.w2c_hermes, ptr %75, i32 0, i32 6
  %77 = load i32, ptr %32, align 4, !tbaa !9
  %78 = zext i32 %77 to i64
  %79 = add i64 %78, 276
  %80 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %76, i64 noundef %79, i32 noundef %80)
  %81 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %81, ptr %32, align 4, !tbaa !9
  store i32 0, ptr %33, align 4, !tbaa !9
  %82 = load ptr, ptr %6, align 8, !tbaa !5
  %83 = getelementptr inbounds %struct.w2c_hermes, ptr %82, i32 0, i32 6
  %84 = load i32, ptr %32, align 4, !tbaa !9
  %85 = zext i32 %84 to i64
  %86 = add i64 %85, 272
  %87 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %83, i64 noundef %86, i32 noundef %87)
  %88 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %88, ptr %32, align 4, !tbaa !9
  %89 = load ptr, ptr %6, align 8, !tbaa !5
  %90 = getelementptr inbounds %struct.w2c_hermes, ptr %89, i32 0, i32 6
  %91 = load i32, ptr %32, align 4, !tbaa !9
  %92 = zext i32 %91 to i64
  %93 = add i64 %92, 4
  %94 = call i32 @i32_load(ptr noundef %90, i64 noundef %93)
  store i32 %94, ptr %32, align 4, !tbaa !9
  %95 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %95, ptr %12, align 4, !tbaa !9
  %96 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %96, ptr %32, align 4, !tbaa !9
  store i32 436, ptr %33, align 4, !tbaa !9
  %97 = load i32, ptr %33, align 4, !tbaa !9
  %98 = load i32, ptr %32, align 4, !tbaa !9
  %99 = add i32 %98, %97
  store i32 %99, ptr %32, align 4, !tbaa !9
  %100 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %100, ptr %13, align 4, !tbaa !9
  %101 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %101, ptr %33, align 4, !tbaa !9
  store i32 296, ptr %34, align 4, !tbaa !9
  %102 = load i32, ptr %34, align 4, !tbaa !9
  %103 = load i32, ptr %33, align 4, !tbaa !9
  %104 = add i32 %103, %102
  store i32 %104, ptr %33, align 4, !tbaa !9
  %105 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %105, ptr %17, align 4, !tbaa !9
  %106 = load ptr, ptr %6, align 8, !tbaa !5
  %107 = getelementptr inbounds %struct.w2c_hermes, ptr %106, i32 0, i32 6
  %108 = load i32, ptr %32, align 4, !tbaa !9
  %109 = zext i32 %108 to i64
  %110 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %107, i64 noundef %109, i32 noundef %110)
  %111 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %111, ptr %32, align 4, !tbaa !9
  store i64 17179869185, ptr %43, align 8, !tbaa !11
  %112 = load ptr, ptr %6, align 8, !tbaa !5
  %113 = getelementptr inbounds %struct.w2c_hermes, ptr %112, i32 0, i32 6
  %114 = load i32, ptr %32, align 4, !tbaa !9
  %115 = zext i32 %114 to i64
  %116 = add i64 %115, 428
  %117 = load i64, ptr %43, align 8, !tbaa !11
  call void @i64_store(ptr noundef %113, i64 noundef %116, i64 noundef %117)
  %118 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %118, ptr %32, align 4, !tbaa !9
  %119 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %119, ptr %33, align 4, !tbaa !9
  %120 = load ptr, ptr %6, align 8, !tbaa !5
  %121 = getelementptr inbounds %struct.w2c_hermes, ptr %120, i32 0, i32 6
  %122 = load i32, ptr %32, align 4, !tbaa !9
  %123 = zext i32 %122 to i64
  %124 = add i64 %123, 424
  %125 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %121, i64 noundef %124, i32 noundef %125)
  %126 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %126, ptr %32, align 4, !tbaa !9
  %127 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %127, ptr %33, align 4, !tbaa !9
  %128 = load ptr, ptr %6, align 8, !tbaa !5
  %129 = getelementptr inbounds %struct.w2c_hermes, ptr %128, i32 0, i32 6
  %130 = load i32, ptr %32, align 4, !tbaa !9
  %131 = zext i32 %130 to i64
  %132 = add i64 %131, 288
  %133 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %129, i64 noundef %132, i32 noundef %133)
  %134 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %134, ptr %32, align 4, !tbaa !9
  store i32 0, ptr %33, align 4, !tbaa !9
  %135 = load ptr, ptr %6, align 8, !tbaa !5
  %136 = getelementptr inbounds %struct.w2c_hermes, ptr %135, i32 0, i32 6
  %137 = load i32, ptr %32, align 4, !tbaa !9
  %138 = zext i32 %137 to i64
  %139 = add i64 %138, 460
  %140 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %136, i64 noundef %139, i32 noundef %140)
  %141 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %141, ptr %32, align 4, !tbaa !9
  %142 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %142, ptr %33, align 4, !tbaa !9
  store i32 424, ptr %34, align 4, !tbaa !9
  %143 = load i32, ptr %34, align 4, !tbaa !9
  %144 = load i32, ptr %33, align 4, !tbaa !9
  %145 = add i32 %144, %143
  store i32 %145, ptr %33, align 4, !tbaa !9
  %146 = load ptr, ptr %6, align 8, !tbaa !5
  %147 = getelementptr inbounds %struct.w2c_hermes, ptr %146, i32 0, i32 6
  %148 = load i32, ptr %32, align 4, !tbaa !9
  %149 = zext i32 %148 to i64
  %150 = add i64 %149, 456
  %151 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %147, i64 noundef %150, i32 noundef %151)
  %152 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %152, ptr %32, align 4, !tbaa !9
  %153 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %153, ptr %33, align 4, !tbaa !9
  %154 = load ptr, ptr %6, align 8, !tbaa !5
  %155 = getelementptr inbounds %struct.w2c_hermes, ptr %154, i32 0, i32 6
  %156 = load i32, ptr %32, align 4, !tbaa !9
  %157 = zext i32 %156 to i64
  %158 = add i64 %157, 452
  %159 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %155, i64 noundef %158, i32 noundef %159)
  %160 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %160, ptr %32, align 4, !tbaa !9
  %161 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %161, ptr %33, align 4, !tbaa !9
  store i32 272, ptr %34, align 4, !tbaa !9
  %162 = load i32, ptr %34, align 4, !tbaa !9
  %163 = load i32, ptr %33, align 4, !tbaa !9
  %164 = add i32 %163, %162
  store i32 %164, ptr %33, align 4, !tbaa !9
  %165 = load ptr, ptr %6, align 8, !tbaa !5
  %166 = getelementptr inbounds %struct.w2c_hermes, ptr %165, i32 0, i32 6
  %167 = load i32, ptr %32, align 4, !tbaa !9
  %168 = zext i32 %167 to i64
  %169 = add i64 %168, 4
  %170 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %166, i64 noundef %169, i32 noundef %170)
  %171 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %171, ptr %32, align 4, !tbaa !9
  %172 = load ptr, ptr %6, align 8, !tbaa !5
  %173 = getelementptr inbounds %struct.w2c_hermes, ptr %172, i32 0, i32 6
  %174 = load i32, ptr %32, align 4, !tbaa !9
  %175 = zext i32 %174 to i64
  %176 = call i32 @i32_load(ptr noundef %173, i64 noundef %175)
  store i32 %176, ptr %32, align 4, !tbaa !9
  %177 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %177, ptr %13, align 4, !tbaa !9
  %178 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %178, ptr %32, align 4, !tbaa !9
  store i32 0, ptr %33, align 4, !tbaa !9
  %179 = load ptr, ptr %6, align 8, !tbaa !5
  %180 = getelementptr inbounds %struct.w2c_hermes, ptr %179, i32 0, i32 6
  %181 = load i32, ptr %32, align 4, !tbaa !9
  %182 = zext i32 %181 to i64
  %183 = add i64 %182, 248
  %184 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %180, i64 noundef %183, i32 noundef %184)
  %185 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %185, ptr %32, align 4, !tbaa !9
  %186 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %186, ptr %33, align 4, !tbaa !9
  %187 = load ptr, ptr %6, align 8, !tbaa !5
  %188 = getelementptr inbounds %struct.w2c_hermes, ptr %187, i32 0, i32 6
  %189 = load i32, ptr %32, align 4, !tbaa !9
  %190 = zext i32 %189 to i64
  %191 = add i64 %190, 252
  %192 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %188, i64 noundef %191, i32 noundef %192)
  %193 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %193, ptr %32, align 4, !tbaa !9
  store i32 256, ptr %33, align 4, !tbaa !9
  %194 = load i32, ptr %33, align 4, !tbaa !9
  %195 = load i32, ptr %32, align 4, !tbaa !9
  %196 = add i32 %195, %194
  store i32 %196, ptr %32, align 4, !tbaa !9
  %197 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %197, ptr %33, align 4, !tbaa !9
  %198 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %198, ptr %34, align 4, !tbaa !9
  store i32 248, ptr %35, align 4, !tbaa !9
  %199 = load i32, ptr %35, align 4, !tbaa !9
  %200 = load i32, ptr %34, align 4, !tbaa !9
  %201 = add i32 %200, %199
  store i32 %201, ptr %34, align 4, !tbaa !9
  %202 = load ptr, ptr %6, align 8, !tbaa !5
  %203 = load i32, ptr %32, align 4, !tbaa !9
  %204 = load i32, ptr %33, align 4, !tbaa !9
  %205 = load i32, ptr %34, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AtoObject0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x29(ptr noundef %202, i32 noundef %203, i32 noundef %204, i32 noundef %205)
  %206 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %206, ptr %32, align 4, !tbaa !9
  %207 = load ptr, ptr %6, align 8, !tbaa !5
  %208 = getelementptr inbounds %struct.w2c_hermes, ptr %207, i32 0, i32 6
  %209 = load i32, ptr %32, align 4, !tbaa !9
  %210 = zext i32 %209 to i64
  %211 = add i64 %210, 248
  %212 = call i32 @i32_load(ptr noundef %208, i64 noundef %211)
  store i32 %212, ptr %32, align 4, !tbaa !9
  %213 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %213, ptr %12, align 4, !tbaa !9
  %214 = load i32, ptr %32, align 4, !tbaa !9
  %215 = icmp ne i32 %214, 0
  br i1 %215, label %216, label %232

216:                                              ; preds = %5
  %217 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %217, ptr %32, align 4, !tbaa !9
  %218 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %218, ptr %33, align 4, !tbaa !9
  %219 = load ptr, ptr %6, align 8, !tbaa !5
  %220 = getelementptr inbounds %struct.w2c_hermes, ptr %219, i32 0, i32 6
  %221 = load i32, ptr %33, align 4, !tbaa !9
  %222 = zext i32 %221 to i64
  %223 = call i32 @i32_load(ptr noundef %220, i64 noundef %222)
  store i32 %223, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %34, align 4, !tbaa !9
  %224 = load i32, ptr %34, align 4, !tbaa !9
  %225 = load i32, ptr %33, align 4, !tbaa !9
  %226 = sub i32 %225, %224
  store i32 %226, ptr %33, align 4, !tbaa !9
  %227 = load ptr, ptr %6, align 8, !tbaa !5
  %228 = getelementptr inbounds %struct.w2c_hermes, ptr %227, i32 0, i32 6
  %229 = load i32, ptr %32, align 4, !tbaa !9
  %230 = zext i32 %229 to i64
  %231 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %228, i64 noundef %230, i32 noundef %231)
  br label %232

232:                                              ; preds = %216, %5
  %233 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %233, ptr %32, align 4, !tbaa !9
  %234 = load ptr, ptr %6, align 8, !tbaa !5
  %235 = getelementptr inbounds %struct.w2c_hermes, ptr %234, i32 0, i32 6
  %236 = load i32, ptr %32, align 4, !tbaa !9
  %237 = zext i32 %236 to i64
  %238 = add i64 %237, 256
  %239 = call i32 @i32_load(ptr noundef %235, i64 noundef %238)
  store i32 %239, ptr %32, align 4, !tbaa !9
  %240 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %240, ptr %12, align 4, !tbaa !9
  %241 = load i32, ptr %32, align 4, !tbaa !9
  %242 = icmp ne i32 %241, 0
  %243 = xor i1 %242, true
  %244 = zext i1 %243 to i32
  store i32 %244, ptr %32, align 4, !tbaa !9
  %245 = load i32, ptr %32, align 4, !tbaa !9
  %246 = icmp ne i32 %245, 0
  br i1 %246, label %247, label %254

247:                                              ; preds = %232
  %248 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %248, ptr %32, align 4, !tbaa !9
  store i32 0, ptr %33, align 4, !tbaa !9
  %249 = load ptr, ptr %6, align 8, !tbaa !5
  %250 = getelementptr inbounds %struct.w2c_hermes, ptr %249, i32 0, i32 6
  %251 = load i32, ptr %32, align 4, !tbaa !9
  %252 = zext i32 %251 to i64
  %253 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %250, i64 noundef %252, i32 noundef %253)
  br label %3064

254:                                              ; preds = %232
  %255 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %255, ptr %32, align 4, !tbaa !9
  store i32 1, ptr %33, align 4, !tbaa !9
  %256 = load i32, ptr %32, align 4, !tbaa !9
  %257 = load i32, ptr %33, align 4, !tbaa !9
  %258 = icmp ne i32 %256, %257
  %259 = zext i1 %258 to i32
  store i32 %259, ptr %32, align 4, !tbaa !9
  %260 = load i32, ptr %32, align 4, !tbaa !9
  %261 = icmp ne i32 %260, 0
  br i1 %261, label %262, label %263

262:                                              ; preds = %254
  br label %3079

263:                                              ; preds = %254
  %264 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %264, ptr %32, align 4, !tbaa !9
  %265 = load ptr, ptr %6, align 8, !tbaa !5
  %266 = getelementptr inbounds %struct.w2c_hermes, ptr %265, i32 0, i32 6
  %267 = load i32, ptr %32, align 4, !tbaa !9
  %268 = zext i32 %267 to i64
  %269 = add i64 %268, 264
  %270 = call i64 @i64_load(ptr noundef %266, i64 noundef %269)
  store i64 %270, ptr %42, align 8, !tbaa !11
  %271 = load i64, ptr %42, align 8, !tbaa !11
  store i64 %271, ptr %25, align 8, !tbaa !11
  store i64 -844424930131969, ptr %43, align 8, !tbaa !11
  %272 = load i64, ptr %42, align 8, !tbaa !11
  %273 = load i64, ptr %43, align 8, !tbaa !11
  %274 = icmp ule i64 %272, %273
  %275 = zext i1 %274 to i32
  store i32 %275, ptr %32, align 4, !tbaa !9
  %276 = load i32, ptr %32, align 4, !tbaa !9
  %277 = icmp ne i32 %276, 0
  br i1 %277, label %278, label %279

278:                                              ; preds = %263
  br label %3097

279:                                              ; preds = %263
  %280 = load i64, ptr %25, align 8, !tbaa !11
  store i64 %280, ptr %42, align 8, !tbaa !11
  %281 = load i64, ptr %42, align 8, !tbaa !11
  %282 = trunc i64 %281 to i32
  store i32 %282, ptr %32, align 4, !tbaa !9
  %283 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %283, ptr %12, align 4, !tbaa !9
  %284 = load i32, ptr %32, align 4, !tbaa !9
  %285 = icmp ne i32 %284, 0
  %286 = xor i1 %285, true
  %287 = zext i1 %286 to i32
  store i32 %287, ptr %32, align 4, !tbaa !9
  %288 = load i32, ptr %32, align 4, !tbaa !9
  %289 = icmp ne i32 %288, 0
  br i1 %289, label %290, label %291

290:                                              ; preds = %279
  br label %3115

291:                                              ; preds = %279
  %292 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %292, ptr %32, align 4, !tbaa !9
  %293 = load ptr, ptr %6, align 8, !tbaa !5
  %294 = getelementptr inbounds %struct.w2c_hermes, ptr %293, i32 0, i32 6
  %295 = load i32, ptr %32, align 4, !tbaa !9
  %296 = zext i32 %295 to i64
  %297 = call i32 @i32_load(ptr noundef %294, i64 noundef %296)
  store i32 %297, ptr %32, align 4, !tbaa !9
  store i32 436207616, ptr %33, align 4, !tbaa !9
  %298 = load i32, ptr %33, align 4, !tbaa !9
  %299 = load i32, ptr %32, align 4, !tbaa !9
  %300 = sub i32 %299, %298
  store i32 %300, ptr %32, align 4, !tbaa !9
  store i32 855638016, ptr %33, align 4, !tbaa !9
  %301 = load i32, ptr %32, align 4, !tbaa !9
  %302 = load i32, ptr %33, align 4, !tbaa !9
  %303 = icmp uge i32 %301, %302
  %304 = zext i1 %303 to i32
  store i32 %304, ptr %32, align 4, !tbaa !9
  %305 = load i32, ptr %32, align 4, !tbaa !9
  %306 = icmp ne i32 %305, 0
  br i1 %306, label %307, label %308

307:                                              ; preds = %291
  br label %3133

308:                                              ; preds = %291
  %309 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %309, ptr %32, align 4, !tbaa !9
  store i32 240, ptr %33, align 4, !tbaa !9
  %310 = load i32, ptr %33, align 4, !tbaa !9
  %311 = load i32, ptr %32, align 4, !tbaa !9
  %312 = add i32 %311, %310
  store i32 %312, ptr %32, align 4, !tbaa !9
  %313 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %313, ptr %33, align 4, !tbaa !9
  %314 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %314, ptr %34, align 4, !tbaa !9
  %315 = load ptr, ptr %6, align 8, !tbaa !5
  %316 = load i32, ptr %32, align 4, !tbaa !9
  %317 = load i32, ptr %33, align 4, !tbaa !9
  %318 = load i32, ptr %34, align 4, !tbaa !9
  %319 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x3A0x3AHandle0x28hermes0x3A0x3Avm0x3A0x3AHandleRootOwner0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AJSObject0x2A0x29(ptr noundef %315, i32 noundef %316, i32 noundef %317, i32 noundef %318)
  store i32 %319, ptr %32, align 4, !tbaa !9
  %320 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %320, ptr %19, align 4, !tbaa !9
  %321 = load ptr, ptr %6, align 8, !tbaa !5
  %322 = getelementptr inbounds %struct.w2c_hermes, ptr %321, i32 0, i32 6
  %323 = load i32, ptr %32, align 4, !tbaa !9
  %324 = zext i32 %323 to i64
  %325 = add i64 %324, 4
  %326 = call i32 @i32_load(ptr noundef %322, i64 noundef %325)
  store i32 %326, ptr %32, align 4, !tbaa !9
  %327 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %327, ptr %15, align 4, !tbaa !9
  %328 = load ptr, ptr %6, align 8, !tbaa !5
  %329 = getelementptr inbounds %struct.w2c_hermes, ptr %328, i32 0, i32 6
  %330 = load i32, ptr %32, align 4, !tbaa !9
  %331 = zext i32 %330 to i64
  %332 = call i64 @i64_load(ptr noundef %329, i64 noundef %331)
  store i64 %332, ptr %42, align 8, !tbaa !11
  %333 = load i64, ptr %42, align 8, !tbaa !11
  store i64 %333, ptr %25, align 8, !tbaa !11
  store i64 -844424930131968, ptr %43, align 8, !tbaa !11
  %334 = load i64, ptr %42, align 8, !tbaa !11
  %335 = load i64, ptr %43, align 8, !tbaa !11
  %336 = icmp ult i64 %334, %335
  %337 = zext i1 %336 to i32
  store i32 %337, ptr %32, align 4, !tbaa !9
  %338 = load i32, ptr %32, align 4, !tbaa !9
  %339 = icmp ne i32 %338, 0
  br i1 %339, label %340, label %341

340:                                              ; preds = %308
  br label %405

341:                                              ; preds = %308
  %342 = load i64, ptr %25, align 8, !tbaa !11
  store i64 %342, ptr %42, align 8, !tbaa !11
  %343 = load i64, ptr %42, align 8, !tbaa !11
  %344 = trunc i64 %343 to i32
  store i32 %344, ptr %32, align 4, !tbaa !9
  %345 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %345, ptr %12, align 4, !tbaa !9
  %346 = load i32, ptr %32, align 4, !tbaa !9
  %347 = icmp ne i32 %346, 0
  %348 = xor i1 %347, true
  %349 = zext i1 %348 to i32
  store i32 %349, ptr %32, align 4, !tbaa !9
  %350 = load i32, ptr %32, align 4, !tbaa !9
  %351 = icmp ne i32 %350, 0
  br i1 %351, label %352, label %353

352:                                              ; preds = %341
  br label %3151

353:                                              ; preds = %341
  %354 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %354, ptr %32, align 4, !tbaa !9
  %355 = load ptr, ptr %6, align 8, !tbaa !5
  %356 = getelementptr inbounds %struct.w2c_hermes, ptr %355, i32 0, i32 6
  %357 = load i32, ptr %32, align 4, !tbaa !9
  %358 = zext i32 %357 to i64
  %359 = add i64 %358, 3
  %360 = call i32 @i32_load8_u(ptr noundef %356, i64 noundef %359)
  store i32 %360, ptr %32, align 4, !tbaa !9
  store i32 24, ptr %33, align 4, !tbaa !9
  %361 = load i32, ptr %33, align 4, !tbaa !9
  %362 = and i32 %361, 31
  %363 = load i32, ptr %32, align 4, !tbaa !9
  %364 = shl i32 %363, %362
  store i32 %364, ptr %32, align 4, !tbaa !9
  store i32 536870912, ptr %33, align 4, !tbaa !9
  %365 = load i32, ptr %32, align 4, !tbaa !9
  %366 = load i32, ptr %33, align 4, !tbaa !9
  %367 = icmp ne i32 %365, %366
  %368 = zext i1 %367 to i32
  store i32 %368, ptr %32, align 4, !tbaa !9
  %369 = load i32, ptr %32, align 4, !tbaa !9
  %370 = icmp ne i32 %369, 0
  br i1 %370, label %371, label %372

371:                                              ; preds = %353
  br label %405

372:                                              ; preds = %353
  %373 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %373, ptr %32, align 4, !tbaa !9
  %374 = load ptr, ptr %6, align 8, !tbaa !5
  %375 = getelementptr inbounds %struct.w2c_hermes, ptr %374, i32 0, i32 6
  %376 = load i32, ptr %32, align 4, !tbaa !9
  %377 = zext i32 %376 to i64
  %378 = call i32 @i32_load(ptr noundef %375, i64 noundef %377)
  store i32 %378, ptr %32, align 4, !tbaa !9
  %379 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %379, ptr %16, align 4, !tbaa !9
  %380 = load i32, ptr %32, align 4, !tbaa !9
  %381 = icmp ne i32 %380, 0
  %382 = xor i1 %381, true
  %383 = zext i1 %382 to i32
  store i32 %383, ptr %32, align 4, !tbaa !9
  %384 = load i32, ptr %32, align 4, !tbaa !9
  %385 = icmp ne i32 %384, 0
  br i1 %385, label %386, label %387

386:                                              ; preds = %372
  br label %542

387:                                              ; preds = %372
  %388 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %388, ptr %32, align 4, !tbaa !9
  %389 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %389, ptr %33, align 4, !tbaa !9
  %390 = load ptr, ptr %6, align 8, !tbaa !5
  %391 = getelementptr inbounds %struct.w2c_hermes, ptr %390, i32 0, i32 6
  %392 = load i32, ptr %33, align 4, !tbaa !9
  %393 = zext i32 %392 to i64
  %394 = call i32 @i32_load(ptr noundef %391, i64 noundef %393)
  store i32 %394, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %34, align 4, !tbaa !9
  %395 = load i32, ptr %34, align 4, !tbaa !9
  %396 = load i32, ptr %33, align 4, !tbaa !9
  %397 = add i32 %396, %395
  store i32 %397, ptr %33, align 4, !tbaa !9
  %398 = load ptr, ptr %6, align 8, !tbaa !5
  %399 = getelementptr inbounds %struct.w2c_hermes, ptr %398, i32 0, i32 6
  %400 = load i32, ptr %32, align 4, !tbaa !9
  %401 = zext i32 %400 to i64
  %402 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %399, i64 noundef %401, i32 noundef %402)
  %403 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %403, ptr %32, align 4, !tbaa !9
  %404 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %404, ptr %17, align 4, !tbaa !9
  br label %453

405:                                              ; preds = %371, %340
  store i32 217520, ptr %32, align 4, !tbaa !9
  %406 = load ptr, ptr %6, align 8, !tbaa !5
  %407 = getelementptr inbounds %struct.w2c_hermes, ptr %406, i32 0, i32 6
  %408 = load i32, ptr %32, align 4, !tbaa !9
  %409 = zext i32 %408 to i64
  %410 = call i64 @i64_load(ptr noundef %407, i64 noundef %409)
  store i64 %410, ptr %42, align 8, !tbaa !11
  %411 = load i64, ptr %42, align 8, !tbaa !11
  store i64 %411, ptr %25, align 8, !tbaa !11
  store i64 -844424930131969, ptr %43, align 8, !tbaa !11
  %412 = load i64, ptr %42, align 8, !tbaa !11
  %413 = load i64, ptr %43, align 8, !tbaa !11
  %414 = icmp ule i64 %412, %413
  %415 = zext i1 %414 to i32
  store i32 %415, ptr %32, align 4, !tbaa !9
  %416 = load i32, ptr %32, align 4, !tbaa !9
  %417 = icmp ne i32 %416, 0
  br i1 %417, label %418, label %419

418:                                              ; preds = %405
  br label %3169

419:                                              ; preds = %405
  store i32 217520, ptr %32, align 4, !tbaa !9
  %420 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %420, ptr %17, align 4, !tbaa !9
  %421 = load i64, ptr %25, align 8, !tbaa !11
  store i64 %421, ptr %42, align 8, !tbaa !11
  %422 = load i64, ptr %42, align 8, !tbaa !11
  %423 = trunc i64 %422 to i32
  store i32 %423, ptr %32, align 4, !tbaa !9
  %424 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %424, ptr %12, align 4, !tbaa !9
  %425 = load i32, ptr %32, align 4, !tbaa !9
  %426 = icmp ne i32 %425, 0
  %427 = xor i1 %426, true
  %428 = zext i1 %427 to i32
  store i32 %428, ptr %32, align 4, !tbaa !9
  %429 = load i32, ptr %32, align 4, !tbaa !9
  %430 = icmp ne i32 %429, 0
  br i1 %430, label %431, label %432

431:                                              ; preds = %419
  br label %453

432:                                              ; preds = %419
  %433 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %433, ptr %32, align 4, !tbaa !9
  %434 = load ptr, ptr %6, align 8, !tbaa !5
  %435 = getelementptr inbounds %struct.w2c_hermes, ptr %434, i32 0, i32 6
  %436 = load i32, ptr %32, align 4, !tbaa !9
  %437 = zext i32 %436 to i64
  %438 = add i64 %437, 3
  %439 = call i32 @i32_load8_u(ptr noundef %435, i64 noundef %438)
  store i32 %439, ptr %32, align 4, !tbaa !9
  %440 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %440, ptr %12, align 4, !tbaa !9
  store i32 24, ptr %33, align 4, !tbaa !9
  %441 = load i32, ptr %33, align 4, !tbaa !9
  %442 = and i32 %441, 31
  %443 = load i32, ptr %32, align 4, !tbaa !9
  %444 = shl i32 %443, %442
  store i32 %444, ptr %32, align 4, !tbaa !9
  store i32 536870912, ptr %33, align 4, !tbaa !9
  %445 = load i32, ptr %32, align 4, !tbaa !9
  %446 = load i32, ptr %33, align 4, !tbaa !9
  %447 = icmp ne i32 %445, %446
  %448 = zext i1 %447 to i32
  store i32 %448, ptr %32, align 4, !tbaa !9
  %449 = load i32, ptr %32, align 4, !tbaa !9
  %450 = icmp ne i32 %449, 0
  br i1 %450, label %451, label %452

451:                                              ; preds = %432
  br label %3187

452:                                              ; preds = %432
  br label %453

453:                                              ; preds = %452, %431, %387
  %454 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %454, ptr %32, align 4, !tbaa !9
  %455 = load ptr, ptr %6, align 8, !tbaa !5
  %456 = getelementptr inbounds %struct.w2c_hermes, ptr %455, i32 0, i32 6
  %457 = load i32, ptr %32, align 4, !tbaa !9
  %458 = zext i32 %457 to i64
  %459 = call i32 @i32_load(ptr noundef %456, i64 noundef %458)
  store i32 %459, ptr %32, align 4, !tbaa !9
  %460 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %460, ptr %12, align 4, !tbaa !9
  %461 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %461, ptr %32, align 4, !tbaa !9
  %462 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %462, ptr %33, align 4, !tbaa !9
  %463 = load ptr, ptr %6, align 8, !tbaa !5
  %464 = getelementptr inbounds %struct.w2c_hermes, ptr %463, i32 0, i32 6
  %465 = load i32, ptr %32, align 4, !tbaa !9
  %466 = zext i32 %465 to i64
  %467 = add i64 %466, 220
  %468 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %464, i64 noundef %467, i32 noundef %468)
  %469 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %469, ptr %32, align 4, !tbaa !9
  %470 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %470, ptr %33, align 4, !tbaa !9
  %471 = load ptr, ptr %6, align 8, !tbaa !5
  %472 = getelementptr inbounds %struct.w2c_hermes, ptr %471, i32 0, i32 6
  %473 = load i32, ptr %32, align 4, !tbaa !9
  %474 = zext i32 %473 to i64
  %475 = add i64 %474, 216
  %476 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %472, i64 noundef %475, i32 noundef %476)
  %477 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %477, ptr %32, align 4, !tbaa !9
  %478 = load i32, ptr %32, align 4, !tbaa !9
  %479 = icmp ne i32 %478, 0
  br i1 %479, label %480, label %496

480:                                              ; preds = %453
  %481 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %481, ptr %32, align 4, !tbaa !9
  %482 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %482, ptr %33, align 4, !tbaa !9
  %483 = load ptr, ptr %6, align 8, !tbaa !5
  %484 = getelementptr inbounds %struct.w2c_hermes, ptr %483, i32 0, i32 6
  %485 = load i32, ptr %33, align 4, !tbaa !9
  %486 = zext i32 %485 to i64
  %487 = call i32 @i32_load(ptr noundef %484, i64 noundef %486)
  store i32 %487, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %34, align 4, !tbaa !9
  %488 = load i32, ptr %34, align 4, !tbaa !9
  %489 = load i32, ptr %33, align 4, !tbaa !9
  %490 = add i32 %489, %488
  store i32 %490, ptr %33, align 4, !tbaa !9
  %491 = load ptr, ptr %6, align 8, !tbaa !5
  %492 = getelementptr inbounds %struct.w2c_hermes, ptr %491, i32 0, i32 6
  %493 = load i32, ptr %32, align 4, !tbaa !9
  %494 = zext i32 %493 to i64
  %495 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %492, i64 noundef %494, i32 noundef %495)
  br label %496

496:                                              ; preds = %480, %453
  %497 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %497, ptr %32, align 4, !tbaa !9
  %498 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %498, ptr %33, align 4, !tbaa !9
  %499 = load ptr, ptr %6, align 8, !tbaa !5
  %500 = getelementptr inbounds %struct.w2c_hermes, ptr %499, i32 0, i32 6
  %501 = load i32, ptr %32, align 4, !tbaa !9
  %502 = zext i32 %501 to i64
  %503 = add i64 %502, 208
  %504 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %500, i64 noundef %503, i32 noundef %504)
  %505 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %505, ptr %32, align 4, !tbaa !9
  %506 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %506, ptr %33, align 4, !tbaa !9
  %507 = load ptr, ptr %6, align 8, !tbaa !5
  %508 = getelementptr inbounds %struct.w2c_hermes, ptr %507, i32 0, i32 6
  %509 = load i32, ptr %32, align 4, !tbaa !9
  %510 = zext i32 %509 to i64
  %511 = add i64 %510, 212
  %512 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %508, i64 noundef %511, i32 noundef %512)
  %513 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %513, ptr %32, align 4, !tbaa !9
  %514 = load i32, ptr %32, align 4, !tbaa !9
  %515 = icmp ne i32 %514, 0
  br i1 %515, label %516, label %517

516:                                              ; preds = %496
  br label %592

517:                                              ; preds = %496
  %518 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %518, ptr %32, align 4, !tbaa !9
  store i32 224, ptr %33, align 4, !tbaa !9
  %519 = load i32, ptr %33, align 4, !tbaa !9
  %520 = load i32, ptr %32, align 4, !tbaa !9
  %521 = add i32 %520, %519
  store i32 %521, ptr %32, align 4, !tbaa !9
  %522 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %522, ptr %33, align 4, !tbaa !9
  %523 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %523, ptr %34, align 4, !tbaa !9
  store i32 216, ptr %35, align 4, !tbaa !9
  %524 = load i32, ptr %35, align 4, !tbaa !9
  %525 = load i32, ptr %34, align 4, !tbaa !9
  %526 = add i32 %525, %524
  store i32 %526, ptr %34, align 4, !tbaa !9
  %527 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %527, ptr %35, align 4, !tbaa !9
  store i32 208, ptr %36, align 4, !tbaa !9
  %528 = load i32, ptr %36, align 4, !tbaa !9
  %529 = load i32, ptr %35, align 4, !tbaa !9
  %530 = add i32 %529, %528
  store i32 %530, ptr %35, align 4, !tbaa !9
  %531 = load ptr, ptr %6, align 8, !tbaa !5
  %532 = load i32, ptr %32, align 4, !tbaa !9
  %533 = load i32, ptr %33, align 4, !tbaa !9
  %534 = load i32, ptr %34, align 4, !tbaa !9
  %535 = load i32, ptr %35, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AlengthOfArrayLike0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSArray0x3E0x29(ptr noundef %531, i32 noundef %532, i32 noundef %533, i32 noundef %534, i32 noundef %535)
  %536 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %536, ptr %32, align 4, !tbaa !9
  %537 = load i32, ptr %32, align 4, !tbaa !9
  %538 = icmp ne i32 %537, 0
  br i1 %538, label %539, label %540

539:                                              ; preds = %517
  br label %646

540:                                              ; preds = %517
  store i32 0, ptr %32, align 4, !tbaa !9
  %541 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %541, ptr %16, align 4, !tbaa !9
  store i32 1, ptr %32, align 4, !tbaa !9
  br label %667

542:                                              ; preds = %386
  %543 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %543, ptr %32, align 4, !tbaa !9
  %544 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %544, ptr %33, align 4, !tbaa !9
  %545 = load ptr, ptr %6, align 8, !tbaa !5
  %546 = getelementptr inbounds %struct.w2c_hermes, ptr %545, i32 0, i32 6
  %547 = load i32, ptr %32, align 4, !tbaa !9
  %548 = zext i32 %547 to i64
  %549 = add i64 %548, 220
  %550 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %546, i64 noundef %549, i32 noundef %550)
  store i32 0, ptr %32, align 4, !tbaa !9
  %551 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %551, ptr %16, align 4, !tbaa !9
  %552 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %552, ptr %32, align 4, !tbaa !9
  store i32 0, ptr %33, align 4, !tbaa !9
  %553 = load ptr, ptr %6, align 8, !tbaa !5
  %554 = getelementptr inbounds %struct.w2c_hermes, ptr %553, i32 0, i32 6
  %555 = load i32, ptr %32, align 4, !tbaa !9
  %556 = zext i32 %555 to i64
  %557 = add i64 %556, 216
  %558 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %554, i64 noundef %557, i32 noundef %558)
  %559 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %559, ptr %32, align 4, !tbaa !9
  %560 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %560, ptr %33, align 4, !tbaa !9
  %561 = load ptr, ptr %6, align 8, !tbaa !5
  %562 = getelementptr inbounds %struct.w2c_hermes, ptr %561, i32 0, i32 6
  %563 = load i32, ptr %32, align 4, !tbaa !9
  %564 = zext i32 %563 to i64
  %565 = add i64 %564, 212
  %566 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %562, i64 noundef %565, i32 noundef %566)
  %567 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %567, ptr %32, align 4, !tbaa !9
  store i32 0, ptr %33, align 4, !tbaa !9
  %568 = load ptr, ptr %6, align 8, !tbaa !5
  %569 = getelementptr inbounds %struct.w2c_hermes, ptr %568, i32 0, i32 6
  %570 = load i32, ptr %32, align 4, !tbaa !9
  %571 = zext i32 %570 to i64
  %572 = add i64 %571, 208
  %573 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %569, i64 noundef %572, i32 noundef %573)
  %574 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %574, ptr %32, align 4, !tbaa !9
  store i32 224, ptr %33, align 4, !tbaa !9
  %575 = load i32, ptr %33, align 4, !tbaa !9
  %576 = load i32, ptr %32, align 4, !tbaa !9
  %577 = add i32 %576, %575
  store i32 %577, ptr %32, align 4, !tbaa !9
  %578 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %578, ptr %33, align 4, !tbaa !9
  %579 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %579, ptr %34, align 4, !tbaa !9
  store i32 216, ptr %35, align 4, !tbaa !9
  %580 = load i32, ptr %35, align 4, !tbaa !9
  %581 = load i32, ptr %34, align 4, !tbaa !9
  %582 = add i32 %581, %580
  store i32 %582, ptr %34, align 4, !tbaa !9
  %583 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %583, ptr %35, align 4, !tbaa !9
  store i32 208, ptr %36, align 4, !tbaa !9
  %584 = load i32, ptr %36, align 4, !tbaa !9
  %585 = load i32, ptr %35, align 4, !tbaa !9
  %586 = add i32 %585, %584
  store i32 %586, ptr %35, align 4, !tbaa !9
  %587 = load ptr, ptr %6, align 8, !tbaa !5
  %588 = load i32, ptr %32, align 4, !tbaa !9
  %589 = load i32, ptr %33, align 4, !tbaa !9
  %590 = load i32, ptr %34, align 4, !tbaa !9
  %591 = load i32, ptr %35, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AlengthOfArrayLike0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSArray0x3E0x29(ptr noundef %587, i32 noundef %588, i32 noundef %589, i32 noundef %590, i32 noundef %591)
  store i32 1, ptr %32, align 4, !tbaa !9
  br label %667

592:                                              ; preds = %516
  %593 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %593, ptr %32, align 4, !tbaa !9
  %594 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %594, ptr %33, align 4, !tbaa !9
  %595 = load ptr, ptr %6, align 8, !tbaa !5
  %596 = getelementptr inbounds %struct.w2c_hermes, ptr %595, i32 0, i32 6
  %597 = load i32, ptr %33, align 4, !tbaa !9
  %598 = zext i32 %597 to i64
  %599 = call i32 @i32_load(ptr noundef %596, i64 noundef %598)
  store i32 %599, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %34, align 4, !tbaa !9
  %600 = load i32, ptr %34, align 4, !tbaa !9
  %601 = load i32, ptr %33, align 4, !tbaa !9
  %602 = add i32 %601, %600
  store i32 %602, ptr %33, align 4, !tbaa !9
  %603 = load ptr, ptr %6, align 8, !tbaa !5
  %604 = getelementptr inbounds %struct.w2c_hermes, ptr %603, i32 0, i32 6
  %605 = load i32, ptr %32, align 4, !tbaa !9
  %606 = zext i32 %605 to i64
  %607 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %604, i64 noundef %606, i32 noundef %607)
  %608 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %608, ptr %32, align 4, !tbaa !9
  store i32 224, ptr %33, align 4, !tbaa !9
  %609 = load i32, ptr %33, align 4, !tbaa !9
  %610 = load i32, ptr %32, align 4, !tbaa !9
  %611 = add i32 %610, %609
  store i32 %611, ptr %32, align 4, !tbaa !9
  %612 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %612, ptr %33, align 4, !tbaa !9
  %613 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %613, ptr %34, align 4, !tbaa !9
  store i32 216, ptr %35, align 4, !tbaa !9
  %614 = load i32, ptr %35, align 4, !tbaa !9
  %615 = load i32, ptr %34, align 4, !tbaa !9
  %616 = add i32 %615, %614
  store i32 %616, ptr %34, align 4, !tbaa !9
  %617 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %617, ptr %35, align 4, !tbaa !9
  store i32 208, ptr %36, align 4, !tbaa !9
  %618 = load i32, ptr %36, align 4, !tbaa !9
  %619 = load i32, ptr %35, align 4, !tbaa !9
  %620 = add i32 %619, %618
  store i32 %620, ptr %35, align 4, !tbaa !9
  %621 = load ptr, ptr %6, align 8, !tbaa !5
  %622 = load i32, ptr %32, align 4, !tbaa !9
  %623 = load i32, ptr %33, align 4, !tbaa !9
  %624 = load i32, ptr %34, align 4, !tbaa !9
  %625 = load i32, ptr %35, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AlengthOfArrayLike0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSArray0x3E0x29(ptr noundef %621, i32 noundef %622, i32 noundef %623, i32 noundef %624, i32 noundef %625)
  %626 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %626, ptr %32, align 4, !tbaa !9
  %627 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %627, ptr %33, align 4, !tbaa !9
  %628 = load ptr, ptr %6, align 8, !tbaa !5
  %629 = getelementptr inbounds %struct.w2c_hermes, ptr %628, i32 0, i32 6
  %630 = load i32, ptr %33, align 4, !tbaa !9
  %631 = zext i32 %630 to i64
  %632 = call i32 @i32_load(ptr noundef %629, i64 noundef %631)
  store i32 %632, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %34, align 4, !tbaa !9
  %633 = load i32, ptr %34, align 4, !tbaa !9
  %634 = load i32, ptr %33, align 4, !tbaa !9
  %635 = sub i32 %634, %633
  store i32 %635, ptr %33, align 4, !tbaa !9
  %636 = load ptr, ptr %6, align 8, !tbaa !5
  %637 = getelementptr inbounds %struct.w2c_hermes, ptr %636, i32 0, i32 6
  %638 = load i32, ptr %32, align 4, !tbaa !9
  %639 = zext i32 %638 to i64
  %640 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %637, i64 noundef %639, i32 noundef %640)
  %641 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %641, ptr %32, align 4, !tbaa !9
  %642 = load i32, ptr %32, align 4, !tbaa !9
  %643 = icmp ne i32 %642, 0
  br i1 %643, label %644, label %645

644:                                              ; preds = %592
  br label %646

645:                                              ; preds = %592
  store i32 0, ptr %32, align 4, !tbaa !9
  br label %667

646:                                              ; preds = %644, %539
  %647 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %647, ptr %32, align 4, !tbaa !9
  %648 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %648, ptr %33, align 4, !tbaa !9
  %649 = load ptr, ptr %6, align 8, !tbaa !5
  %650 = getelementptr inbounds %struct.w2c_hermes, ptr %649, i32 0, i32 6
  %651 = load i32, ptr %33, align 4, !tbaa !9
  %652 = zext i32 %651 to i64
  %653 = call i32 @i32_load(ptr noundef %650, i64 noundef %652)
  store i32 %653, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %34, align 4, !tbaa !9
  %654 = load i32, ptr %34, align 4, !tbaa !9
  %655 = load i32, ptr %33, align 4, !tbaa !9
  %656 = sub i32 %655, %654
  store i32 %656, ptr %33, align 4, !tbaa !9
  %657 = load ptr, ptr %6, align 8, !tbaa !5
  %658 = getelementptr inbounds %struct.w2c_hermes, ptr %657, i32 0, i32 6
  %659 = load i32, ptr %32, align 4, !tbaa !9
  %660 = zext i32 %659 to i64
  %661 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %658, i64 noundef %660, i32 noundef %661)
  %662 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %662, ptr %32, align 4, !tbaa !9
  %663 = load i32, ptr %32, align 4, !tbaa !9
  %664 = icmp ne i32 %663, 0
  %665 = xor i1 %664, true
  %666 = zext i1 %665 to i32
  store i32 %666, ptr %32, align 4, !tbaa !9
  br label %667

667:                                              ; preds = %646, %645, %542, %540
  %668 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %668, ptr %24, align 4, !tbaa !9
  %669 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %669, ptr %32, align 4, !tbaa !9
  %670 = load ptr, ptr %6, align 8, !tbaa !5
  %671 = getelementptr inbounds %struct.w2c_hermes, ptr %670, i32 0, i32 6
  %672 = load i32, ptr %32, align 4, !tbaa !9
  %673 = zext i32 %672 to i64
  %674 = add i64 %673, 224
  %675 = call i32 @i32_load(ptr noundef %671, i64 noundef %674)
  store i32 %675, ptr %32, align 4, !tbaa !9
  %676 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %676, ptr %12, align 4, !tbaa !9
  %677 = load i32, ptr %32, align 4, !tbaa !9
  %678 = icmp ne i32 %677, 0
  %679 = xor i1 %678, true
  %680 = zext i1 %679 to i32
  store i32 %680, ptr %32, align 4, !tbaa !9
  %681 = load i32, ptr %32, align 4, !tbaa !9
  %682 = icmp ne i32 %681, 0
  br i1 %682, label %683, label %690

683:                                              ; preds = %667
  %684 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %684, ptr %32, align 4, !tbaa !9
  store i32 0, ptr %33, align 4, !tbaa !9
  %685 = load ptr, ptr %6, align 8, !tbaa !5
  %686 = getelementptr inbounds %struct.w2c_hermes, ptr %685, i32 0, i32 6
  %687 = load i32, ptr %32, align 4, !tbaa !9
  %688 = zext i32 %687 to i64
  %689 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %686, i64 noundef %688, i32 noundef %689)
  br label %3009

690:                                              ; preds = %667
  %691 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %691, ptr %32, align 4, !tbaa !9
  store i32 1, ptr %33, align 4, !tbaa !9
  %692 = load i32, ptr %32, align 4, !tbaa !9
  %693 = load i32, ptr %33, align 4, !tbaa !9
  %694 = icmp ne i32 %692, %693
  %695 = zext i1 %694 to i32
  store i32 %695, ptr %32, align 4, !tbaa !9
  %696 = load i32, ptr %32, align 4, !tbaa !9
  %697 = icmp ne i32 %696, 0
  br i1 %697, label %698, label %699

698:                                              ; preds = %690
  br label %3205

699:                                              ; preds = %690
  %700 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %700, ptr %32, align 4, !tbaa !9
  %701 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %701, ptr %33, align 4, !tbaa !9
  %702 = load ptr, ptr %6, align 8, !tbaa !5
  %703 = getelementptr inbounds %struct.w2c_hermes, ptr %702, i32 0, i32 6
  %704 = load i32, ptr %33, align 4, !tbaa !9
  %705 = zext i32 %704 to i64
  %706 = add i64 %705, 232
  %707 = call i64 @i64_load(ptr noundef %703, i64 noundef %706)
  store i64 %707, ptr %43, align 8, !tbaa !11
  %708 = load i64, ptr %43, align 8, !tbaa !11
  %709 = uitofp i64 %708 to double
  store double %709, ptr %48, align 8, !tbaa !13
  %710 = load double, ptr %48, align 8, !tbaa !13
  store double %710, ptr %29, align 8, !tbaa !13
  %711 = load ptr, ptr %6, align 8, !tbaa !5
  %712 = getelementptr inbounds %struct.w2c_hermes, ptr %711, i32 0, i32 6
  %713 = load i32, ptr %32, align 4, !tbaa !9
  %714 = zext i32 %713 to i64
  %715 = add i64 %714, 200
  %716 = load double, ptr %48, align 8, !tbaa !13
  call void @f64_store(ptr noundef %712, i64 noundef %715, double noundef %716)
  %717 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %717, ptr %32, align 4, !tbaa !9
  %718 = load ptr, ptr %6, align 8, !tbaa !5
  %719 = getelementptr inbounds %struct.w2c_hermes, ptr %718, i32 0, i32 6
  %720 = load i32, ptr %32, align 4, !tbaa !9
  %721 = zext i32 %720 to i64
  %722 = add i64 %721, 4
  %723 = call i32 @i32_load(ptr noundef %719, i64 noundef %722)
  store i32 %723, ptr %32, align 4, !tbaa !9
  %724 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %724, ptr %15, align 4, !tbaa !9
  %725 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %725, ptr %32, align 4, !tbaa !9
  store i32 0, ptr %33, align 4, !tbaa !9
  %726 = load ptr, ptr %6, align 8, !tbaa !5
  %727 = getelementptr inbounds %struct.w2c_hermes, ptr %726, i32 0, i32 6
  %728 = load i32, ptr %32, align 4, !tbaa !9
  %729 = zext i32 %728 to i64
  %730 = add i64 %729, 176
  %731 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %727, i64 noundef %730, i32 noundef %731)
  %732 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %732, ptr %32, align 4, !tbaa !9
  %733 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %733, ptr %33, align 4, !tbaa !9
  store i32 8, ptr %34, align 4, !tbaa !9
  %734 = load i32, ptr %34, align 4, !tbaa !9
  %735 = load i32, ptr %33, align 4, !tbaa !9
  %736 = sub i32 %735, %734
  store i32 %736, ptr %33, align 4, !tbaa !9
  store i32 217528, ptr %34, align 4, !tbaa !9
  %737 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %737, ptr %35, align 4, !tbaa !9
  %738 = load i32, ptr %35, align 4, !tbaa !9
  %739 = icmp ne i32 %738, 0
  br i1 %739, label %740, label %742

740:                                              ; preds = %699
  %741 = load i32, ptr %33, align 4, !tbaa !9
  br label %744

742:                                              ; preds = %699
  %743 = load i32, ptr %34, align 4, !tbaa !9
  br label %744

744:                                              ; preds = %742, %740
  %745 = phi i32 [ %741, %740 ], [ %743, %742 ]
  store i32 %745, ptr %33, align 4, !tbaa !9
  %746 = load ptr, ptr %6, align 8, !tbaa !5
  %747 = getelementptr inbounds %struct.w2c_hermes, ptr %746, i32 0, i32 6
  %748 = load i32, ptr %32, align 4, !tbaa !9
  %749 = zext i32 %748 to i64
  %750 = add i64 %749, 180
  %751 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %747, i64 noundef %750, i32 noundef %751)
  %752 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %752, ptr %32, align 4, !tbaa !9
  store i32 184, ptr %33, align 4, !tbaa !9
  %753 = load i32, ptr %33, align 4, !tbaa !9
  %754 = load i32, ptr %32, align 4, !tbaa !9
  %755 = add i32 %754, %753
  store i32 %755, ptr %32, align 4, !tbaa !9
  %756 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %756, ptr %33, align 4, !tbaa !9
  %757 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %757, ptr %34, align 4, !tbaa !9
  store i32 176, ptr %35, align 4, !tbaa !9
  %758 = load i32, ptr %35, align 4, !tbaa !9
  %759 = load i32, ptr %34, align 4, !tbaa !9
  %760 = add i32 %759, %758
  store i32 %760, ptr %34, align 4, !tbaa !9
  %761 = load ptr, ptr %6, align 8, !tbaa !5
  %762 = load i32, ptr %32, align 4, !tbaa !9
  %763 = load i32, ptr %33, align 4, !tbaa !9
  %764 = load i32, ptr %34, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AtoIntegerOrInfinity0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x29(ptr noundef %761, i32 noundef %762, i32 noundef %763, i32 noundef %764)
  %765 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %765, ptr %32, align 4, !tbaa !9
  %766 = load ptr, ptr %6, align 8, !tbaa !5
  %767 = getelementptr inbounds %struct.w2c_hermes, ptr %766, i32 0, i32 6
  %768 = load i32, ptr %32, align 4, !tbaa !9
  %769 = zext i32 %768 to i64
  %770 = add i64 %769, 176
  %771 = call i32 @i32_load(ptr noundef %767, i64 noundef %770)
  store i32 %771, ptr %32, align 4, !tbaa !9
  %772 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %772, ptr %12, align 4, !tbaa !9
  %773 = load i32, ptr %32, align 4, !tbaa !9
  %774 = icmp ne i32 %773, 0
  br i1 %774, label %775, label %791

775:                                              ; preds = %744
  %776 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %776, ptr %32, align 4, !tbaa !9
  %777 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %777, ptr %33, align 4, !tbaa !9
  %778 = load ptr, ptr %6, align 8, !tbaa !5
  %779 = getelementptr inbounds %struct.w2c_hermes, ptr %778, i32 0, i32 6
  %780 = load i32, ptr %33, align 4, !tbaa !9
  %781 = zext i32 %780 to i64
  %782 = call i32 @i32_load(ptr noundef %779, i64 noundef %781)
  store i32 %782, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %34, align 4, !tbaa !9
  %783 = load i32, ptr %34, align 4, !tbaa !9
  %784 = load i32, ptr %33, align 4, !tbaa !9
  %785 = sub i32 %784, %783
  store i32 %785, ptr %33, align 4, !tbaa !9
  %786 = load ptr, ptr %6, align 8, !tbaa !5
  %787 = getelementptr inbounds %struct.w2c_hermes, ptr %786, i32 0, i32 6
  %788 = load i32, ptr %32, align 4, !tbaa !9
  %789 = zext i32 %788 to i64
  %790 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %787, i64 noundef %789, i32 noundef %790)
  br label %791

791:                                              ; preds = %775, %744
  %792 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %792, ptr %32, align 4, !tbaa !9
  %793 = load ptr, ptr %6, align 8, !tbaa !5
  %794 = getelementptr inbounds %struct.w2c_hermes, ptr %793, i32 0, i32 6
  %795 = load i32, ptr %32, align 4, !tbaa !9
  %796 = zext i32 %795 to i64
  %797 = add i64 %796, 184
  %798 = call i32 @i32_load(ptr noundef %794, i64 noundef %797)
  store i32 %798, ptr %32, align 4, !tbaa !9
  %799 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %799, ptr %12, align 4, !tbaa !9
  %800 = load i32, ptr %32, align 4, !tbaa !9
  %801 = icmp ne i32 %800, 0
  %802 = xor i1 %801, true
  %803 = zext i1 %802 to i32
  store i32 %803, ptr %32, align 4, !tbaa !9
  %804 = load i32, ptr %32, align 4, !tbaa !9
  %805 = icmp ne i32 %804, 0
  br i1 %805, label %806, label %813

806:                                              ; preds = %791
  %807 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %807, ptr %32, align 4, !tbaa !9
  store i32 0, ptr %33, align 4, !tbaa !9
  %808 = load ptr, ptr %6, align 8, !tbaa !5
  %809 = getelementptr inbounds %struct.w2c_hermes, ptr %808, i32 0, i32 6
  %810 = load i32, ptr %32, align 4, !tbaa !9
  %811 = zext i32 %810 to i64
  %812 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %809, i64 noundef %811, i32 noundef %812)
  br label %3009

813:                                              ; preds = %791
  %814 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %814, ptr %32, align 4, !tbaa !9
  store i32 1, ptr %33, align 4, !tbaa !9
  %815 = load i32, ptr %32, align 4, !tbaa !9
  %816 = load i32, ptr %33, align 4, !tbaa !9
  %817 = icmp ne i32 %815, %816
  %818 = zext i1 %817 to i32
  store i32 %818, ptr %32, align 4, !tbaa !9
  %819 = load i32, ptr %32, align 4, !tbaa !9
  %820 = icmp ne i32 %819, 0
  br i1 %820, label %821, label %822

821:                                              ; preds = %813
  br label %3223

822:                                              ; preds = %813
  %823 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %823, ptr %32, align 4, !tbaa !9
  %824 = load ptr, ptr %6, align 8, !tbaa !5
  %825 = getelementptr inbounds %struct.w2c_hermes, ptr %824, i32 0, i32 6
  %826 = load i32, ptr %32, align 4, !tbaa !9
  %827 = zext i32 %826 to i64
  %828 = add i64 %827, 192
  %829 = call i64 @i64_load(ptr noundef %825, i64 noundef %828)
  store i64 %829, ptr %42, align 8, !tbaa !11
  %830 = load i64, ptr %42, align 8, !tbaa !11
  store i64 %830, ptr %25, align 8, !tbaa !11
  store i64 -1970324836974592, ptr %43, align 8, !tbaa !11
  %831 = load i64, ptr %42, align 8, !tbaa !11
  %832 = load i64, ptr %43, align 8, !tbaa !11
  %833 = icmp uge i64 %831, %832
  %834 = zext i1 %833 to i32
  store i32 %834, ptr %32, align 4, !tbaa !9
  %835 = load i32, ptr %32, align 4, !tbaa !9
  %836 = icmp ne i32 %835, 0
  br i1 %836, label %837, label %838

837:                                              ; preds = %822
  br label %3241

838:                                              ; preds = %822
  %839 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %839, ptr %32, align 4, !tbaa !9
  %840 = load i64, ptr %25, align 8, !tbaa !11
  store i64 %840, ptr %43, align 8, !tbaa !11
  %841 = load ptr, ptr %6, align 8, !tbaa !5
  %842 = getelementptr inbounds %struct.w2c_hermes, ptr %841, i32 0, i32 6
  %843 = load i32, ptr %32, align 4, !tbaa !9
  %844 = zext i32 %843 to i64
  %845 = add i64 %844, 168
  %846 = load i64, ptr %43, align 8, !tbaa !11
  call void @i64_store(ptr noundef %842, i64 noundef %845, i64 noundef %846)
  %847 = load i64, ptr %25, align 8, !tbaa !11
  store i64 %847, ptr %42, align 8, !tbaa !11
  %848 = load i64, ptr %42, align 8, !tbaa !11
  %849 = call double @f64_reinterpret_i64(i64 noundef %848)
  store double %849, ptr %47, align 8, !tbaa !13
  %850 = load double, ptr %47, align 8, !tbaa !13
  store double %850, ptr %28, align 8, !tbaa !13
  store double 0.000000e+00, ptr %48, align 8, !tbaa !13
  %851 = load double, ptr %47, align 8, !tbaa !13
  %852 = load double, ptr %48, align 8, !tbaa !13
  %853 = fcmp olt double %851, %852
  %854 = zext i1 %853 to i32
  store i32 %854, ptr %32, align 4, !tbaa !9
  %855 = load i32, ptr %32, align 4, !tbaa !9
  %856 = icmp ne i32 %855, 0
  br i1 %856, label %857, label %899

857:                                              ; preds = %838
  %858 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %858, ptr %32, align 4, !tbaa !9
  store i64 0, ptr %43, align 8, !tbaa !11
  %859 = load ptr, ptr %6, align 8, !tbaa !5
  %860 = getelementptr inbounds %struct.w2c_hermes, ptr %859, i32 0, i32 6
  %861 = load i32, ptr %32, align 4, !tbaa !9
  %862 = zext i32 %861 to i64
  %863 = add i64 %862, 32
  %864 = load i64, ptr %43, align 8, !tbaa !11
  call void @i64_store(ptr noundef %860, i64 noundef %863, i64 noundef %864)
  %865 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %865, ptr %32, align 4, !tbaa !9
  %866 = load double, ptr %29, align 8, !tbaa !13
  store double %866, ptr %48, align 8, !tbaa !13
  %867 = load double, ptr %28, align 8, !tbaa !13
  store double %867, ptr %49, align 8, !tbaa !13
  %868 = load double, ptr %49, align 8, !tbaa !13
  %869 = load double, ptr %48, align 8, !tbaa !13
  %870 = fadd double %869, %868
  store double %870, ptr %48, align 8, !tbaa !13
  %871 = load double, ptr %48, align 8, !tbaa !13
  store double %871, ptr %28, align 8, !tbaa !13
  %872 = load ptr, ptr %6, align 8, !tbaa !5
  %873 = getelementptr inbounds %struct.w2c_hermes, ptr %872, i32 0, i32 6
  %874 = load i32, ptr %32, align 4, !tbaa !9
  %875 = zext i32 %874 to i64
  %876 = add i64 %875, 120
  %877 = load double, ptr %48, align 8, !tbaa !13
  call void @f64_store(ptr noundef %873, i64 noundef %876, double noundef %877)
  %878 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %878, ptr %32, align 4, !tbaa !9
  store i32 32, ptr %33, align 4, !tbaa !9
  %879 = load i32, ptr %33, align 4, !tbaa !9
  %880 = load i32, ptr %32, align 4, !tbaa !9
  %881 = add i32 %880, %879
  store i32 %881, ptr %32, align 4, !tbaa !9
  %882 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %882, ptr %33, align 4, !tbaa !9
  store i32 120, ptr %34, align 4, !tbaa !9
  %883 = load i32, ptr %34, align 4, !tbaa !9
  %884 = load i32, ptr %33, align 4, !tbaa !9
  %885 = add i32 %884, %883
  store i32 %885, ptr %33, align 4, !tbaa !9
  %886 = load double, ptr %28, align 8, !tbaa !13
  store double %886, ptr %49, align 8, !tbaa !13
  store double 0.000000e+00, ptr %50, align 8, !tbaa !13
  %887 = load double, ptr %49, align 8, !tbaa !13
  %888 = load double, ptr %50, align 8, !tbaa !13
  %889 = fcmp olt double %887, %888
  %890 = zext i1 %889 to i32
  store i32 %890, ptr %34, align 4, !tbaa !9
  %891 = load i32, ptr %34, align 4, !tbaa !9
  %892 = icmp ne i32 %891, 0
  br i1 %892, label %893, label %895

893:                                              ; preds = %857
  %894 = load i32, ptr %32, align 4, !tbaa !9
  br label %897

895:                                              ; preds = %857
  %896 = load i32, ptr %33, align 4, !tbaa !9
  br label %897

897:                                              ; preds = %895, %893
  %898 = phi i32 [ %894, %893 ], [ %896, %895 ]
  store i32 %898, ptr %32, align 4, !tbaa !9
  br label %922

899:                                              ; preds = %838
  %900 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %900, ptr %32, align 4, !tbaa !9
  store i32 200, ptr %33, align 4, !tbaa !9
  %901 = load i32, ptr %33, align 4, !tbaa !9
  %902 = load i32, ptr %32, align 4, !tbaa !9
  %903 = add i32 %902, %901
  store i32 %903, ptr %32, align 4, !tbaa !9
  %904 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %904, ptr %33, align 4, !tbaa !9
  store i32 168, ptr %34, align 4, !tbaa !9
  %905 = load i32, ptr %34, align 4, !tbaa !9
  %906 = load i32, ptr %33, align 4, !tbaa !9
  %907 = add i32 %906, %905
  store i32 %907, ptr %33, align 4, !tbaa !9
  %908 = load double, ptr %28, align 8, !tbaa !13
  store double %908, ptr %49, align 8, !tbaa !13
  %909 = load double, ptr %29, align 8, !tbaa !13
  store double %909, ptr %50, align 8, !tbaa !13
  %910 = load double, ptr %49, align 8, !tbaa !13
  %911 = load double, ptr %50, align 8, !tbaa !13
  %912 = fcmp ogt double %910, %911
  %913 = zext i1 %912 to i32
  store i32 %913, ptr %34, align 4, !tbaa !9
  %914 = load i32, ptr %34, align 4, !tbaa !9
  %915 = icmp ne i32 %914, 0
  br i1 %915, label %916, label %918

916:                                              ; preds = %899
  %917 = load i32, ptr %32, align 4, !tbaa !9
  br label %920

918:                                              ; preds = %899
  %919 = load i32, ptr %33, align 4, !tbaa !9
  br label %920

920:                                              ; preds = %918, %916
  %921 = phi i32 [ %917, %916 ], [ %919, %918 ]
  store i32 %921, ptr %32, align 4, !tbaa !9
  br label %922

922:                                              ; preds = %920, %897
  %923 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %923, ptr %12, align 4, !tbaa !9
  %924 = load ptr, ptr %6, align 8, !tbaa !5
  %925 = getelementptr inbounds %struct.w2c_hermes, ptr %924, i32 0, i32 6
  %926 = load i32, ptr %32, align 4, !tbaa !9
  %927 = zext i32 %926 to i64
  %928 = call double @f64_load(ptr noundef %925, i64 noundef %927)
  store double %928, ptr %47, align 8, !tbaa !13
  %929 = load double, ptr %47, align 8, !tbaa !13
  store double %929, ptr %28, align 8, !tbaa !13
  store i64 0, ptr %42, align 8, !tbaa !11
  %930 = load i64, ptr %42, align 8, !tbaa !11
  store i64 %930, ptr %25, align 8, !tbaa !11
  %931 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %931, ptr %32, align 4, !tbaa !9
  %932 = load i32, ptr %32, align 4, !tbaa !9
  switch i32 %932, label %935 [
    i32 0, label %933
    i32 1, label %934
  ]

933:                                              ; preds = %922
  br label %1204

934:                                              ; preds = %922
  br label %936

935:                                              ; preds = %922
  br label %996

936:                                              ; preds = %934
  %937 = load double, ptr %29, align 8, !tbaa !13
  store double %937, ptr %47, align 8, !tbaa !13
  %938 = load double, ptr %28, align 8, !tbaa !13
  store double %938, ptr %48, align 8, !tbaa !13
  %939 = load double, ptr %48, align 8, !tbaa !13
  %940 = load double, ptr %47, align 8, !tbaa !13
  %941 = fsub double %940, %939
  store double %941, ptr %47, align 8, !tbaa !13
  %942 = load double, ptr %47, align 8, !tbaa !13
  store double %942, ptr %30, align 8, !tbaa !13
  store double 0x43F0000000000000, ptr %48, align 8, !tbaa !13
  %943 = load double, ptr %47, align 8, !tbaa !13
  %944 = load double, ptr %48, align 8, !tbaa !13
  %945 = fcmp olt double %943, %944
  %946 = zext i1 %945 to i32
  store i32 %946, ptr %32, align 4, !tbaa !9
  %947 = load double, ptr %30, align 8, !tbaa !13
  store double %947, ptr %48, align 8, !tbaa !13
  store double 0.000000e+00, ptr %49, align 8, !tbaa !13
  %948 = load double, ptr %48, align 8, !tbaa !13
  %949 = load double, ptr %49, align 8, !tbaa !13
  %950 = fcmp oge double %948, %949
  %951 = zext i1 %950 to i32
  store i32 %951, ptr %33, align 4, !tbaa !9
  %952 = load i32, ptr %33, align 4, !tbaa !9
  %953 = load i32, ptr %32, align 4, !tbaa !9
  %954 = and i32 %953, %952
  store i32 %954, ptr %32, align 4, !tbaa !9
  %955 = load i32, ptr %32, align 4, !tbaa !9
  %956 = icmp ne i32 %955, 0
  br i1 %956, label %957, label %995

957:                                              ; preds = %936
  %958 = load double, ptr %30, align 8, !tbaa !13
  store double %958, ptr %47, align 8, !tbaa !13
  %959 = load double, ptr %47, align 8, !tbaa !13
  %960 = load double, ptr %47, align 8, !tbaa !13
  %961 = fcmp une double %959, %960
  %962 = xor i1 %961, true
  %963 = xor i1 %962, true
  %964 = zext i1 %963 to i32
  %965 = sext i32 %964 to i64
  %966 = call i64 @llvm.expect.i64(i64 %965, i64 0)
  %967 = icmp ne i64 %966, 0
  br i1 %967, label %968, label %970

968:                                              ; preds = %957
  call void @wasm_rt_trap(i32 noundef 4) #7
  unreachable

969:                                              ; No predecessors!
  br label %992

970:                                              ; preds = %957
  %971 = load double, ptr %47, align 8, !tbaa !13
  %972 = fcmp ogt double %971, -1.000000e+00
  br i1 %972, label %973, label %976

973:                                              ; preds = %970
  %974 = load double, ptr %47, align 8, !tbaa !13
  %975 = fcmp olt double %974, 0x43F0000000000000
  br label %976

976:                                              ; preds = %973, %970
  %977 = phi i1 [ false, %970 ], [ %975, %973 ]
  %978 = xor i1 %977, true
  %979 = xor i1 %978, true
  %980 = xor i1 %979, true
  %981 = zext i1 %980 to i32
  %982 = sext i32 %981 to i64
  %983 = call i64 @llvm.expect.i64(i64 %982, i64 0)
  %984 = icmp ne i64 %983, 0
  br i1 %984, label %985, label %987

985:                                              ; preds = %976
  call void @wasm_rt_trap(i32 noundef 2) #7
  unreachable

986:                                              ; No predecessors!
  br label %990

987:                                              ; preds = %976
  %988 = load double, ptr %47, align 8, !tbaa !13
  %989 = fptoui double %988 to i64
  br label %990

990:                                              ; preds = %987, %986
  %991 = phi i64 [ 0, %986 ], [ %989, %987 ]
  br label %992

992:                                              ; preds = %990, %969
  %993 = phi i64 [ 0, %969 ], [ %991, %990 ]
  store i64 %993, ptr %42, align 8, !tbaa !11
  %994 = load i64, ptr %42, align 8, !tbaa !11
  store i64 %994, ptr %25, align 8, !tbaa !11
  br label %1204

995:                                              ; preds = %936
  br label %1204

996:                                              ; preds = %935
  %997 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %997, ptr %32, align 4, !tbaa !9
  store i32 0, ptr %33, align 4, !tbaa !9
  %998 = load ptr, ptr %6, align 8, !tbaa !5
  %999 = getelementptr inbounds %struct.w2c_hermes, ptr %998, i32 0, i32 6
  %1000 = load i32, ptr %32, align 4, !tbaa !9
  %1001 = zext i32 %1000 to i64
  %1002 = add i64 %1001, 160
  %1003 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %999, i64 noundef %1002, i32 noundef %1003)
  %1004 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1004, ptr %32, align 4, !tbaa !9
  %1005 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1005, ptr %33, align 4, !tbaa !9
  store i32 16, ptr %34, align 4, !tbaa !9
  %1006 = load i32, ptr %34, align 4, !tbaa !9
  %1007 = load i32, ptr %33, align 4, !tbaa !9
  %1008 = sub i32 %1007, %1006
  store i32 %1008, ptr %33, align 4, !tbaa !9
  %1009 = load ptr, ptr %6, align 8, !tbaa !5
  %1010 = getelementptr inbounds %struct.w2c_hermes, ptr %1009, i32 0, i32 6
  %1011 = load i32, ptr %32, align 4, !tbaa !9
  %1012 = zext i32 %1011 to i64
  %1013 = add i64 %1012, 164
  %1014 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1010, i64 noundef %1013, i32 noundef %1014)
  %1015 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1015, ptr %32, align 4, !tbaa !9
  store i32 120, ptr %33, align 4, !tbaa !9
  %1016 = load i32, ptr %33, align 4, !tbaa !9
  %1017 = load i32, ptr %32, align 4, !tbaa !9
  %1018 = add i32 %1017, %1016
  store i32 %1018, ptr %32, align 4, !tbaa !9
  %1019 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1019, ptr %33, align 4, !tbaa !9
  %1020 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1020, ptr %34, align 4, !tbaa !9
  store i32 160, ptr %35, align 4, !tbaa !9
  %1021 = load i32, ptr %35, align 4, !tbaa !9
  %1022 = load i32, ptr %34, align 4, !tbaa !9
  %1023 = add i32 %1022, %1021
  store i32 %1023, ptr %34, align 4, !tbaa !9
  %1024 = load ptr, ptr %6, align 8, !tbaa !5
  %1025 = load i32, ptr %32, align 4, !tbaa !9
  %1026 = load i32, ptr %33, align 4, !tbaa !9
  %1027 = load i32, ptr %34, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AtoIntegerOrInfinity0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x29(ptr noundef %1024, i32 noundef %1025, i32 noundef %1026, i32 noundef %1027)
  %1028 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1028, ptr %32, align 4, !tbaa !9
  %1029 = load ptr, ptr %6, align 8, !tbaa !5
  %1030 = getelementptr inbounds %struct.w2c_hermes, ptr %1029, i32 0, i32 6
  %1031 = load i32, ptr %32, align 4, !tbaa !9
  %1032 = zext i32 %1031 to i64
  %1033 = add i64 %1032, 160
  %1034 = call i32 @i32_load(ptr noundef %1030, i64 noundef %1033)
  store i32 %1034, ptr %32, align 4, !tbaa !9
  %1035 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1035, ptr %12, align 4, !tbaa !9
  %1036 = load i32, ptr %32, align 4, !tbaa !9
  %1037 = icmp ne i32 %1036, 0
  br i1 %1037, label %1038, label %1054

1038:                                             ; preds = %996
  %1039 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1039, ptr %32, align 4, !tbaa !9
  %1040 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1040, ptr %33, align 4, !tbaa !9
  %1041 = load ptr, ptr %6, align 8, !tbaa !5
  %1042 = getelementptr inbounds %struct.w2c_hermes, ptr %1041, i32 0, i32 6
  %1043 = load i32, ptr %33, align 4, !tbaa !9
  %1044 = zext i32 %1043 to i64
  %1045 = call i32 @i32_load(ptr noundef %1042, i64 noundef %1044)
  store i32 %1045, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %34, align 4, !tbaa !9
  %1046 = load i32, ptr %34, align 4, !tbaa !9
  %1047 = load i32, ptr %33, align 4, !tbaa !9
  %1048 = sub i32 %1047, %1046
  store i32 %1048, ptr %33, align 4, !tbaa !9
  %1049 = load ptr, ptr %6, align 8, !tbaa !5
  %1050 = getelementptr inbounds %struct.w2c_hermes, ptr %1049, i32 0, i32 6
  %1051 = load i32, ptr %32, align 4, !tbaa !9
  %1052 = zext i32 %1051 to i64
  %1053 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1050, i64 noundef %1052, i32 noundef %1053)
  br label %1054

1054:                                             ; preds = %1038, %996
  %1055 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1055, ptr %32, align 4, !tbaa !9
  %1056 = load ptr, ptr %6, align 8, !tbaa !5
  %1057 = getelementptr inbounds %struct.w2c_hermes, ptr %1056, i32 0, i32 6
  %1058 = load i32, ptr %32, align 4, !tbaa !9
  %1059 = zext i32 %1058 to i64
  %1060 = add i64 %1059, 120
  %1061 = call i32 @i32_load(ptr noundef %1057, i64 noundef %1060)
  store i32 %1061, ptr %32, align 4, !tbaa !9
  %1062 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1062, ptr %12, align 4, !tbaa !9
  %1063 = load i32, ptr %32, align 4, !tbaa !9
  %1064 = icmp ne i32 %1063, 0
  %1065 = xor i1 %1064, true
  %1066 = zext i1 %1065 to i32
  store i32 %1066, ptr %32, align 4, !tbaa !9
  %1067 = load i32, ptr %32, align 4, !tbaa !9
  %1068 = icmp ne i32 %1067, 0
  br i1 %1068, label %1069, label %1076

1069:                                             ; preds = %1054
  %1070 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1070, ptr %32, align 4, !tbaa !9
  store i32 0, ptr %33, align 4, !tbaa !9
  %1071 = load ptr, ptr %6, align 8, !tbaa !5
  %1072 = getelementptr inbounds %struct.w2c_hermes, ptr %1071, i32 0, i32 6
  %1073 = load i32, ptr %32, align 4, !tbaa !9
  %1074 = zext i32 %1073 to i64
  %1075 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1072, i64 noundef %1074, i32 noundef %1075)
  br label %3009

1076:                                             ; preds = %1054
  %1077 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1077, ptr %32, align 4, !tbaa !9
  store i32 1, ptr %33, align 4, !tbaa !9
  %1078 = load i32, ptr %32, align 4, !tbaa !9
  %1079 = load i32, ptr %33, align 4, !tbaa !9
  %1080 = icmp ne i32 %1078, %1079
  %1081 = zext i1 %1080 to i32
  store i32 %1081, ptr %32, align 4, !tbaa !9
  %1082 = load i32, ptr %32, align 4, !tbaa !9
  %1083 = icmp ne i32 %1082, 0
  br i1 %1083, label %1084, label %1085

1084:                                             ; preds = %1076
  br label %3259

1085:                                             ; preds = %1076
  %1086 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1086, ptr %32, align 4, !tbaa !9
  %1087 = load ptr, ptr %6, align 8, !tbaa !5
  %1088 = getelementptr inbounds %struct.w2c_hermes, ptr %1087, i32 0, i32 6
  %1089 = load i32, ptr %32, align 4, !tbaa !9
  %1090 = zext i32 %1089 to i64
  %1091 = add i64 %1090, 128
  %1092 = call i64 @i64_load(ptr noundef %1088, i64 noundef %1091)
  store i64 %1092, ptr %42, align 8, !tbaa !11
  %1093 = load i64, ptr %42, align 8, !tbaa !11
  store i64 %1093, ptr %25, align 8, !tbaa !11
  store i64 -1970324836974592, ptr %43, align 8, !tbaa !11
  %1094 = load i64, ptr %42, align 8, !tbaa !11
  %1095 = load i64, ptr %43, align 8, !tbaa !11
  %1096 = icmp uge i64 %1094, %1095
  %1097 = zext i1 %1096 to i32
  store i32 %1097, ptr %32, align 4, !tbaa !9
  %1098 = load i32, ptr %32, align 4, !tbaa !9
  %1099 = icmp ne i32 %1098, 0
  br i1 %1099, label %1100, label %1101

1100:                                             ; preds = %1085
  br label %3277

1101:                                             ; preds = %1085
  %1102 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1102, ptr %32, align 4, !tbaa !9
  store i32 2, ptr %33, align 4, !tbaa !9
  %1103 = load i32, ptr %33, align 4, !tbaa !9
  %1104 = load i32, ptr %32, align 4, !tbaa !9
  %1105 = sub i32 %1104, %1103
  store i32 %1105, ptr %32, align 4, !tbaa !9
  %1106 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1106, ptr %12, align 4, !tbaa !9
  %1107 = load double, ptr %29, align 8, !tbaa !13
  store double %1107, ptr %47, align 8, !tbaa !13
  %1108 = load double, ptr %28, align 8, !tbaa !13
  store double %1108, ptr %48, align 8, !tbaa !13
  %1109 = load double, ptr %48, align 8, !tbaa !13
  %1110 = load double, ptr %47, align 8, !tbaa !13
  %1111 = fsub double %1110, %1109
  store double %1111, ptr %47, align 8, !tbaa !13
  %1112 = load double, ptr %47, align 8, !tbaa !13
  store double %1112, ptr %30, align 8, !tbaa !13
  store double 0.000000e+00, ptr %48, align 8, !tbaa !13
  %1113 = load i64, ptr %25, align 8, !tbaa !11
  store i64 %1113, ptr %44, align 8, !tbaa !11
  %1114 = load i64, ptr %44, align 8, !tbaa !11
  %1115 = call double @f64_reinterpret_i64(i64 noundef %1114)
  store double %1115, ptr %49, align 8, !tbaa !13
  %1116 = load double, ptr %49, align 8, !tbaa !13
  store double %1116, ptr %31, align 8, !tbaa !13
  %1117 = load double, ptr %31, align 8, !tbaa !13
  store double %1117, ptr %50, align 8, !tbaa !13
  store double 0.000000e+00, ptr %51, align 8, !tbaa !13
  %1118 = load double, ptr %50, align 8, !tbaa !13
  %1119 = load double, ptr %51, align 8, !tbaa !13
  %1120 = fcmp olt double %1118, %1119
  %1121 = zext i1 %1120 to i32
  store i32 %1121, ptr %35, align 4, !tbaa !9
  %1122 = load i32, ptr %35, align 4, !tbaa !9
  %1123 = icmp ne i32 %1122, 0
  br i1 %1123, label %1124, label %1126

1124:                                             ; preds = %1101
  %1125 = load double, ptr %48, align 8, !tbaa !13
  br label %1128

1126:                                             ; preds = %1101
  %1127 = load double, ptr %49, align 8, !tbaa !13
  br label %1128

1128:                                             ; preds = %1126, %1124
  %1129 = phi double [ %1125, %1124 ], [ %1127, %1126 ]
  store double %1129, ptr %48, align 8, !tbaa !13
  %1130 = load double, ptr %48, align 8, !tbaa !13
  store double %1130, ptr %31, align 8, !tbaa !13
  %1131 = load double, ptr %30, align 8, !tbaa !13
  store double %1131, ptr %49, align 8, !tbaa !13
  %1132 = load double, ptr %31, align 8, !tbaa !13
  store double %1132, ptr %50, align 8, !tbaa !13
  %1133 = load double, ptr %49, align 8, !tbaa !13
  %1134 = load double, ptr %50, align 8, !tbaa !13
  %1135 = fcmp olt double %1133, %1134
  %1136 = zext i1 %1135 to i32
  store i32 %1136, ptr %34, align 4, !tbaa !9
  %1137 = load i32, ptr %34, align 4, !tbaa !9
  %1138 = icmp ne i32 %1137, 0
  br i1 %1138, label %1139, label %1141

1139:                                             ; preds = %1128
  %1140 = load double, ptr %47, align 8, !tbaa !13
  br label %1143

1141:                                             ; preds = %1128
  %1142 = load double, ptr %48, align 8, !tbaa !13
  br label %1143

1143:                                             ; preds = %1141, %1139
  %1144 = phi double [ %1140, %1139 ], [ %1142, %1141 ]
  store double %1144, ptr %47, align 8, !tbaa !13
  %1145 = load double, ptr %47, align 8, !tbaa !13
  store double %1145, ptr %30, align 8, !tbaa !13
  store double 0x43F0000000000000, ptr %48, align 8, !tbaa !13
  %1146 = load double, ptr %47, align 8, !tbaa !13
  %1147 = load double, ptr %48, align 8, !tbaa !13
  %1148 = fcmp olt double %1146, %1147
  %1149 = zext i1 %1148 to i32
  store i32 %1149, ptr %32, align 4, !tbaa !9
  %1150 = load double, ptr %30, align 8, !tbaa !13
  store double %1150, ptr %48, align 8, !tbaa !13
  store double 0.000000e+00, ptr %49, align 8, !tbaa !13
  %1151 = load double, ptr %48, align 8, !tbaa !13
  %1152 = load double, ptr %49, align 8, !tbaa !13
  %1153 = fcmp oge double %1151, %1152
  %1154 = zext i1 %1153 to i32
  store i32 %1154, ptr %33, align 4, !tbaa !9
  %1155 = load i32, ptr %33, align 4, !tbaa !9
  %1156 = load i32, ptr %32, align 4, !tbaa !9
  %1157 = and i32 %1156, %1155
  store i32 %1157, ptr %32, align 4, !tbaa !9
  %1158 = load i32, ptr %32, align 4, !tbaa !9
  %1159 = icmp ne i32 %1158, 0
  br i1 %1159, label %1160, label %1197

1160:                                             ; preds = %1143
  %1161 = load double, ptr %30, align 8, !tbaa !13
  store double %1161, ptr %47, align 8, !tbaa !13
  %1162 = load double, ptr %47, align 8, !tbaa !13
  %1163 = load double, ptr %47, align 8, !tbaa !13
  %1164 = fcmp une double %1162, %1163
  %1165 = xor i1 %1164, true
  %1166 = xor i1 %1165, true
  %1167 = zext i1 %1166 to i32
  %1168 = sext i32 %1167 to i64
  %1169 = call i64 @llvm.expect.i64(i64 %1168, i64 0)
  %1170 = icmp ne i64 %1169, 0
  br i1 %1170, label %1171, label %1173

1171:                                             ; preds = %1160
  call void @wasm_rt_trap(i32 noundef 4) #7
  unreachable

1172:                                             ; No predecessors!
  br label %1195

1173:                                             ; preds = %1160
  %1174 = load double, ptr %47, align 8, !tbaa !13
  %1175 = fcmp ogt double %1174, -1.000000e+00
  br i1 %1175, label %1176, label %1179

1176:                                             ; preds = %1173
  %1177 = load double, ptr %47, align 8, !tbaa !13
  %1178 = fcmp olt double %1177, 0x43F0000000000000
  br label %1179

1179:                                             ; preds = %1176, %1173
  %1180 = phi i1 [ false, %1173 ], [ %1178, %1176 ]
  %1181 = xor i1 %1180, true
  %1182 = xor i1 %1181, true
  %1183 = xor i1 %1182, true
  %1184 = zext i1 %1183 to i32
  %1185 = sext i32 %1184 to i64
  %1186 = call i64 @llvm.expect.i64(i64 %1185, i64 0)
  %1187 = icmp ne i64 %1186, 0
  br i1 %1187, label %1188, label %1190

1188:                                             ; preds = %1179
  call void @wasm_rt_trap(i32 noundef 2) #7
  unreachable

1189:                                             ; No predecessors!
  br label %1193

1190:                                             ; preds = %1179
  %1191 = load double, ptr %47, align 8, !tbaa !13
  %1192 = fptoui double %1191 to i64
  br label %1193

1193:                                             ; preds = %1190, %1189
  %1194 = phi i64 [ 0, %1189 ], [ %1192, %1190 ]
  br label %1195

1195:                                             ; preds = %1193, %1172
  %1196 = phi i64 [ 0, %1172 ], [ %1194, %1193 ]
  store i64 %1196, ptr %42, align 8, !tbaa !11
  br label %1198

1197:                                             ; preds = %1143
  store i64 0, ptr %42, align 8, !tbaa !11
  br label %1198

1198:                                             ; preds = %1197, %1195
  %1199 = load i64, ptr %42, align 8, !tbaa !11
  store i64 %1199, ptr %25, align 8, !tbaa !11
  %1200 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1200, ptr %32, align 4, !tbaa !9
  %1201 = load i32, ptr %32, align 4, !tbaa !9
  %1202 = zext i32 %1201 to i64
  store i64 %1202, ptr %42, align 8, !tbaa !11
  %1203 = load i64, ptr %42, align 8, !tbaa !11
  store i64 %1203, ptr %26, align 8, !tbaa !11
  br label %1204

1204:                                             ; preds = %1198, %995, %992, %933
  %1205 = load double, ptr %29, align 8, !tbaa !13
  store double %1205, ptr %47, align 8, !tbaa !13
  %1206 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %1206, ptr %43, align 8, !tbaa !11
  %1207 = load i64, ptr %43, align 8, !tbaa !11
  %1208 = uitofp i64 %1207 to double
  store double %1208, ptr %48, align 8, !tbaa !13
  %1209 = load double, ptr %48, align 8, !tbaa !13
  %1210 = load double, ptr %47, align 8, !tbaa !13
  %1211 = fadd double %1210, %1209
  store double %1211, ptr %47, align 8, !tbaa !13
  %1212 = load i64, ptr %25, align 8, !tbaa !11
  store i64 %1212, ptr %43, align 8, !tbaa !11
  %1213 = load i64, ptr %43, align 8, !tbaa !11
  %1214 = uitofp i64 %1213 to double
  store double %1214, ptr %48, align 8, !tbaa !13
  %1215 = load double, ptr %48, align 8, !tbaa !13
  store double %1215, ptr %30, align 8, !tbaa !13
  %1216 = load double, ptr %48, align 8, !tbaa !13
  %1217 = load double, ptr %47, align 8, !tbaa !13
  %1218 = fsub double %1217, %1216
  store double %1218, ptr %47, align 8, !tbaa !13
  %1219 = load double, ptr %47, align 8, !tbaa !13
  store double %1219, ptr %29, align 8, !tbaa !13
  %1220 = load double, ptr %30, align 8, !tbaa !13
  store double %1220, ptr %48, align 8, !tbaa !13
  %1221 = load double, ptr %48, align 8, !tbaa !13
  %1222 = load double, ptr %47, align 8, !tbaa !13
  %1223 = fsub double %1222, %1221
  store double %1223, ptr %47, align 8, !tbaa !13
  store double 0x433FFFFFFFFFFFFF, ptr %48, align 8, !tbaa !13
  %1224 = load double, ptr %47, align 8, !tbaa !13
  %1225 = load double, ptr %48, align 8, !tbaa !13
  %1226 = fcmp ogt double %1224, %1225
  %1227 = zext i1 %1226 to i32
  store i32 %1227, ptr %32, align 4, !tbaa !9
  %1228 = load i32, ptr %32, align 4, !tbaa !9
  %1229 = icmp ne i32 %1228, 0
  br i1 %1229, label %1230, label %1277

1230:                                             ; preds = %1204
  %1231 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1231, ptr %32, align 4, !tbaa !9
  %1232 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1232, ptr %33, align 4, !tbaa !9
  %1233 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1233, ptr %34, align 4, !tbaa !9
  store i32 120, ptr %35, align 4, !tbaa !9
  %1234 = load i32, ptr %35, align 4, !tbaa !9
  %1235 = load i32, ptr %34, align 4, !tbaa !9
  %1236 = add i32 %1235, %1234
  store i32 %1236, ptr %34, align 4, !tbaa !9
  store i32 101918, ptr %35, align 4, !tbaa !9
  %1237 = load ptr, ptr %6, align 8, !tbaa !5
  %1238 = load i32, ptr %34, align 4, !tbaa !9
  %1239 = load i32, ptr %35, align 4, !tbaa !9
  %1240 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ATwineChar160x3A0x3ATwineChar160x28char0x20const0x2A0x29(ptr noundef %1237, i32 noundef %1238, i32 noundef %1239)
  store i32 %1240, ptr %34, align 4, !tbaa !9
  %1241 = load ptr, ptr %6, align 8, !tbaa !5
  %1242 = load i32, ptr %33, align 4, !tbaa !9
  %1243 = load i32, ptr %34, align 4, !tbaa !9
  %1244 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AraiseTypeError0x28hermes0x3A0x3Avm0x3A0x3ATwineChar160x20const0x260x29(ptr noundef %1241, i32 noundef %1242, i32 noundef %1243)
  store i32 %1244, ptr %33, align 4, !tbaa !9
  %1245 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %1245, ptr %12, align 4, !tbaa !9
  %1246 = load ptr, ptr %6, align 8, !tbaa !5
  %1247 = getelementptr inbounds %struct.w2c_hermes, ptr %1246, i32 0, i32 6
  %1248 = load i32, ptr %32, align 4, !tbaa !9
  %1249 = zext i32 %1248 to i64
  %1250 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1247, i64 noundef %1249, i32 noundef %1250)
  %1251 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1251, ptr %32, align 4, !tbaa !9
  store i32 1, ptr %33, align 4, !tbaa !9
  %1252 = load i32, ptr %32, align 4, !tbaa !9
  %1253 = load i32, ptr %33, align 4, !tbaa !9
  %1254 = icmp ne i32 %1252, %1253
  %1255 = zext i1 %1254 to i32
  store i32 %1255, ptr %32, align 4, !tbaa !9
  %1256 = load i32, ptr %32, align 4, !tbaa !9
  %1257 = icmp ne i32 %1256, 0
  br i1 %1257, label %1258, label %1259

1258:                                             ; preds = %1230
  br label %3009

1259:                                             ; preds = %1230
  store i32 0, ptr %32, align 4, !tbaa !9
  %1260 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1260, ptr %11, align 4, !tbaa !9
  store i32 109717, ptr %33, align 4, !tbaa !9
  %1261 = load i32, ptr %33, align 4, !tbaa !9
  %1262 = load i32, ptr %32, align 4, !tbaa !9
  %1263 = add i32 %1262, %1261
  store i32 %1263, ptr %32, align 4, !tbaa !9
  %1264 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1264, ptr %33, align 4, !tbaa !9
  store i32 77564, ptr %34, align 4, !tbaa !9
  %1265 = load i32, ptr %34, align 4, !tbaa !9
  %1266 = load i32, ptr %33, align 4, !tbaa !9
  %1267 = add i32 %1266, %1265
  store i32 %1267, ptr %33, align 4, !tbaa !9
  store i32 168, ptr %34, align 4, !tbaa !9
  %1268 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1268, ptr %35, align 4, !tbaa !9
  store i32 28083, ptr %36, align 4, !tbaa !9
  %1269 = load i32, ptr %36, align 4, !tbaa !9
  %1270 = load i32, ptr %35, align 4, !tbaa !9
  %1271 = add i32 %1270, %1269
  store i32 %1271, ptr %35, align 4, !tbaa !9
  %1272 = load ptr, ptr %6, align 8, !tbaa !5
  %1273 = load i32, ptr %32, align 4, !tbaa !9
  %1274 = load i32, ptr %33, align 4, !tbaa !9
  %1275 = load i32, ptr %34, align 4, !tbaa !9
  %1276 = load i32, ptr %35, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %1272, i32 noundef %1273, i32 noundef %1274, i32 noundef %1275, i32 noundef %1276)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

1277:                                             ; preds = %1204
  %1278 = load double, ptr %29, align 8, !tbaa !13
  store double %1278, ptr %47, align 8, !tbaa !13
  %1279 = load double, ptr %47, align 8, !tbaa !13
  %1280 = call double @wasm_fabs(double noundef %1279)
  store double %1280, ptr %47, align 8, !tbaa !13
  store double 0x41E0000000000000, ptr %48, align 8, !tbaa !13
  %1281 = load double, ptr %47, align 8, !tbaa !13
  %1282 = load double, ptr %48, align 8, !tbaa !13
  %1283 = fcmp olt double %1281, %1282
  %1284 = zext i1 %1283 to i32
  store i32 %1284, ptr %32, align 4, !tbaa !9
  %1285 = load i32, ptr %32, align 4, !tbaa !9
  %1286 = icmp ne i32 %1285, 0
  br i1 %1286, label %1287, label %1324

1287:                                             ; preds = %1277
  %1288 = load double, ptr %29, align 8, !tbaa !13
  store double %1288, ptr %47, align 8, !tbaa !13
  %1289 = load double, ptr %47, align 8, !tbaa !13
  %1290 = load double, ptr %47, align 8, !tbaa !13
  %1291 = fcmp une double %1289, %1290
  %1292 = xor i1 %1291, true
  %1293 = xor i1 %1292, true
  %1294 = zext i1 %1293 to i32
  %1295 = sext i32 %1294 to i64
  %1296 = call i64 @llvm.expect.i64(i64 %1295, i64 0)
  %1297 = icmp ne i64 %1296, 0
  br i1 %1297, label %1298, label %1300

1298:                                             ; preds = %1287
  call void @wasm_rt_trap(i32 noundef 4) #7
  unreachable

1299:                                             ; No predecessors!
  br label %1322

1300:                                             ; preds = %1287
  %1301 = load double, ptr %47, align 8, !tbaa !13
  %1302 = fcmp ogt double %1301, 0xC1E0000000200000
  br i1 %1302, label %1303, label %1306

1303:                                             ; preds = %1300
  %1304 = load double, ptr %47, align 8, !tbaa !13
  %1305 = fcmp olt double %1304, 0x41E0000000000000
  br label %1306

1306:                                             ; preds = %1303, %1300
  %1307 = phi i1 [ false, %1300 ], [ %1305, %1303 ]
  %1308 = xor i1 %1307, true
  %1309 = xor i1 %1308, true
  %1310 = xor i1 %1309, true
  %1311 = zext i1 %1310 to i32
  %1312 = sext i32 %1311 to i64
  %1313 = call i64 @llvm.expect.i64(i64 %1312, i64 0)
  %1314 = icmp ne i64 %1313, 0
  br i1 %1314, label %1315, label %1317

1315:                                             ; preds = %1306
  call void @wasm_rt_trap(i32 noundef 2) #7
  unreachable

1316:                                             ; No predecessors!
  br label %1320

1317:                                             ; preds = %1306
  %1318 = load double, ptr %47, align 8, !tbaa !13
  %1319 = fptosi double %1318 to i32
  br label %1320

1320:                                             ; preds = %1317, %1316
  %1321 = phi i32 [ 0, %1316 ], [ %1319, %1317 ]
  br label %1322

1322:                                             ; preds = %1320, %1299
  %1323 = phi i32 [ 0, %1299 ], [ %1321, %1320 ]
  store i32 %1323, ptr %32, align 4, !tbaa !9
  br label %1325

1324:                                             ; preds = %1277
  store i32 -2147483648, ptr %32, align 4, !tbaa !9
  br label %1325

1325:                                             ; preds = %1324, %1322
  %1326 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1326, ptr %12, align 4, !tbaa !9
  %1327 = load i32, ptr %32, align 4, !tbaa !9
  %1328 = sitofp i32 %1327 to double
  store double %1328, ptr %47, align 8, !tbaa !13
  %1329 = load double, ptr %29, align 8, !tbaa !13
  store double %1329, ptr %48, align 8, !tbaa !13
  %1330 = load double, ptr %47, align 8, !tbaa !13
  %1331 = load double, ptr %48, align 8, !tbaa !13
  %1332 = fcmp une double %1330, %1331
  %1333 = zext i1 %1332 to i32
  store i32 %1333, ptr %32, align 4, !tbaa !9
  %1334 = load i32, ptr %32, align 4, !tbaa !9
  %1335 = icmp ne i32 %1334, 0
  br i1 %1335, label %1336, label %1342

1336:                                             ; preds = %1325
  %1337 = load double, ptr %29, align 8, !tbaa !13
  store double %1337, ptr %47, align 8, !tbaa !13
  %1338 = load ptr, ptr %6, align 8, !tbaa !5
  %1339 = load double, ptr %47, align 8, !tbaa !13
  %1340 = call i32 @w2c_hermes_hermes0x3A0x3AtruncateToInt32SlowPath0x28double0x29(ptr noundef %1338, double noundef %1339)
  store i32 %1340, ptr %32, align 4, !tbaa !9
  %1341 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1341, ptr %12, align 4, !tbaa !9
  br label %1342

1342:                                             ; preds = %1336, %1325
  %1343 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1343, ptr %32, align 4, !tbaa !9
  %1344 = load i32, ptr %32, align 4, !tbaa !9
  %1345 = uitofp i32 %1344 to double
  store double %1345, ptr %47, align 8, !tbaa !13
  %1346 = load double, ptr %29, align 8, !tbaa !13
  store double %1346, ptr %48, align 8, !tbaa !13
  %1347 = load double, ptr %47, align 8, !tbaa !13
  %1348 = load double, ptr %48, align 8, !tbaa !13
  %1349 = fcmp une double %1347, %1348
  %1350 = zext i1 %1349 to i32
  store i32 %1350, ptr %32, align 4, !tbaa !9
  %1351 = load i32, ptr %32, align 4, !tbaa !9
  %1352 = icmp ne i32 %1351, 0
  br i1 %1352, label %1353, label %1400

1353:                                             ; preds = %1342
  %1354 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1354, ptr %32, align 4, !tbaa !9
  %1355 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1355, ptr %33, align 4, !tbaa !9
  %1356 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1356, ptr %34, align 4, !tbaa !9
  store i32 120, ptr %35, align 4, !tbaa !9
  %1357 = load i32, ptr %35, align 4, !tbaa !9
  %1358 = load i32, ptr %34, align 4, !tbaa !9
  %1359 = add i32 %1358, %1357
  store i32 %1359, ptr %34, align 4, !tbaa !9
  store i32 75377, ptr %35, align 4, !tbaa !9
  %1360 = load ptr, ptr %6, align 8, !tbaa !5
  %1361 = load i32, ptr %34, align 4, !tbaa !9
  %1362 = load i32, ptr %35, align 4, !tbaa !9
  %1363 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ATwineChar160x3A0x3ATwineChar160x28char0x20const0x2A0x29(ptr noundef %1360, i32 noundef %1361, i32 noundef %1362)
  store i32 %1363, ptr %34, align 4, !tbaa !9
  %1364 = load ptr, ptr %6, align 8, !tbaa !5
  %1365 = load i32, ptr %33, align 4, !tbaa !9
  %1366 = load i32, ptr %34, align 4, !tbaa !9
  %1367 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AraiseRangeError0x28hermes0x3A0x3Avm0x3A0x3ATwineChar160x20const0x260x29(ptr noundef %1364, i32 noundef %1365, i32 noundef %1366)
  store i32 %1367, ptr %33, align 4, !tbaa !9
  %1368 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %1368, ptr %12, align 4, !tbaa !9
  %1369 = load ptr, ptr %6, align 8, !tbaa !5
  %1370 = getelementptr inbounds %struct.w2c_hermes, ptr %1369, i32 0, i32 6
  %1371 = load i32, ptr %32, align 4, !tbaa !9
  %1372 = zext i32 %1371 to i64
  %1373 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1370, i64 noundef %1372, i32 noundef %1373)
  %1374 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1374, ptr %32, align 4, !tbaa !9
  store i32 1, ptr %33, align 4, !tbaa !9
  %1375 = load i32, ptr %32, align 4, !tbaa !9
  %1376 = load i32, ptr %33, align 4, !tbaa !9
  %1377 = icmp ne i32 %1375, %1376
  %1378 = zext i1 %1377 to i32
  store i32 %1378, ptr %32, align 4, !tbaa !9
  %1379 = load i32, ptr %32, align 4, !tbaa !9
  %1380 = icmp ne i32 %1379, 0
  br i1 %1380, label %1381, label %1382

1381:                                             ; preds = %1353
  br label %3009

1382:                                             ; preds = %1353
  store i32 0, ptr %32, align 4, !tbaa !9
  %1383 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1383, ptr %11, align 4, !tbaa !9
  store i32 109717, ptr %33, align 4, !tbaa !9
  %1384 = load i32, ptr %33, align 4, !tbaa !9
  %1385 = load i32, ptr %32, align 4, !tbaa !9
  %1386 = add i32 %1385, %1384
  store i32 %1386, ptr %32, align 4, !tbaa !9
  %1387 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1387, ptr %33, align 4, !tbaa !9
  store i32 77564, ptr %34, align 4, !tbaa !9
  %1388 = load i32, ptr %34, align 4, !tbaa !9
  %1389 = load i32, ptr %33, align 4, !tbaa !9
  %1390 = add i32 %1389, %1388
  store i32 %1390, ptr %33, align 4, !tbaa !9
  store i32 168, ptr %34, align 4, !tbaa !9
  %1391 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1391, ptr %35, align 4, !tbaa !9
  store i32 28083, ptr %36, align 4, !tbaa !9
  %1392 = load i32, ptr %36, align 4, !tbaa !9
  %1393 = load i32, ptr %35, align 4, !tbaa !9
  %1394 = add i32 %1393, %1392
  store i32 %1394, ptr %35, align 4, !tbaa !9
  %1395 = load ptr, ptr %6, align 8, !tbaa !5
  %1396 = load i32, ptr %32, align 4, !tbaa !9
  %1397 = load i32, ptr %33, align 4, !tbaa !9
  %1398 = load i32, ptr %34, align 4, !tbaa !9
  %1399 = load i32, ptr %35, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %1395, i32 noundef %1396, i32 noundef %1397, i32 noundef %1398, i32 noundef %1399)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

1400:                                             ; preds = %1342
  %1401 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1401, ptr %32, align 4, !tbaa !9
  store i32 112, ptr %33, align 4, !tbaa !9
  %1402 = load i32, ptr %33, align 4, !tbaa !9
  %1403 = load i32, ptr %32, align 4, !tbaa !9
  %1404 = add i32 %1403, %1402
  store i32 %1404, ptr %32, align 4, !tbaa !9
  %1405 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1405, ptr %33, align 4, !tbaa !9
  %1406 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1406, ptr %34, align 4, !tbaa !9
  %1407 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1407, ptr %35, align 4, !tbaa !9
  %1408 = load ptr, ptr %6, align 8, !tbaa !5
  %1409 = load i32, ptr %32, align 4, !tbaa !9
  %1410 = load i32, ptr %33, align 4, !tbaa !9
  %1411 = load i32, ptr %34, align 4, !tbaa !9
  %1412 = load i32, ptr %35, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSArray0x3A0x3Acreate0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20unsigned0x20int0x2C0x20unsigned0x20int0x29(ptr noundef %1408, i32 noundef %1409, i32 noundef %1410, i32 noundef %1411, i32 noundef %1412)
  %1413 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1413, ptr %32, align 4, !tbaa !9
  %1414 = load ptr, ptr %6, align 8, !tbaa !5
  %1415 = getelementptr inbounds %struct.w2c_hermes, ptr %1414, i32 0, i32 6
  %1416 = load i32, ptr %32, align 4, !tbaa !9
  %1417 = zext i32 %1416 to i64
  %1418 = add i64 %1417, 116
  %1419 = call i32 @i32_load(ptr noundef %1415, i64 noundef %1418)
  store i32 %1419, ptr %32, align 4, !tbaa !9
  %1420 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1420, ptr %21, align 4, !tbaa !9
  store i32 -1, ptr %33, align 4, !tbaa !9
  %1421 = load i32, ptr %32, align 4, !tbaa !9
  %1422 = load i32, ptr %33, align 4, !tbaa !9
  %1423 = icmp eq i32 %1421, %1422
  %1424 = zext i1 %1423 to i32
  store i32 %1424, ptr %32, align 4, !tbaa !9
  %1425 = load i32, ptr %32, align 4, !tbaa !9
  %1426 = icmp ne i32 %1425, 0
  br i1 %1426, label %1427, label %1434

1427:                                             ; preds = %1400
  %1428 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1428, ptr %32, align 4, !tbaa !9
  store i32 0, ptr %33, align 4, !tbaa !9
  %1429 = load ptr, ptr %6, align 8, !tbaa !5
  %1430 = getelementptr inbounds %struct.w2c_hermes, ptr %1429, i32 0, i32 6
  %1431 = load i32, ptr %32, align 4, !tbaa !9
  %1432 = zext i32 %1431 to i64
  %1433 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1430, i64 noundef %1432, i32 noundef %1433)
  br label %2977

1434:                                             ; preds = %1400
  %1435 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1435, ptr %32, align 4, !tbaa !9
  %1436 = load ptr, ptr %6, align 8, !tbaa !5
  %1437 = getelementptr inbounds %struct.w2c_hermes, ptr %1436, i32 0, i32 6
  %1438 = load i32, ptr %32, align 4, !tbaa !9
  %1439 = zext i32 %1438 to i64
  %1440 = add i64 %1439, 112
  %1441 = call i32 @i32_load(ptr noundef %1437, i64 noundef %1440)
  store i32 %1441, ptr %32, align 4, !tbaa !9
  %1442 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1442, ptr %12, align 4, !tbaa !9
  %1443 = load i32, ptr %32, align 4, !tbaa !9
  %1444 = icmp ne i32 %1443, 0
  br i1 %1444, label %1445, label %1461

1445:                                             ; preds = %1434
  %1446 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1446, ptr %32, align 4, !tbaa !9
  %1447 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1447, ptr %33, align 4, !tbaa !9
  %1448 = load ptr, ptr %6, align 8, !tbaa !5
  %1449 = getelementptr inbounds %struct.w2c_hermes, ptr %1448, i32 0, i32 6
  %1450 = load i32, ptr %33, align 4, !tbaa !9
  %1451 = zext i32 %1450 to i64
  %1452 = call i32 @i32_load(ptr noundef %1449, i64 noundef %1451)
  store i32 %1452, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %34, align 4, !tbaa !9
  %1453 = load i32, ptr %34, align 4, !tbaa !9
  %1454 = load i32, ptr %33, align 4, !tbaa !9
  %1455 = add i32 %1454, %1453
  store i32 %1455, ptr %33, align 4, !tbaa !9
  %1456 = load ptr, ptr %6, align 8, !tbaa !5
  %1457 = getelementptr inbounds %struct.w2c_hermes, ptr %1456, i32 0, i32 6
  %1458 = load i32, ptr %32, align 4, !tbaa !9
  %1459 = zext i32 %1458 to i64
  %1460 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1457, i64 noundef %1459, i32 noundef %1460)
  br label %1461

1461:                                             ; preds = %1445, %1434
  %1462 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1462, ptr %32, align 4, !tbaa !9
  store i32 104, ptr %33, align 4, !tbaa !9
  %1463 = load i32, ptr %33, align 4, !tbaa !9
  %1464 = load i32, ptr %32, align 4, !tbaa !9
  %1465 = add i32 %1464, %1463
  store i32 %1465, ptr %32, align 4, !tbaa !9
  %1466 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1466, ptr %33, align 4, !tbaa !9
  store i64 -1688849860263936, ptr %44, align 8, !tbaa !11
  %1467 = load ptr, ptr %6, align 8, !tbaa !5
  %1468 = load i32, ptr %32, align 4, !tbaa !9
  %1469 = load i32, ptr %33, align 4, !tbaa !9
  %1470 = load i64, ptr %44, align 8, !tbaa !11
  %1471 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x3A0x3AHandle0x28hermes0x3A0x3Avm0x3A0x3AHandleRootOwner0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %1467, i32 noundef %1468, i32 noundef %1469, i64 noundef %1470)
  store i32 %1471, ptr %32, align 4, !tbaa !9
  %1472 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1472, ptr %17, align 4, !tbaa !9
  %1473 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1473, ptr %32, align 4, !tbaa !9
  %1474 = load ptr, ptr %6, align 8, !tbaa !5
  %1475 = getelementptr inbounds %struct.w2c_hermes, ptr %1474, i32 0, i32 6
  %1476 = load i32, ptr %32, align 4, !tbaa !9
  %1477 = zext i32 %1476 to i64
  %1478 = add i64 %1477, 4
  %1479 = call i32 @i32_load(ptr noundef %1475, i64 noundef %1478)
  store i32 %1479, ptr %32, align 4, !tbaa !9
  %1480 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1480, ptr %20, align 4, !tbaa !9
  %1481 = load ptr, ptr %6, align 8, !tbaa !5
  %1482 = getelementptr inbounds %struct.w2c_hermes, ptr %1481, i32 0, i32 6
  %1483 = load i32, ptr %32, align 4, !tbaa !9
  %1484 = zext i32 %1483 to i64
  %1485 = call i64 @i64_load(ptr noundef %1482, i64 noundef %1484)
  store i64 %1485, ptr %42, align 8, !tbaa !11
  %1486 = load i64, ptr %42, align 8, !tbaa !11
  store i64 %1486, ptr %25, align 8, !tbaa !11
  store i64 -844424930131968, ptr %43, align 8, !tbaa !11
  %1487 = load i64, ptr %42, align 8, !tbaa !11
  %1488 = load i64, ptr %43, align 8, !tbaa !11
  %1489 = icmp ult i64 %1487, %1488
  %1490 = zext i1 %1489 to i32
  store i32 %1490, ptr %32, align 4, !tbaa !9
  %1491 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1491, ptr %13, align 4, !tbaa !9
  %1492 = load double, ptr %28, align 8, !tbaa !13
  store double %1492, ptr %47, align 8, !tbaa !13
  %1493 = load double, ptr %30, align 8, !tbaa !13
  store double %1493, ptr %48, align 8, !tbaa !13
  %1494 = load double, ptr %48, align 8, !tbaa !13
  %1495 = load double, ptr %47, align 8, !tbaa !13
  %1496 = fadd double %1495, %1494
  store double %1496, ptr %47, align 8, !tbaa !13
  %1497 = load double, ptr %47, align 8, !tbaa !13
  store double %1497, ptr %30, align 8, !tbaa !13
  store double 0x43F0000000000000, ptr %48, align 8, !tbaa !13
  %1498 = load double, ptr %47, align 8, !tbaa !13
  %1499 = load double, ptr %48, align 8, !tbaa !13
  %1500 = fcmp olt double %1498, %1499
  %1501 = zext i1 %1500 to i32
  store i32 %1501, ptr %32, align 4, !tbaa !9
  %1502 = load double, ptr %30, align 8, !tbaa !13
  store double %1502, ptr %48, align 8, !tbaa !13
  store double 0.000000e+00, ptr %49, align 8, !tbaa !13
  %1503 = load double, ptr %48, align 8, !tbaa !13
  %1504 = load double, ptr %49, align 8, !tbaa !13
  %1505 = fcmp oge double %1503, %1504
  %1506 = zext i1 %1505 to i32
  store i32 %1506, ptr %33, align 4, !tbaa !9
  %1507 = load i32, ptr %33, align 4, !tbaa !9
  %1508 = load i32, ptr %32, align 4, !tbaa !9
  %1509 = and i32 %1508, %1507
  store i32 %1509, ptr %32, align 4, !tbaa !9
  %1510 = load i32, ptr %32, align 4, !tbaa !9
  %1511 = icmp ne i32 %1510, 0
  br i1 %1511, label %1512, label %1549

1512:                                             ; preds = %1461
  %1513 = load double, ptr %30, align 8, !tbaa !13
  store double %1513, ptr %47, align 8, !tbaa !13
  %1514 = load double, ptr %47, align 8, !tbaa !13
  %1515 = load double, ptr %47, align 8, !tbaa !13
  %1516 = fcmp une double %1514, %1515
  %1517 = xor i1 %1516, true
  %1518 = xor i1 %1517, true
  %1519 = zext i1 %1518 to i32
  %1520 = sext i32 %1519 to i64
  %1521 = call i64 @llvm.expect.i64(i64 %1520, i64 0)
  %1522 = icmp ne i64 %1521, 0
  br i1 %1522, label %1523, label %1525

1523:                                             ; preds = %1512
  call void @wasm_rt_trap(i32 noundef 4) #7
  unreachable

1524:                                             ; No predecessors!
  br label %1547

1525:                                             ; preds = %1512
  %1526 = load double, ptr %47, align 8, !tbaa !13
  %1527 = fcmp ogt double %1526, -1.000000e+00
  br i1 %1527, label %1528, label %1531

1528:                                             ; preds = %1525
  %1529 = load double, ptr %47, align 8, !tbaa !13
  %1530 = fcmp olt double %1529, 0x43F0000000000000
  br label %1531

1531:                                             ; preds = %1528, %1525
  %1532 = phi i1 [ false, %1525 ], [ %1530, %1528 ]
  %1533 = xor i1 %1532, true
  %1534 = xor i1 %1533, true
  %1535 = xor i1 %1534, true
  %1536 = zext i1 %1535 to i32
  %1537 = sext i32 %1536 to i64
  %1538 = call i64 @llvm.expect.i64(i64 %1537, i64 0)
  %1539 = icmp ne i64 %1538, 0
  br i1 %1539, label %1540, label %1542

1540:                                             ; preds = %1531
  call void @wasm_rt_trap(i32 noundef 2) #7
  unreachable

1541:                                             ; No predecessors!
  br label %1545

1542:                                             ; preds = %1531
  %1543 = load double, ptr %47, align 8, !tbaa !13
  %1544 = fptoui double %1543 to i64
  br label %1545

1545:                                             ; preds = %1542, %1541
  %1546 = phi i64 [ 0, %1541 ], [ %1544, %1542 ]
  br label %1547

1547:                                             ; preds = %1545, %1524
  %1548 = phi i64 [ 0, %1524 ], [ %1546, %1545 ]
  store i64 %1548, ptr %42, align 8, !tbaa !11
  br label %1550

1549:                                             ; preds = %1461
  store i64 0, ptr %42, align 8, !tbaa !11
  br label %1550

1550:                                             ; preds = %1549, %1547
  %1551 = load i64, ptr %42, align 8, !tbaa !11
  store i64 %1551, ptr %27, align 8, !tbaa !11
  %1552 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1552, ptr %32, align 4, !tbaa !9
  %1553 = load i32, ptr %32, align 4, !tbaa !9
  %1554 = icmp ne i32 %1553, 0
  br i1 %1554, label %1555, label %1556

1555:                                             ; preds = %1550
  br label %1632

1556:                                             ; preds = %1550
  %1557 = load i64, ptr %25, align 8, !tbaa !11
  store i64 %1557, ptr %42, align 8, !tbaa !11
  %1558 = load i64, ptr %42, align 8, !tbaa !11
  %1559 = trunc i64 %1558 to i32
  store i32 %1559, ptr %32, align 4, !tbaa !9
  %1560 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1560, ptr %13, align 4, !tbaa !9
  %1561 = load i32, ptr %32, align 4, !tbaa !9
  %1562 = icmp ne i32 %1561, 0
  %1563 = xor i1 %1562, true
  %1564 = zext i1 %1563 to i32
  store i32 %1564, ptr %32, align 4, !tbaa !9
  %1565 = load i32, ptr %32, align 4, !tbaa !9
  %1566 = icmp ne i32 %1565, 0
  br i1 %1566, label %1567, label %1568

1567:                                             ; preds = %1556
  br label %3295

1568:                                             ; preds = %1556
  %1569 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1569, ptr %32, align 4, !tbaa !9
  %1570 = load ptr, ptr %6, align 8, !tbaa !5
  %1571 = getelementptr inbounds %struct.w2c_hermes, ptr %1570, i32 0, i32 6
  %1572 = load i32, ptr %32, align 4, !tbaa !9
  %1573 = zext i32 %1572 to i64
  %1574 = add i64 %1573, 3
  %1575 = call i32 @i32_load8_u(ptr noundef %1571, i64 noundef %1574)
  store i32 %1575, ptr %32, align 4, !tbaa !9
  store i32 24, ptr %33, align 4, !tbaa !9
  %1576 = load i32, ptr %33, align 4, !tbaa !9
  %1577 = and i32 %1576, 31
  %1578 = load i32, ptr %32, align 4, !tbaa !9
  %1579 = shl i32 %1578, %1577
  store i32 %1579, ptr %32, align 4, !tbaa !9
  store i32 536870912, ptr %33, align 4, !tbaa !9
  %1580 = load i32, ptr %32, align 4, !tbaa !9
  %1581 = load i32, ptr %33, align 4, !tbaa !9
  %1582 = icmp ne i32 %1580, %1581
  %1583 = zext i1 %1582 to i32
  store i32 %1583, ptr %32, align 4, !tbaa !9
  %1584 = load i32, ptr %32, align 4, !tbaa !9
  %1585 = icmp ne i32 %1584, 0
  br i1 %1585, label %1586, label %1587

1586:                                             ; preds = %1568
  br label %1632

1587:                                             ; preds = %1568
  %1588 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1588, ptr %32, align 4, !tbaa !9
  %1589 = load ptr, ptr %6, align 8, !tbaa !5
  %1590 = getelementptr inbounds %struct.w2c_hermes, ptr %1589, i32 0, i32 6
  %1591 = load i32, ptr %32, align 4, !tbaa !9
  %1592 = zext i32 %1591 to i64
  %1593 = call i32 @i32_load(ptr noundef %1590, i64 noundef %1592)
  store i32 %1593, ptr %32, align 4, !tbaa !9
  %1594 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1594, ptr %14, align 4, !tbaa !9
  %1595 = load i32, ptr %32, align 4, !tbaa !9
  %1596 = icmp ne i32 %1595, 0
  br i1 %1596, label %1597, label %1598

1597:                                             ; preds = %1587
  br label %1697

1598:                                             ; preds = %1587
  %1599 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1599, ptr %32, align 4, !tbaa !9
  %1600 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %1600, ptr %33, align 4, !tbaa !9
  %1601 = load ptr, ptr %6, align 8, !tbaa !5
  %1602 = getelementptr inbounds %struct.w2c_hermes, ptr %1601, i32 0, i32 6
  %1603 = load i32, ptr %32, align 4, !tbaa !9
  %1604 = zext i32 %1603 to i64
  %1605 = add i64 %1604, 100
  %1606 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1602, i64 noundef %1605, i32 noundef %1606)
  store i32 0, ptr %32, align 4, !tbaa !9
  %1607 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1607, ptr %13, align 4, !tbaa !9
  %1608 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1608, ptr %32, align 4, !tbaa !9
  store i32 0, ptr %33, align 4, !tbaa !9
  %1609 = load ptr, ptr %6, align 8, !tbaa !5
  %1610 = getelementptr inbounds %struct.w2c_hermes, ptr %1609, i32 0, i32 6
  %1611 = load i32, ptr %32, align 4, !tbaa !9
  %1612 = zext i32 %1611 to i64
  %1613 = add i64 %1612, 96
  %1614 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1610, i64 noundef %1613, i32 noundef %1614)
  %1615 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1615, ptr %32, align 4, !tbaa !9
  %1616 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %1616, ptr %33, align 4, !tbaa !9
  %1617 = load ptr, ptr %6, align 8, !tbaa !5
  %1618 = getelementptr inbounds %struct.w2c_hermes, ptr %1617, i32 0, i32 6
  %1619 = load i32, ptr %32, align 4, !tbaa !9
  %1620 = zext i32 %1619 to i64
  %1621 = add i64 %1620, 92
  %1622 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1618, i64 noundef %1621, i32 noundef %1622)
  %1623 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1623, ptr %32, align 4, !tbaa !9
  store i32 0, ptr %33, align 4, !tbaa !9
  %1624 = load ptr, ptr %6, align 8, !tbaa !5
  %1625 = getelementptr inbounds %struct.w2c_hermes, ptr %1624, i32 0, i32 6
  %1626 = load i32, ptr %32, align 4, !tbaa !9
  %1627 = zext i32 %1626 to i64
  %1628 = add i64 %1627, 88
  %1629 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1625, i64 noundef %1628, i32 noundef %1629)
  store i32 0, ptr %32, align 4, !tbaa !9
  %1630 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1630, ptr %14, align 4, !tbaa !9
  store i32 1, ptr %32, align 4, !tbaa !9
  %1631 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1631, ptr %23, align 4, !tbaa !9
  store i32 1, ptr %32, align 4, !tbaa !9
  br label %1809

1632:                                             ; preds = %1586, %1555
  store i32 217520, ptr %32, align 4, !tbaa !9
  %1633 = load ptr, ptr %6, align 8, !tbaa !5
  %1634 = getelementptr inbounds %struct.w2c_hermes, ptr %1633, i32 0, i32 6
  %1635 = load i32, ptr %32, align 4, !tbaa !9
  %1636 = zext i32 %1635 to i64
  %1637 = call i64 @i64_load(ptr noundef %1634, i64 noundef %1636)
  store i64 %1637, ptr %42, align 8, !tbaa !11
  %1638 = load i64, ptr %42, align 8, !tbaa !11
  store i64 %1638, ptr %25, align 8, !tbaa !11
  store i64 -844424930131969, ptr %43, align 8, !tbaa !11
  %1639 = load i64, ptr %42, align 8, !tbaa !11
  %1640 = load i64, ptr %43, align 8, !tbaa !11
  %1641 = icmp ule i64 %1639, %1640
  %1642 = zext i1 %1641 to i32
  store i32 %1642, ptr %32, align 4, !tbaa !9
  %1643 = load i32, ptr %32, align 4, !tbaa !9
  %1644 = icmp ne i32 %1643, 0
  br i1 %1644, label %1645, label %1646

1645:                                             ; preds = %1632
  br label %3313

1646:                                             ; preds = %1632
  store i32 217520, ptr %32, align 4, !tbaa !9
  %1647 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1647, ptr %18, align 4, !tbaa !9
  %1648 = load i64, ptr %25, align 8, !tbaa !11
  store i64 %1648, ptr %43, align 8, !tbaa !11
  %1649 = load i64, ptr %43, align 8, !tbaa !11
  %1650 = trunc i64 %1649 to i32
  store i32 %1650, ptr %33, align 4, !tbaa !9
  %1651 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %1651, ptr %13, align 4, !tbaa !9
  %1652 = load i32, ptr %33, align 4, !tbaa !9
  %1653 = icmp ne i32 %1652, 0
  %1654 = xor i1 %1653, true
  %1655 = zext i1 %1654 to i32
  store i32 %1655, ptr %33, align 4, !tbaa !9
  %1656 = load i32, ptr %33, align 4, !tbaa !9
  %1657 = icmp ne i32 %1656, 0
  br i1 %1657, label %1658, label %1659

1658:                                             ; preds = %1646
  br label %1714

1659:                                             ; preds = %1646
  store i32 217520, ptr %32, align 4, !tbaa !9
  %1660 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1660, ptr %33, align 4, !tbaa !9
  %1661 = load ptr, ptr %6, align 8, !tbaa !5
  %1662 = getelementptr inbounds %struct.w2c_hermes, ptr %1661, i32 0, i32 6
  %1663 = load i32, ptr %33, align 4, !tbaa !9
  %1664 = zext i32 %1663 to i64
  %1665 = add i64 %1664, 3
  %1666 = call i32 @i32_load8_u(ptr noundef %1662, i64 noundef %1665)
  store i32 %1666, ptr %33, align 4, !tbaa !9
  %1667 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %1667, ptr %13, align 4, !tbaa !9
  store i32 24, ptr %34, align 4, !tbaa !9
  %1668 = load i32, ptr %34, align 4, !tbaa !9
  %1669 = and i32 %1668, 31
  %1670 = load i32, ptr %33, align 4, !tbaa !9
  %1671 = shl i32 %1670, %1669
  store i32 %1671, ptr %33, align 4, !tbaa !9
  store i32 536870912, ptr %34, align 4, !tbaa !9
  %1672 = load i32, ptr %33, align 4, !tbaa !9
  %1673 = load i32, ptr %34, align 4, !tbaa !9
  %1674 = icmp eq i32 %1672, %1673
  %1675 = zext i1 %1674 to i32
  store i32 %1675, ptr %33, align 4, !tbaa !9
  %1676 = load i32, ptr %33, align 4, !tbaa !9
  %1677 = icmp ne i32 %1676, 0
  br i1 %1677, label %1678, label %1679

1678:                                             ; preds = %1659
  br label %1714

1679:                                             ; preds = %1659
  store i32 0, ptr %32, align 4, !tbaa !9
  %1680 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1680, ptr %11, align 4, !tbaa !9
  store i32 205071, ptr %33, align 4, !tbaa !9
  %1681 = load i32, ptr %33, align 4, !tbaa !9
  %1682 = load i32, ptr %32, align 4, !tbaa !9
  %1683 = add i32 %1682, %1681
  store i32 %1683, ptr %32, align 4, !tbaa !9
  %1684 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1684, ptr %33, align 4, !tbaa !9
  store i32 82611, ptr %34, align 4, !tbaa !9
  %1685 = load i32, ptr %34, align 4, !tbaa !9
  %1686 = load i32, ptr %33, align 4, !tbaa !9
  %1687 = add i32 %1686, %1685
  store i32 %1687, ptr %33, align 4, !tbaa !9
  store i32 299, ptr %34, align 4, !tbaa !9
  %1688 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1688, ptr %35, align 4, !tbaa !9
  store i32 72549, ptr %36, align 4, !tbaa !9
  %1689 = load i32, ptr %36, align 4, !tbaa !9
  %1690 = load i32, ptr %35, align 4, !tbaa !9
  %1691 = add i32 %1690, %1689
  store i32 %1691, ptr %35, align 4, !tbaa !9
  %1692 = load ptr, ptr %6, align 8, !tbaa !5
  %1693 = load i32, ptr %32, align 4, !tbaa !9
  %1694 = load i32, ptr %33, align 4, !tbaa !9
  %1695 = load i32, ptr %34, align 4, !tbaa !9
  %1696 = load i32, ptr %35, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %1692, i32 noundef %1693, i32 noundef %1694, i32 noundef %1695, i32 noundef %1696)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

1697:                                             ; preds = %1597
  %1698 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1698, ptr %32, align 4, !tbaa !9
  %1699 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1699, ptr %33, align 4, !tbaa !9
  %1700 = load ptr, ptr %6, align 8, !tbaa !5
  %1701 = getelementptr inbounds %struct.w2c_hermes, ptr %1700, i32 0, i32 6
  %1702 = load i32, ptr %33, align 4, !tbaa !9
  %1703 = zext i32 %1702 to i64
  %1704 = call i32 @i32_load(ptr noundef %1701, i64 noundef %1703)
  store i32 %1704, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %34, align 4, !tbaa !9
  %1705 = load i32, ptr %34, align 4, !tbaa !9
  %1706 = load i32, ptr %33, align 4, !tbaa !9
  %1707 = add i32 %1706, %1705
  store i32 %1707, ptr %33, align 4, !tbaa !9
  %1708 = load ptr, ptr %6, align 8, !tbaa !5
  %1709 = getelementptr inbounds %struct.w2c_hermes, ptr %1708, i32 0, i32 6
  %1710 = load i32, ptr %32, align 4, !tbaa !9
  %1711 = zext i32 %1710 to i64
  %1712 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1709, i64 noundef %1711, i32 noundef %1712)
  %1713 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %1713, ptr %32, align 4, !tbaa !9
  br label %1714

1714:                                             ; preds = %1697, %1678, %1658
  %1715 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1715, ptr %18, align 4, !tbaa !9
  %1716 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1716, ptr %32, align 4, !tbaa !9
  %1717 = load ptr, ptr %6, align 8, !tbaa !5
  %1718 = getelementptr inbounds %struct.w2c_hermes, ptr %1717, i32 0, i32 6
  %1719 = load i32, ptr %32, align 4, !tbaa !9
  %1720 = zext i32 %1719 to i64
  %1721 = call i32 @i32_load(ptr noundef %1718, i64 noundef %1720)
  store i32 %1721, ptr %32, align 4, !tbaa !9
  %1722 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1722, ptr %13, align 4, !tbaa !9
  %1723 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1723, ptr %32, align 4, !tbaa !9
  %1724 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %1724, ptr %33, align 4, !tbaa !9
  %1725 = load ptr, ptr %6, align 8, !tbaa !5
  %1726 = getelementptr inbounds %struct.w2c_hermes, ptr %1725, i32 0, i32 6
  %1727 = load i32, ptr %32, align 4, !tbaa !9
  %1728 = zext i32 %1727 to i64
  %1729 = add i64 %1728, 100
  %1730 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1726, i64 noundef %1729, i32 noundef %1730)
  %1731 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1731, ptr %32, align 4, !tbaa !9
  %1732 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1732, ptr %33, align 4, !tbaa !9
  %1733 = load ptr, ptr %6, align 8, !tbaa !5
  %1734 = getelementptr inbounds %struct.w2c_hermes, ptr %1733, i32 0, i32 6
  %1735 = load i32, ptr %32, align 4, !tbaa !9
  %1736 = zext i32 %1735 to i64
  %1737 = add i64 %1736, 96
  %1738 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1734, i64 noundef %1737, i32 noundef %1738)
  %1739 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1739, ptr %32, align 4, !tbaa !9
  %1740 = load i32, ptr %32, align 4, !tbaa !9
  %1741 = icmp ne i32 %1740, 0
  br i1 %1741, label %1742, label %1758

1742:                                             ; preds = %1714
  %1743 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1743, ptr %32, align 4, !tbaa !9
  %1744 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1744, ptr %33, align 4, !tbaa !9
  %1745 = load ptr, ptr %6, align 8, !tbaa !5
  %1746 = getelementptr inbounds %struct.w2c_hermes, ptr %1745, i32 0, i32 6
  %1747 = load i32, ptr %33, align 4, !tbaa !9
  %1748 = zext i32 %1747 to i64
  %1749 = call i32 @i32_load(ptr noundef %1746, i64 noundef %1748)
  store i32 %1749, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %34, align 4, !tbaa !9
  %1750 = load i32, ptr %34, align 4, !tbaa !9
  %1751 = load i32, ptr %33, align 4, !tbaa !9
  %1752 = add i32 %1751, %1750
  store i32 %1752, ptr %33, align 4, !tbaa !9
  %1753 = load ptr, ptr %6, align 8, !tbaa !5
  %1754 = getelementptr inbounds %struct.w2c_hermes, ptr %1753, i32 0, i32 6
  %1755 = load i32, ptr %32, align 4, !tbaa !9
  %1756 = zext i32 %1755 to i64
  %1757 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1754, i64 noundef %1756, i32 noundef %1757)
  br label %1758

1758:                                             ; preds = %1742, %1714
  %1759 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1759, ptr %32, align 4, !tbaa !9
  %1760 = load i32, ptr %32, align 4, !tbaa !9
  %1761 = icmp ne i32 %1760, 0
  %1762 = xor i1 %1761, true
  %1763 = zext i1 %1762 to i32
  store i32 %1763, ptr %32, align 4, !tbaa !9
  %1764 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1764, ptr %23, align 4, !tbaa !9
  %1765 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1765, ptr %32, align 4, !tbaa !9
  %1766 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1766, ptr %33, align 4, !tbaa !9
  %1767 = load ptr, ptr %6, align 8, !tbaa !5
  %1768 = getelementptr inbounds %struct.w2c_hermes, ptr %1767, i32 0, i32 6
  %1769 = load i32, ptr %32, align 4, !tbaa !9
  %1770 = zext i32 %1769 to i64
  %1771 = add i64 %1770, 88
  %1772 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1768, i64 noundef %1771, i32 noundef %1772)
  %1773 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1773, ptr %32, align 4, !tbaa !9
  %1774 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1774, ptr %33, align 4, !tbaa !9
  %1775 = load ptr, ptr %6, align 8, !tbaa !5
  %1776 = getelementptr inbounds %struct.w2c_hermes, ptr %1775, i32 0, i32 6
  %1777 = load i32, ptr %32, align 4, !tbaa !9
  %1778 = zext i32 %1777 to i64
  %1779 = add i64 %1778, 92
  %1780 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1776, i64 noundef %1779, i32 noundef %1780)
  %1781 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1781, ptr %32, align 4, !tbaa !9
  %1782 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1782, ptr %20, align 4, !tbaa !9
  %1783 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1783, ptr %32, align 4, !tbaa !9
  %1784 = load i32, ptr %32, align 4, !tbaa !9
  %1785 = icmp ne i32 %1784, 0
  %1786 = xor i1 %1785, true
  %1787 = zext i1 %1786 to i32
  store i32 %1787, ptr %32, align 4, !tbaa !9
  %1788 = load i32, ptr %32, align 4, !tbaa !9
  %1789 = icmp ne i32 %1788, 0
  br i1 %1789, label %1790, label %1792

1790:                                             ; preds = %1758
  store i32 0, ptr %32, align 4, !tbaa !9
  %1791 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1791, ptr %14, align 4, !tbaa !9
  store i32 1, ptr %32, align 4, !tbaa !9
  br label %1808

1792:                                             ; preds = %1758
  %1793 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1793, ptr %32, align 4, !tbaa !9
  %1794 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1794, ptr %33, align 4, !tbaa !9
  %1795 = load ptr, ptr %6, align 8, !tbaa !5
  %1796 = getelementptr inbounds %struct.w2c_hermes, ptr %1795, i32 0, i32 6
  %1797 = load i32, ptr %33, align 4, !tbaa !9
  %1798 = zext i32 %1797 to i64
  %1799 = call i32 @i32_load(ptr noundef %1796, i64 noundef %1798)
  store i32 %1799, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %34, align 4, !tbaa !9
  %1800 = load i32, ptr %34, align 4, !tbaa !9
  %1801 = load i32, ptr %33, align 4, !tbaa !9
  %1802 = add i32 %1801, %1800
  store i32 %1802, ptr %33, align 4, !tbaa !9
  %1803 = load ptr, ptr %6, align 8, !tbaa !5
  %1804 = getelementptr inbounds %struct.w2c_hermes, ptr %1803, i32 0, i32 6
  %1805 = load i32, ptr %32, align 4, !tbaa !9
  %1806 = zext i32 %1805 to i64
  %1807 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1804, i64 noundef %1806, i32 noundef %1807)
  store i32 0, ptr %32, align 4, !tbaa !9
  br label %1808

1808:                                             ; preds = %1792, %1790
  br label %1809

1809:                                             ; preds = %1808, %1598
  %1810 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %1810, ptr %22, align 4, !tbaa !9
  %1811 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1811, ptr %32, align 4, !tbaa !9
  %1812 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1812, ptr %33, align 4, !tbaa !9
  %1813 = load ptr, ptr %6, align 8, !tbaa !5
  %1814 = getelementptr inbounds %struct.w2c_hermes, ptr %1813, i32 0, i32 6
  %1815 = load i32, ptr %32, align 4, !tbaa !9
  %1816 = zext i32 %1815 to i64
  %1817 = add i64 %1816, 80
  %1818 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1814, i64 noundef %1817, i32 noundef %1818)
  %1819 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1819, ptr %32, align 4, !tbaa !9
  %1820 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %1820, ptr %33, align 4, !tbaa !9
  %1821 = load ptr, ptr %6, align 8, !tbaa !5
  %1822 = getelementptr inbounds %struct.w2c_hermes, ptr %1821, i32 0, i32 6
  %1823 = load i32, ptr %32, align 4, !tbaa !9
  %1824 = zext i32 %1823 to i64
  %1825 = add i64 %1824, 84
  %1826 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1822, i64 noundef %1825, i32 noundef %1826)
  %1827 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1827, ptr %32, align 4, !tbaa !9
  %1828 = load i32, ptr %32, align 4, !tbaa !9
  %1829 = icmp ne i32 %1828, 0
  %1830 = xor i1 %1829, true
  %1831 = zext i1 %1830 to i32
  store i32 %1831, ptr %32, align 4, !tbaa !9
  %1832 = load i32, ptr %32, align 4, !tbaa !9
  %1833 = icmp ne i32 %1832, 0
  br i1 %1833, label %1834, label %1921

1834:                                             ; preds = %1809
  %1835 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1835, ptr %32, align 4, !tbaa !9
  store i32 120, ptr %33, align 4, !tbaa !9
  %1836 = load i32, ptr %33, align 4, !tbaa !9
  %1837 = load i32, ptr %32, align 4, !tbaa !9
  %1838 = add i32 %1837, %1836
  store i32 %1838, ptr %32, align 4, !tbaa !9
  %1839 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1839, ptr %33, align 4, !tbaa !9
  %1840 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1840, ptr %34, align 4, !tbaa !9
  store i32 272, ptr %35, align 4, !tbaa !9
  %1841 = load i32, ptr %35, align 4, !tbaa !9
  %1842 = load i32, ptr %34, align 4, !tbaa !9
  %1843 = add i32 %1842, %1841
  store i32 %1843, ptr %34, align 4, !tbaa !9
  %1844 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1844, ptr %35, align 4, !tbaa !9
  store i32 96, ptr %36, align 4, !tbaa !9
  %1845 = load i32, ptr %36, align 4, !tbaa !9
  %1846 = load i32, ptr %35, align 4, !tbaa !9
  %1847 = add i32 %1846, %1845
  store i32 %1847, ptr %35, align 4, !tbaa !9
  %1848 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1848, ptr %36, align 4, !tbaa !9
  store i32 88, ptr %37, align 4, !tbaa !9
  %1849 = load i32, ptr %37, align 4, !tbaa !9
  %1850 = load i32, ptr %36, align 4, !tbaa !9
  %1851 = add i32 %1850, %1849
  store i32 %1851, ptr %36, align 4, !tbaa !9
  store i32 0, ptr %37, align 4, !tbaa !9
  %1852 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1852, ptr %38, align 4, !tbaa !9
  store i32 80, ptr %39, align 4, !tbaa !9
  %1853 = load i32, ptr %39, align 4, !tbaa !9
  %1854 = load i32, ptr %38, align 4, !tbaa !9
  %1855 = add i32 %1854, %1853
  store i32 %1855, ptr %38, align 4, !tbaa !9
  store i32 0, ptr %39, align 4, !tbaa !9
  %1856 = load double, ptr %28, align 8, !tbaa !13
  store double %1856, ptr %53, align 8, !tbaa !13
  store double 0x41F0000000000000, ptr %54, align 8, !tbaa !13
  %1857 = load double, ptr %53, align 8, !tbaa !13
  %1858 = load double, ptr %54, align 8, !tbaa !13
  %1859 = fcmp olt double %1857, %1858
  %1860 = zext i1 %1859 to i32
  store i32 %1860, ptr %40, align 4, !tbaa !9
  %1861 = load double, ptr %28, align 8, !tbaa !13
  store double %1861, ptr %54, align 8, !tbaa !13
  store double 0.000000e+00, ptr %55, align 8, !tbaa !13
  %1862 = load double, ptr %54, align 8, !tbaa !13
  %1863 = load double, ptr %55, align 8, !tbaa !13
  %1864 = fcmp oge double %1862, %1863
  %1865 = zext i1 %1864 to i32
  store i32 %1865, ptr %41, align 4, !tbaa !9
  %1866 = load i32, ptr %41, align 4, !tbaa !9
  %1867 = load i32, ptr %40, align 4, !tbaa !9
  %1868 = and i32 %1867, %1866
  store i32 %1868, ptr %40, align 4, !tbaa !9
  %1869 = load i32, ptr %40, align 4, !tbaa !9
  %1870 = icmp ne i32 %1869, 0
  br i1 %1870, label %1871, label %1908

1871:                                             ; preds = %1834
  %1872 = load double, ptr %28, align 8, !tbaa !13
  store double %1872, ptr %53, align 8, !tbaa !13
  %1873 = load double, ptr %53, align 8, !tbaa !13
  %1874 = load double, ptr %53, align 8, !tbaa !13
  %1875 = fcmp une double %1873, %1874
  %1876 = xor i1 %1875, true
  %1877 = xor i1 %1876, true
  %1878 = zext i1 %1877 to i32
  %1879 = sext i32 %1878 to i64
  %1880 = call i64 @llvm.expect.i64(i64 %1879, i64 0)
  %1881 = icmp ne i64 %1880, 0
  br i1 %1881, label %1882, label %1884

1882:                                             ; preds = %1871
  call void @wasm_rt_trap(i32 noundef 4) #7
  unreachable

1883:                                             ; No predecessors!
  br label %1906

1884:                                             ; preds = %1871
  %1885 = load double, ptr %53, align 8, !tbaa !13
  %1886 = fcmp ogt double %1885, -1.000000e+00
  br i1 %1886, label %1887, label %1890

1887:                                             ; preds = %1884
  %1888 = load double, ptr %53, align 8, !tbaa !13
  %1889 = fcmp olt double %1888, 0x41F0000000000000
  br label %1890

1890:                                             ; preds = %1887, %1884
  %1891 = phi i1 [ false, %1884 ], [ %1889, %1887 ]
  %1892 = xor i1 %1891, true
  %1893 = xor i1 %1892, true
  %1894 = xor i1 %1893, true
  %1895 = zext i1 %1894 to i32
  %1896 = sext i32 %1895 to i64
  %1897 = call i64 @llvm.expect.i64(i64 %1896, i64 0)
  %1898 = icmp ne i64 %1897, 0
  br i1 %1898, label %1899, label %1901

1899:                                             ; preds = %1890
  call void @wasm_rt_trap(i32 noundef 2) #7
  unreachable

1900:                                             ; No predecessors!
  br label %1904

1901:                                             ; preds = %1890
  %1902 = load double, ptr %53, align 8, !tbaa !13
  %1903 = fptoui double %1902 to i32
  br label %1904

1904:                                             ; preds = %1901, %1900
  %1905 = phi i32 [ 0, %1900 ], [ %1903, %1901 ]
  br label %1906

1906:                                             ; preds = %1904, %1883
  %1907 = phi i32 [ 0, %1883 ], [ %1905, %1904 ]
  store i32 %1907, ptr %40, align 4, !tbaa !9
  br label %1909

1908:                                             ; preds = %1834
  store i32 0, ptr %40, align 4, !tbaa !9
  br label %1909

1909:                                             ; preds = %1908, %1906
  %1910 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %1910, ptr %18, align 4, !tbaa !9
  %1911 = load ptr, ptr %6, align 8, !tbaa !5
  %1912 = load i32, ptr %32, align 4, !tbaa !9
  %1913 = load i32, ptr %33, align 4, !tbaa !9
  %1914 = load i32, ptr %34, align 4, !tbaa !9
  %1915 = load i32, ptr %35, align 4, !tbaa !9
  %1916 = load i32, ptr %36, align 4, !tbaa !9
  %1917 = load i32, ptr %37, align 4, !tbaa !9
  %1918 = load i32, ptr %38, align 4, !tbaa !9
  %1919 = load i32, ptr %39, align 4, !tbaa !9
  %1920 = load i32, ptr %40, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AarrayCopyHelper0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AGCScope0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSArray0x3E0x2C0x20unsigned0x20int0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSArray0x3E0x2C0x20unsigned0x20int0x2C0x20unsigned0x20int0x29(ptr noundef %1911, i32 noundef %1912, i32 noundef %1913, i32 noundef %1914, i32 noundef %1915, i32 noundef %1916, i32 noundef %1917, i32 noundef %1918, i32 noundef %1919, i32 noundef %1920)
  br label %2038

1921:                                             ; preds = %1809
  %1922 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1922, ptr %32, align 4, !tbaa !9
  %1923 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1923, ptr %33, align 4, !tbaa !9
  %1924 = load ptr, ptr %6, align 8, !tbaa !5
  %1925 = getelementptr inbounds %struct.w2c_hermes, ptr %1924, i32 0, i32 6
  %1926 = load i32, ptr %33, align 4, !tbaa !9
  %1927 = zext i32 %1926 to i64
  %1928 = call i32 @i32_load(ptr noundef %1925, i64 noundef %1927)
  store i32 %1928, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %34, align 4, !tbaa !9
  %1929 = load i32, ptr %34, align 4, !tbaa !9
  %1930 = load i32, ptr %33, align 4, !tbaa !9
  %1931 = add i32 %1930, %1929
  store i32 %1931, ptr %33, align 4, !tbaa !9
  %1932 = load ptr, ptr %6, align 8, !tbaa !5
  %1933 = getelementptr inbounds %struct.w2c_hermes, ptr %1932, i32 0, i32 6
  %1934 = load i32, ptr %32, align 4, !tbaa !9
  %1935 = zext i32 %1934 to i64
  %1936 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1933, i64 noundef %1935, i32 noundef %1936)
  %1937 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1937, ptr %32, align 4, !tbaa !9
  store i32 120, ptr %33, align 4, !tbaa !9
  %1938 = load i32, ptr %33, align 4, !tbaa !9
  %1939 = load i32, ptr %32, align 4, !tbaa !9
  %1940 = add i32 %1939, %1938
  store i32 %1940, ptr %32, align 4, !tbaa !9
  %1941 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1941, ptr %33, align 4, !tbaa !9
  %1942 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1942, ptr %34, align 4, !tbaa !9
  store i32 272, ptr %35, align 4, !tbaa !9
  %1943 = load i32, ptr %35, align 4, !tbaa !9
  %1944 = load i32, ptr %34, align 4, !tbaa !9
  %1945 = add i32 %1944, %1943
  store i32 %1945, ptr %34, align 4, !tbaa !9
  %1946 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1946, ptr %35, align 4, !tbaa !9
  store i32 96, ptr %36, align 4, !tbaa !9
  %1947 = load i32, ptr %36, align 4, !tbaa !9
  %1948 = load i32, ptr %35, align 4, !tbaa !9
  %1949 = add i32 %1948, %1947
  store i32 %1949, ptr %35, align 4, !tbaa !9
  %1950 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1950, ptr %36, align 4, !tbaa !9
  store i32 88, ptr %37, align 4, !tbaa !9
  %1951 = load i32, ptr %37, align 4, !tbaa !9
  %1952 = load i32, ptr %36, align 4, !tbaa !9
  %1953 = add i32 %1952, %1951
  store i32 %1953, ptr %36, align 4, !tbaa !9
  store i32 0, ptr %37, align 4, !tbaa !9
  %1954 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1954, ptr %38, align 4, !tbaa !9
  store i32 80, ptr %39, align 4, !tbaa !9
  %1955 = load i32, ptr %39, align 4, !tbaa !9
  %1956 = load i32, ptr %38, align 4, !tbaa !9
  %1957 = add i32 %1956, %1955
  store i32 %1957, ptr %38, align 4, !tbaa !9
  store i32 0, ptr %39, align 4, !tbaa !9
  %1958 = load double, ptr %28, align 8, !tbaa !13
  store double %1958, ptr %53, align 8, !tbaa !13
  store double 0x41F0000000000000, ptr %54, align 8, !tbaa !13
  %1959 = load double, ptr %53, align 8, !tbaa !13
  %1960 = load double, ptr %54, align 8, !tbaa !13
  %1961 = fcmp olt double %1959, %1960
  %1962 = zext i1 %1961 to i32
  store i32 %1962, ptr %40, align 4, !tbaa !9
  %1963 = load double, ptr %28, align 8, !tbaa !13
  store double %1963, ptr %54, align 8, !tbaa !13
  store double 0.000000e+00, ptr %55, align 8, !tbaa !13
  %1964 = load double, ptr %54, align 8, !tbaa !13
  %1965 = load double, ptr %55, align 8, !tbaa !13
  %1966 = fcmp oge double %1964, %1965
  %1967 = zext i1 %1966 to i32
  store i32 %1967, ptr %41, align 4, !tbaa !9
  %1968 = load i32, ptr %41, align 4, !tbaa !9
  %1969 = load i32, ptr %40, align 4, !tbaa !9
  %1970 = and i32 %1969, %1968
  store i32 %1970, ptr %40, align 4, !tbaa !9
  %1971 = load i32, ptr %40, align 4, !tbaa !9
  %1972 = icmp ne i32 %1971, 0
  br i1 %1972, label %1973, label %2010

1973:                                             ; preds = %1921
  %1974 = load double, ptr %28, align 8, !tbaa !13
  store double %1974, ptr %53, align 8, !tbaa !13
  %1975 = load double, ptr %53, align 8, !tbaa !13
  %1976 = load double, ptr %53, align 8, !tbaa !13
  %1977 = fcmp une double %1975, %1976
  %1978 = xor i1 %1977, true
  %1979 = xor i1 %1978, true
  %1980 = zext i1 %1979 to i32
  %1981 = sext i32 %1980 to i64
  %1982 = call i64 @llvm.expect.i64(i64 %1981, i64 0)
  %1983 = icmp ne i64 %1982, 0
  br i1 %1983, label %1984, label %1986

1984:                                             ; preds = %1973
  call void @wasm_rt_trap(i32 noundef 4) #7
  unreachable

1985:                                             ; No predecessors!
  br label %2008

1986:                                             ; preds = %1973
  %1987 = load double, ptr %53, align 8, !tbaa !13
  %1988 = fcmp ogt double %1987, -1.000000e+00
  br i1 %1988, label %1989, label %1992

1989:                                             ; preds = %1986
  %1990 = load double, ptr %53, align 8, !tbaa !13
  %1991 = fcmp olt double %1990, 0x41F0000000000000
  br label %1992

1992:                                             ; preds = %1989, %1986
  %1993 = phi i1 [ false, %1986 ], [ %1991, %1989 ]
  %1994 = xor i1 %1993, true
  %1995 = xor i1 %1994, true
  %1996 = xor i1 %1995, true
  %1997 = zext i1 %1996 to i32
  %1998 = sext i32 %1997 to i64
  %1999 = call i64 @llvm.expect.i64(i64 %1998, i64 0)
  %2000 = icmp ne i64 %1999, 0
  br i1 %2000, label %2001, label %2003

2001:                                             ; preds = %1992
  call void @wasm_rt_trap(i32 noundef 2) #7
  unreachable

2002:                                             ; No predecessors!
  br label %2006

2003:                                             ; preds = %1992
  %2004 = load double, ptr %53, align 8, !tbaa !13
  %2005 = fptoui double %2004 to i32
  br label %2006

2006:                                             ; preds = %2003, %2002
  %2007 = phi i32 [ 0, %2002 ], [ %2005, %2003 ]
  br label %2008

2008:                                             ; preds = %2006, %1985
  %2009 = phi i32 [ 0, %1985 ], [ %2007, %2006 ]
  store i32 %2009, ptr %40, align 4, !tbaa !9
  br label %2011

2010:                                             ; preds = %1921
  store i32 0, ptr %40, align 4, !tbaa !9
  br label %2011

2011:                                             ; preds = %2010, %2008
  %2012 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %2012, ptr %18, align 4, !tbaa !9
  %2013 = load ptr, ptr %6, align 8, !tbaa !5
  %2014 = load i32, ptr %32, align 4, !tbaa !9
  %2015 = load i32, ptr %33, align 4, !tbaa !9
  %2016 = load i32, ptr %34, align 4, !tbaa !9
  %2017 = load i32, ptr %35, align 4, !tbaa !9
  %2018 = load i32, ptr %36, align 4, !tbaa !9
  %2019 = load i32, ptr %37, align 4, !tbaa !9
  %2020 = load i32, ptr %38, align 4, !tbaa !9
  %2021 = load i32, ptr %39, align 4, !tbaa !9
  %2022 = load i32, ptr %40, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AarrayCopyHelper0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AGCScope0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSArray0x3E0x2C0x20unsigned0x20int0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSArray0x3E0x2C0x20unsigned0x20int0x2C0x20unsigned0x20int0x29(ptr noundef %2013, i32 noundef %2014, i32 noundef %2015, i32 noundef %2016, i32 noundef %2017, i32 noundef %2018, i32 noundef %2019, i32 noundef %2020, i32 noundef %2021, i32 noundef %2022)
  %2023 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2023, ptr %32, align 4, !tbaa !9
  %2024 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2024, ptr %33, align 4, !tbaa !9
  %2025 = load ptr, ptr %6, align 8, !tbaa !5
  %2026 = getelementptr inbounds %struct.w2c_hermes, ptr %2025, i32 0, i32 6
  %2027 = load i32, ptr %33, align 4, !tbaa !9
  %2028 = zext i32 %2027 to i64
  %2029 = call i32 @i32_load(ptr noundef %2026, i64 noundef %2028)
  store i32 %2029, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %34, align 4, !tbaa !9
  %2030 = load i32, ptr %34, align 4, !tbaa !9
  %2031 = load i32, ptr %33, align 4, !tbaa !9
  %2032 = sub i32 %2031, %2030
  store i32 %2032, ptr %33, align 4, !tbaa !9
  %2033 = load ptr, ptr %6, align 8, !tbaa !5
  %2034 = getelementptr inbounds %struct.w2c_hermes, ptr %2033, i32 0, i32 6
  %2035 = load i32, ptr %32, align 4, !tbaa !9
  %2036 = zext i32 %2035 to i64
  %2037 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2034, i64 noundef %2036, i32 noundef %2037)
  br label %2038

2038:                                             ; preds = %2011, %1909
  %2039 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %2039, ptr %32, align 4, !tbaa !9
  %2040 = load i32, ptr %32, align 4, !tbaa !9
  %2041 = icmp ne i32 %2040, 0
  %2042 = xor i1 %2041, true
  %2043 = zext i1 %2042 to i32
  store i32 %2043, ptr %32, align 4, !tbaa !9
  %2044 = load i32, ptr %32, align 4, !tbaa !9
  %2045 = icmp ne i32 %2044, 0
  br i1 %2045, label %2046, label %2062

2046:                                             ; preds = %2038
  %2047 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2047, ptr %32, align 4, !tbaa !9
  %2048 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2048, ptr %33, align 4, !tbaa !9
  %2049 = load ptr, ptr %6, align 8, !tbaa !5
  %2050 = getelementptr inbounds %struct.w2c_hermes, ptr %2049, i32 0, i32 6
  %2051 = load i32, ptr %33, align 4, !tbaa !9
  %2052 = zext i32 %2051 to i64
  %2053 = call i32 @i32_load(ptr noundef %2050, i64 noundef %2052)
  store i32 %2053, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %34, align 4, !tbaa !9
  %2054 = load i32, ptr %34, align 4, !tbaa !9
  %2055 = load i32, ptr %33, align 4, !tbaa !9
  %2056 = sub i32 %2055, %2054
  store i32 %2056, ptr %33, align 4, !tbaa !9
  %2057 = load ptr, ptr %6, align 8, !tbaa !5
  %2058 = getelementptr inbounds %struct.w2c_hermes, ptr %2057, i32 0, i32 6
  %2059 = load i32, ptr %32, align 4, !tbaa !9
  %2060 = zext i32 %2059 to i64
  %2061 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2058, i64 noundef %2060, i32 noundef %2061)
  br label %2062

2062:                                             ; preds = %2046, %2038
  %2063 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2063, ptr %32, align 4, !tbaa !9
  %2064 = load i32, ptr %32, align 4, !tbaa !9
  %2065 = icmp ne i32 %2064, 0
  %2066 = xor i1 %2065, true
  %2067 = zext i1 %2066 to i32
  store i32 %2067, ptr %32, align 4, !tbaa !9
  %2068 = load i32, ptr %32, align 4, !tbaa !9
  %2069 = icmp ne i32 %2068, 0
  br i1 %2069, label %2070, label %2086

2070:                                             ; preds = %2062
  %2071 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2071, ptr %32, align 4, !tbaa !9
  %2072 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2072, ptr %33, align 4, !tbaa !9
  %2073 = load ptr, ptr %6, align 8, !tbaa !5
  %2074 = getelementptr inbounds %struct.w2c_hermes, ptr %2073, i32 0, i32 6
  %2075 = load i32, ptr %33, align 4, !tbaa !9
  %2076 = zext i32 %2075 to i64
  %2077 = call i32 @i32_load(ptr noundef %2074, i64 noundef %2076)
  store i32 %2077, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %34, align 4, !tbaa !9
  %2078 = load i32, ptr %34, align 4, !tbaa !9
  %2079 = load i32, ptr %33, align 4, !tbaa !9
  %2080 = sub i32 %2079, %2078
  store i32 %2080, ptr %33, align 4, !tbaa !9
  %2081 = load ptr, ptr %6, align 8, !tbaa !5
  %2082 = getelementptr inbounds %struct.w2c_hermes, ptr %2081, i32 0, i32 6
  %2083 = load i32, ptr %32, align 4, !tbaa !9
  %2084 = zext i32 %2083 to i64
  %2085 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2082, i64 noundef %2084, i32 noundef %2085)
  br label %2086

2086:                                             ; preds = %2070, %2062
  %2087 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2087, ptr %32, align 4, !tbaa !9
  %2088 = load ptr, ptr %6, align 8, !tbaa !5
  %2089 = getelementptr inbounds %struct.w2c_hermes, ptr %2088, i32 0, i32 6
  %2090 = load i32, ptr %32, align 4, !tbaa !9
  %2091 = zext i32 %2090 to i64
  %2092 = add i64 %2091, 120
  %2093 = call i32 @i32_load(ptr noundef %2089, i64 noundef %2092)
  store i32 %2093, ptr %32, align 4, !tbaa !9
  %2094 = load i32, ptr %32, align 4, !tbaa !9
  switch i32 %2094, label %2097 [
    i32 0, label %2095
    i32 1, label %2096
  ]

2095:                                             ; preds = %2086
  br label %2098

2096:                                             ; preds = %2086
  br label %2123

2097:                                             ; preds = %2086
  br label %2105

2098:                                             ; preds = %2095
  %2099 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2099, ptr %32, align 4, !tbaa !9
  store i32 0, ptr %33, align 4, !tbaa !9
  %2100 = load ptr, ptr %6, align 8, !tbaa !5
  %2101 = getelementptr inbounds %struct.w2c_hermes, ptr %2100, i32 0, i32 6
  %2102 = load i32, ptr %32, align 4, !tbaa !9
  %2103 = zext i32 %2102 to i64
  %2104 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2101, i64 noundef %2103, i32 noundef %2104)
  br label %2902

2105:                                             ; preds = %2097
  store i32 0, ptr %32, align 4, !tbaa !9
  %2106 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2106, ptr %11, align 4, !tbaa !9
  store i32 109639, ptr %33, align 4, !tbaa !9
  %2107 = load i32, ptr %33, align 4, !tbaa !9
  %2108 = load i32, ptr %32, align 4, !tbaa !9
  %2109 = add i32 %2108, %2107
  store i32 %2109, ptr %32, align 4, !tbaa !9
  %2110 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2110, ptr %33, align 4, !tbaa !9
  store i32 77564, ptr %34, align 4, !tbaa !9
  %2111 = load i32, ptr %34, align 4, !tbaa !9
  %2112 = load i32, ptr %33, align 4, !tbaa !9
  %2113 = add i32 %2112, %2111
  store i32 %2113, ptr %33, align 4, !tbaa !9
  store i32 179, ptr %34, align 4, !tbaa !9
  %2114 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2114, ptr %35, align 4, !tbaa !9
  store i32 90402, ptr %36, align 4, !tbaa !9
  %2115 = load i32, ptr %36, align 4, !tbaa !9
  %2116 = load i32, ptr %35, align 4, !tbaa !9
  %2117 = add i32 %2116, %2115
  store i32 %2117, ptr %35, align 4, !tbaa !9
  %2118 = load ptr, ptr %6, align 8, !tbaa !5
  %2119 = load i32, ptr %32, align 4, !tbaa !9
  %2120 = load i32, ptr %33, align 4, !tbaa !9
  %2121 = load i32, ptr %34, align 4, !tbaa !9
  %2122 = load i32, ptr %35, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %2118, i32 noundef %2119, i32 noundef %2120, i32 noundef %2121, i32 noundef %2122)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

2123:                                             ; preds = %2096
  %2124 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2124, ptr %32, align 4, !tbaa !9
  %2125 = load ptr, ptr %6, align 8, !tbaa !5
  %2126 = getelementptr inbounds %struct.w2c_hermes, ptr %2125, i32 0, i32 6
  %2127 = load i32, ptr %32, align 4, !tbaa !9
  %2128 = zext i32 %2127 to i64
  %2129 = add i64 %2128, 128
  %2130 = call double @f64_load(ptr noundef %2126, i64 noundef %2129)
  store double %2130, ptr %47, align 8, !tbaa !13
  store double 0.000000e+00, ptr %48, align 8, !tbaa !13
  %2131 = load double, ptr %48, align 8, !tbaa !13
  %2132 = load double, ptr %47, align 8, !tbaa !13
  %2133 = fadd double %2132, %2131
  store double %2133, ptr %47, align 8, !tbaa !13
  %2134 = load double, ptr %47, align 8, !tbaa !13
  store double %2134, ptr %28, align 8, !tbaa !13
  %2135 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %2135, ptr %32, align 4, !tbaa !9
  store i32 3, ptr %33, align 4, !tbaa !9
  %2136 = load i32, ptr %32, align 4, !tbaa !9
  %2137 = load i32, ptr %33, align 4, !tbaa !9
  %2138 = icmp uge i32 %2136, %2137
  %2139 = zext i1 %2138 to i32
  store i32 %2139, ptr %32, align 4, !tbaa !9
  %2140 = load i32, ptr %32, align 4, !tbaa !9
  %2141 = icmp ne i32 %2140, 0
  br i1 %2141, label %2142, label %2490

2142:                                             ; preds = %2123
  %2143 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %2143, ptr %32, align 4, !tbaa !9
  %2144 = load i32, ptr %32, align 4, !tbaa !9
  %2145 = zext i32 %2144 to i64
  store i64 %2145, ptr %42, align 8, !tbaa !11
  %2146 = load i64, ptr %42, align 8, !tbaa !11
  store i64 %2146, ptr %26, align 8, !tbaa !11
  %2147 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2147, ptr %32, align 4, !tbaa !9
  %2148 = load ptr, ptr %6, align 8, !tbaa !5
  %2149 = getelementptr inbounds %struct.w2c_hermes, ptr %2148, i32 0, i32 6
  %2150 = load i32, ptr %32, align 4, !tbaa !9
  %2151 = zext i32 %2150 to i64
  %2152 = call i32 @i32_load(ptr noundef %2149, i64 noundef %2151)
  store i32 %2152, ptr %32, align 4, !tbaa !9
  store i32 8, ptr %33, align 4, !tbaa !9
  %2153 = load i32, ptr %33, align 4, !tbaa !9
  %2154 = load i32, ptr %32, align 4, !tbaa !9
  %2155 = sub i32 %2154, %2153
  store i32 %2155, ptr %32, align 4, !tbaa !9
  %2156 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2156, ptr %18, align 4, !tbaa !9
  %2157 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2157, ptr %32, align 4, !tbaa !9
  %2158 = load ptr, ptr %6, align 8, !tbaa !5
  %2159 = getelementptr inbounds %struct.w2c_hermes, ptr %2158, i32 0, i32 6
  %2160 = load i32, ptr %32, align 4, !tbaa !9
  %2161 = zext i32 %2160 to i64
  %2162 = add i64 %2161, 4
  %2163 = call i32 @i32_load(ptr noundef %2159, i64 noundef %2162)
  store i32 %2163, ptr %32, align 4, !tbaa !9
  %2164 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2164, ptr %10, align 4, !tbaa !9
  store i64 2, ptr %42, align 8, !tbaa !11
  %2165 = load i64, ptr %42, align 8, !tbaa !11
  store i64 %2165, ptr %25, align 8, !tbaa !11
  br label %2166

2166:                                             ; preds = %2488, %2142
  %2167 = load double, ptr %28, align 8, !tbaa !13
  store double %2167, ptr %47, align 8, !tbaa !13
  %2168 = load double, ptr %47, align 8, !tbaa !13
  %2169 = call i64 @i64_reinterpret_f64(double noundef %2168)
  store i64 %2169, ptr %42, align 8, !tbaa !11
  store i64 -1970324836974592, ptr %43, align 8, !tbaa !11
  %2170 = load i64, ptr %42, align 8, !tbaa !11
  %2171 = load i64, ptr %43, align 8, !tbaa !11
  %2172 = icmp uge i64 %2170, %2171
  %2173 = zext i1 %2172 to i32
  store i32 %2173, ptr %32, align 4, !tbaa !9
  %2174 = load i32, ptr %32, align 4, !tbaa !9
  %2175 = icmp ne i32 %2174, 0
  br i1 %2175, label %2176, label %2177

2176:                                             ; preds = %2166
  br label %3331

2177:                                             ; preds = %2166
  %2178 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2178, ptr %32, align 4, !tbaa !9
  %2179 = load ptr, ptr %6, align 8, !tbaa !5
  %2180 = getelementptr inbounds %struct.w2c_hermes, ptr %2179, i32 0, i32 6
  %2181 = load i32, ptr %32, align 4, !tbaa !9
  %2182 = zext i32 %2181 to i64
  %2183 = add i64 %2182, 4
  %2184 = call i32 @i32_load(ptr noundef %2180, i64 noundef %2183)
  store i32 %2184, ptr %32, align 4, !tbaa !9
  %2185 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2185, ptr %13, align 4, !tbaa !9
  %2186 = load double, ptr %28, align 8, !tbaa !13
  store double %2186, ptr %48, align 8, !tbaa !13
  %2187 = load ptr, ptr %6, align 8, !tbaa !5
  %2188 = getelementptr inbounds %struct.w2c_hermes, ptr %2187, i32 0, i32 6
  %2189 = load i32, ptr %32, align 4, !tbaa !9
  %2190 = zext i32 %2189 to i64
  %2191 = load double, ptr %48, align 8, !tbaa !13
  call void @f64_store(ptr noundef %2188, i64 noundef %2190, double noundef %2191)
  %2192 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2192, ptr %32, align 4, !tbaa !9
  %2193 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %2193, ptr %33, align 4, !tbaa !9
  %2194 = load ptr, ptr %6, align 8, !tbaa !5
  %2195 = getelementptr inbounds %struct.w2c_hermes, ptr %2194, i32 0, i32 6
  %2196 = load i32, ptr %32, align 4, !tbaa !9
  %2197 = zext i32 %2196 to i64
  %2198 = add i64 %2197, 76
  %2199 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2195, i64 noundef %2198, i32 noundef %2199)
  %2200 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2200, ptr %32, align 4, !tbaa !9
  %2201 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2201, ptr %33, align 4, !tbaa !9
  %2202 = load ptr, ptr %6, align 8, !tbaa !5
  %2203 = getelementptr inbounds %struct.w2c_hermes, ptr %2202, i32 0, i32 6
  %2204 = load i32, ptr %32, align 4, !tbaa !9
  %2205 = zext i32 %2204 to i64
  %2206 = add i64 %2205, 72
  %2207 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2203, i64 noundef %2206, i32 noundef %2207)
  %2208 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2208, ptr %32, align 4, !tbaa !9
  %2209 = load i32, ptr %32, align 4, !tbaa !9
  %2210 = icmp ne i32 %2209, 0
  br i1 %2210, label %2211, label %2227

2211:                                             ; preds = %2177
  %2212 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2212, ptr %32, align 4, !tbaa !9
  %2213 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2213, ptr %33, align 4, !tbaa !9
  %2214 = load ptr, ptr %6, align 8, !tbaa !5
  %2215 = getelementptr inbounds %struct.w2c_hermes, ptr %2214, i32 0, i32 6
  %2216 = load i32, ptr %33, align 4, !tbaa !9
  %2217 = zext i32 %2216 to i64
  %2218 = call i32 @i32_load(ptr noundef %2215, i64 noundef %2217)
  store i32 %2218, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %34, align 4, !tbaa !9
  %2219 = load i32, ptr %34, align 4, !tbaa !9
  %2220 = load i32, ptr %33, align 4, !tbaa !9
  %2221 = add i32 %2220, %2219
  store i32 %2221, ptr %33, align 4, !tbaa !9
  %2222 = load ptr, ptr %6, align 8, !tbaa !5
  %2223 = getelementptr inbounds %struct.w2c_hermes, ptr %2222, i32 0, i32 6
  %2224 = load i32, ptr %32, align 4, !tbaa !9
  %2225 = zext i32 %2224 to i64
  %2226 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2223, i64 noundef %2225, i32 noundef %2226)
  br label %2227

2227:                                             ; preds = %2211, %2177
  %2228 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2228, ptr %32, align 4, !tbaa !9
  %2229 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2229, ptr %33, align 4, !tbaa !9
  %2230 = load ptr, ptr %6, align 8, !tbaa !5
  %2231 = getelementptr inbounds %struct.w2c_hermes, ptr %2230, i32 0, i32 6
  %2232 = load i32, ptr %32, align 4, !tbaa !9
  %2233 = zext i32 %2232 to i64
  %2234 = add i64 %2233, 68
  %2235 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2231, i64 noundef %2234, i32 noundef %2235)
  %2236 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2236, ptr %32, align 4, !tbaa !9
  %2237 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2237, ptr %33, align 4, !tbaa !9
  %2238 = load ptr, ptr %6, align 8, !tbaa !5
  %2239 = getelementptr inbounds %struct.w2c_hermes, ptr %2238, i32 0, i32 6
  %2240 = load i32, ptr %33, align 4, !tbaa !9
  %2241 = zext i32 %2240 to i64
  %2242 = call i32 @i32_load(ptr noundef %2239, i64 noundef %2241)
  store i32 %2242, ptr %33, align 4, !tbaa !9
  %2243 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %2243, ptr %13, align 4, !tbaa !9
  %2244 = load ptr, ptr %6, align 8, !tbaa !5
  %2245 = getelementptr inbounds %struct.w2c_hermes, ptr %2244, i32 0, i32 6
  %2246 = load i32, ptr %32, align 4, !tbaa !9
  %2247 = zext i32 %2246 to i64
  %2248 = add i64 %2247, 64
  %2249 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2245, i64 noundef %2248, i32 noundef %2249)
  %2250 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2250, ptr %32, align 4, !tbaa !9
  %2251 = load i32, ptr %32, align 4, !tbaa !9
  %2252 = icmp ne i32 %2251, 0
  br i1 %2252, label %2253, label %2269

2253:                                             ; preds = %2227
  %2254 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2254, ptr %32, align 4, !tbaa !9
  %2255 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2255, ptr %33, align 4, !tbaa !9
  %2256 = load ptr, ptr %6, align 8, !tbaa !5
  %2257 = getelementptr inbounds %struct.w2c_hermes, ptr %2256, i32 0, i32 6
  %2258 = load i32, ptr %33, align 4, !tbaa !9
  %2259 = zext i32 %2258 to i64
  %2260 = call i32 @i32_load(ptr noundef %2257, i64 noundef %2259)
  store i32 %2260, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %34, align 4, !tbaa !9
  %2261 = load i32, ptr %34, align 4, !tbaa !9
  %2262 = load i32, ptr %33, align 4, !tbaa !9
  %2263 = add i32 %2262, %2261
  store i32 %2263, ptr %33, align 4, !tbaa !9
  %2264 = load ptr, ptr %6, align 8, !tbaa !5
  %2265 = getelementptr inbounds %struct.w2c_hermes, ptr %2264, i32 0, i32 6
  %2266 = load i32, ptr %32, align 4, !tbaa !9
  %2267 = zext i32 %2266 to i64
  %2268 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2265, i64 noundef %2267, i32 noundef %2268)
  br label %2269

2269:                                             ; preds = %2253, %2227
  %2270 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2270, ptr %32, align 4, !tbaa !9
  store i32 319, ptr %33, align 4, !tbaa !9
  %2271 = load ptr, ptr %6, align 8, !tbaa !5
  %2272 = getelementptr inbounds %struct.w2c_hermes, ptr %2271, i32 0, i32 6
  %2273 = load i32, ptr %32, align 4, !tbaa !9
  %2274 = zext i32 %2273 to i64
  %2275 = add i64 %2274, 60
  %2276 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2272, i64 noundef %2275, i32 noundef %2276)
  %2277 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2277, ptr %32, align 4, !tbaa !9
  store i32 0, ptr %33, align 4, !tbaa !9
  %2278 = load ptr, ptr %6, align 8, !tbaa !5
  %2279 = getelementptr inbounds %struct.w2c_hermes, ptr %2278, i32 0, i32 6
  %2280 = load i32, ptr %32, align 4, !tbaa !9
  %2281 = zext i32 %2280 to i64
  %2282 = add i64 %2281, 52
  %2283 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2279, i64 noundef %2282, i32 noundef %2283)
  %2284 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2284, ptr %32, align 4, !tbaa !9
  store i32 1, ptr %33, align 4, !tbaa !9
  %2285 = load ptr, ptr %6, align 8, !tbaa !5
  %2286 = getelementptr inbounds %struct.w2c_hermes, ptr %2285, i32 0, i32 6
  %2287 = load i32, ptr %32, align 4, !tbaa !9
  %2288 = zext i32 %2287 to i64
  %2289 = add i64 %2288, 48
  %2290 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2286, i64 noundef %2289, i32 noundef %2290)
  %2291 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2291, ptr %32, align 4, !tbaa !9
  store i32 319, ptr %33, align 4, !tbaa !9
  %2292 = load ptr, ptr %6, align 8, !tbaa !5
  %2293 = getelementptr inbounds %struct.w2c_hermes, ptr %2292, i32 0, i32 6
  %2294 = load i32, ptr %32, align 4, !tbaa !9
  %2295 = zext i32 %2294 to i64
  %2296 = add i64 %2295, 4
  %2297 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2293, i64 noundef %2296, i32 noundef %2297)
  %2298 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2298, ptr %32, align 4, !tbaa !9
  store i32 1, ptr %33, align 4, !tbaa !9
  %2299 = load ptr, ptr %6, align 8, !tbaa !5
  %2300 = getelementptr inbounds %struct.w2c_hermes, ptr %2299, i32 0, i32 6
  %2301 = load i32, ptr %32, align 4, !tbaa !9
  %2302 = zext i32 %2301 to i64
  %2303 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2300, i64 noundef %2302, i32 noundef %2303)
  %2304 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2304, ptr %32, align 4, !tbaa !9
  store i32 217528, ptr %33, align 4, !tbaa !9
  %2305 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %2305, ptr %34, align 4, !tbaa !9
  %2306 = load i64, ptr %25, align 8, !tbaa !11
  store i64 %2306, ptr %45, align 8, !tbaa !11
  %2307 = load i64, ptr %45, align 8, !tbaa !11
  %2308 = trunc i64 %2307 to i32
  store i32 %2308, ptr %35, align 4, !tbaa !9
  %2309 = load i32, ptr %35, align 4, !tbaa !9
  store i32 %2309, ptr %13, align 4, !tbaa !9
  store i32 3, ptr %36, align 4, !tbaa !9
  %2310 = load i32, ptr %36, align 4, !tbaa !9
  %2311 = and i32 %2310, 31
  %2312 = load i32, ptr %35, align 4, !tbaa !9
  %2313 = shl i32 %2312, %2311
  store i32 %2313, ptr %35, align 4, !tbaa !9
  %2314 = load i32, ptr %35, align 4, !tbaa !9
  %2315 = load i32, ptr %34, align 4, !tbaa !9
  %2316 = sub i32 %2315, %2314
  store i32 %2316, ptr %34, align 4, !tbaa !9
  %2317 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2317, ptr %35, align 4, !tbaa !9
  %2318 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2318, ptr %36, align 4, !tbaa !9
  %2319 = load i32, ptr %35, align 4, !tbaa !9
  %2320 = load i32, ptr %36, align 4, !tbaa !9
  %2321 = icmp ule i32 %2319, %2320
  %2322 = zext i1 %2321 to i32
  store i32 %2322, ptr %35, align 4, !tbaa !9
  %2323 = load i32, ptr %35, align 4, !tbaa !9
  %2324 = icmp ne i32 %2323, 0
  br i1 %2324, label %2325, label %2327

2325:                                             ; preds = %2269
  %2326 = load i32, ptr %33, align 4, !tbaa !9
  br label %2329

2327:                                             ; preds = %2269
  %2328 = load i32, ptr %34, align 4, !tbaa !9
  br label %2329

2329:                                             ; preds = %2327, %2325
  %2330 = phi i32 [ %2326, %2325 ], [ %2328, %2327 ]
  store i32 %2330, ptr %33, align 4, !tbaa !9
  %2331 = load ptr, ptr %6, align 8, !tbaa !5
  %2332 = getelementptr inbounds %struct.w2c_hermes, ptr %2331, i32 0, i32 6
  %2333 = load i32, ptr %32, align 4, !tbaa !9
  %2334 = zext i32 %2333 to i64
  %2335 = add i64 %2334, 56
  %2336 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2332, i64 noundef %2335, i32 noundef %2336)
  %2337 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2337, ptr %32, align 4, !tbaa !9
  store i32 32, ptr %33, align 4, !tbaa !9
  %2338 = load i32, ptr %33, align 4, !tbaa !9
  %2339 = load i32, ptr %32, align 4, !tbaa !9
  %2340 = add i32 %2339, %2338
  store i32 %2340, ptr %32, align 4, !tbaa !9
  %2341 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2341, ptr %33, align 4, !tbaa !9
  store i32 72, ptr %34, align 4, !tbaa !9
  %2342 = load i32, ptr %34, align 4, !tbaa !9
  %2343 = load i32, ptr %33, align 4, !tbaa !9
  %2344 = add i32 %2343, %2342
  store i32 %2344, ptr %33, align 4, !tbaa !9
  %2345 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2345, ptr %34, align 4, !tbaa !9
  %2346 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2346, ptr %35, align 4, !tbaa !9
  store i32 -64, ptr %36, align 4, !tbaa !9
  %2347 = load i32, ptr %36, align 4, !tbaa !9
  %2348 = load i32, ptr %35, align 4, !tbaa !9
  %2349 = sub i32 %2348, %2347
  store i32 %2349, ptr %35, align 4, !tbaa !9
  %2350 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2350, ptr %36, align 4, !tbaa !9
  store i32 4, ptr %37, align 4, !tbaa !9
  %2351 = load i32, ptr %37, align 4, !tbaa !9
  %2352 = load i32, ptr %36, align 4, !tbaa !9
  %2353 = add i32 %2352, %2351
  store i32 %2353, ptr %36, align 4, !tbaa !9
  %2354 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2354, ptr %37, align 4, !tbaa !9
  store i32 52, ptr %38, align 4, !tbaa !9
  %2355 = load i32, ptr %38, align 4, !tbaa !9
  %2356 = load i32, ptr %37, align 4, !tbaa !9
  %2357 = add i32 %2356, %2355
  store i32 %2357, ptr %37, align 4, !tbaa !9
  %2358 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2358, ptr %38, align 4, !tbaa !9
  %2359 = load ptr, ptr %6, align 8, !tbaa !5
  %2360 = load i32, ptr %32, align 4, !tbaa !9
  %2361 = load i32, ptr %33, align 4, !tbaa !9
  %2362 = load i32, ptr %34, align 4, !tbaa !9
  %2363 = load i32, ptr %35, align 4, !tbaa !9
  %2364 = load i32, ptr %36, align 4, !tbaa !9
  %2365 = load i32, ptr %37, align 4, !tbaa !9
  %2366 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSObject0x3A0x3AdefineOwnComputedPrimitive0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ADefinePropertyFlags0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3APropOpFlags0x29(ptr noundef %2359, i32 noundef %2360, i32 noundef %2361, i32 noundef %2362, i32 noundef %2363, i32 noundef %2364, i32 noundef %2365, i32 noundef %2366)
  %2367 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2367, ptr %32, align 4, !tbaa !9
  %2368 = load ptr, ptr %6, align 8, !tbaa !5
  %2369 = getelementptr inbounds %struct.w2c_hermes, ptr %2368, i32 0, i32 6
  %2370 = load i32, ptr %32, align 4, !tbaa !9
  %2371 = zext i32 %2370 to i64
  %2372 = add i64 %2371, 32
  %2373 = call i32 @i32_load8_u(ptr noundef %2369, i64 noundef %2372)
  store i32 %2373, ptr %32, align 4, !tbaa !9
  %2374 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2374, ptr %15, align 4, !tbaa !9
  %2375 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2375, ptr %32, align 4, !tbaa !9
  %2376 = load ptr, ptr %6, align 8, !tbaa !5
  %2377 = getelementptr inbounds %struct.w2c_hermes, ptr %2376, i32 0, i32 6
  %2378 = load i32, ptr %32, align 4, !tbaa !9
  %2379 = zext i32 %2378 to i64
  %2380 = add i64 %2379, 52
  %2381 = call i32 @i32_load(ptr noundef %2377, i64 noundef %2380)
  store i32 %2381, ptr %32, align 4, !tbaa !9
  %2382 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2382, ptr %13, align 4, !tbaa !9
  %2383 = load i32, ptr %32, align 4, !tbaa !9
  %2384 = icmp ne i32 %2383, 0
  br i1 %2384, label %2385, label %2401

2385:                                             ; preds = %2329
  %2386 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2386, ptr %32, align 4, !tbaa !9
  %2387 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2387, ptr %33, align 4, !tbaa !9
  %2388 = load ptr, ptr %6, align 8, !tbaa !5
  %2389 = getelementptr inbounds %struct.w2c_hermes, ptr %2388, i32 0, i32 6
  %2390 = load i32, ptr %33, align 4, !tbaa !9
  %2391 = zext i32 %2390 to i64
  %2392 = call i32 @i32_load(ptr noundef %2389, i64 noundef %2391)
  store i32 %2392, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %34, align 4, !tbaa !9
  %2393 = load i32, ptr %34, align 4, !tbaa !9
  %2394 = load i32, ptr %33, align 4, !tbaa !9
  %2395 = sub i32 %2394, %2393
  store i32 %2395, ptr %33, align 4, !tbaa !9
  %2396 = load ptr, ptr %6, align 8, !tbaa !5
  %2397 = getelementptr inbounds %struct.w2c_hermes, ptr %2396, i32 0, i32 6
  %2398 = load i32, ptr %32, align 4, !tbaa !9
  %2399 = zext i32 %2398 to i64
  %2400 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2397, i64 noundef %2399, i32 noundef %2400)
  br label %2401

2401:                                             ; preds = %2385, %2329
  %2402 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2402, ptr %32, align 4, !tbaa !9
  %2403 = load ptr, ptr %6, align 8, !tbaa !5
  %2404 = getelementptr inbounds %struct.w2c_hermes, ptr %2403, i32 0, i32 6
  %2405 = load i32, ptr %32, align 4, !tbaa !9
  %2406 = zext i32 %2405 to i64
  %2407 = add i64 %2406, 64
  %2408 = call i32 @i32_load(ptr noundef %2404, i64 noundef %2407)
  store i32 %2408, ptr %32, align 4, !tbaa !9
  %2409 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2409, ptr %13, align 4, !tbaa !9
  %2410 = load i32, ptr %32, align 4, !tbaa !9
  %2411 = icmp ne i32 %2410, 0
  br i1 %2411, label %2412, label %2428

2412:                                             ; preds = %2401
  %2413 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2413, ptr %32, align 4, !tbaa !9
  %2414 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2414, ptr %33, align 4, !tbaa !9
  %2415 = load ptr, ptr %6, align 8, !tbaa !5
  %2416 = getelementptr inbounds %struct.w2c_hermes, ptr %2415, i32 0, i32 6
  %2417 = load i32, ptr %33, align 4, !tbaa !9
  %2418 = zext i32 %2417 to i64
  %2419 = call i32 @i32_load(ptr noundef %2416, i64 noundef %2418)
  store i32 %2419, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %34, align 4, !tbaa !9
  %2420 = load i32, ptr %34, align 4, !tbaa !9
  %2421 = load i32, ptr %33, align 4, !tbaa !9
  %2422 = sub i32 %2421, %2420
  store i32 %2422, ptr %33, align 4, !tbaa !9
  %2423 = load ptr, ptr %6, align 8, !tbaa !5
  %2424 = getelementptr inbounds %struct.w2c_hermes, ptr %2423, i32 0, i32 6
  %2425 = load i32, ptr %32, align 4, !tbaa !9
  %2426 = zext i32 %2425 to i64
  %2427 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2424, i64 noundef %2426, i32 noundef %2427)
  br label %2428

2428:                                             ; preds = %2412, %2401
  %2429 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2429, ptr %32, align 4, !tbaa !9
  %2430 = load ptr, ptr %6, align 8, !tbaa !5
  %2431 = getelementptr inbounds %struct.w2c_hermes, ptr %2430, i32 0, i32 6
  %2432 = load i32, ptr %32, align 4, !tbaa !9
  %2433 = zext i32 %2432 to i64
  %2434 = add i64 %2433, 72
  %2435 = call i32 @i32_load(ptr noundef %2431, i64 noundef %2434)
  store i32 %2435, ptr %32, align 4, !tbaa !9
  %2436 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2436, ptr %13, align 4, !tbaa !9
  %2437 = load i32, ptr %32, align 4, !tbaa !9
  %2438 = icmp ne i32 %2437, 0
  br i1 %2438, label %2439, label %2455

2439:                                             ; preds = %2428
  %2440 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2440, ptr %32, align 4, !tbaa !9
  %2441 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2441, ptr %33, align 4, !tbaa !9
  %2442 = load ptr, ptr %6, align 8, !tbaa !5
  %2443 = getelementptr inbounds %struct.w2c_hermes, ptr %2442, i32 0, i32 6
  %2444 = load i32, ptr %33, align 4, !tbaa !9
  %2445 = zext i32 %2444 to i64
  %2446 = call i32 @i32_load(ptr noundef %2443, i64 noundef %2445)
  store i32 %2446, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %34, align 4, !tbaa !9
  %2447 = load i32, ptr %34, align 4, !tbaa !9
  %2448 = load i32, ptr %33, align 4, !tbaa !9
  %2449 = sub i32 %2448, %2447
  store i32 %2449, ptr %33, align 4, !tbaa !9
  %2450 = load ptr, ptr %6, align 8, !tbaa !5
  %2451 = getelementptr inbounds %struct.w2c_hermes, ptr %2450, i32 0, i32 6
  %2452 = load i32, ptr %32, align 4, !tbaa !9
  %2453 = zext i32 %2452 to i64
  %2454 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2451, i64 noundef %2453, i32 noundef %2454)
  br label %2455

2455:                                             ; preds = %2439, %2428
  %2456 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %2456, ptr %32, align 4, !tbaa !9
  %2457 = load i32, ptr %32, align 4, !tbaa !9
  %2458 = icmp ne i32 %2457, 0
  %2459 = xor i1 %2458, true
  %2460 = zext i1 %2459 to i32
  store i32 %2460, ptr %32, align 4, !tbaa !9
  %2461 = load i32, ptr %32, align 4, !tbaa !9
  %2462 = icmp ne i32 %2461, 0
  br i1 %2462, label %2463, label %2470

2463:                                             ; preds = %2455
  %2464 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2464, ptr %32, align 4, !tbaa !9
  store i32 0, ptr %33, align 4, !tbaa !9
  %2465 = load ptr, ptr %6, align 8, !tbaa !5
  %2466 = getelementptr inbounds %struct.w2c_hermes, ptr %2465, i32 0, i32 6
  %2467 = load i32, ptr %32, align 4, !tbaa !9
  %2468 = zext i32 %2467 to i64
  %2469 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2466, i64 noundef %2468, i32 noundef %2469)
  br label %2902

2470:                                             ; preds = %2455
  %2471 = load double, ptr %28, align 8, !tbaa !13
  store double %2471, ptr %47, align 8, !tbaa !13
  store double 1.000000e+00, ptr %48, align 8, !tbaa !13
  %2472 = load double, ptr %48, align 8, !tbaa !13
  %2473 = load double, ptr %47, align 8, !tbaa !13
  %2474 = fadd double %2473, %2472
  store double %2474, ptr %47, align 8, !tbaa !13
  %2475 = load double, ptr %47, align 8, !tbaa !13
  store double %2475, ptr %28, align 8, !tbaa !13
  %2476 = load i64, ptr %25, align 8, !tbaa !11
  store i64 %2476, ptr %42, align 8, !tbaa !11
  store i64 1, ptr %43, align 8, !tbaa !11
  %2477 = load i64, ptr %43, align 8, !tbaa !11
  %2478 = load i64, ptr %42, align 8, !tbaa !11
  %2479 = add i64 %2478, %2477
  store i64 %2479, ptr %42, align 8, !tbaa !11
  %2480 = load i64, ptr %42, align 8, !tbaa !11
  store i64 %2480, ptr %25, align 8, !tbaa !11
  %2481 = load i64, ptr %26, align 8, !tbaa !11
  store i64 %2481, ptr %43, align 8, !tbaa !11
  %2482 = load i64, ptr %42, align 8, !tbaa !11
  %2483 = load i64, ptr %43, align 8, !tbaa !11
  %2484 = icmp ne i64 %2482, %2483
  %2485 = zext i1 %2484 to i32
  store i32 %2485, ptr %32, align 4, !tbaa !9
  %2486 = load i32, ptr %32, align 4, !tbaa !9
  %2487 = icmp ne i32 %2486, 0
  br i1 %2487, label %2488, label %2489

2488:                                             ; preds = %2470
  br label %2166

2489:                                             ; preds = %2470
  br label %2490

2490:                                             ; preds = %2489, %2123
  %2491 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2491, ptr %32, align 4, !tbaa !9
  %2492 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2492, ptr %33, align 4, !tbaa !9
  %2493 = load ptr, ptr %6, align 8, !tbaa !5
  %2494 = getelementptr inbounds %struct.w2c_hermes, ptr %2493, i32 0, i32 6
  %2495 = load i32, ptr %33, align 4, !tbaa !9
  %2496 = zext i32 %2495 to i64
  %2497 = add i64 %2496, 4
  %2498 = call i32 @i32_load(ptr noundef %2494, i64 noundef %2497)
  store i32 %2498, ptr %33, align 4, !tbaa !9
  %2499 = load ptr, ptr %6, align 8, !tbaa !5
  %2500 = getelementptr inbounds %struct.w2c_hermes, ptr %2499, i32 0, i32 6
  %2501 = load i32, ptr %32, align 4, !tbaa !9
  %2502 = zext i32 %2501 to i64
  %2503 = add i64 %2502, 28
  %2504 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2500, i64 noundef %2503, i32 noundef %2504)
  %2505 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2505, ptr %32, align 4, !tbaa !9
  %2506 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2506, ptr %33, align 4, !tbaa !9
  %2507 = load ptr, ptr %6, align 8, !tbaa !5
  %2508 = getelementptr inbounds %struct.w2c_hermes, ptr %2507, i32 0, i32 6
  %2509 = load i32, ptr %33, align 4, !tbaa !9
  %2510 = zext i32 %2509 to i64
  %2511 = call i32 @i32_load(ptr noundef %2508, i64 noundef %2510)
  store i32 %2511, ptr %33, align 4, !tbaa !9
  %2512 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %2512, ptr %13, align 4, !tbaa !9
  %2513 = load ptr, ptr %6, align 8, !tbaa !5
  %2514 = getelementptr inbounds %struct.w2c_hermes, ptr %2513, i32 0, i32 6
  %2515 = load i32, ptr %32, align 4, !tbaa !9
  %2516 = zext i32 %2515 to i64
  %2517 = add i64 %2516, 24
  %2518 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2514, i64 noundef %2517, i32 noundef %2518)
  %2519 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2519, ptr %32, align 4, !tbaa !9
  %2520 = load i32, ptr %32, align 4, !tbaa !9
  %2521 = icmp ne i32 %2520, 0
  br i1 %2521, label %2522, label %2538

2522:                                             ; preds = %2490
  %2523 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2523, ptr %32, align 4, !tbaa !9
  %2524 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2524, ptr %33, align 4, !tbaa !9
  %2525 = load ptr, ptr %6, align 8, !tbaa !5
  %2526 = getelementptr inbounds %struct.w2c_hermes, ptr %2525, i32 0, i32 6
  %2527 = load i32, ptr %33, align 4, !tbaa !9
  %2528 = zext i32 %2527 to i64
  %2529 = call i32 @i32_load(ptr noundef %2526, i64 noundef %2528)
  store i32 %2529, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %34, align 4, !tbaa !9
  %2530 = load i32, ptr %34, align 4, !tbaa !9
  %2531 = load i32, ptr %33, align 4, !tbaa !9
  %2532 = add i32 %2531, %2530
  store i32 %2532, ptr %33, align 4, !tbaa !9
  %2533 = load ptr, ptr %6, align 8, !tbaa !5
  %2534 = getelementptr inbounds %struct.w2c_hermes, ptr %2533, i32 0, i32 6
  %2535 = load i32, ptr %32, align 4, !tbaa !9
  %2536 = zext i32 %2535 to i64
  %2537 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2534, i64 noundef %2536, i32 noundef %2537)
  br label %2538

2538:                                             ; preds = %2522, %2490
  %2539 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2539, ptr %32, align 4, !tbaa !9
  %2540 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2540, ptr %33, align 4, !tbaa !9
  %2541 = load ptr, ptr %6, align 8, !tbaa !5
  %2542 = getelementptr inbounds %struct.w2c_hermes, ptr %2541, i32 0, i32 6
  %2543 = load i32, ptr %32, align 4, !tbaa !9
  %2544 = zext i32 %2543 to i64
  %2545 = add i64 %2544, 16
  %2546 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2542, i64 noundef %2545, i32 noundef %2546)
  %2547 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2547, ptr %32, align 4, !tbaa !9
  %2548 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %2548, ptr %33, align 4, !tbaa !9
  %2549 = load ptr, ptr %6, align 8, !tbaa !5
  %2550 = getelementptr inbounds %struct.w2c_hermes, ptr %2549, i32 0, i32 6
  %2551 = load i32, ptr %32, align 4, !tbaa !9
  %2552 = zext i32 %2551 to i64
  %2553 = add i64 %2552, 20
  %2554 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2550, i64 noundef %2553, i32 noundef %2554)
  %2555 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %2555, ptr %32, align 4, !tbaa !9
  %2556 = load i32, ptr %32, align 4, !tbaa !9
  %2557 = icmp ne i32 %2556, 0
  %2558 = xor i1 %2557, true
  %2559 = zext i1 %2558 to i32
  store i32 %2559, ptr %32, align 4, !tbaa !9
  %2560 = load i32, ptr %32, align 4, !tbaa !9
  %2561 = icmp ne i32 %2560, 0
  br i1 %2561, label %2562, label %2578

2562:                                             ; preds = %2538
  %2563 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2563, ptr %32, align 4, !tbaa !9
  %2564 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2564, ptr %33, align 4, !tbaa !9
  %2565 = load ptr, ptr %6, align 8, !tbaa !5
  %2566 = getelementptr inbounds %struct.w2c_hermes, ptr %2565, i32 0, i32 6
  %2567 = load i32, ptr %33, align 4, !tbaa !9
  %2568 = zext i32 %2567 to i64
  %2569 = call i32 @i32_load(ptr noundef %2566, i64 noundef %2568)
  store i32 %2569, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %34, align 4, !tbaa !9
  %2570 = load i32, ptr %34, align 4, !tbaa !9
  %2571 = load i32, ptr %33, align 4, !tbaa !9
  %2572 = add i32 %2571, %2570
  store i32 %2572, ptr %33, align 4, !tbaa !9
  %2573 = load ptr, ptr %6, align 8, !tbaa !5
  %2574 = getelementptr inbounds %struct.w2c_hermes, ptr %2573, i32 0, i32 6
  %2575 = load i32, ptr %32, align 4, !tbaa !9
  %2576 = zext i32 %2575 to i64
  %2577 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2574, i64 noundef %2576, i32 noundef %2577)
  br label %2578

2578:                                             ; preds = %2562, %2538
  %2579 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2579, ptr %32, align 4, !tbaa !9
  %2580 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2580, ptr %33, align 4, !tbaa !9
  %2581 = load ptr, ptr %6, align 8, !tbaa !5
  %2582 = getelementptr inbounds %struct.w2c_hermes, ptr %2581, i32 0, i32 6
  %2583 = load i32, ptr %32, align 4, !tbaa !9
  %2584 = zext i32 %2583 to i64
  %2585 = add i64 %2584, 8
  %2586 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2582, i64 noundef %2585, i32 noundef %2586)
  %2587 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2587, ptr %32, align 4, !tbaa !9
  %2588 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %2588, ptr %33, align 4, !tbaa !9
  %2589 = load ptr, ptr %6, align 8, !tbaa !5
  %2590 = getelementptr inbounds %struct.w2c_hermes, ptr %2589, i32 0, i32 6
  %2591 = load i32, ptr %32, align 4, !tbaa !9
  %2592 = zext i32 %2591 to i64
  %2593 = add i64 %2592, 12
  %2594 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2590, i64 noundef %2593, i32 noundef %2594)
  %2595 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2595, ptr %32, align 4, !tbaa !9
  %2596 = load i32, ptr %32, align 4, !tbaa !9
  %2597 = icmp ne i32 %2596, 0
  br i1 %2597, label %2598, label %2614

2598:                                             ; preds = %2578
  %2599 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2599, ptr %32, align 4, !tbaa !9
  %2600 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2600, ptr %33, align 4, !tbaa !9
  %2601 = load ptr, ptr %6, align 8, !tbaa !5
  %2602 = getelementptr inbounds %struct.w2c_hermes, ptr %2601, i32 0, i32 6
  %2603 = load i32, ptr %33, align 4, !tbaa !9
  %2604 = zext i32 %2603 to i64
  %2605 = call i32 @i32_load(ptr noundef %2602, i64 noundef %2604)
  store i32 %2605, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %34, align 4, !tbaa !9
  %2606 = load i32, ptr %34, align 4, !tbaa !9
  %2607 = load i32, ptr %33, align 4, !tbaa !9
  %2608 = add i32 %2607, %2606
  store i32 %2608, ptr %33, align 4, !tbaa !9
  %2609 = load ptr, ptr %6, align 8, !tbaa !5
  %2610 = getelementptr inbounds %struct.w2c_hermes, ptr %2609, i32 0, i32 6
  %2611 = load i32, ptr %32, align 4, !tbaa !9
  %2612 = zext i32 %2611 to i64
  %2613 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2610, i64 noundef %2612, i32 noundef %2613)
  br label %2614

2614:                                             ; preds = %2598, %2578
  %2615 = load double, ptr %29, align 8, !tbaa !13
  store double %2615, ptr %47, align 8, !tbaa !13
  %2616 = load double, ptr %28, align 8, !tbaa !13
  store double %2616, ptr %48, align 8, !tbaa !13
  %2617 = load double, ptr %48, align 8, !tbaa !13
  %2618 = load double, ptr %47, align 8, !tbaa !13
  %2619 = fsub double %2618, %2617
  store double %2619, ptr %47, align 8, !tbaa !13
  %2620 = load double, ptr %47, align 8, !tbaa !13
  store double %2620, ptr %29, align 8, !tbaa !13
  store double 0x41F0000000000000, ptr %48, align 8, !tbaa !13
  %2621 = load double, ptr %47, align 8, !tbaa !13
  %2622 = load double, ptr %48, align 8, !tbaa !13
  %2623 = fcmp olt double %2621, %2622
  %2624 = zext i1 %2623 to i32
  store i32 %2624, ptr %32, align 4, !tbaa !9
  %2625 = load double, ptr %29, align 8, !tbaa !13
  store double %2625, ptr %48, align 8, !tbaa !13
  store double 0.000000e+00, ptr %49, align 8, !tbaa !13
  %2626 = load double, ptr %48, align 8, !tbaa !13
  %2627 = load double, ptr %49, align 8, !tbaa !13
  %2628 = fcmp oge double %2626, %2627
  %2629 = zext i1 %2628 to i32
  store i32 %2629, ptr %33, align 4, !tbaa !9
  %2630 = load i32, ptr %33, align 4, !tbaa !9
  %2631 = load i32, ptr %32, align 4, !tbaa !9
  %2632 = and i32 %2631, %2630
  store i32 %2632, ptr %32, align 4, !tbaa !9
  %2633 = load i32, ptr %32, align 4, !tbaa !9
  %2634 = icmp ne i32 %2633, 0
  br i1 %2634, label %2635, label %2672

2635:                                             ; preds = %2614
  %2636 = load double, ptr %29, align 8, !tbaa !13
  store double %2636, ptr %47, align 8, !tbaa !13
  %2637 = load double, ptr %47, align 8, !tbaa !13
  %2638 = load double, ptr %47, align 8, !tbaa !13
  %2639 = fcmp une double %2637, %2638
  %2640 = xor i1 %2639, true
  %2641 = xor i1 %2640, true
  %2642 = zext i1 %2641 to i32
  %2643 = sext i32 %2642 to i64
  %2644 = call i64 @llvm.expect.i64(i64 %2643, i64 0)
  %2645 = icmp ne i64 %2644, 0
  br i1 %2645, label %2646, label %2648

2646:                                             ; preds = %2635
  call void @wasm_rt_trap(i32 noundef 4) #7
  unreachable

2647:                                             ; No predecessors!
  br label %2670

2648:                                             ; preds = %2635
  %2649 = load double, ptr %47, align 8, !tbaa !13
  %2650 = fcmp ogt double %2649, -1.000000e+00
  br i1 %2650, label %2651, label %2654

2651:                                             ; preds = %2648
  %2652 = load double, ptr %47, align 8, !tbaa !13
  %2653 = fcmp olt double %2652, 0x41F0000000000000
  br label %2654

2654:                                             ; preds = %2651, %2648
  %2655 = phi i1 [ false, %2648 ], [ %2653, %2651 ]
  %2656 = xor i1 %2655, true
  %2657 = xor i1 %2656, true
  %2658 = xor i1 %2657, true
  %2659 = zext i1 %2658 to i32
  %2660 = sext i32 %2659 to i64
  %2661 = call i64 @llvm.expect.i64(i64 %2660, i64 0)
  %2662 = icmp ne i64 %2661, 0
  br i1 %2662, label %2663, label %2665

2663:                                             ; preds = %2654
  call void @wasm_rt_trap(i32 noundef 2) #7
  unreachable

2664:                                             ; No predecessors!
  br label %2668

2665:                                             ; preds = %2654
  %2666 = load double, ptr %47, align 8, !tbaa !13
  %2667 = fptoui double %2666 to i32
  br label %2668

2668:                                             ; preds = %2665, %2664
  %2669 = phi i32 [ 0, %2664 ], [ %2667, %2665 ]
  br label %2670

2670:                                             ; preds = %2668, %2647
  %2671 = phi i32 [ 0, %2647 ], [ %2669, %2668 ]
  store i32 %2671, ptr %32, align 4, !tbaa !9
  br label %2673

2672:                                             ; preds = %2614
  store i32 0, ptr %32, align 4, !tbaa !9
  br label %2673

2673:                                             ; preds = %2672, %2670
  %2674 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2674, ptr %15, align 4, !tbaa !9
  %2675 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2675, ptr %32, align 4, !tbaa !9
  store i32 32, ptr %33, align 4, !tbaa !9
  %2676 = load i32, ptr %33, align 4, !tbaa !9
  %2677 = load i32, ptr %32, align 4, !tbaa !9
  %2678 = add i32 %2677, %2676
  store i32 %2678, ptr %32, align 4, !tbaa !9
  %2679 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2679, ptr %33, align 4, !tbaa !9
  %2680 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2680, ptr %34, align 4, !tbaa !9
  store i32 272, ptr %35, align 4, !tbaa !9
  %2681 = load i32, ptr %35, align 4, !tbaa !9
  %2682 = load i32, ptr %34, align 4, !tbaa !9
  %2683 = add i32 %2682, %2681
  store i32 %2683, ptr %34, align 4, !tbaa !9
  %2684 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2684, ptr %35, align 4, !tbaa !9
  store i32 24, ptr %36, align 4, !tbaa !9
  %2685 = load i32, ptr %36, align 4, !tbaa !9
  %2686 = load i32, ptr %35, align 4, !tbaa !9
  %2687 = add i32 %2686, %2685
  store i32 %2687, ptr %35, align 4, !tbaa !9
  %2688 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2688, ptr %36, align 4, !tbaa !9
  store i32 16, ptr %37, align 4, !tbaa !9
  %2689 = load i32, ptr %37, align 4, !tbaa !9
  %2690 = load i32, ptr %36, align 4, !tbaa !9
  %2691 = add i32 %2690, %2689
  store i32 %2691, ptr %36, align 4, !tbaa !9
  %2692 = load i64, ptr %27, align 8, !tbaa !11
  store i64 %2692, ptr %46, align 8, !tbaa !11
  %2693 = load i64, ptr %46, align 8, !tbaa !11
  %2694 = trunc i64 %2693 to i32
  store i32 %2694, ptr %37, align 4, !tbaa !9
  %2695 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %2695, ptr %18, align 4, !tbaa !9
  %2696 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2696, ptr %38, align 4, !tbaa !9
  store i32 8, ptr %39, align 4, !tbaa !9
  %2697 = load i32, ptr %39, align 4, !tbaa !9
  %2698 = load i32, ptr %38, align 4, !tbaa !9
  %2699 = add i32 %2698, %2697
  store i32 %2699, ptr %38, align 4, !tbaa !9
  %2700 = load double, ptr %28, align 8, !tbaa !13
  store double %2700, ptr %52, align 8, !tbaa !13
  store double 0x41F0000000000000, ptr %53, align 8, !tbaa !13
  %2701 = load double, ptr %52, align 8, !tbaa !13
  %2702 = load double, ptr %53, align 8, !tbaa !13
  %2703 = fcmp olt double %2701, %2702
  %2704 = zext i1 %2703 to i32
  store i32 %2704, ptr %39, align 4, !tbaa !9
  %2705 = load double, ptr %28, align 8, !tbaa !13
  store double %2705, ptr %53, align 8, !tbaa !13
  store double 0.000000e+00, ptr %54, align 8, !tbaa !13
  %2706 = load double, ptr %53, align 8, !tbaa !13
  %2707 = load double, ptr %54, align 8, !tbaa !13
  %2708 = fcmp oge double %2706, %2707
  %2709 = zext i1 %2708 to i32
  store i32 %2709, ptr %40, align 4, !tbaa !9
  %2710 = load i32, ptr %40, align 4, !tbaa !9
  %2711 = load i32, ptr %39, align 4, !tbaa !9
  %2712 = and i32 %2711, %2710
  store i32 %2712, ptr %39, align 4, !tbaa !9
  %2713 = load i32, ptr %39, align 4, !tbaa !9
  %2714 = icmp ne i32 %2713, 0
  br i1 %2714, label %2715, label %2752

2715:                                             ; preds = %2673
  %2716 = load double, ptr %28, align 8, !tbaa !13
  store double %2716, ptr %52, align 8, !tbaa !13
  %2717 = load double, ptr %52, align 8, !tbaa !13
  %2718 = load double, ptr %52, align 8, !tbaa !13
  %2719 = fcmp une double %2717, %2718
  %2720 = xor i1 %2719, true
  %2721 = xor i1 %2720, true
  %2722 = zext i1 %2721 to i32
  %2723 = sext i32 %2722 to i64
  %2724 = call i64 @llvm.expect.i64(i64 %2723, i64 0)
  %2725 = icmp ne i64 %2724, 0
  br i1 %2725, label %2726, label %2728

2726:                                             ; preds = %2715
  call void @wasm_rt_trap(i32 noundef 4) #7
  unreachable

2727:                                             ; No predecessors!
  br label %2750

2728:                                             ; preds = %2715
  %2729 = load double, ptr %52, align 8, !tbaa !13
  %2730 = fcmp ogt double %2729, -1.000000e+00
  br i1 %2730, label %2731, label %2734

2731:                                             ; preds = %2728
  %2732 = load double, ptr %52, align 8, !tbaa !13
  %2733 = fcmp olt double %2732, 0x41F0000000000000
  br label %2734

2734:                                             ; preds = %2731, %2728
  %2735 = phi i1 [ false, %2728 ], [ %2733, %2731 ]
  %2736 = xor i1 %2735, true
  %2737 = xor i1 %2736, true
  %2738 = xor i1 %2737, true
  %2739 = zext i1 %2738 to i32
  %2740 = sext i32 %2739 to i64
  %2741 = call i64 @llvm.expect.i64(i64 %2740, i64 0)
  %2742 = icmp ne i64 %2741, 0
  br i1 %2742, label %2743, label %2745

2743:                                             ; preds = %2734
  call void @wasm_rt_trap(i32 noundef 2) #7
  unreachable

2744:                                             ; No predecessors!
  br label %2748

2745:                                             ; preds = %2734
  %2746 = load double, ptr %52, align 8, !tbaa !13
  %2747 = fptoui double %2746 to i32
  br label %2748

2748:                                             ; preds = %2745, %2744
  %2749 = phi i32 [ 0, %2744 ], [ %2747, %2745 ]
  br label %2750

2750:                                             ; preds = %2748, %2727
  %2751 = phi i32 [ 0, %2727 ], [ %2749, %2748 ]
  store i32 %2751, ptr %39, align 4, !tbaa !9
  br label %2753

2752:                                             ; preds = %2673
  store i32 0, ptr %39, align 4, !tbaa !9
  br label %2753

2753:                                             ; preds = %2752, %2750
  %2754 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %2754, ptr %10, align 4, !tbaa !9
  %2755 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %2755, ptr %40, align 4, !tbaa !9
  %2756 = load ptr, ptr %6, align 8, !tbaa !5
  %2757 = load i32, ptr %32, align 4, !tbaa !9
  %2758 = load i32, ptr %33, align 4, !tbaa !9
  %2759 = load i32, ptr %34, align 4, !tbaa !9
  %2760 = load i32, ptr %35, align 4, !tbaa !9
  %2761 = load i32, ptr %36, align 4, !tbaa !9
  %2762 = load i32, ptr %37, align 4, !tbaa !9
  %2763 = load i32, ptr %38, align 4, !tbaa !9
  %2764 = load i32, ptr %39, align 4, !tbaa !9
  %2765 = load i32, ptr %40, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AarrayCopyHelper0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AGCScope0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSArray0x3E0x2C0x20unsigned0x20int0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSArray0x3E0x2C0x20unsigned0x20int0x2C0x20unsigned0x20int0x29(ptr noundef %2756, i32 noundef %2757, i32 noundef %2758, i32 noundef %2759, i32 noundef %2760, i32 noundef %2761, i32 noundef %2762, i32 noundef %2763, i32 noundef %2764, i32 noundef %2765)
  %2766 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2766, ptr %32, align 4, !tbaa !9
  %2767 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2767, ptr %33, align 4, !tbaa !9
  %2768 = load ptr, ptr %6, align 8, !tbaa !5
  %2769 = getelementptr inbounds %struct.w2c_hermes, ptr %2768, i32 0, i32 6
  %2770 = load i32, ptr %33, align 4, !tbaa !9
  %2771 = zext i32 %2770 to i64
  %2772 = add i64 %2771, 40
  %2773 = call i64 @i64_load(ptr noundef %2769, i64 noundef %2772)
  store i64 %2773, ptr %43, align 8, !tbaa !11
  %2774 = load ptr, ptr %6, align 8, !tbaa !5
  %2775 = getelementptr inbounds %struct.w2c_hermes, ptr %2774, i32 0, i32 6
  %2776 = load i32, ptr %32, align 4, !tbaa !9
  %2777 = zext i32 %2776 to i64
  %2778 = add i64 %2777, 128
  %2779 = load i64, ptr %43, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2775, i64 noundef %2778, i64 noundef %2779)
  %2780 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2780, ptr %32, align 4, !tbaa !9
  %2781 = load ptr, ptr %6, align 8, !tbaa !5
  %2782 = getelementptr inbounds %struct.w2c_hermes, ptr %2781, i32 0, i32 6
  %2783 = load i32, ptr %32, align 4, !tbaa !9
  %2784 = zext i32 %2783 to i64
  %2785 = add i64 %2784, 32
  %2786 = call i32 @i32_load(ptr noundef %2782, i64 noundef %2785)
  store i32 %2786, ptr %32, align 4, !tbaa !9
  %2787 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2787, ptr %9, align 4, !tbaa !9
  %2788 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2788, ptr %32, align 4, !tbaa !9
  %2789 = load i32, ptr %32, align 4, !tbaa !9
  %2790 = icmp ne i32 %2789, 0
  br i1 %2790, label %2791, label %2807

2791:                                             ; preds = %2753
  %2792 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2792, ptr %32, align 4, !tbaa !9
  %2793 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2793, ptr %33, align 4, !tbaa !9
  %2794 = load ptr, ptr %6, align 8, !tbaa !5
  %2795 = getelementptr inbounds %struct.w2c_hermes, ptr %2794, i32 0, i32 6
  %2796 = load i32, ptr %33, align 4, !tbaa !9
  %2797 = zext i32 %2796 to i64
  %2798 = call i32 @i32_load(ptr noundef %2795, i64 noundef %2797)
  store i32 %2798, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %34, align 4, !tbaa !9
  %2799 = load i32, ptr %34, align 4, !tbaa !9
  %2800 = load i32, ptr %33, align 4, !tbaa !9
  %2801 = sub i32 %2800, %2799
  store i32 %2801, ptr %33, align 4, !tbaa !9
  %2802 = load ptr, ptr %6, align 8, !tbaa !5
  %2803 = getelementptr inbounds %struct.w2c_hermes, ptr %2802, i32 0, i32 6
  %2804 = load i32, ptr %32, align 4, !tbaa !9
  %2805 = zext i32 %2804 to i64
  %2806 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2803, i64 noundef %2805, i32 noundef %2806)
  br label %2807

2807:                                             ; preds = %2791, %2753
  %2808 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %2808, ptr %32, align 4, !tbaa !9
  %2809 = load i32, ptr %32, align 4, !tbaa !9
  %2810 = icmp ne i32 %2809, 0
  %2811 = xor i1 %2810, true
  %2812 = zext i1 %2811 to i32
  store i32 %2812, ptr %32, align 4, !tbaa !9
  %2813 = load i32, ptr %32, align 4, !tbaa !9
  %2814 = icmp ne i32 %2813, 0
  br i1 %2814, label %2815, label %2831

2815:                                             ; preds = %2807
  %2816 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2816, ptr %32, align 4, !tbaa !9
  %2817 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2817, ptr %33, align 4, !tbaa !9
  %2818 = load ptr, ptr %6, align 8, !tbaa !5
  %2819 = getelementptr inbounds %struct.w2c_hermes, ptr %2818, i32 0, i32 6
  %2820 = load i32, ptr %33, align 4, !tbaa !9
  %2821 = zext i32 %2820 to i64
  %2822 = call i32 @i32_load(ptr noundef %2819, i64 noundef %2821)
  store i32 %2822, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %34, align 4, !tbaa !9
  %2823 = load i32, ptr %34, align 4, !tbaa !9
  %2824 = load i32, ptr %33, align 4, !tbaa !9
  %2825 = sub i32 %2824, %2823
  store i32 %2825, ptr %33, align 4, !tbaa !9
  %2826 = load ptr, ptr %6, align 8, !tbaa !5
  %2827 = getelementptr inbounds %struct.w2c_hermes, ptr %2826, i32 0, i32 6
  %2828 = load i32, ptr %32, align 4, !tbaa !9
  %2829 = zext i32 %2828 to i64
  %2830 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2827, i64 noundef %2829, i32 noundef %2830)
  br label %2831

2831:                                             ; preds = %2815, %2807
  %2832 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2832, ptr %32, align 4, !tbaa !9
  %2833 = load i32, ptr %32, align 4, !tbaa !9
  %2834 = icmp ne i32 %2833, 0
  br i1 %2834, label %2835, label %2851

2835:                                             ; preds = %2831
  %2836 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2836, ptr %32, align 4, !tbaa !9
  %2837 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2837, ptr %33, align 4, !tbaa !9
  %2838 = load ptr, ptr %6, align 8, !tbaa !5
  %2839 = getelementptr inbounds %struct.w2c_hermes, ptr %2838, i32 0, i32 6
  %2840 = load i32, ptr %33, align 4, !tbaa !9
  %2841 = zext i32 %2840 to i64
  %2842 = call i32 @i32_load(ptr noundef %2839, i64 noundef %2841)
  store i32 %2842, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %34, align 4, !tbaa !9
  %2843 = load i32, ptr %34, align 4, !tbaa !9
  %2844 = load i32, ptr %33, align 4, !tbaa !9
  %2845 = sub i32 %2844, %2843
  store i32 %2845, ptr %33, align 4, !tbaa !9
  %2846 = load ptr, ptr %6, align 8, !tbaa !5
  %2847 = getelementptr inbounds %struct.w2c_hermes, ptr %2846, i32 0, i32 6
  %2848 = load i32, ptr %32, align 4, !tbaa !9
  %2849 = zext i32 %2848 to i64
  %2850 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2847, i64 noundef %2849, i32 noundef %2850)
  br label %2851

2851:                                             ; preds = %2835, %2831
  %2852 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2852, ptr %32, align 4, !tbaa !9
  %2853 = load i32, ptr %32, align 4, !tbaa !9
  switch i32 %2853, label %2856 [
    i32 0, label %2854
    i32 1, label %2855
  ]

2854:                                             ; preds = %2851
  br label %2857

2855:                                             ; preds = %2851
  br label %2882

2856:                                             ; preds = %2851
  br label %2864

2857:                                             ; preds = %2854
  %2858 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2858, ptr %32, align 4, !tbaa !9
  store i32 0, ptr %33, align 4, !tbaa !9
  %2859 = load ptr, ptr %6, align 8, !tbaa !5
  %2860 = getelementptr inbounds %struct.w2c_hermes, ptr %2859, i32 0, i32 6
  %2861 = load i32, ptr %32, align 4, !tbaa !9
  %2862 = zext i32 %2861 to i64
  %2863 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2860, i64 noundef %2862, i32 noundef %2863)
  br label %2902

2864:                                             ; preds = %2856
  store i32 0, ptr %32, align 4, !tbaa !9
  %2865 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2865, ptr %11, align 4, !tbaa !9
  store i32 109639, ptr %33, align 4, !tbaa !9
  %2866 = load i32, ptr %33, align 4, !tbaa !9
  %2867 = load i32, ptr %32, align 4, !tbaa !9
  %2868 = add i32 %2867, %2866
  store i32 %2868, ptr %32, align 4, !tbaa !9
  %2869 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2869, ptr %33, align 4, !tbaa !9
  store i32 77564, ptr %34, align 4, !tbaa !9
  %2870 = load i32, ptr %34, align 4, !tbaa !9
  %2871 = load i32, ptr %33, align 4, !tbaa !9
  %2872 = add i32 %2871, %2870
  store i32 %2872, ptr %33, align 4, !tbaa !9
  store i32 179, ptr %34, align 4, !tbaa !9
  %2873 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2873, ptr %35, align 4, !tbaa !9
  store i32 90402, ptr %36, align 4, !tbaa !9
  %2874 = load i32, ptr %36, align 4, !tbaa !9
  %2875 = load i32, ptr %35, align 4, !tbaa !9
  %2876 = add i32 %2875, %2874
  store i32 %2876, ptr %35, align 4, !tbaa !9
  %2877 = load ptr, ptr %6, align 8, !tbaa !5
  %2878 = load i32, ptr %32, align 4, !tbaa !9
  %2879 = load i32, ptr %33, align 4, !tbaa !9
  %2880 = load i32, ptr %34, align 4, !tbaa !9
  %2881 = load i32, ptr %35, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %2877, i32 noundef %2878, i32 noundef %2879, i32 noundef %2880, i32 noundef %2881)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

2882:                                             ; preds = %2855
  %2883 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2883, ptr %32, align 4, !tbaa !9
  %2884 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %2884, ptr %33, align 4, !tbaa !9
  %2885 = load ptr, ptr %6, align 8, !tbaa !5
  %2886 = getelementptr inbounds %struct.w2c_hermes, ptr %2885, i32 0, i32 6
  %2887 = load i32, ptr %33, align 4, !tbaa !9
  %2888 = zext i32 %2887 to i64
  %2889 = call i64 @i64_load(ptr noundef %2886, i64 noundef %2888)
  store i64 %2889, ptr %43, align 8, !tbaa !11
  %2890 = load ptr, ptr %6, align 8, !tbaa !5
  %2891 = getelementptr inbounds %struct.w2c_hermes, ptr %2890, i32 0, i32 6
  %2892 = load i32, ptr %32, align 4, !tbaa !9
  %2893 = zext i32 %2892 to i64
  %2894 = add i64 %2893, 8
  %2895 = load i64, ptr %43, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2891, i64 noundef %2894, i64 noundef %2895)
  %2896 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2896, ptr %32, align 4, !tbaa !9
  store i32 1, ptr %33, align 4, !tbaa !9
  %2897 = load ptr, ptr %6, align 8, !tbaa !5
  %2898 = getelementptr inbounds %struct.w2c_hermes, ptr %2897, i32 0, i32 6
  %2899 = load i32, ptr %32, align 4, !tbaa !9
  %2900 = zext i32 %2899 to i64
  %2901 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2898, i64 noundef %2900, i32 noundef %2901)
  br label %2902

2902:                                             ; preds = %2882, %2857, %2463, %2098
  %2903 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %2903, ptr %32, align 4, !tbaa !9
  %2904 = load i32, ptr %32, align 4, !tbaa !9
  %2905 = icmp ne i32 %2904, 0
  %2906 = xor i1 %2905, true
  %2907 = zext i1 %2906 to i32
  store i32 %2907, ptr %32, align 4, !tbaa !9
  %2908 = load i32, ptr %32, align 4, !tbaa !9
  %2909 = icmp ne i32 %2908, 0
  br i1 %2909, label %2910, label %2926

2910:                                             ; preds = %2902
  %2911 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2911, ptr %32, align 4, !tbaa !9
  %2912 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2912, ptr %33, align 4, !tbaa !9
  %2913 = load ptr, ptr %6, align 8, !tbaa !5
  %2914 = getelementptr inbounds %struct.w2c_hermes, ptr %2913, i32 0, i32 6
  %2915 = load i32, ptr %33, align 4, !tbaa !9
  %2916 = zext i32 %2915 to i64
  %2917 = call i32 @i32_load(ptr noundef %2914, i64 noundef %2916)
  store i32 %2917, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %34, align 4, !tbaa !9
  %2918 = load i32, ptr %34, align 4, !tbaa !9
  %2919 = load i32, ptr %33, align 4, !tbaa !9
  %2920 = sub i32 %2919, %2918
  store i32 %2920, ptr %33, align 4, !tbaa !9
  %2921 = load ptr, ptr %6, align 8, !tbaa !5
  %2922 = getelementptr inbounds %struct.w2c_hermes, ptr %2921, i32 0, i32 6
  %2923 = load i32, ptr %32, align 4, !tbaa !9
  %2924 = zext i32 %2923 to i64
  %2925 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2922, i64 noundef %2924, i32 noundef %2925)
  br label %2926

2926:                                             ; preds = %2910, %2902
  %2927 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2927, ptr %32, align 4, !tbaa !9
  %2928 = load ptr, ptr %6, align 8, !tbaa !5
  %2929 = getelementptr inbounds %struct.w2c_hermes, ptr %2928, i32 0, i32 6
  %2930 = load i32, ptr %32, align 4, !tbaa !9
  %2931 = zext i32 %2930 to i64
  %2932 = call i32 @i32_load(ptr noundef %2929, i64 noundef %2931)
  store i32 %2932, ptr %32, align 4, !tbaa !9
  %2933 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2933, ptr %13, align 4, !tbaa !9
  %2934 = load i32, ptr %32, align 4, !tbaa !9
  %2935 = icmp ne i32 %2934, 0
  br i1 %2935, label %2936, label %2952

2936:                                             ; preds = %2926
  %2937 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2937, ptr %32, align 4, !tbaa !9
  %2938 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2938, ptr %33, align 4, !tbaa !9
  %2939 = load ptr, ptr %6, align 8, !tbaa !5
  %2940 = getelementptr inbounds %struct.w2c_hermes, ptr %2939, i32 0, i32 6
  %2941 = load i32, ptr %33, align 4, !tbaa !9
  %2942 = zext i32 %2941 to i64
  %2943 = call i32 @i32_load(ptr noundef %2940, i64 noundef %2942)
  store i32 %2943, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %34, align 4, !tbaa !9
  %2944 = load i32, ptr %34, align 4, !tbaa !9
  %2945 = load i32, ptr %33, align 4, !tbaa !9
  %2946 = sub i32 %2945, %2944
  store i32 %2946, ptr %33, align 4, !tbaa !9
  %2947 = load ptr, ptr %6, align 8, !tbaa !5
  %2948 = getelementptr inbounds %struct.w2c_hermes, ptr %2947, i32 0, i32 6
  %2949 = load i32, ptr %32, align 4, !tbaa !9
  %2950 = zext i32 %2949 to i64
  %2951 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2948, i64 noundef %2950, i32 noundef %2951)
  br label %2952

2952:                                             ; preds = %2936, %2926
  %2953 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2953, ptr %32, align 4, !tbaa !9
  %2954 = load i32, ptr %32, align 4, !tbaa !9
  %2955 = icmp ne i32 %2954, 0
  %2956 = xor i1 %2955, true
  %2957 = zext i1 %2956 to i32
  store i32 %2957, ptr %32, align 4, !tbaa !9
  %2958 = load i32, ptr %32, align 4, !tbaa !9
  %2959 = icmp ne i32 %2958, 0
  br i1 %2959, label %2960, label %2961

2960:                                             ; preds = %2952
  br label %2977

2961:                                             ; preds = %2952
  %2962 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2962, ptr %32, align 4, !tbaa !9
  %2963 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2963, ptr %33, align 4, !tbaa !9
  %2964 = load ptr, ptr %6, align 8, !tbaa !5
  %2965 = getelementptr inbounds %struct.w2c_hermes, ptr %2964, i32 0, i32 6
  %2966 = load i32, ptr %33, align 4, !tbaa !9
  %2967 = zext i32 %2966 to i64
  %2968 = call i32 @i32_load(ptr noundef %2965, i64 noundef %2967)
  store i32 %2968, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %34, align 4, !tbaa !9
  %2969 = load i32, ptr %34, align 4, !tbaa !9
  %2970 = load i32, ptr %33, align 4, !tbaa !9
  %2971 = sub i32 %2970, %2969
  store i32 %2971, ptr %33, align 4, !tbaa !9
  %2972 = load ptr, ptr %6, align 8, !tbaa !5
  %2973 = getelementptr inbounds %struct.w2c_hermes, ptr %2972, i32 0, i32 6
  %2974 = load i32, ptr %32, align 4, !tbaa !9
  %2975 = zext i32 %2974 to i64
  %2976 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2973, i64 noundef %2975, i32 noundef %2976)
  br label %2977

2977:                                             ; preds = %2961, %2960, %1427
  %2978 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2978, ptr %32, align 4, !tbaa !9
  %2979 = load ptr, ptr %6, align 8, !tbaa !5
  %2980 = getelementptr inbounds %struct.w2c_hermes, ptr %2979, i32 0, i32 6
  %2981 = load i32, ptr %32, align 4, !tbaa !9
  %2982 = zext i32 %2981 to i64
  %2983 = add i64 %2982, 112
  %2984 = call i32 @i32_load(ptr noundef %2980, i64 noundef %2983)
  store i32 %2984, ptr %32, align 4, !tbaa !9
  %2985 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %2985, ptr %12, align 4, !tbaa !9
  %2986 = load i32, ptr %32, align 4, !tbaa !9
  %2987 = icmp ne i32 %2986, 0
  %2988 = xor i1 %2987, true
  %2989 = zext i1 %2988 to i32
  store i32 %2989, ptr %32, align 4, !tbaa !9
  %2990 = load i32, ptr %32, align 4, !tbaa !9
  %2991 = icmp ne i32 %2990, 0
  br i1 %2991, label %2992, label %2993

2992:                                             ; preds = %2977
  br label %3009

2993:                                             ; preds = %2977
  %2994 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2994, ptr %32, align 4, !tbaa !9
  %2995 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2995, ptr %33, align 4, !tbaa !9
  %2996 = load ptr, ptr %6, align 8, !tbaa !5
  %2997 = getelementptr inbounds %struct.w2c_hermes, ptr %2996, i32 0, i32 6
  %2998 = load i32, ptr %33, align 4, !tbaa !9
  %2999 = zext i32 %2998 to i64
  %3000 = call i32 @i32_load(ptr noundef %2997, i64 noundef %2999)
  store i32 %3000, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %34, align 4, !tbaa !9
  %3001 = load i32, ptr %34, align 4, !tbaa !9
  %3002 = load i32, ptr %33, align 4, !tbaa !9
  %3003 = sub i32 %3002, %3001
  store i32 %3003, ptr %33, align 4, !tbaa !9
  %3004 = load ptr, ptr %6, align 8, !tbaa !5
  %3005 = getelementptr inbounds %struct.w2c_hermes, ptr %3004, i32 0, i32 6
  %3006 = load i32, ptr %32, align 4, !tbaa !9
  %3007 = zext i32 %3006 to i64
  %3008 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3005, i64 noundef %3007, i32 noundef %3008)
  br label %3009

3009:                                             ; preds = %2993, %2992, %1381, %1258, %1069, %806, %683
  %3010 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %3010, ptr %32, align 4, !tbaa !9
  %3011 = load i32, ptr %32, align 4, !tbaa !9
  %3012 = icmp ne i32 %3011, 0
  %3013 = xor i1 %3012, true
  %3014 = zext i1 %3013 to i32
  store i32 %3014, ptr %32, align 4, !tbaa !9
  %3015 = load i32, ptr %32, align 4, !tbaa !9
  %3016 = icmp ne i32 %3015, 0
  br i1 %3016, label %3017, label %3033

3017:                                             ; preds = %3009
  %3018 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %3018, ptr %32, align 4, !tbaa !9
  %3019 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %3019, ptr %33, align 4, !tbaa !9
  %3020 = load ptr, ptr %6, align 8, !tbaa !5
  %3021 = getelementptr inbounds %struct.w2c_hermes, ptr %3020, i32 0, i32 6
  %3022 = load i32, ptr %33, align 4, !tbaa !9
  %3023 = zext i32 %3022 to i64
  %3024 = call i32 @i32_load(ptr noundef %3021, i64 noundef %3023)
  store i32 %3024, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %34, align 4, !tbaa !9
  %3025 = load i32, ptr %34, align 4, !tbaa !9
  %3026 = load i32, ptr %33, align 4, !tbaa !9
  %3027 = sub i32 %3026, %3025
  store i32 %3027, ptr %33, align 4, !tbaa !9
  %3028 = load ptr, ptr %6, align 8, !tbaa !5
  %3029 = getelementptr inbounds %struct.w2c_hermes, ptr %3028, i32 0, i32 6
  %3030 = load i32, ptr %32, align 4, !tbaa !9
  %3031 = zext i32 %3030 to i64
  %3032 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3029, i64 noundef %3031, i32 noundef %3032)
  br label %3033

3033:                                             ; preds = %3017, %3009
  %3034 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %3034, ptr %32, align 4, !tbaa !9
  %3035 = load ptr, ptr %6, align 8, !tbaa !5
  %3036 = getelementptr inbounds %struct.w2c_hermes, ptr %3035, i32 0, i32 6
  %3037 = load i32, ptr %32, align 4, !tbaa !9
  %3038 = zext i32 %3037 to i64
  %3039 = call i32 @i32_load(ptr noundef %3036, i64 noundef %3038)
  store i32 %3039, ptr %32, align 4, !tbaa !9
  %3040 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3040, ptr %12, align 4, !tbaa !9
  %3041 = load i32, ptr %32, align 4, !tbaa !9
  %3042 = icmp ne i32 %3041, 0
  %3043 = xor i1 %3042, true
  %3044 = zext i1 %3043 to i32
  store i32 %3044, ptr %32, align 4, !tbaa !9
  %3045 = load i32, ptr %32, align 4, !tbaa !9
  %3046 = icmp ne i32 %3045, 0
  br i1 %3046, label %3047, label %3048

3047:                                             ; preds = %3033
  br label %3064

3048:                                             ; preds = %3033
  %3049 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %3049, ptr %32, align 4, !tbaa !9
  %3050 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %3050, ptr %33, align 4, !tbaa !9
  %3051 = load ptr, ptr %6, align 8, !tbaa !5
  %3052 = getelementptr inbounds %struct.w2c_hermes, ptr %3051, i32 0, i32 6
  %3053 = load i32, ptr %33, align 4, !tbaa !9
  %3054 = zext i32 %3053 to i64
  %3055 = call i32 @i32_load(ptr noundef %3052, i64 noundef %3054)
  store i32 %3055, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %34, align 4, !tbaa !9
  %3056 = load i32, ptr %34, align 4, !tbaa !9
  %3057 = load i32, ptr %33, align 4, !tbaa !9
  %3058 = sub i32 %3057, %3056
  store i32 %3058, ptr %33, align 4, !tbaa !9
  %3059 = load ptr, ptr %6, align 8, !tbaa !5
  %3060 = getelementptr inbounds %struct.w2c_hermes, ptr %3059, i32 0, i32 6
  %3061 = load i32, ptr %32, align 4, !tbaa !9
  %3062 = zext i32 %3061 to i64
  %3063 = load i32, ptr %33, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3060, i64 noundef %3062, i32 noundef %3063)
  br label %3064

3064:                                             ; preds = %3048, %3047, %247
  %3065 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3065, ptr %32, align 4, !tbaa !9
  store i32 272, ptr %33, align 4, !tbaa !9
  %3066 = load i32, ptr %33, align 4, !tbaa !9
  %3067 = load i32, ptr %32, align 4, !tbaa !9
  %3068 = add i32 %3067, %3066
  store i32 %3068, ptr %32, align 4, !tbaa !9
  %3069 = load ptr, ptr %6, align 8, !tbaa !5
  %3070 = load i32, ptr %32, align 4, !tbaa !9
  %3071 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A0x7EGCScope0x280x29(ptr noundef %3069, i32 noundef %3070)
  store i32 %3071, ptr %32, align 4, !tbaa !9
  %3072 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3072, ptr %32, align 4, !tbaa !9
  store i32 464, ptr %33, align 4, !tbaa !9
  %3073 = load i32, ptr %33, align 4, !tbaa !9
  %3074 = load i32, ptr %32, align 4, !tbaa !9
  %3075 = add i32 %3074, %3073
  store i32 %3075, ptr %32, align 4, !tbaa !9
  %3076 = load i32, ptr %32, align 4, !tbaa !9
  %3077 = load ptr, ptr %6, align 8, !tbaa !5
  %3078 = getelementptr inbounds %struct.w2c_hermes, ptr %3077, i32 0, i32 3
  store i32 %3076, ptr %3078, align 8, !tbaa !15
  br label %3349

3079:                                             ; preds = %262
  store i32 0, ptr %32, align 4, !tbaa !9
  %3080 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3080, ptr %11, align 4, !tbaa !9
  store i32 109639, ptr %33, align 4, !tbaa !9
  %3081 = load i32, ptr %33, align 4, !tbaa !9
  %3082 = load i32, ptr %32, align 4, !tbaa !9
  %3083 = add i32 %3082, %3081
  store i32 %3083, ptr %32, align 4, !tbaa !9
  %3084 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3084, ptr %33, align 4, !tbaa !9
  store i32 77564, ptr %34, align 4, !tbaa !9
  %3085 = load i32, ptr %34, align 4, !tbaa !9
  %3086 = load i32, ptr %33, align 4, !tbaa !9
  %3087 = add i32 %3086, %3085
  store i32 %3087, ptr %33, align 4, !tbaa !9
  store i32 179, ptr %34, align 4, !tbaa !9
  %3088 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3088, ptr %35, align 4, !tbaa !9
  store i32 90402, ptr %36, align 4, !tbaa !9
  %3089 = load i32, ptr %36, align 4, !tbaa !9
  %3090 = load i32, ptr %35, align 4, !tbaa !9
  %3091 = add i32 %3090, %3089
  store i32 %3091, ptr %35, align 4, !tbaa !9
  %3092 = load ptr, ptr %6, align 8, !tbaa !5
  %3093 = load i32, ptr %32, align 4, !tbaa !9
  %3094 = load i32, ptr %33, align 4, !tbaa !9
  %3095 = load i32, ptr %34, align 4, !tbaa !9
  %3096 = load i32, ptr %35, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3092, i32 noundef %3093, i32 noundef %3094, i32 noundef %3095, i32 noundef %3096)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3097:                                             ; preds = %278
  store i32 0, ptr %32, align 4, !tbaa !9
  %3098 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3098, ptr %11, align 4, !tbaa !9
  store i32 146777, ptr %33, align 4, !tbaa !9
  %3099 = load i32, ptr %33, align 4, !tbaa !9
  %3100 = load i32, ptr %32, align 4, !tbaa !9
  %3101 = add i32 %3100, %3099
  store i32 %3101, ptr %32, align 4, !tbaa !9
  %3102 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3102, ptr %33, align 4, !tbaa !9
  store i32 82692, ptr %34, align 4, !tbaa !9
  %3103 = load i32, ptr %34, align 4, !tbaa !9
  %3104 = load i32, ptr %33, align 4, !tbaa !9
  %3105 = add i32 %3104, %3103
  store i32 %3105, ptr %33, align 4, !tbaa !9
  store i32 43, ptr %34, align 4, !tbaa !9
  %3106 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3106, ptr %35, align 4, !tbaa !9
  store i32 24718, ptr %36, align 4, !tbaa !9
  %3107 = load i32, ptr %36, align 4, !tbaa !9
  %3108 = load i32, ptr %35, align 4, !tbaa !9
  %3109 = add i32 %3108, %3107
  store i32 %3109, ptr %35, align 4, !tbaa !9
  %3110 = load ptr, ptr %6, align 8, !tbaa !5
  %3111 = load i32, ptr %32, align 4, !tbaa !9
  %3112 = load i32, ptr %33, align 4, !tbaa !9
  %3113 = load i32, ptr %34, align 4, !tbaa !9
  %3114 = load i32, ptr %35, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3110, i32 noundef %3111, i32 noundef %3112, i32 noundef %3113, i32 noundef %3114)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3115:                                             ; preds = %290
  store i32 0, ptr %32, align 4, !tbaa !9
  %3116 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3116, ptr %11, align 4, !tbaa !9
  store i32 147142, ptr %33, align 4, !tbaa !9
  %3117 = load i32, ptr %33, align 4, !tbaa !9
  %3118 = load i32, ptr %32, align 4, !tbaa !9
  %3119 = add i32 %3118, %3117
  store i32 %3119, ptr %32, align 4, !tbaa !9
  %3120 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3120, ptr %33, align 4, !tbaa !9
  store i32 82611, ptr %34, align 4, !tbaa !9
  %3121 = load i32, ptr %34, align 4, !tbaa !9
  %3122 = load i32, ptr %33, align 4, !tbaa !9
  %3123 = add i32 %3122, %3121
  store i32 %3123, ptr %33, align 4, !tbaa !9
  store i32 106, ptr %34, align 4, !tbaa !9
  %3124 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3124, ptr %35, align 4, !tbaa !9
  store i32 28119, ptr %36, align 4, !tbaa !9
  %3125 = load i32, ptr %36, align 4, !tbaa !9
  %3126 = load i32, ptr %35, align 4, !tbaa !9
  %3127 = add i32 %3126, %3125
  store i32 %3127, ptr %35, align 4, !tbaa !9
  %3128 = load ptr, ptr %6, align 8, !tbaa !5
  %3129 = load i32, ptr %32, align 4, !tbaa !9
  %3130 = load i32, ptr %33, align 4, !tbaa !9
  %3131 = load i32, ptr %34, align 4, !tbaa !9
  %3132 = load i32, ptr %35, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3128, i32 noundef %3129, i32 noundef %3130, i32 noundef %3131, i32 noundef %3132)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3133:                                             ; preds = %307
  store i32 0, ptr %32, align 4, !tbaa !9
  %3134 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3134, ptr %11, align 4, !tbaa !9
  store i32 205012, ptr %33, align 4, !tbaa !9
  %3135 = load i32, ptr %33, align 4, !tbaa !9
  %3136 = load i32, ptr %32, align 4, !tbaa !9
  %3137 = add i32 %3136, %3135
  store i32 %3137, ptr %32, align 4, !tbaa !9
  %3138 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3138, ptr %33, align 4, !tbaa !9
  store i32 82611, ptr %34, align 4, !tbaa !9
  %3139 = load i32, ptr %34, align 4, !tbaa !9
  %3140 = load i32, ptr %33, align 4, !tbaa !9
  %3141 = add i32 %3140, %3139
  store i32 %3141, ptr %33, align 4, !tbaa !9
  store i32 255, ptr %34, align 4, !tbaa !9
  %3142 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3142, ptr %35, align 4, !tbaa !9
  store i32 24720, ptr %36, align 4, !tbaa !9
  %3143 = load i32, ptr %36, align 4, !tbaa !9
  %3144 = load i32, ptr %35, align 4, !tbaa !9
  %3145 = add i32 %3144, %3143
  store i32 %3145, ptr %35, align 4, !tbaa !9
  %3146 = load ptr, ptr %6, align 8, !tbaa !5
  %3147 = load i32, ptr %32, align 4, !tbaa !9
  %3148 = load i32, ptr %33, align 4, !tbaa !9
  %3149 = load i32, ptr %34, align 4, !tbaa !9
  %3150 = load i32, ptr %35, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3146, i32 noundef %3147, i32 noundef %3148, i32 noundef %3149, i32 noundef %3150)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3151:                                             ; preds = %352
  store i32 0, ptr %32, align 4, !tbaa !9
  %3152 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3152, ptr %11, align 4, !tbaa !9
  store i32 147142, ptr %33, align 4, !tbaa !9
  %3153 = load i32, ptr %33, align 4, !tbaa !9
  %3154 = load i32, ptr %32, align 4, !tbaa !9
  %3155 = add i32 %3154, %3153
  store i32 %3155, ptr %32, align 4, !tbaa !9
  %3156 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3156, ptr %33, align 4, !tbaa !9
  store i32 82611, ptr %34, align 4, !tbaa !9
  %3157 = load i32, ptr %34, align 4, !tbaa !9
  %3158 = load i32, ptr %33, align 4, !tbaa !9
  %3159 = add i32 %3158, %3157
  store i32 %3159, ptr %33, align 4, !tbaa !9
  store i32 106, ptr %34, align 4, !tbaa !9
  %3160 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3160, ptr %35, align 4, !tbaa !9
  store i32 28119, ptr %36, align 4, !tbaa !9
  %3161 = load i32, ptr %36, align 4, !tbaa !9
  %3162 = load i32, ptr %35, align 4, !tbaa !9
  %3163 = add i32 %3162, %3161
  store i32 %3163, ptr %35, align 4, !tbaa !9
  %3164 = load ptr, ptr %6, align 8, !tbaa !5
  %3165 = load i32, ptr %32, align 4, !tbaa !9
  %3166 = load i32, ptr %33, align 4, !tbaa !9
  %3167 = load i32, ptr %34, align 4, !tbaa !9
  %3168 = load i32, ptr %35, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3164, i32 noundef %3165, i32 noundef %3166, i32 noundef %3167, i32 noundef %3168)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3169:                                             ; preds = %418
  store i32 0, ptr %32, align 4, !tbaa !9
  %3170 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3170, ptr %11, align 4, !tbaa !9
  store i32 146777, ptr %33, align 4, !tbaa !9
  %3171 = load i32, ptr %33, align 4, !tbaa !9
  %3172 = load i32, ptr %32, align 4, !tbaa !9
  %3173 = add i32 %3172, %3171
  store i32 %3173, ptr %32, align 4, !tbaa !9
  %3174 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3174, ptr %33, align 4, !tbaa !9
  store i32 82692, ptr %34, align 4, !tbaa !9
  %3175 = load i32, ptr %34, align 4, !tbaa !9
  %3176 = load i32, ptr %33, align 4, !tbaa !9
  %3177 = add i32 %3176, %3175
  store i32 %3177, ptr %33, align 4, !tbaa !9
  store i32 61, ptr %34, align 4, !tbaa !9
  %3178 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3178, ptr %35, align 4, !tbaa !9
  store i32 72547, ptr %36, align 4, !tbaa !9
  %3179 = load i32, ptr %36, align 4, !tbaa !9
  %3180 = load i32, ptr %35, align 4, !tbaa !9
  %3181 = add i32 %3180, %3179
  store i32 %3181, ptr %35, align 4, !tbaa !9
  %3182 = load ptr, ptr %6, align 8, !tbaa !5
  %3183 = load i32, ptr %32, align 4, !tbaa !9
  %3184 = load i32, ptr %33, align 4, !tbaa !9
  %3185 = load i32, ptr %34, align 4, !tbaa !9
  %3186 = load i32, ptr %35, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3182, i32 noundef %3183, i32 noundef %3184, i32 noundef %3185, i32 noundef %3186)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3187:                                             ; preds = %451
  store i32 0, ptr %32, align 4, !tbaa !9
  %3188 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3188, ptr %11, align 4, !tbaa !9
  store i32 205071, ptr %33, align 4, !tbaa !9
  %3189 = load i32, ptr %33, align 4, !tbaa !9
  %3190 = load i32, ptr %32, align 4, !tbaa !9
  %3191 = add i32 %3190, %3189
  store i32 %3191, ptr %32, align 4, !tbaa !9
  %3192 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3192, ptr %33, align 4, !tbaa !9
  store i32 82611, ptr %34, align 4, !tbaa !9
  %3193 = load i32, ptr %34, align 4, !tbaa !9
  %3194 = load i32, ptr %33, align 4, !tbaa !9
  %3195 = add i32 %3194, %3193
  store i32 %3195, ptr %33, align 4, !tbaa !9
  store i32 299, ptr %34, align 4, !tbaa !9
  %3196 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3196, ptr %35, align 4, !tbaa !9
  store i32 72549, ptr %36, align 4, !tbaa !9
  %3197 = load i32, ptr %36, align 4, !tbaa !9
  %3198 = load i32, ptr %35, align 4, !tbaa !9
  %3199 = add i32 %3198, %3197
  store i32 %3199, ptr %35, align 4, !tbaa !9
  %3200 = load ptr, ptr %6, align 8, !tbaa !5
  %3201 = load i32, ptr %32, align 4, !tbaa !9
  %3202 = load i32, ptr %33, align 4, !tbaa !9
  %3203 = load i32, ptr %34, align 4, !tbaa !9
  %3204 = load i32, ptr %35, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3200, i32 noundef %3201, i32 noundef %3202, i32 noundef %3203, i32 noundef %3204)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3205:                                             ; preds = %698
  store i32 0, ptr %32, align 4, !tbaa !9
  %3206 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3206, ptr %11, align 4, !tbaa !9
  store i32 109639, ptr %33, align 4, !tbaa !9
  %3207 = load i32, ptr %33, align 4, !tbaa !9
  %3208 = load i32, ptr %32, align 4, !tbaa !9
  %3209 = add i32 %3208, %3207
  store i32 %3209, ptr %32, align 4, !tbaa !9
  %3210 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3210, ptr %33, align 4, !tbaa !9
  store i32 77564, ptr %34, align 4, !tbaa !9
  %3211 = load i32, ptr %34, align 4, !tbaa !9
  %3212 = load i32, ptr %33, align 4, !tbaa !9
  %3213 = add i32 %3212, %3211
  store i32 %3213, ptr %33, align 4, !tbaa !9
  store i32 179, ptr %34, align 4, !tbaa !9
  %3214 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3214, ptr %35, align 4, !tbaa !9
  store i32 90402, ptr %36, align 4, !tbaa !9
  %3215 = load i32, ptr %36, align 4, !tbaa !9
  %3216 = load i32, ptr %35, align 4, !tbaa !9
  %3217 = add i32 %3216, %3215
  store i32 %3217, ptr %35, align 4, !tbaa !9
  %3218 = load ptr, ptr %6, align 8, !tbaa !5
  %3219 = load i32, ptr %32, align 4, !tbaa !9
  %3220 = load i32, ptr %33, align 4, !tbaa !9
  %3221 = load i32, ptr %34, align 4, !tbaa !9
  %3222 = load i32, ptr %35, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3218, i32 noundef %3219, i32 noundef %3220, i32 noundef %3221, i32 noundef %3222)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3223:                                             ; preds = %821
  store i32 0, ptr %32, align 4, !tbaa !9
  %3224 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3224, ptr %11, align 4, !tbaa !9
  store i32 109639, ptr %33, align 4, !tbaa !9
  %3225 = load i32, ptr %33, align 4, !tbaa !9
  %3226 = load i32, ptr %32, align 4, !tbaa !9
  %3227 = add i32 %3226, %3225
  store i32 %3227, ptr %32, align 4, !tbaa !9
  %3228 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3228, ptr %33, align 4, !tbaa !9
  store i32 77564, ptr %34, align 4, !tbaa !9
  %3229 = load i32, ptr %34, align 4, !tbaa !9
  %3230 = load i32, ptr %33, align 4, !tbaa !9
  %3231 = add i32 %3230, %3229
  store i32 %3231, ptr %33, align 4, !tbaa !9
  store i32 179, ptr %34, align 4, !tbaa !9
  %3232 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3232, ptr %35, align 4, !tbaa !9
  store i32 90402, ptr %36, align 4, !tbaa !9
  %3233 = load i32, ptr %36, align 4, !tbaa !9
  %3234 = load i32, ptr %35, align 4, !tbaa !9
  %3235 = add i32 %3234, %3233
  store i32 %3235, ptr %35, align 4, !tbaa !9
  %3236 = load ptr, ptr %6, align 8, !tbaa !5
  %3237 = load i32, ptr %32, align 4, !tbaa !9
  %3238 = load i32, ptr %33, align 4, !tbaa !9
  %3239 = load i32, ptr %34, align 4, !tbaa !9
  %3240 = load i32, ptr %35, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3236, i32 noundef %3237, i32 noundef %3238, i32 noundef %3239, i32 noundef %3240)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3241:                                             ; preds = %837
  store i32 0, ptr %32, align 4, !tbaa !9
  %3242 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3242, ptr %11, align 4, !tbaa !9
  store i32 118741, ptr %33, align 4, !tbaa !9
  %3243 = load i32, ptr %33, align 4, !tbaa !9
  %3244 = load i32, ptr %32, align 4, !tbaa !9
  %3245 = add i32 %3244, %3243
  store i32 %3245, ptr %32, align 4, !tbaa !9
  %3246 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3246, ptr %33, align 4, !tbaa !9
  store i32 83341, ptr %34, align 4, !tbaa !9
  %3247 = load i32, ptr %34, align 4, !tbaa !9
  %3248 = load i32, ptr %33, align 4, !tbaa !9
  %3249 = add i32 %3248, %3247
  store i32 %3249, ptr %33, align 4, !tbaa !9
  store i32 444, ptr %34, align 4, !tbaa !9
  %3250 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3250, ptr %35, align 4, !tbaa !9
  store i32 97283, ptr %36, align 4, !tbaa !9
  %3251 = load i32, ptr %36, align 4, !tbaa !9
  %3252 = load i32, ptr %35, align 4, !tbaa !9
  %3253 = add i32 %3252, %3251
  store i32 %3253, ptr %35, align 4, !tbaa !9
  %3254 = load ptr, ptr %6, align 8, !tbaa !5
  %3255 = load i32, ptr %32, align 4, !tbaa !9
  %3256 = load i32, ptr %33, align 4, !tbaa !9
  %3257 = load i32, ptr %34, align 4, !tbaa !9
  %3258 = load i32, ptr %35, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3254, i32 noundef %3255, i32 noundef %3256, i32 noundef %3257, i32 noundef %3258)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3259:                                             ; preds = %1084
  store i32 0, ptr %32, align 4, !tbaa !9
  %3260 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3260, ptr %11, align 4, !tbaa !9
  store i32 109639, ptr %33, align 4, !tbaa !9
  %3261 = load i32, ptr %33, align 4, !tbaa !9
  %3262 = load i32, ptr %32, align 4, !tbaa !9
  %3263 = add i32 %3262, %3261
  store i32 %3263, ptr %32, align 4, !tbaa !9
  %3264 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3264, ptr %33, align 4, !tbaa !9
  store i32 77564, ptr %34, align 4, !tbaa !9
  %3265 = load i32, ptr %34, align 4, !tbaa !9
  %3266 = load i32, ptr %33, align 4, !tbaa !9
  %3267 = add i32 %3266, %3265
  store i32 %3267, ptr %33, align 4, !tbaa !9
  store i32 179, ptr %34, align 4, !tbaa !9
  %3268 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3268, ptr %35, align 4, !tbaa !9
  store i32 90402, ptr %36, align 4, !tbaa !9
  %3269 = load i32, ptr %36, align 4, !tbaa !9
  %3270 = load i32, ptr %35, align 4, !tbaa !9
  %3271 = add i32 %3270, %3269
  store i32 %3271, ptr %35, align 4, !tbaa !9
  %3272 = load ptr, ptr %6, align 8, !tbaa !5
  %3273 = load i32, ptr %32, align 4, !tbaa !9
  %3274 = load i32, ptr %33, align 4, !tbaa !9
  %3275 = load i32, ptr %34, align 4, !tbaa !9
  %3276 = load i32, ptr %35, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3272, i32 noundef %3273, i32 noundef %3274, i32 noundef %3275, i32 noundef %3276)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3277:                                             ; preds = %1100
  store i32 0, ptr %32, align 4, !tbaa !9
  %3278 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3278, ptr %11, align 4, !tbaa !9
  store i32 118741, ptr %33, align 4, !tbaa !9
  %3279 = load i32, ptr %33, align 4, !tbaa !9
  %3280 = load i32, ptr %32, align 4, !tbaa !9
  %3281 = add i32 %3280, %3279
  store i32 %3281, ptr %32, align 4, !tbaa !9
  %3282 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3282, ptr %33, align 4, !tbaa !9
  store i32 83341, ptr %34, align 4, !tbaa !9
  %3283 = load i32, ptr %34, align 4, !tbaa !9
  %3284 = load i32, ptr %33, align 4, !tbaa !9
  %3285 = add i32 %3284, %3283
  store i32 %3285, ptr %33, align 4, !tbaa !9
  store i32 444, ptr %34, align 4, !tbaa !9
  %3286 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3286, ptr %35, align 4, !tbaa !9
  store i32 97283, ptr %36, align 4, !tbaa !9
  %3287 = load i32, ptr %36, align 4, !tbaa !9
  %3288 = load i32, ptr %35, align 4, !tbaa !9
  %3289 = add i32 %3288, %3287
  store i32 %3289, ptr %35, align 4, !tbaa !9
  %3290 = load ptr, ptr %6, align 8, !tbaa !5
  %3291 = load i32, ptr %32, align 4, !tbaa !9
  %3292 = load i32, ptr %33, align 4, !tbaa !9
  %3293 = load i32, ptr %34, align 4, !tbaa !9
  %3294 = load i32, ptr %35, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3290, i32 noundef %3291, i32 noundef %3292, i32 noundef %3293, i32 noundef %3294)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3295:                                             ; preds = %1567
  store i32 0, ptr %32, align 4, !tbaa !9
  %3296 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3296, ptr %11, align 4, !tbaa !9
  store i32 147142, ptr %33, align 4, !tbaa !9
  %3297 = load i32, ptr %33, align 4, !tbaa !9
  %3298 = load i32, ptr %32, align 4, !tbaa !9
  %3299 = add i32 %3298, %3297
  store i32 %3299, ptr %32, align 4, !tbaa !9
  %3300 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3300, ptr %33, align 4, !tbaa !9
  store i32 82611, ptr %34, align 4, !tbaa !9
  %3301 = load i32, ptr %34, align 4, !tbaa !9
  %3302 = load i32, ptr %33, align 4, !tbaa !9
  %3303 = add i32 %3302, %3301
  store i32 %3303, ptr %33, align 4, !tbaa !9
  store i32 106, ptr %34, align 4, !tbaa !9
  %3304 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3304, ptr %35, align 4, !tbaa !9
  store i32 28119, ptr %36, align 4, !tbaa !9
  %3305 = load i32, ptr %36, align 4, !tbaa !9
  %3306 = load i32, ptr %35, align 4, !tbaa !9
  %3307 = add i32 %3306, %3305
  store i32 %3307, ptr %35, align 4, !tbaa !9
  %3308 = load ptr, ptr %6, align 8, !tbaa !5
  %3309 = load i32, ptr %32, align 4, !tbaa !9
  %3310 = load i32, ptr %33, align 4, !tbaa !9
  %3311 = load i32, ptr %34, align 4, !tbaa !9
  %3312 = load i32, ptr %35, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3308, i32 noundef %3309, i32 noundef %3310, i32 noundef %3311, i32 noundef %3312)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3313:                                             ; preds = %1645
  store i32 0, ptr %32, align 4, !tbaa !9
  %3314 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3314, ptr %11, align 4, !tbaa !9
  store i32 146777, ptr %33, align 4, !tbaa !9
  %3315 = load i32, ptr %33, align 4, !tbaa !9
  %3316 = load i32, ptr %32, align 4, !tbaa !9
  %3317 = add i32 %3316, %3315
  store i32 %3317, ptr %32, align 4, !tbaa !9
  %3318 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3318, ptr %33, align 4, !tbaa !9
  store i32 82692, ptr %34, align 4, !tbaa !9
  %3319 = load i32, ptr %34, align 4, !tbaa !9
  %3320 = load i32, ptr %33, align 4, !tbaa !9
  %3321 = add i32 %3320, %3319
  store i32 %3321, ptr %33, align 4, !tbaa !9
  store i32 61, ptr %34, align 4, !tbaa !9
  %3322 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3322, ptr %35, align 4, !tbaa !9
  store i32 72547, ptr %36, align 4, !tbaa !9
  %3323 = load i32, ptr %36, align 4, !tbaa !9
  %3324 = load i32, ptr %35, align 4, !tbaa !9
  %3325 = add i32 %3324, %3323
  store i32 %3325, ptr %35, align 4, !tbaa !9
  %3326 = load ptr, ptr %6, align 8, !tbaa !5
  %3327 = load i32, ptr %32, align 4, !tbaa !9
  %3328 = load i32, ptr %33, align 4, !tbaa !9
  %3329 = load i32, ptr %34, align 4, !tbaa !9
  %3330 = load i32, ptr %35, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3326, i32 noundef %3327, i32 noundef %3328, i32 noundef %3329, i32 noundef %3330)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3331:                                             ; preds = %2176
  store i32 0, ptr %32, align 4, !tbaa !9
  %3332 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3332, ptr %11, align 4, !tbaa !9
  store i32 168600, ptr %33, align 4, !tbaa !9
  %3333 = load i32, ptr %33, align 4, !tbaa !9
  %3334 = load i32, ptr %32, align 4, !tbaa !9
  %3335 = add i32 %3334, %3333
  store i32 %3335, ptr %32, align 4, !tbaa !9
  %3336 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3336, ptr %33, align 4, !tbaa !9
  store i32 83341, ptr %34, align 4, !tbaa !9
  %3337 = load i32, ptr %34, align 4, !tbaa !9
  %3338 = load i32, ptr %33, align 4, !tbaa !9
  %3339 = add i32 %3338, %3337
  store i32 %3339, ptr %33, align 4, !tbaa !9
  store i32 341, ptr %34, align 4, !tbaa !9
  %3340 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3340, ptr %35, align 4, !tbaa !9
  store i32 90577, ptr %36, align 4, !tbaa !9
  %3341 = load i32, ptr %36, align 4, !tbaa !9
  %3342 = load i32, ptr %35, align 4, !tbaa !9
  %3343 = add i32 %3342, %3341
  store i32 %3343, ptr %35, align 4, !tbaa !9
  %3344 = load ptr, ptr %6, align 8, !tbaa !5
  %3345 = load i32, ptr %32, align 4, !tbaa !9
  %3346 = load i32, ptr %33, align 4, !tbaa !9
  %3347 = load i32, ptr %34, align 4, !tbaa !9
  %3348 = load i32, ptr %35, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3344, i32 noundef %3345, i32 noundef %3346, i32 noundef %3347, i32 noundef %3348)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

3349:                                             ; preds = %3064
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %53) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #6
  ret void
}

; Function Attrs: nounwind uwtable
declare dso_local void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AarrayCopyHelper0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AGCScope0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSArray0x3E0x2C0x20unsigned0x20int0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSArray0x3E0x2C0x20unsigned0x20int0x2C0x20unsigned0x20int0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) #5

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { noreturn "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { inlinehint nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nocallback nofree nosync nounwind willreturn memory(none) }
attributes #4 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { nounwind }
attributes #7 = { noreturn }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"int", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"long", !7, i64 0}
!13 = !{!14, !14, i64 0}
!14 = !{!"double", !7, i64 0}
!15 = !{!16, !10, i64 24}
!16 = !{!"w2c_hermes", !6, i64 0, !6, i64 8, !6, i64 16, !10, i64 24, !10, i64 28, !10, i64 32, !17, i64 40, !19, i64 80}
!17 = !{!"", !6, i64 0, !12, i64 8, !12, i64 16, !12, i64 24, !18, i64 32}
!18 = !{!"_Bool", !7, i64 0}
!19 = !{!"", !6, i64 0, !10, i64 8, !10, i64 12}


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

; Function Attrs: noreturn
declare void @wasm_rt_trap(i32 noundef) local_unnamed_addr #0

; Function Attrs: inlinehint nounwind uwtable
declare hidden void @i32_store(ptr noundef, i64 noundef, i32 noundef) local_unnamed_addr #1

; Function Attrs: inlinehint nounwind uwtable
declare hidden void @i64_store(ptr noundef, i64 noundef, i64 noundef) local_unnamed_addr #1

; Function Attrs: inlinehint nounwind uwtable
declare hidden i32 @i32_load(ptr noundef, i64 noundef) local_unnamed_addr #1

; Function Attrs: inlinehint nounwind uwtable
declare hidden i32 @i32_load8_u(ptr noundef, i64 noundef) local_unnamed_addr #1

declare void @w2c_hermes_0x5F_assert_fail(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #2

; Function Attrs: inlinehint nounwind uwtable
declare hidden i64 @i64_load(ptr noundef, i64 noundef) local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare dso_local i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AraiseRangeError0x28hermes0x3A0x3Avm0x3A0x3ATwineChar160x20const0x260x29(ptr noundef, i32 noundef, i32 noundef) local_unnamed_addr #3

; Function Attrs: nounwind uwtable
declare dso_local i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ATwineChar160x3A0x3ATwineChar160x28char0x20const0x2A0x29(ptr noundef, i32 noundef, i32 noundef) local_unnamed_addr #3

declare i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A0x7EGCScope0x280x29(ptr noundef, i32 noundef) local_unnamed_addr #2

; Function Attrs: inlinehint nounwind uwtable
declare hidden i64 @i64_reinterpret_f64(double noundef) local_unnamed_addr #1

declare i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x3A0x3AHandle0x28hermes0x3A0x3Avm0x3A0x3AHandleRootOwner0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef, i32 noundef, i32 noundef, i64 noundef) local_unnamed_addr #2

; Function Attrs: inlinehint nounwind uwtable
declare hidden void @f64_store(ptr noundef, i64 noundef, double noundef) local_unnamed_addr #1

; Function Attrs: inlinehint nounwind uwtable
declare hidden double @f64_load(ptr noundef, i64 noundef) local_unnamed_addr #1

declare void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSArray0x3A0x3Acreate0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20unsigned0x20int0x2C0x20unsigned0x20int0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #2

declare i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x3A0x3AHandle0x28hermes0x3A0x3Avm0x3A0x3AHandleRootOwner0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AJSObject0x2A0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #2

; Function Attrs: nounwind uwtable
declare dso_local i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AraiseTypeError0x28hermes0x3A0x3Avm0x3A0x3ATwineChar160x20const0x260x29(ptr noundef, i32 noundef, i32 noundef) local_unnamed_addr #3

; Function Attrs: nounwind uwtable
declare dso_local void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSObject0x3A0x3AdefineOwnComputedPrimitive0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ADefinePropertyFlags0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3APropOpFlags0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #3

; Function Attrs: inlinehint nounwind uwtable
declare hidden double @f64_reinterpret_i64(i64 noundef) local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare hidden double @wasm_fabs(double noundef) local_unnamed_addr #3

declare i32 @w2c_hermes_hermes0x3A0x3AtruncateToInt32SlowPath0x28double0x29(ptr noundef, double noundef) local_unnamed_addr #2

declare void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AtoIntegerOrInfinity0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #2

declare void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AtoObject0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #2

declare void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AlengthOfArrayLike0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSArray0x3E0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #2

; Function Attrs: nounwind uwtable
define dso_local void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AarrayPrototypeToSpliced0x28void0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ANativeArgs0x29(ptr noundef %0, i32 noundef %1, i32 noundef %2, i32 noundef %3, i32 noundef %4) local_unnamed_addr #3 {
  %6 = getelementptr inbounds i8, ptr %0, i64 24
  %7 = load i32, ptr %6, align 8, !tbaa !5
  %8 = add i32 %7, -464
  store i32 %8, ptr %6, align 8, !tbaa !5
  %9 = getelementptr inbounds i8, ptr %0, i64 40
  %10 = zext i32 %8 to i64
  %11 = add nuw nsw i64 %10, 280
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %11, i64 noundef 48)
  %12 = add nuw nsw i64 %10, 276
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %12, i32 noundef %3)
  %13 = add nuw nsw i64 %10, 272
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %13, i32 noundef 0)
  %14 = zext i32 %3 to i64
  %15 = add nuw nsw i64 %14, 4
  %16 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %15)
  %17 = add i32 %7, -28
  %18 = add i32 %7, -168
  %19 = zext i32 %17 to i64
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %19, i32 noundef %18)
  %20 = add nuw nsw i64 %10, 428
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %20, i64 noundef 17179869185)
  %21 = add nuw nsw i64 %10, 424
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %21, i32 noundef %17)
  %22 = add nuw nsw i64 %10, 288
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %22, i32 noundef %16)
  %23 = add nuw nsw i64 %10, 460
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %23, i32 noundef 0)
  %24 = add i32 %7, -40
  %25 = add nuw nsw i64 %10, 456
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %25, i32 noundef %24)
  %26 = add nuw nsw i64 %10, 452
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %26, i32 noundef %18)
  %27 = add i32 %7, -192
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %15, i32 noundef %27)
  %28 = zext i32 %4 to i64
  %29 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %28)
  %30 = add nuw nsw i64 %10, 248
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %30, i32 noundef 0)
  %31 = add nuw nsw i64 %10, 252
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %31, i32 noundef %29)
  %32 = add i32 %7, -208
  %33 = add i32 %7, -216
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AtoObject0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x29(ptr noundef %0, i32 noundef %32, i32 noundef %3, i32 noundef %33) #4
  %34 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %30)
  %.not = icmp eq i32 %34, 0
  br i1 %.not, label %39, label %35

35:                                               ; preds = %5
  %36 = zext i32 %34 to i64
  %37 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %36)
  %38 = add i32 %37, -1
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %36, i32 noundef %38)
  br label %39

39:                                               ; preds = %35, %5
  %40 = add nuw nsw i64 %10, 256
  %41 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %40)
  switch i32 %41, label %577 [
    i32 0, label %42
    i32 1, label %44
  ]

42:                                               ; preds = %39
  %43 = zext i32 %1 to i64
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %43, i32 noundef 0)
  br label %575

44:                                               ; preds = %39
  %45 = add nuw nsw i64 %10, 264
  %46 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef %45)
  %47 = icmp ult i64 %46, -844424930131968
  br i1 %47, label %578, label %48

48:                                               ; preds = %44
  %49 = trunc i64 %46 to i32
  %.not1875 = icmp eq i32 %49, 0
  br i1 %.not1875, label %579, label %50

50:                                               ; preds = %48
  %51 = and i64 %46, 4294967295
  %52 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %51)
  %53 = add i32 %52, -1291845632
  %54 = icmp ult i32 %53, -855638016
  br i1 %54, label %580, label %55

55:                                               ; preds = %50
  %56 = add i32 %7, -224
  %57 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x3A0x3AHandle0x28hermes0x3A0x3Avm0x3A0x3AHandleRootOwner0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AJSObject0x2A0x29(ptr noundef nonnull %0, i32 noundef %56, i32 noundef %3, i32 noundef %49) #4
  %58 = zext i32 %57 to i64
  %59 = add nuw nsw i64 %58, 4
  %60 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %59)
  %61 = zext i32 %60 to i64
  %62 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef %61)
  %63 = icmp ult i64 %62, -844424930131968
  br i1 %63, label %75, label %64

64:                                               ; preds = %55
  %65 = and i64 %62, 4294967295
  %.not1876 = icmp eq i64 %65, 0
  br i1 %.not1876, label %581, label %66

66:                                               ; preds = %64
  %67 = add nuw nsw i64 %65, 3
  %68 = tail call i32 @i32_load8_u(ptr noundef nonnull %9, i64 noundef %67)
  %.mask = and i32 %68, 255
  %.not1877 = icmp eq i32 %.mask, 32
  br i1 %.not1877, label %69, label %75

69:                                               ; preds = %66
  %70 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %58)
  %.not1878 = icmp eq i32 %70, 0
  br i1 %.not1878, label %98, label %71

71:                                               ; preds = %69
  %72 = zext i32 %70 to i64
  %73 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %72)
  %74 = add i32 %73, 1
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %72, i32 noundef %74)
  br label %83

75:                                               ; preds = %66, %55
  %76 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef 217520)
  %77 = icmp ult i64 %76, -844424930131968
  br i1 %77, label %582, label %78

78:                                               ; preds = %75
  %79 = and i64 %76, 4294967295
  %.not1879 = icmp eq i64 %79, 0
  br i1 %.not1879, label %83, label %80

80:                                               ; preds = %78
  %81 = add nuw nsw i64 %79, 3
  %82 = tail call i32 @i32_load8_u(ptr noundef nonnull %9, i64 noundef %81)
  %.mask1881 = and i32 %82, 255
  %.not1880 = icmp eq i32 %.mask1881, 32
  br i1 %.not1880, label %83, label %583

83:                                               ; preds = %80, %78, %71
  %.01836 = phi i32 [ 0, %78 ], [ 0, %80 ], [ %70, %71 ]
  %.01835 = phi i32 [ 217520, %78 ], [ 217520, %80 ], [ %60, %71 ]
  %84 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %58)
  %85 = add nuw nsw i64 %10, 220
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %85, i32 noundef %60)
  %86 = add nuw nsw i64 %10, 216
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %86, i32 noundef %84)
  %.not1882 = icmp eq i32 %84, 0
  br i1 %.not1882, label %91, label %87

87:                                               ; preds = %83
  %88 = zext i32 %84 to i64
  %89 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %88)
  %90 = add i32 %89, 1
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %88, i32 noundef %90)
  br label %91

91:                                               ; preds = %87, %83
  %92 = add nuw nsw i64 %10, 208
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %92, i32 noundef %.01836)
  %93 = add nuw nsw i64 %10, 212
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %93, i32 noundef %.01835)
  %.not1883 = icmp eq i32 %.01836, 0
  br i1 %.not1883, label %94, label %106

94:                                               ; preds = %91
  %95 = add i32 %7, -240
  %96 = add i32 %7, -248
  %97 = add i32 %7, -256
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AlengthOfArrayLike0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSArray0x3E0x29(ptr noundef nonnull %0, i32 noundef %95, i32 noundef %3, i32 noundef %96, i32 noundef %97) #4
  br i1 %.not1882, label %120, label %115

98:                                               ; preds = %69
  %99 = add nuw nsw i64 %10, 220
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %99, i32 noundef %60)
  %100 = add nuw nsw i64 %10, 216
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %100, i32 noundef 0)
  %101 = add nuw nsw i64 %10, 212
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %101, i32 noundef %60)
  %102 = add nuw nsw i64 %10, 208
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %102, i32 noundef 0)
  %103 = add i32 %7, -240
  %104 = add i32 %7, -248
  %105 = add i32 %7, -256
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AlengthOfArrayLike0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSArray0x3E0x29(ptr noundef nonnull %0, i32 noundef %103, i32 noundef %3, i32 noundef %104, i32 noundef %105) #4
  br label %120

106:                                              ; preds = %91
  %107 = zext i32 %.01836 to i64
  %108 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %107)
  %109 = add i32 %108, 1
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %107, i32 noundef %109)
  %110 = add i32 %7, -240
  %111 = add i32 %7, -248
  %112 = add i32 %7, -256
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AlengthOfArrayLike0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSArray0x3E0x29(ptr noundef nonnull %0, i32 noundef %110, i32 noundef %3, i32 noundef %111, i32 noundef %112) #4
  %113 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %107)
  %114 = add i32 %113, -1
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %107, i32 noundef %114)
  br i1 %.not1882, label %120, label %115

115:                                              ; preds = %106, %94
  %116 = zext i32 %84 to i64
  %117 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %116)
  %118 = add i32 %117, -1
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %116, i32 noundef %118)
  %119 = zext i1 %.not1883 to i32
  br label %120

120:                                              ; preds = %106, %94, %115, %98
  %.11837 = phi i32 [ %.01836, %115 ], [ 0, %98 ], [ 0, %94 ], [ %.01836, %106 ]
  %.01826 = phi i32 [ %119, %115 ], [ 1, %98 ], [ 1, %94 ], [ 0, %106 ]
  %121 = add nuw nsw i64 %10, 224
  %122 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %121)
  switch i32 %122, label %584 [
    i32 0, label %123
    i32 1, label %125
  ]

123:                                              ; preds = %120
  %124 = zext i32 %1 to i64
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %124, i32 noundef 0)
  br label %564

125:                                              ; preds = %120
  %126 = add nuw nsw i64 %10, 232
  %127 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef %126)
  %128 = uitofp i64 %127 to double
  %129 = add nuw nsw i64 %10, 200
  tail call void @f64_store(ptr noundef nonnull %9, i64 noundef %129, double noundef %128)
  %130 = add nuw nsw i64 %28, 4
  %131 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %130)
  %132 = add nuw nsw i64 %10, 176
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %132, i32 noundef 0)
  %133 = add i32 %29, -8
  %.not1886 = icmp eq i32 %131, 0
  %134 = select i1 %.not1886, i32 217528, i32 %133
  %135 = add nuw nsw i64 %10, 180
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %135, i32 noundef %134)
  %136 = add i32 %7, -280
  %137 = add i32 %7, -288
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AtoIntegerOrInfinity0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x29(ptr noundef nonnull %0, i32 noundef %136, i32 noundef %3, i32 noundef %137) #4
  %138 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %132)
  %.not1887 = icmp eq i32 %138, 0
  br i1 %.not1887, label %143, label %139

139:                                              ; preds = %125
  %140 = zext i32 %138 to i64
  %141 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %140)
  %142 = add i32 %141, -1
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %140, i32 noundef %142)
  br label %143

143:                                              ; preds = %139, %125
  %144 = add nuw nsw i64 %10, 184
  %145 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %144)
  switch i32 %145, label %585 [
    i32 0, label %146
    i32 1, label %148
  ]

146:                                              ; preds = %143
  %147 = zext i32 %1 to i64
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %147, i32 noundef 0)
  br label %564

148:                                              ; preds = %143
  %149 = add nuw nsw i64 %10, 192
  %150 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef %149)
  %151 = icmp ugt i64 %150, -1970324836974593
  br i1 %151, label %586, label %152

152:                                              ; preds = %148
  %153 = add nuw nsw i64 %10, 168
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %153, i64 noundef %150)
  %154 = tail call double @f64_reinterpret_i64(i64 noundef %150)
  %155 = fcmp olt double %154, 0.000000e+00
  br i1 %155, label %156, label %161

156:                                              ; preds = %152
  %157 = add nuw nsw i64 %10, 32
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %157, i64 noundef 0)
  %158 = fadd double %154, %128
  %159 = add nuw nsw i64 %10, 120
  tail call void @f64_store(ptr noundef nonnull %9, i64 noundef %159, double noundef %158)
  %160 = fcmp olt double %158, 0.000000e+00
  %.v1890 = select i1 %160, i32 -432, i32 -344
  br label %163

161:                                              ; preds = %152
  %162 = fcmp ogt double %154, %128
  %.v = select i1 %162, i32 -264, i32 -296
  br label %163

163:                                              ; preds = %161, %156
  %.v1890.pn = phi i32 [ %.v1890, %156 ], [ %.v, %161 ]
  %.11827 = add i32 %.v1890.pn, %7
  %164 = zext i32 %.11827 to i64
  %165 = tail call double @f64_load(ptr noundef nonnull %9, i64 noundef %164)
  switch i32 %131, label %179 [
    i32 0, label %220
    i32 1, label %166
  ]

166:                                              ; preds = %163
  %167 = fsub double %128, %165
  %168 = fcmp olt double %167, 0x43F0000000000000
  %169 = fcmp oge double %167, 0.000000e+00
  %170 = and i1 %168, %169
  br i1 %170, label %171, label %220

171:                                              ; preds = %166
  %172 = fcmp uno double %167, 0.000000e+00
  br i1 %172, label %173, label %174, !prof !15

173:                                              ; preds = %171
  tail call void @wasm_rt_trap(i32 noundef 4) #5
  unreachable

174:                                              ; preds = %171
  %175 = fcmp ogt double %167, -1.000000e+00
  br i1 %175, label %177, label %176, !prof !16

176:                                              ; preds = %174
  tail call void @wasm_rt_trap(i32 noundef 2) #5
  unreachable

177:                                              ; preds = %174
  %178 = fptoui double %167 to i64
  br label %220

179:                                              ; preds = %163
  %180 = add nuw nsw i64 %10, 160
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %180, i32 noundef 0)
  %181 = add i32 %29, -16
  %182 = add nuw nsw i64 %10, 164
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %182, i32 noundef %181)
  %183 = add i32 %7, -344
  %184 = add i32 %7, -304
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AtoIntegerOrInfinity0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x29(ptr noundef nonnull %0, i32 noundef %183, i32 noundef %3, i32 noundef %184) #4
  %185 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %180)
  %.not1891 = icmp eq i32 %185, 0
  br i1 %.not1891, label %190, label %186

186:                                              ; preds = %179
  %187 = zext i32 %185 to i64
  %188 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %187)
  %189 = add i32 %188, -1
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %187, i32 noundef %189)
  br label %190

190:                                              ; preds = %186, %179
  %191 = add nuw nsw i64 %10, 120
  %192 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %191)
  switch i32 %192, label %587 [
    i32 0, label %193
    i32 1, label %195
  ]

193:                                              ; preds = %190
  %194 = zext i32 %1 to i64
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %194, i32 noundef 0)
  br label %564

195:                                              ; preds = %190
  %196 = add nuw nsw i64 %10, 128
  %197 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef %196)
  %198 = icmp ugt i64 %197, -1970324836974593
  br i1 %198, label %588, label %199

199:                                              ; preds = %195
  %200 = add i32 %131, -2
  %201 = fsub double %128, %165
  %202 = tail call double @f64_reinterpret_i64(i64 noundef %197)
  %203 = fcmp olt double %202, 0.000000e+00
  %204 = select i1 %203, double 0.000000e+00, double %202
  %205 = fcmp olt double %201, %204
  %206 = select i1 %205, double %201, double %204
  %207 = fcmp olt double %206, 0x43F0000000000000
  %208 = fcmp oge double %206, 0.000000e+00
  %209 = and i1 %207, %208
  br i1 %209, label %210, label %218

210:                                              ; preds = %199
  %211 = fcmp uno double %206, 0.000000e+00
  br i1 %211, label %212, label %213, !prof !15

212:                                              ; preds = %210
  tail call void @wasm_rt_trap(i32 noundef 4) #5
  unreachable

213:                                              ; preds = %210
  %214 = fcmp ogt double %206, -1.000000e+00
  br i1 %214, label %216, label %215, !prof !16

215:                                              ; preds = %213
  tail call void @wasm_rt_trap(i32 noundef 2) #5
  unreachable

216:                                              ; preds = %213
  %217 = fptoui double %206 to i64
  br label %218

218:                                              ; preds = %199, %216
  %.0 = phi i64 [ %217, %216 ], [ 0, %199 ]
  %219 = zext i32 %200 to i64
  br label %220

220:                                              ; preds = %166, %163, %218, %177
  %.01831 = phi i64 [ %.0, %218 ], [ %178, %177 ], [ 0, %166 ], [ 0, %163 ]
  %.01830 = phi i64 [ %219, %218 ], [ 0, %177 ], [ 0, %166 ], [ 0, %163 ]
  %221 = uitofp nneg i64 %.01830 to double
  %222 = fadd double %128, %221
  %223 = uitofp i64 %.01831 to double
  %224 = fsub double %222, %223
  %225 = fsub double %224, %223
  %226 = fcmp ogt double %225, 0x433FFFFFFFFFFFFF
  br i1 %226, label %227, label %233

227:                                              ; preds = %220
  %228 = add i32 %7, -344
  %229 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ATwineChar160x3A0x3ATwineChar160x28char0x20const0x2A0x29(ptr noundef nonnull %0, i32 noundef %228, i32 noundef 101918)
  %230 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AraiseTypeError0x28hermes0x3A0x3Avm0x3A0x3ATwineChar160x20const0x260x29(ptr noundef nonnull %0, i32 noundef %3, i32 noundef %229)
  %231 = zext i32 %1 to i64
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %231, i32 noundef %230)
  %.not1918 = icmp eq i32 %230, 1
  br i1 %.not1918, label %232, label %564

232:                                              ; preds = %227
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 109717, i32 noundef 77564, i32 noundef 168, i32 noundef 28083) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

233:                                              ; preds = %220
  %234 = tail call double @wasm_fabs(double noundef %224)
  %235 = fcmp olt double %234, 0x41E0000000000000
  br i1 %235, label %236, label %242

236:                                              ; preds = %233
  %237 = fcmp ule double %224, 0xC1E0000000200000
  %238 = fcmp uge double %224, 0x41E0000000000000
  %.not1896 = or i1 %237, %238
  br i1 %.not1896, label %239, label %240, !prof !15

239:                                              ; preds = %236
  tail call void @wasm_rt_trap(i32 noundef 2) #5
  unreachable

240:                                              ; preds = %236
  %241 = fptosi double %224 to i32
  br label %242

242:                                              ; preds = %233, %240
  %.2 = phi i32 [ %241, %240 ], [ -2147483648, %233 ]
  %243 = sitofp i32 %.2 to double
  %244 = fcmp une double %224, %243
  br i1 %244, label %245, label %247

245:                                              ; preds = %242
  %246 = tail call i32 @w2c_hermes_hermes0x3A0x3AtruncateToInt32SlowPath0x28double0x29(ptr noundef nonnull %0, double noundef %224) #4
  br label %247

247:                                              ; preds = %245, %242
  %.01841 = phi i32 [ %246, %245 ], [ %.2, %242 ]
  %248 = uitofp i32 %.01841 to double
  %249 = fcmp une double %224, %248
  br i1 %249, label %250, label %256

250:                                              ; preds = %247
  %251 = add i32 %7, -344
  %252 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ATwineChar160x3A0x3ATwineChar160x28char0x20const0x2A0x29(ptr noundef nonnull %0, i32 noundef %251, i32 noundef 75377)
  %253 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AraiseRangeError0x28hermes0x3A0x3Avm0x3A0x3ATwineChar160x20const0x260x29(ptr noundef nonnull %0, i32 noundef %3, i32 noundef %252)
  %254 = zext i32 %1 to i64
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %254, i32 noundef %253)
  %.not1917 = icmp eq i32 %253, 1
  br i1 %.not1917, label %255, label %564

255:                                              ; preds = %250
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 109717, i32 noundef 77564, i32 noundef 168, i32 noundef 28083) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

256:                                              ; preds = %247
  %257 = add i32 %7, -352
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSArray0x3A0x3Acreate0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20unsigned0x20int0x2C0x20unsigned0x20int0x29(ptr noundef nonnull %0, i32 noundef %257, i32 noundef %3, i32 noundef %.01841, i32 noundef %.01841) #4
  %258 = add nuw nsw i64 %10, 116
  %259 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %258)
  %260 = icmp eq i32 %259, -1
  br i1 %260, label %261, label %263

261:                                              ; preds = %256
  %262 = zext i32 %1 to i64
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %262, i32 noundef 0)
  %.pre = add nuw nsw i64 %10, 112
  br label %558

263:                                              ; preds = %256
  %264 = add nuw nsw i64 %10, 112
  %265 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %264)
  %.not1897 = icmp eq i32 %265, 0
  br i1 %.not1897, label %270, label %266

266:                                              ; preds = %263
  %267 = zext i32 %265 to i64
  %268 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %267)
  %269 = add i32 %268, 1
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %267, i32 noundef %269)
  br label %270

270:                                              ; preds = %266, %263
  %271 = add i32 %7, -360
  %272 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x3A0x3AHandle0x28hermes0x3A0x3Avm0x3A0x3AHandleRootOwner0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef nonnull %0, i32 noundef %271, i32 noundef %3, i64 noundef -1688849860263936) #4
  %273 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %59)
  %274 = zext i32 %273 to i64
  %275 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef %274)
  %276 = icmp ult i64 %275, -844424930131968
  %277 = fadd double %165, %223
  %278 = fcmp olt double %277, 0x43F0000000000000
  %279 = fcmp oge double %277, 0.000000e+00
  %280 = and i1 %278, %279
  br i1 %280, label %281, label %289

281:                                              ; preds = %270
  %282 = fcmp uno double %277, 0.000000e+00
  br i1 %282, label %283, label %284, !prof !15

283:                                              ; preds = %281
  tail call void @wasm_rt_trap(i32 noundef 4) #5
  unreachable

284:                                              ; preds = %281
  %285 = fcmp ogt double %277, -1.000000e+00
  br i1 %285, label %287, label %286, !prof !16

286:                                              ; preds = %284
  tail call void @wasm_rt_trap(i32 noundef 2) #5
  unreachable

287:                                              ; preds = %284
  %288 = fptoui double %277 to i64
  br label %289

289:                                              ; preds = %270, %287
  %.1 = phi i64 [ %288, %287 ], [ 0, %270 ]
  br i1 %276, label %302, label %290

290:                                              ; preds = %289
  %291 = and i64 %275, 4294967295
  %.not1898 = icmp eq i64 %291, 0
  br i1 %.not1898, label %589, label %292

292:                                              ; preds = %290
  %293 = add nuw nsw i64 %291, 3
  %294 = tail call i32 @i32_load8_u(ptr noundef nonnull %9, i64 noundef %293)
  %.mask1900 = and i32 %294, 255
  %.not1899 = icmp eq i32 %.mask1900, 32
  br i1 %.not1899, label %295, label %302

295:                                              ; preds = %292
  %296 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %58)
  %.not1901 = icmp eq i32 %296, 0
  br i1 %.not1901, label %297, label %312

297:                                              ; preds = %295
  %298 = add nuw nsw i64 %10, 100
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %298, i32 noundef %273)
  %299 = add nuw nsw i64 %10, 96
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %299, i32 noundef 0)
  %300 = add nuw nsw i64 %10, 92
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %300, i32 noundef %273)
  %301 = add nuw nsw i64 %10, 88
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %301, i32 noundef 0)
  br label %331

302:                                              ; preds = %292, %289
  %303 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef 217520)
  %304 = icmp ult i64 %303, -844424930131968
  br i1 %304, label %590, label %305

305:                                              ; preds = %302
  %306 = and i64 %303, 4294967295
  %.not1902 = icmp eq i64 %306, 0
  br i1 %.not1902, label %316, label %307

307:                                              ; preds = %305
  %308 = add nuw nsw i64 %306, 3
  %309 = tail call i32 @i32_load8_u(ptr noundef nonnull %9, i64 noundef %308)
  %.mask1903 = and i32 %309, 255
  %310 = icmp eq i32 %.mask1903, 32
  br i1 %310, label %316, label %311

311:                                              ; preds = %307
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 205071, i32 noundef 82611, i32 noundef 299, i32 noundef 72549) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

312:                                              ; preds = %295
  %313 = zext i32 %296 to i64
  %314 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %313)
  %315 = add i32 %314, 1
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %313, i32 noundef %315)
  br label %316

316:                                              ; preds = %307, %305, %312
  %.01838 = phi i32 [ 0, %305 ], [ 0, %307 ], [ %296, %312 ]
  %.3 = phi i32 [ 217520, %305 ], [ 217520, %307 ], [ %273, %312 ]
  %317 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %58)
  %318 = add nuw nsw i64 %10, 100
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %318, i32 noundef %273)
  %319 = add nuw nsw i64 %10, 96
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %319, i32 noundef %317)
  %.not1904 = icmp eq i32 %317, 0
  br i1 %.not1904, label %324, label %320

320:                                              ; preds = %316
  %321 = zext i32 %317 to i64
  %322 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %321)
  %323 = add i32 %322, 1
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %321, i32 noundef %323)
  br label %324

324:                                              ; preds = %320, %316
  %325 = add nuw nsw i64 %10, 88
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %325, i32 noundef %.01838)
  %326 = add nuw nsw i64 %10, 92
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %326, i32 noundef %.3)
  %.not1905 = icmp eq i32 %.01838, 0
  br i1 %.not1905, label %331, label %327

327:                                              ; preds = %324
  %328 = zext i32 %.01838 to i64
  %329 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %328)
  %330 = add i32 %329, 1
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %328, i32 noundef %330)
  br label %331

331:                                              ; preds = %324, %327, %297
  %.01840 = phi i32 [ %317, %327 ], [ 0, %297 ], [ %317, %324 ]
  %.11839 = phi i32 [ %.01838, %327 ], [ 0, %297 ], [ 0, %324 ]
  %.01834 = phi i32 [ %.3, %327 ], [ %273, %297 ], [ %.3, %324 ]
  %.01833.shrunk = phi i1 [ %.not1904, %327 ], [ true, %297 ], [ %.not1904, %324 ]
  %.not1906 = phi i1 [ true, %327 ], [ false, %297 ], [ false, %324 ]
  %332 = add nuw nsw i64 %10, 80
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %332, i32 noundef %265)
  %333 = add nuw nsw i64 %10, 84
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %333, i32 noundef %259)
  br i1 %.not1897, label %334, label %351

334:                                              ; preds = %331
  %335 = add i32 %7, -344
  %336 = add i32 %7, -368
  %337 = add i32 %7, -376
  %338 = add i32 %7, -384
  %339 = fcmp olt double %165, 0x41F0000000000000
  %340 = fcmp oge double %165, 0.000000e+00
  %341 = and i1 %339, %340
  br i1 %341, label %342, label %350

342:                                              ; preds = %334
  %343 = fcmp uno double %165, 0.000000e+00
  br i1 %343, label %344, label %345, !prof !15

344:                                              ; preds = %342
  tail call void @wasm_rt_trap(i32 noundef 4) #5
  unreachable

345:                                              ; preds = %342
  %346 = fcmp ogt double %165, -1.000000e+00
  br i1 %346, label %348, label %347, !prof !16

347:                                              ; preds = %345
  tail call void @wasm_rt_trap(i32 noundef 2) #5
  unreachable

348:                                              ; preds = %345
  %349 = fptoui double %165 to i32
  br label %350

350:                                              ; preds = %334, %348
  %.01823 = phi i32 [ %349, %348 ], [ 0, %334 ]
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AarrayCopyHelper0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AGCScope0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSArray0x3E0x2C0x20unsigned0x20int0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSArray0x3E0x2C0x20unsigned0x20int0x2C0x20unsigned0x20int0x29(ptr noundef nonnull %0, i32 noundef %335, i32 noundef %3, i32 noundef %27, i32 noundef %336, i32 noundef %337, i32 noundef 0, i32 noundef %338, i32 noundef 0, i32 noundef %.01823)
  br label %373

351:                                              ; preds = %331
  %352 = zext i32 %265 to i64
  %353 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %352)
  %354 = add i32 %353, 1
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %352, i32 noundef %354)
  %355 = add i32 %7, -344
  %356 = add i32 %7, -368
  %357 = add i32 %7, -376
  %358 = add i32 %7, -384
  %359 = fcmp olt double %165, 0x41F0000000000000
  %360 = fcmp oge double %165, 0.000000e+00
  %361 = and i1 %359, %360
  br i1 %361, label %362, label %370

362:                                              ; preds = %351
  %363 = fcmp uno double %165, 0.000000e+00
  br i1 %363, label %364, label %365, !prof !15

364:                                              ; preds = %362
  tail call void @wasm_rt_trap(i32 noundef 4) #5
  unreachable

365:                                              ; preds = %362
  %366 = fcmp ogt double %165, -1.000000e+00
  br i1 %366, label %368, label %367, !prof !16

367:                                              ; preds = %365
  tail call void @wasm_rt_trap(i32 noundef 2) #5
  unreachable

368:                                              ; preds = %365
  %369 = fptoui double %165 to i32
  br label %370

370:                                              ; preds = %351, %368
  %.11824 = phi i32 [ %369, %368 ], [ 0, %351 ]
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AarrayCopyHelper0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AGCScope0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSArray0x3E0x2C0x20unsigned0x20int0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSArray0x3E0x2C0x20unsigned0x20int0x2C0x20unsigned0x20int0x29(ptr noundef nonnull %0, i32 noundef %355, i32 noundef %3, i32 noundef %27, i32 noundef %356, i32 noundef %357, i32 noundef 0, i32 noundef %358, i32 noundef 0, i32 noundef %.11824)
  %371 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %352)
  %372 = add i32 %371, -1
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %352, i32 noundef %372)
  br label %373

373:                                              ; preds = %370, %350
  br i1 %.not1906, label %374, label %378

374:                                              ; preds = %373
  %375 = zext i32 %.11839 to i64
  %376 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %375)
  %377 = add i32 %376, -1
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %375, i32 noundef %377)
  br label %378

378:                                              ; preds = %374, %373
  br i1 %.01833.shrunk, label %383, label %379

379:                                              ; preds = %378
  %380 = zext i32 %.01840 to i64
  %381 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %380)
  %382 = add i32 %381, -1
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %380, i32 noundef %382)
  br label %383

383:                                              ; preds = %379, %378
  %384 = add nuw nsw i64 %10, 120
  %385 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %384)
  switch i32 %385, label %388 [
    i32 0, label %386
    i32 1, label %389
  ]

386:                                              ; preds = %383
  %387 = zext i32 %1 to i64
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %387, i32 noundef 0)
  br label %541

388:                                              ; preds = %383
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 109639, i32 noundef 77564, i32 noundef 179, i32 noundef 90402) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

389:                                              ; preds = %383
  %390 = add nuw nsw i64 %10, 128
  %391 = tail call double @f64_load(ptr noundef nonnull %9, i64 noundef %390)
  %392 = fadd double %391, 0.000000e+00
  %393 = icmp ugt i32 %131, 2
  br i1 %393, label %394, label %.loopexit

394:                                              ; preds = %389
  %395 = zext i32 %131 to i64
  %396 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %28)
  %397 = add i32 %396, -8
  %398 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %130)
  %399 = zext i32 %272 to i64
  %400 = add nuw nsw i64 %399, 4
  %401 = add nuw nsw i64 %10, 76
  %402 = add nuw nsw i64 %10, 72
  %403 = zext i32 %265 to i64
  %404 = add nuw nsw i64 %10, 68
  %405 = add nuw nsw i64 %10, 64
  %406 = add nuw nsw i64 %10, 60
  %407 = add nuw nsw i64 %10, 52
  %408 = add nuw nsw i64 %10, 48
  %409 = add nuw nsw i64 %10, 4
  %410 = add nuw nsw i64 %10, 56
  %411 = add i32 %7, -432
  %412 = add i32 %7, -392
  %413 = add i32 %7, -400
  %414 = add i32 %7, -460
  %415 = add i32 %7, -412
  %416 = add nuw nsw i64 %10, 32
  br label %417

417:                                              ; preds = %458, %394
  %.11832 = phi i64 [ 2, %394 ], [ %460, %458 ]
  %.01828 = phi double [ %392, %394 ], [ %459, %458 ]
  %418 = tail call i64 @i64_reinterpret_f64(double noundef %.01828)
  %419 = icmp ugt i64 %418, -1970324836974593
  br i1 %419, label %591, label %420

420:                                              ; preds = %417
  %421 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %400)
  %422 = zext i32 %421 to i64
  tail call void @f64_store(ptr noundef nonnull %9, i64 noundef %422, double noundef %.01828)
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %401, i32 noundef %259)
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %402, i32 noundef %265)
  br i1 %.not1897, label %426, label %423

423:                                              ; preds = %420
  %424 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %403)
  %425 = add i32 %424, 1
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %403, i32 noundef %425)
  br label %426

426:                                              ; preds = %423, %420
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %404, i32 noundef %421)
  %427 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %399)
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %405, i32 noundef %427)
  %.not1907 = icmp eq i32 %427, 0
  br i1 %.not1907, label %432, label %428

428:                                              ; preds = %426
  %429 = zext i32 %427 to i64
  %430 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %429)
  %431 = add i32 %430, 1
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %429, i32 noundef %431)
  br label %432

432:                                              ; preds = %428, %426
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %406, i32 noundef 319)
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %407, i32 noundef 0)
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %408, i32 noundef 1)
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %409, i32 noundef 319)
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %10, i32 noundef 1)
  %433 = trunc i64 %.11832 to i32
  %434 = shl i32 %433, 3
  %435 = sub i32 %397, %434
  %.not1908 = icmp ugt i32 %398, %433
  %436 = select i1 %.not1908, i32 %435, i32 217528
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %410, i32 noundef %436)
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSObject0x3A0x3AdefineOwnComputedPrimitive0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ADefinePropertyFlags0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3APropOpFlags0x29(ptr noundef %0, i32 noundef %411, i32 noundef %412, i32 noundef %3, i32 noundef %413, i32 noundef %414, i32 noundef %415, i32 noundef %8)
  %437 = tail call i32 @i32_load8_u(ptr noundef nonnull %9, i64 noundef %416)
  %438 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %407)
  %.not1909 = icmp eq i32 %438, 0
  br i1 %.not1909, label %443, label %439

439:                                              ; preds = %432
  %440 = zext i32 %438 to i64
  %441 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %440)
  %442 = add i32 %441, -1
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %440, i32 noundef %442)
  br label %443

443:                                              ; preds = %439, %432
  %444 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %405)
  %.not1910 = icmp eq i32 %444, 0
  br i1 %.not1910, label %449, label %445

445:                                              ; preds = %443
  %446 = zext i32 %444 to i64
  %447 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %446)
  %448 = add i32 %447, -1
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %446, i32 noundef %448)
  br label %449

449:                                              ; preds = %445, %443
  %450 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %402)
  %.not1911 = icmp eq i32 %450, 0
  br i1 %.not1911, label %455, label %451

451:                                              ; preds = %449
  %452 = zext i32 %450 to i64
  %453 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %452)
  %454 = add i32 %453, -1
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %452, i32 noundef %454)
  br label %455

455:                                              ; preds = %451, %449
  %.not1912 = icmp eq i32 %437, 0
  br i1 %.not1912, label %456, label %458

456:                                              ; preds = %455
  %457 = zext i32 %1 to i64
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %457, i32 noundef 0)
  br label %541

458:                                              ; preds = %455
  %459 = fadd double %.01828, 1.000000e+00
  %460 = add nuw nsw i64 %.11832, 1
  %.not1913 = icmp eq i64 %460, %395
  br i1 %.not1913, label %.loopexit, label %417

.loopexit:                                        ; preds = %458, %389
  %.11829 = phi double [ %392, %389 ], [ %459, %458 ]
  %461 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %59)
  %462 = add nuw nsw i64 %10, 28
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %462, i32 noundef %461)
  %463 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %58)
  %464 = add nuw nsw i64 %10, 24
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %464, i32 noundef %463)
  %.not1914 = icmp eq i32 %463, 0
  br i1 %.not1914, label %469, label %465

465:                                              ; preds = %.loopexit
  %466 = zext i32 %463 to i64
  %467 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %466)
  %468 = add i32 %467, 1
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %466, i32 noundef %468)
  br label %469

469:                                              ; preds = %465, %.loopexit
  %470 = add nuw nsw i64 %10, 16
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %470, i32 noundef %.11839)
  %471 = add nuw nsw i64 %10, 20
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %471, i32 noundef %.01834)
  br i1 %.not1906, label %472, label %476

472:                                              ; preds = %469
  %473 = zext i32 %.11839 to i64
  %474 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %473)
  %475 = add i32 %474, 1
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %473, i32 noundef %475)
  br label %476

476:                                              ; preds = %472, %469
  %477 = add nuw nsw i64 %10, 8
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %477, i32 noundef %265)
  %478 = add nuw nsw i64 %10, 12
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %478, i32 noundef %259)
  br i1 %.not1897, label %483, label %479

479:                                              ; preds = %476
  %480 = zext i32 %265 to i64
  %481 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %480)
  %482 = add i32 %481, 1
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %480, i32 noundef %482)
  br label %483

483:                                              ; preds = %479, %476
  %484 = fsub double %224, %.11829
  %485 = fcmp olt double %484, 0x41F0000000000000
  %486 = fcmp oge double %484, 0.000000e+00
  %487 = and i1 %485, %486
  br i1 %487, label %488, label %496

488:                                              ; preds = %483
  %489 = fcmp uno double %484, 0.000000e+00
  br i1 %489, label %490, label %491, !prof !15

490:                                              ; preds = %488
  tail call void @wasm_rt_trap(i32 noundef 4) #5
  unreachable

491:                                              ; preds = %488
  %492 = fcmp ogt double %484, -1.000000e+00
  br i1 %492, label %494, label %493, !prof !16

493:                                              ; preds = %491
  tail call void @wasm_rt_trap(i32 noundef 2) #5
  unreachable

494:                                              ; preds = %491
  %495 = fptoui double %484 to i32
  br label %496

496:                                              ; preds = %483, %494
  %.5 = phi i32 [ %495, %494 ], [ 0, %483 ]
  %497 = add i32 %7, -432
  %498 = add i32 %7, -440
  %499 = add i32 %7, -448
  %500 = trunc i64 %.1 to i32
  %501 = add i32 %7, -456
  %502 = fcmp olt double %.11829, 0x41F0000000000000
  %503 = fcmp oge double %.11829, 0.000000e+00
  %504 = and i1 %502, %503
  br i1 %504, label %505, label %513

505:                                              ; preds = %496
  %506 = fcmp uno double %.11829, 0.000000e+00
  br i1 %506, label %507, label %508, !prof !15

507:                                              ; preds = %505
  tail call void @wasm_rt_trap(i32 noundef 4) #5
  unreachable

508:                                              ; preds = %505
  %509 = fcmp ogt double %.11829, -1.000000e+00
  br i1 %509, label %511, label %510, !prof !16

510:                                              ; preds = %508
  tail call void @wasm_rt_trap(i32 noundef 2) #5
  unreachable

511:                                              ; preds = %508
  %512 = fptoui double %.11829 to i32
  br label %513

513:                                              ; preds = %496, %511
  %.01825 = phi i32 [ %512, %511 ], [ 0, %496 ]
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AarrayCopyHelper0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AGCScope0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSArray0x3E0x2C0x20unsigned0x20int0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSArray0x3E0x2C0x20unsigned0x20int0x2C0x20unsigned0x20int0x29(ptr noundef %0, i32 noundef %497, i32 noundef %3, i32 noundef %27, i32 noundef %498, i32 noundef %499, i32 noundef %500, i32 noundef %501, i32 noundef %.01825, i32 noundef %.5)
  %514 = add nuw nsw i64 %10, 40
  %515 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef %514)
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %390, i64 noundef %515)
  %516 = add nuw nsw i64 %10, 32
  %517 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %516)
  br i1 %.not1897, label %522, label %518

518:                                              ; preds = %513
  %519 = zext i32 %265 to i64
  %520 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %519)
  %521 = add i32 %520, -1
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %519, i32 noundef %521)
  br label %522

522:                                              ; preds = %518, %513
  br i1 %.not1906, label %523, label %527

523:                                              ; preds = %522
  %524 = zext i32 %.11839 to i64
  %525 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %524)
  %526 = add i32 %525, -1
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %524, i32 noundef %526)
  br label %527

527:                                              ; preds = %523, %522
  br i1 %.not1914, label %532, label %528

528:                                              ; preds = %527
  %529 = zext i32 %463 to i64
  %530 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %529)
  %531 = add i32 %530, -1
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %529, i32 noundef %531)
  br label %532

532:                                              ; preds = %528, %527
  switch i32 %517, label %535 [
    i32 0, label %533
    i32 1, label %536
  ]

533:                                              ; preds = %532
  %534 = zext i32 %1 to i64
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %534, i32 noundef 0)
  br label %541

535:                                              ; preds = %532
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef %0, i32 noundef 109639, i32 noundef 77564, i32 noundef 179, i32 noundef 90402) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

536:                                              ; preds = %532
  %537 = zext i32 %259 to i64
  %538 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef %537)
  %539 = zext i32 %1 to i64
  %540 = add nuw nsw i64 %539, 8
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %540, i64 noundef %538)
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %539, i32 noundef 1)
  br label %541

541:                                              ; preds = %536, %533, %456, %386
  br i1 %.not1906, label %542, label %546

542:                                              ; preds = %541
  %543 = zext i32 %.11839 to i64
  %544 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %543)
  %545 = add i32 %544, -1
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %543, i32 noundef %545)
  br label %546

546:                                              ; preds = %542, %541
  %547 = zext i32 %272 to i64
  %548 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %547)
  %.not1915 = icmp eq i32 %548, 0
  br i1 %.not1915, label %553, label %549

549:                                              ; preds = %546
  %550 = zext i32 %548 to i64
  %551 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %550)
  %552 = add i32 %551, -1
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %550, i32 noundef %552)
  br label %553

553:                                              ; preds = %549, %546
  br i1 %.not1897, label %558, label %554

554:                                              ; preds = %553
  %555 = zext i32 %265 to i64
  %556 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %555)
  %557 = add i32 %556, -1
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %555, i32 noundef %557)
  br label %558

558:                                              ; preds = %553, %554, %261
  %.pre-phi = phi i64 [ %264, %553 ], [ %264, %554 ], [ %.pre, %261 ]
  %559 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %.pre-phi)
  %.not1916 = icmp eq i32 %559, 0
  br i1 %.not1916, label %564, label %560

560:                                              ; preds = %558
  %561 = zext i32 %559 to i64
  %562 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %561)
  %563 = add i32 %562, -1
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %561, i32 noundef %563)
  br label %564

564:                                              ; preds = %558, %250, %227, %560, %193, %146, %123
  %.not1919 = icmp eq i32 %.01826, 0
  br i1 %.not1919, label %565, label %569

565:                                              ; preds = %564
  %566 = zext i32 %.11837 to i64
  %567 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %566)
  %568 = add i32 %567, -1
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %566, i32 noundef %568)
  br label %569

569:                                              ; preds = %565, %564
  %570 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %58)
  %.not1920 = icmp eq i32 %570, 0
  br i1 %.not1920, label %575, label %571

571:                                              ; preds = %569
  %572 = zext i32 %570 to i64
  %573 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %572)
  %574 = add i32 %573, -1
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %572, i32 noundef %574)
  br label %575

575:                                              ; preds = %569, %571, %42
  %576 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A0x7EGCScope0x280x29(ptr noundef %0, i32 noundef %27) #4
  store i32 %7, ptr %6, align 8, !tbaa !5
  ret void

577:                                              ; preds = %39
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 109639, i32 noundef 77564, i32 noundef 179, i32 noundef 90402) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

578:                                              ; preds = %44
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 146777, i32 noundef 82692, i32 noundef 43, i32 noundef 24718) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

579:                                              ; preds = %48
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 147142, i32 noundef 82611, i32 noundef 106, i32 noundef 28119) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

580:                                              ; preds = %50
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 205012, i32 noundef 82611, i32 noundef 255, i32 noundef 24720) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

581:                                              ; preds = %64
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 147142, i32 noundef 82611, i32 noundef 106, i32 noundef 28119) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

582:                                              ; preds = %75
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 146777, i32 noundef 82692, i32 noundef 61, i32 noundef 72547) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

583:                                              ; preds = %80
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 205071, i32 noundef 82611, i32 noundef 299, i32 noundef 72549) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

584:                                              ; preds = %120
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 109639, i32 noundef 77564, i32 noundef 179, i32 noundef 90402) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

585:                                              ; preds = %143
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 109639, i32 noundef 77564, i32 noundef 179, i32 noundef 90402) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

586:                                              ; preds = %148
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 118741, i32 noundef 83341, i32 noundef 444, i32 noundef 97283) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

587:                                              ; preds = %190
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 109639, i32 noundef 77564, i32 noundef 179, i32 noundef 90402) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

588:                                              ; preds = %195
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 118741, i32 noundef 83341, i32 noundef 444, i32 noundef 97283) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

589:                                              ; preds = %290
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 147142, i32 noundef 82611, i32 noundef 106, i32 noundef 28119) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

590:                                              ; preds = %302
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 146777, i32 noundef 82692, i32 noundef 61, i32 noundef 72547) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable

591:                                              ; preds = %417
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef %0, i32 noundef 168600, i32 noundef 83341, i32 noundef 341, i32 noundef 90577) #4
  tail call void @wasm_rt_trap(i32 noundef 5) #5
  unreachable
}

; Function Attrs: nounwind uwtable
declare dso_local void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AarrayCopyHelper0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AGCScope0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSArray0x3E0x2C0x20unsigned0x20int0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSArray0x3E0x2C0x20unsigned0x20int0x2C0x20unsigned0x20int0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #3

attributes #0 = { noreturn "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { inlinehint nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { nounwind }
attributes #5 = { noreturn nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !10, i64 24}
!6 = !{!"w2c_hermes", !7, i64 0, !7, i64 8, !7, i64 16, !10, i64 24, !10, i64 28, !10, i64 32, !11, i64 40, !14, i64 80}
!7 = !{!"any pointer", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C/C++ TBAA"}
!10 = !{!"int", !8, i64 0}
!11 = !{!"", !7, i64 0, !12, i64 8, !12, i64 16, !12, i64 24, !13, i64 32}
!12 = !{!"long", !8, i64 0}
!13 = !{!"_Bool", !8, i64 0}
!14 = !{!"", !7, i64 0, !10, i64 8, !10, i64 12}
!15 = !{!"branch_weights", !"expected", i32 1, i32 2000}
!16 = !{!"branch_weights", !"expected", i32 2000, i32 1}


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LICMPass,LoopSimplifyPass,LoopUnrollPass,LowerExpectIntrinsicPass,ReassociatePass,SROAPass,SimplifyCFGPass,TailCallElimPass