; LLVM IR from facebook/hermes :: API/hermes_sandbox/external (hermes_sandbox_impl_opt_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: nounwind uwtable
declare dso_local i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AraiseRangeError0x28hermes0x3A0x3Avm0x3A0x3ATwineChar160x20const0x260x29(ptr noundef, i32 noundef, i32 noundef) #1

; 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: inlinehint nounwind uwtable
declare hidden void @i32_store(ptr noundef, i64 noundef, i32 noundef) #2

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

declare i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef, i32 noundef, i64 noundef) #3

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

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

declare void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A0x7EGCScope0x280x29(ptr noundef, i32 noundef) #3

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

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

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

declare void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSObject0x3A0x3AputNamedWithReceiver_RJS0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ASymbolID0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3APropOpFlags0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) #3

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

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

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

declare void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSObject0x3A0x3AgetNamedWithReceiver_RJS0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ASymbolID0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3APropOpFlags0x2C0x20hermes0x3A0x3Avm0x3A0x3APropertyCacheEntry0x2A0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) #3

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

declare i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSObject0x3A0x3AgetComputedPrimitiveDescriptor0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AMutableHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AMutableHandle0x3Chermes0x3A0x3Avm0x3A0x3ASymbolID0x3E0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AComputedPropertyDescriptor0x260x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) #3

declare i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSArray0x3A0x3Acreate0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20unsigned0x20int0x2C0x20unsigned0x20int0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef) #3

declare void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AArrayImpl0x3A0x3A_setOwnIndexedImpl0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20unsigned0x20int0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) #3

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

declare void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AtoLengthU640x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef) #3

declare void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSObject0x3A0x3AgetComputedPropertyValue_RJS0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AMutableHandle0x3Chermes0x3A0x3Avm0x3A0x3ASymbolID0x3E0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AComputedPropertyDescriptor0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) #3

; Function Attrs: nounwind uwtable
define dso_local void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AarrayPrototypeSlice0x28void0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ANativeArgs0x29(ptr noundef %0, i32 noundef %1, i32 noundef %2, i32 noundef %3, i32 noundef %4) #1 {
  %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 i64, align 8
  %20 = alloca double, align 8
  %21 = alloca double, align 8
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca i64, align 8
  %31 = alloca i64, align 8
  %32 = alloca i64, align 8
  %33 = alloca double, align 8
  %34 = alloca double, align 8
  %35 = alloca double, align 8
  %36 = alloca double, align 8
  %37 = 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 8, ptr %19) #6
  store i64 0, ptr %19, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %20) #6
  store double 0.000000e+00, ptr %20, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #6
  store double 0.000000e+00, ptr %21, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %32) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %33) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %34) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %35) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #6
  %38 = load ptr, ptr %6, align 8, !tbaa !5
  %39 = getelementptr inbounds %struct.w2c_hermes, ptr %38, i32 0, i32 3
  %40 = load i32, ptr %39, align 8, !tbaa !15
  store i32 %40, ptr %22, align 4, !tbaa !9
  store i32 368, ptr %23, align 4, !tbaa !9
  %41 = load i32, ptr %23, align 4, !tbaa !9
  %42 = load i32, ptr %22, align 4, !tbaa !9
  %43 = sub i32 %42, %41
  store i32 %43, ptr %22, align 4, !tbaa !9
  %44 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %44, ptr %8, align 4, !tbaa !9
  %45 = load i32, ptr %22, align 4, !tbaa !9
  %46 = load ptr, ptr %6, align 8, !tbaa !5
  %47 = getelementptr inbounds %struct.w2c_hermes, ptr %46, i32 0, i32 3
  store i32 %45, ptr %47, align 8, !tbaa !15
  %48 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %48, ptr %22, align 4, !tbaa !9
  %49 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %49, ptr %23, align 4, !tbaa !9
  %50 = load ptr, ptr %6, align 8, !tbaa !5
  %51 = getelementptr inbounds %struct.w2c_hermes, ptr %50, i32 0, i32 6
  %52 = load i32, ptr %22, align 4, !tbaa !9
  %53 = zext i32 %52 to i64
  %54 = add i64 %53, 184
  %55 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %51, i64 noundef %54, i32 noundef %55)
  %56 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %56, ptr %22, align 4, !tbaa !9
  %57 = load ptr, ptr %6, align 8, !tbaa !5
  %58 = getelementptr inbounds %struct.w2c_hermes, ptr %57, i32 0, i32 6
  %59 = load i32, ptr %22, align 4, !tbaa !9
  %60 = zext i32 %59 to i64
  %61 = add i64 %60, 4
  %62 = call i32 @i32_load(ptr noundef %58, i64 noundef %61)
  store i32 %62, ptr %22, align 4, !tbaa !9
  %63 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %63, ptr %11, align 4, !tbaa !9
  %64 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %64, ptr %22, align 4, !tbaa !9
  store i32 332, ptr %23, align 4, !tbaa !9
  %65 = load i32, ptr %23, align 4, !tbaa !9
  %66 = load i32, ptr %22, align 4, !tbaa !9
  %67 = add i32 %66, %65
  store i32 %67, ptr %22, align 4, !tbaa !9
  %68 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %68, ptr %13, align 4, !tbaa !9
  %69 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %69, ptr %23, align 4, !tbaa !9
  store i32 192, ptr %24, align 4, !tbaa !9
  %70 = load i32, ptr %24, align 4, !tbaa !9
  %71 = load i32, ptr %23, align 4, !tbaa !9
  %72 = add i32 %71, %70
  store i32 %72, ptr %23, align 4, !tbaa !9
  %73 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %73, ptr %12, align 4, !tbaa !9
  %74 = load ptr, ptr %6, align 8, !tbaa !5
  %75 = getelementptr inbounds %struct.w2c_hermes, ptr %74, i32 0, i32 6
  %76 = load i32, ptr %22, align 4, !tbaa !9
  %77 = zext i32 %76 to i64
  %78 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %75, i64 noundef %77, i32 noundef %78)
  %79 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %79, ptr %22, align 4, !tbaa !9
  store i64 17179869185, ptr %31, align 8, !tbaa !11
  %80 = load ptr, ptr %6, align 8, !tbaa !5
  %81 = getelementptr inbounds %struct.w2c_hermes, ptr %80, i32 0, i32 6
  %82 = load i32, ptr %22, align 4, !tbaa !9
  %83 = zext i32 %82 to i64
  %84 = add i64 %83, 324
  %85 = load i64, ptr %31, align 8, !tbaa !11
  call void @i64_store(ptr noundef %81, i64 noundef %84, i64 noundef %85)
  %86 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %86, ptr %22, align 4, !tbaa !9
  %87 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %87, ptr %23, align 4, !tbaa !9
  %88 = load ptr, ptr %6, align 8, !tbaa !5
  %89 = getelementptr inbounds %struct.w2c_hermes, ptr %88, i32 0, i32 6
  %90 = load i32, ptr %22, align 4, !tbaa !9
  %91 = zext i32 %90 to i64
  %92 = add i64 %91, 320
  %93 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %89, i64 noundef %92, i32 noundef %93)
  %94 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %94, ptr %22, align 4, !tbaa !9
  %95 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %95, ptr %23, align 4, !tbaa !9
  %96 = load ptr, ptr %6, align 8, !tbaa !5
  %97 = getelementptr inbounds %struct.w2c_hermes, ptr %96, i32 0, i32 6
  %98 = load i32, ptr %22, align 4, !tbaa !9
  %99 = zext i32 %98 to i64
  %100 = add i64 %99, 188
  %101 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %97, i64 noundef %100, i32 noundef %101)
  %102 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %102, ptr %22, align 4, !tbaa !9
  store i32 0, ptr %23, align 4, !tbaa !9
  %103 = load ptr, ptr %6, align 8, !tbaa !5
  %104 = getelementptr inbounds %struct.w2c_hermes, ptr %103, i32 0, i32 6
  %105 = load i32, ptr %22, align 4, !tbaa !9
  %106 = zext i32 %105 to i64
  %107 = add i64 %106, 356
  %108 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %104, i64 noundef %107, i32 noundef %108)
  %109 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %109, ptr %22, align 4, !tbaa !9
  %110 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %110, ptr %23, align 4, !tbaa !9
  store i32 320, ptr %24, align 4, !tbaa !9
  %111 = load i32, ptr %24, align 4, !tbaa !9
  %112 = load i32, ptr %23, align 4, !tbaa !9
  %113 = add i32 %112, %111
  store i32 %113, ptr %23, align 4, !tbaa !9
  %114 = load ptr, ptr %6, align 8, !tbaa !5
  %115 = getelementptr inbounds %struct.w2c_hermes, ptr %114, i32 0, i32 6
  %116 = load i32, ptr %22, align 4, !tbaa !9
  %117 = zext i32 %116 to i64
  %118 = add i64 %117, 352
  %119 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %115, i64 noundef %118, i32 noundef %119)
  %120 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %120, ptr %22, align 4, !tbaa !9
  %121 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %121, ptr %23, align 4, !tbaa !9
  %122 = load ptr, ptr %6, align 8, !tbaa !5
  %123 = getelementptr inbounds %struct.w2c_hermes, ptr %122, i32 0, i32 6
  %124 = load i32, ptr %22, align 4, !tbaa !9
  %125 = zext i32 %124 to i64
  %126 = add i64 %125, 348
  %127 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %123, i64 noundef %126, i32 noundef %127)
  %128 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %128, ptr %22, align 4, !tbaa !9
  %129 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %129, ptr %23, align 4, !tbaa !9
  store i32 184, ptr %24, align 4, !tbaa !9
  %130 = load i32, ptr %24, align 4, !tbaa !9
  %131 = load i32, ptr %23, align 4, !tbaa !9
  %132 = add i32 %131, %130
  store i32 %132, ptr %23, align 4, !tbaa !9
  %133 = load ptr, ptr %6, align 8, !tbaa !5
  %134 = getelementptr inbounds %struct.w2c_hermes, ptr %133, i32 0, i32 6
  %135 = load i32, ptr %22, align 4, !tbaa !9
  %136 = zext i32 %135 to i64
  %137 = add i64 %136, 4
  %138 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %134, i64 noundef %137, i32 noundef %138)
  %139 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %139, ptr %22, align 4, !tbaa !9
  store i32 168, ptr %23, align 4, !tbaa !9
  %140 = load i32, ptr %23, align 4, !tbaa !9
  %141 = load i32, ptr %22, align 4, !tbaa !9
  %142 = add i32 %141, %140
  store i32 %142, ptr %22, align 4, !tbaa !9
  %143 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %143, ptr %23, align 4, !tbaa !9
  %144 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %144, ptr %24, align 4, !tbaa !9
  %145 = load ptr, ptr %6, align 8, !tbaa !5
  %146 = getelementptr inbounds %struct.w2c_hermes, ptr %145, i32 0, i32 6
  %147 = load i32, ptr %24, align 4, !tbaa !9
  %148 = zext i32 %147 to i64
  %149 = call i32 @i32_load(ptr noundef %146, i64 noundef %148)
  store i32 %149, ptr %24, align 4, !tbaa !9
  %150 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %150, ptr %14, align 4, !tbaa !9
  %151 = load ptr, ptr %6, align 8, !tbaa !5
  %152 = load i32, ptr %22, align 4, !tbaa !9
  %153 = load i32, ptr %23, align 4, !tbaa !9
  %154 = load i32, ptr %24, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AtoObject0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x29(ptr noundef %151, i32 noundef %152, i32 noundef %153, i32 noundef %154)
  %155 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %155, ptr %22, align 4, !tbaa !9
  %156 = load ptr, ptr %6, align 8, !tbaa !5
  %157 = getelementptr inbounds %struct.w2c_hermes, ptr %156, i32 0, i32 6
  %158 = load i32, ptr %22, align 4, !tbaa !9
  %159 = zext i32 %158 to i64
  %160 = add i64 %159, 168
  %161 = call i32 @i32_load(ptr noundef %157, i64 noundef %160)
  store i32 %161, ptr %22, align 4, !tbaa !9
  %162 = load i32, ptr %22, align 4, !tbaa !9
  %163 = icmp ne i32 %162, 0
  %164 = xor i1 %163, true
  %165 = zext i1 %164 to i32
  store i32 %165, ptr %22, align 4, !tbaa !9
  %166 = load i32, ptr %22, align 4, !tbaa !9
  %167 = icmp ne i32 %166, 0
  br i1 %167, label %168, label %175

168:                                              ; preds = %5
  %169 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %169, ptr %22, align 4, !tbaa !9
  store i32 0, ptr %23, align 4, !tbaa !9
  %170 = load ptr, ptr %6, align 8, !tbaa !5
  %171 = getelementptr inbounds %struct.w2c_hermes, ptr %170, i32 0, i32 6
  %172 = load i32, ptr %22, align 4, !tbaa !9
  %173 = zext i32 %172 to i64
  %174 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %171, i64 noundef %173, i32 noundef %174)
  br label %1547

175:                                              ; preds = %5
  %176 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %176, ptr %22, align 4, !tbaa !9
  %177 = load ptr, ptr %6, align 8, !tbaa !5
  %178 = getelementptr inbounds %struct.w2c_hermes, ptr %177, i32 0, i32 6
  %179 = load i32, ptr %22, align 4, !tbaa !9
  %180 = zext i32 %179 to i64
  %181 = add i64 %180, 176
  %182 = call i64 @i64_load32_u(ptr noundef %178, i64 noundef %181)
  store i64 %182, ptr %30, align 8, !tbaa !11
  store i64 -281474976710656, ptr %31, align 8, !tbaa !11
  %183 = load i64, ptr %31, align 8, !tbaa !11
  %184 = load i64, ptr %30, align 8, !tbaa !11
  %185 = or i64 %184, %183
  store i64 %185, ptr %30, align 8, !tbaa !11
  %186 = load i64, ptr %30, align 8, !tbaa !11
  store i64 %186, ptr %19, align 8, !tbaa !11
  %187 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %187, ptr %22, align 4, !tbaa !9
  %188 = load ptr, ptr %6, align 8, !tbaa !5
  %189 = getelementptr inbounds %struct.w2c_hermes, ptr %188, i32 0, i32 6
  %190 = load i32, ptr %22, align 4, !tbaa !9
  %191 = zext i32 %190 to i64
  %192 = add i64 %191, 4
  %193 = call i32 @i32_load(ptr noundef %189, i64 noundef %192)
  store i32 %193, ptr %22, align 4, !tbaa !9
  %194 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %194, ptr %11, align 4, !tbaa !9
  %195 = load ptr, ptr %6, align 8, !tbaa !5
  %196 = getelementptr inbounds %struct.w2c_hermes, ptr %195, i32 0, i32 6
  %197 = load i32, ptr %22, align 4, !tbaa !9
  %198 = zext i32 %197 to i64
  %199 = add i64 %198, 164
  %200 = call i32 @i32_load(ptr noundef %196, i64 noundef %199)
  store i32 %200, ptr %22, align 4, !tbaa !9
  %201 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %201, ptr %13, align 4, !tbaa !9
  %202 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %202, ptr %23, align 4, !tbaa !9
  %203 = load ptr, ptr %6, align 8, !tbaa !5
  %204 = getelementptr inbounds %struct.w2c_hermes, ptr %203, i32 0, i32 6
  %205 = load i32, ptr %23, align 4, !tbaa !9
  %206 = zext i32 %205 to i64
  %207 = add i64 %206, 168
  %208 = call i32 @i32_load(ptr noundef %204, i64 noundef %207)
  store i32 %208, ptr %23, align 4, !tbaa !9
  %209 = load i32, ptr %22, align 4, !tbaa !9
  %210 = load i32, ptr %23, align 4, !tbaa !9
  %211 = icmp ult i32 %209, %210
  %212 = zext i1 %211 to i32
  store i32 %212, ptr %22, align 4, !tbaa !9
  %213 = load i32, ptr %22, align 4, !tbaa !9
  %214 = icmp ne i32 %213, 0
  br i1 %214, label %215, label %234

215:                                              ; preds = %175
  %216 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %216, ptr %22, align 4, !tbaa !9
  %217 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %217, ptr %23, align 4, !tbaa !9
  store i32 8, ptr %24, align 4, !tbaa !9
  %218 = load i32, ptr %24, align 4, !tbaa !9
  %219 = load i32, ptr %23, align 4, !tbaa !9
  %220 = add i32 %219, %218
  store i32 %220, ptr %23, align 4, !tbaa !9
  %221 = load ptr, ptr %6, align 8, !tbaa !5
  %222 = getelementptr inbounds %struct.w2c_hermes, ptr %221, i32 0, i32 6
  %223 = load i32, ptr %22, align 4, !tbaa !9
  %224 = zext i32 %223 to i64
  %225 = add i64 %224, 164
  %226 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %222, i64 noundef %225, i32 noundef %226)
  %227 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %227, ptr %22, align 4, !tbaa !9
  %228 = load i64, ptr %19, align 8, !tbaa !11
  store i64 %228, ptr %31, align 8, !tbaa !11
  %229 = load ptr, ptr %6, align 8, !tbaa !5
  %230 = getelementptr inbounds %struct.w2c_hermes, ptr %229, i32 0, i32 6
  %231 = load i32, ptr %22, align 4, !tbaa !9
  %232 = zext i32 %231 to i64
  %233 = load i64, ptr %31, align 8, !tbaa !11
  call void @i64_store(ptr noundef %230, i64 noundef %232, i64 noundef %233)
  br label %242

234:                                              ; preds = %175
  %235 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %235, ptr %22, align 4, !tbaa !9
  %236 = load i64, ptr %19, align 8, !tbaa !11
  store i64 %236, ptr %31, align 8, !tbaa !11
  %237 = load ptr, ptr %6, align 8, !tbaa !5
  %238 = load i32, ptr %22, align 4, !tbaa !9
  %239 = load i64, ptr %31, align 8, !tbaa !11
  %240 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %237, i32 noundef %238, i64 noundef %239)
  store i32 %240, ptr %22, align 4, !tbaa !9
  %241 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %241, ptr %13, align 4, !tbaa !9
  br label %242

242:                                              ; preds = %234, %215
  %243 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %243, ptr %22, align 4, !tbaa !9
  store i32 0, ptr %23, align 4, !tbaa !9
  %244 = load ptr, ptr %6, align 8, !tbaa !5
  %245 = getelementptr inbounds %struct.w2c_hermes, ptr %244, i32 0, i32 6
  %246 = load i32, ptr %22, align 4, !tbaa !9
  %247 = zext i32 %246 to i64
  %248 = add i64 %247, 28
  %249 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %245, i64 noundef %248, i32 noundef %249)
  %250 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %250, ptr %22, align 4, !tbaa !9
  store i32 0, ptr %23, align 4, !tbaa !9
  %251 = load ptr, ptr %6, align 8, !tbaa !5
  %252 = getelementptr inbounds %struct.w2c_hermes, ptr %251, i32 0, i32 6
  %253 = load i32, ptr %22, align 4, !tbaa !9
  %254 = zext i32 %253 to i64
  %255 = add i64 %254, 48
  %256 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %252, i64 noundef %255, i32 noundef %256)
  %257 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %257, ptr %22, align 4, !tbaa !9
  store i32 152, ptr %23, align 4, !tbaa !9
  %258 = load i32, ptr %23, align 4, !tbaa !9
  %259 = load i32, ptr %22, align 4, !tbaa !9
  %260 = add i32 %259, %258
  store i32 %260, ptr %22, align 4, !tbaa !9
  %261 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %261, ptr %23, align 4, !tbaa !9
  %262 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %262, ptr %24, align 4, !tbaa !9
  store i32 85, ptr %25, align 4, !tbaa !9
  %263 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %263, ptr %26, align 4, !tbaa !9
  %264 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %264, ptr %27, align 4, !tbaa !9
  store i32 28, ptr %28, align 4, !tbaa !9
  %265 = load i32, ptr %28, align 4, !tbaa !9
  %266 = load i32, ptr %27, align 4, !tbaa !9
  %267 = add i32 %266, %265
  store i32 %267, ptr %27, align 4, !tbaa !9
  store i32 0, ptr %28, align 4, !tbaa !9
  %268 = load ptr, ptr %6, align 8, !tbaa !5
  %269 = load i32, ptr %22, align 4, !tbaa !9
  %270 = load i32, ptr %23, align 4, !tbaa !9
  %271 = load i32, ptr %24, align 4, !tbaa !9
  %272 = load i32, ptr %25, align 4, !tbaa !9
  %273 = load i32, ptr %26, align 4, !tbaa !9
  %274 = load i32, ptr %27, align 4, !tbaa !9
  %275 = load i32, ptr %28, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSObject0x3A0x3AgetNamedWithReceiver_RJS0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ASymbolID0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3APropOpFlags0x2C0x20hermes0x3A0x3Avm0x3A0x3APropertyCacheEntry0x2A0x29(ptr noundef %268, i32 noundef %269, i32 noundef %270, i32 noundef %271, i32 noundef %272, i32 noundef %273, i32 noundef %274, i32 noundef %275)
  %276 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %276, ptr %22, align 4, !tbaa !9
  %277 = load ptr, ptr %6, align 8, !tbaa !5
  %278 = getelementptr inbounds %struct.w2c_hermes, ptr %277, i32 0, i32 6
  %279 = load i32, ptr %22, align 4, !tbaa !9
  %280 = zext i32 %279 to i64
  %281 = add i64 %280, 152
  %282 = call i32 @i32_load(ptr noundef %278, i64 noundef %281)
  store i32 %282, ptr %22, align 4, !tbaa !9
  %283 = load i32, ptr %22, align 4, !tbaa !9
  %284 = icmp ne i32 %283, 0
  %285 = xor i1 %284, true
  %286 = zext i1 %285 to i32
  store i32 %286, ptr %22, align 4, !tbaa !9
  %287 = load i32, ptr %22, align 4, !tbaa !9
  %288 = icmp ne i32 %287, 0
  br i1 %288, label %289, label %296

289:                                              ; preds = %242
  %290 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %290, ptr %22, align 4, !tbaa !9
  store i32 0, ptr %23, align 4, !tbaa !9
  %291 = load ptr, ptr %6, align 8, !tbaa !5
  %292 = getelementptr inbounds %struct.w2c_hermes, ptr %291, i32 0, i32 6
  %293 = load i32, ptr %22, align 4, !tbaa !9
  %294 = zext i32 %293 to i64
  %295 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %292, i64 noundef %294, i32 noundef %295)
  br label %1547

296:                                              ; preds = %242
  %297 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %297, ptr %22, align 4, !tbaa !9
  %298 = load ptr, ptr %6, align 8, !tbaa !5
  %299 = getelementptr inbounds %struct.w2c_hermes, ptr %298, i32 0, i32 6
  %300 = load i32, ptr %22, align 4, !tbaa !9
  %301 = zext i32 %300 to i64
  %302 = add i64 %301, 160
  %303 = call i64 @i64_load(ptr noundef %299, i64 noundef %302)
  store i64 %303, ptr %30, align 8, !tbaa !11
  %304 = load i64, ptr %30, align 8, !tbaa !11
  store i64 %304, ptr %19, align 8, !tbaa !11
  %305 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %305, ptr %22, align 4, !tbaa !9
  %306 = load ptr, ptr %6, align 8, !tbaa !5
  %307 = getelementptr inbounds %struct.w2c_hermes, ptr %306, i32 0, i32 6
  %308 = load i32, ptr %22, align 4, !tbaa !9
  %309 = zext i32 %308 to i64
  %310 = add i64 %309, 4
  %311 = call i32 @i32_load(ptr noundef %307, i64 noundef %310)
  store i32 %311, ptr %22, align 4, !tbaa !9
  %312 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %312, ptr %12, align 4, !tbaa !9
  %313 = load ptr, ptr %6, align 8, !tbaa !5
  %314 = getelementptr inbounds %struct.w2c_hermes, ptr %313, i32 0, i32 6
  %315 = load i32, ptr %22, align 4, !tbaa !9
  %316 = zext i32 %315 to i64
  %317 = add i64 %316, 164
  %318 = call i32 @i32_load(ptr noundef %314, i64 noundef %317)
  store i32 %318, ptr %22, align 4, !tbaa !9
  %319 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %319, ptr %11, align 4, !tbaa !9
  %320 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %320, ptr %23, 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 %23, align 4, !tbaa !9
  %324 = zext i32 %323 to i64
  %325 = add i64 %324, 168
  %326 = call i32 @i32_load(ptr noundef %322, i64 noundef %325)
  store i32 %326, ptr %23, align 4, !tbaa !9
  %327 = load i32, ptr %22, align 4, !tbaa !9
  %328 = load i32, ptr %23, align 4, !tbaa !9
  %329 = icmp ult i32 %327, %328
  %330 = zext i1 %329 to i32
  store i32 %330, ptr %22, align 4, !tbaa !9
  %331 = load i32, ptr %22, align 4, !tbaa !9
  %332 = icmp ne i32 %331, 0
  br i1 %332, label %333, label %352

333:                                              ; preds = %296
  %334 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %334, ptr %22, align 4, !tbaa !9
  %335 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %335, ptr %23, align 4, !tbaa !9
  store i32 8, ptr %24, align 4, !tbaa !9
  %336 = load i32, ptr %24, align 4, !tbaa !9
  %337 = load i32, ptr %23, align 4, !tbaa !9
  %338 = add i32 %337, %336
  store i32 %338, ptr %23, align 4, !tbaa !9
  %339 = load ptr, ptr %6, align 8, !tbaa !5
  %340 = getelementptr inbounds %struct.w2c_hermes, ptr %339, i32 0, i32 6
  %341 = load i32, ptr %22, align 4, !tbaa !9
  %342 = zext i32 %341 to i64
  %343 = add i64 %342, 164
  %344 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %340, i64 noundef %343, i32 noundef %344)
  %345 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %345, ptr %22, align 4, !tbaa !9
  %346 = load i64, ptr %19, align 8, !tbaa !11
  store i64 %346, ptr %31, align 8, !tbaa !11
  %347 = load ptr, ptr %6, align 8, !tbaa !5
  %348 = getelementptr inbounds %struct.w2c_hermes, ptr %347, i32 0, i32 6
  %349 = load i32, ptr %22, align 4, !tbaa !9
  %350 = zext i32 %349 to i64
  %351 = load i64, ptr %31, align 8, !tbaa !11
  call void @i64_store(ptr noundef %348, i64 noundef %350, i64 noundef %351)
  br label %360

352:                                              ; preds = %296
  %353 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %353, ptr %22, align 4, !tbaa !9
  %354 = load i64, ptr %19, align 8, !tbaa !11
  store i64 %354, ptr %31, align 8, !tbaa !11
  %355 = load ptr, ptr %6, align 8, !tbaa !5
  %356 = load i32, ptr %22, align 4, !tbaa !9
  %357 = load i64, ptr %31, align 8, !tbaa !11
  %358 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %355, i32 noundef %356, i64 noundef %357)
  store i32 %358, ptr %22, align 4, !tbaa !9
  %359 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %359, ptr %11, align 4, !tbaa !9
  br label %360

360:                                              ; preds = %352, %333
  %361 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %361, ptr %22, align 4, !tbaa !9
  store i32 136, ptr %23, align 4, !tbaa !9
  %362 = load i32, ptr %23, align 4, !tbaa !9
  %363 = load i32, ptr %22, align 4, !tbaa !9
  %364 = add i32 %363, %362
  store i32 %364, ptr %22, align 4, !tbaa !9
  %365 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %365, ptr %23, align 4, !tbaa !9
  %366 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %366, ptr %24, align 4, !tbaa !9
  %367 = load ptr, ptr %6, align 8, !tbaa !5
  %368 = load i32, ptr %22, align 4, !tbaa !9
  %369 = load i32, ptr %23, align 4, !tbaa !9
  %370 = load i32, ptr %24, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AtoLengthU640x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x29(ptr noundef %367, i32 noundef %368, i32 noundef %369, i32 noundef %370)
  %371 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %371, ptr %22, align 4, !tbaa !9
  %372 = load ptr, ptr %6, align 8, !tbaa !5
  %373 = getelementptr inbounds %struct.w2c_hermes, ptr %372, i32 0, i32 6
  %374 = load i32, ptr %22, align 4, !tbaa !9
  %375 = zext i32 %374 to i64
  %376 = add i64 %375, 136
  %377 = call i32 @i32_load(ptr noundef %373, i64 noundef %376)
  store i32 %377, ptr %22, align 4, !tbaa !9
  %378 = load i32, ptr %22, align 4, !tbaa !9
  %379 = icmp ne i32 %378, 0
  %380 = xor i1 %379, true
  %381 = zext i1 %380 to i32
  store i32 %381, ptr %22, align 4, !tbaa !9
  %382 = load i32, ptr %22, align 4, !tbaa !9
  %383 = icmp ne i32 %382, 0
  br i1 %383, label %384, label %391

384:                                              ; preds = %360
  %385 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %385, ptr %22, align 4, !tbaa !9
  store i32 0, ptr %23, align 4, !tbaa !9
  %386 = load ptr, ptr %6, align 8, !tbaa !5
  %387 = getelementptr inbounds %struct.w2c_hermes, ptr %386, i32 0, i32 6
  %388 = load i32, ptr %22, align 4, !tbaa !9
  %389 = zext i32 %388 to i64
  %390 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %387, i64 noundef %389, i32 noundef %390)
  br label %1547

391:                                              ; preds = %360
  %392 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %392, ptr %22, align 4, !tbaa !9
  %393 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %393, ptr %23, align 4, !tbaa !9
  %394 = load ptr, ptr %6, align 8, !tbaa !5
  %395 = getelementptr inbounds %struct.w2c_hermes, ptr %394, i32 0, i32 6
  %396 = load i32, ptr %23, align 4, !tbaa !9
  %397 = zext i32 %396 to i64
  %398 = add i64 %397, 144
  %399 = call i64 @i64_load(ptr noundef %395, i64 noundef %398)
  store i64 %399, ptr %31, align 8, !tbaa !11
  %400 = load i64, ptr %31, align 8, !tbaa !11
  %401 = uitofp i64 %400 to double
  store double %401, ptr %34, align 8, !tbaa !13
  %402 = load double, ptr %34, align 8, !tbaa !13
  store double %402, ptr %20, align 8, !tbaa !13
  %403 = load ptr, ptr %6, align 8, !tbaa !5
  %404 = getelementptr inbounds %struct.w2c_hermes, ptr %403, i32 0, i32 6
  %405 = load i32, ptr %22, align 4, !tbaa !9
  %406 = zext i32 %405 to i64
  %407 = add i64 %406, 128
  %408 = load double, ptr %34, align 8, !tbaa !13
  call void @f64_store(ptr noundef %404, i64 noundef %407, double noundef %408)
  %409 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %409, ptr %22, align 4, !tbaa !9
  store i32 112, ptr %23, align 4, !tbaa !9
  %410 = load i32, ptr %23, align 4, !tbaa !9
  %411 = load i32, ptr %22, align 4, !tbaa !9
  %412 = add i32 %411, %410
  store i32 %412, ptr %22, align 4, !tbaa !9
  %413 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %413, ptr %23, align 4, !tbaa !9
  %414 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %414, ptr %24, align 4, !tbaa !9
  store i32 8, ptr %25, align 4, !tbaa !9
  %415 = load i32, ptr %25, align 4, !tbaa !9
  %416 = load i32, ptr %24, align 4, !tbaa !9
  %417 = sub i32 %416, %415
  store i32 %417, ptr %24, align 4, !tbaa !9
  store i32 67208, ptr %25, align 4, !tbaa !9
  %418 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %418, ptr %26, align 4, !tbaa !9
  %419 = load ptr, ptr %6, align 8, !tbaa !5
  %420 = getelementptr inbounds %struct.w2c_hermes, ptr %419, i32 0, i32 6
  %421 = load i32, ptr %26, align 4, !tbaa !9
  %422 = zext i32 %421 to i64
  %423 = add i64 %422, 4
  %424 = call i32 @i32_load(ptr noundef %420, i64 noundef %423)
  store i32 %424, ptr %26, align 4, !tbaa !9
  %425 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %425, ptr %12, align 4, !tbaa !9
  %426 = load i32, ptr %26, align 4, !tbaa !9
  %427 = icmp ne i32 %426, 0
  br i1 %427, label %428, label %430

428:                                              ; preds = %391
  %429 = load i32, ptr %24, align 4, !tbaa !9
  br label %432

430:                                              ; preds = %391
  %431 = load i32, ptr %25, align 4, !tbaa !9
  br label %432

432:                                              ; preds = %430, %428
  %433 = phi i32 [ %429, %428 ], [ %431, %430 ]
  store i32 %433, ptr %24, align 4, !tbaa !9
  %434 = load ptr, ptr %6, align 8, !tbaa !5
  %435 = load i32, ptr %22, align 4, !tbaa !9
  %436 = load i32, ptr %23, align 4, !tbaa !9
  %437 = load i32, ptr %24, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AtoIntegerOrInfinity0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x29(ptr noundef %434, i32 noundef %435, i32 noundef %436, i32 noundef %437)
  %438 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %438, ptr %22, align 4, !tbaa !9
  %439 = load ptr, ptr %6, align 8, !tbaa !5
  %440 = getelementptr inbounds %struct.w2c_hermes, ptr %439, i32 0, i32 6
  %441 = load i32, ptr %22, align 4, !tbaa !9
  %442 = zext i32 %441 to i64
  %443 = add i64 %442, 112
  %444 = call i32 @i32_load(ptr noundef %440, i64 noundef %443)
  store i32 %444, ptr %22, align 4, !tbaa !9
  %445 = load i32, ptr %22, align 4, !tbaa !9
  %446 = icmp ne i32 %445, 0
  %447 = xor i1 %446, true
  %448 = zext i1 %447 to i32
  store i32 %448, ptr %22, align 4, !tbaa !9
  %449 = load i32, ptr %22, align 4, !tbaa !9
  %450 = icmp ne i32 %449, 0
  br i1 %450, label %451, label %458

451:                                              ; preds = %432
  %452 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %452, ptr %22, align 4, !tbaa !9
  store i32 0, ptr %23, align 4, !tbaa !9
  %453 = load ptr, ptr %6, align 8, !tbaa !5
  %454 = getelementptr inbounds %struct.w2c_hermes, ptr %453, i32 0, i32 6
  %455 = load i32, ptr %22, align 4, !tbaa !9
  %456 = zext i32 %455 to i64
  %457 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %454, i64 noundef %456, i32 noundef %457)
  br label %1547

458:                                              ; preds = %432
  %459 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %459, ptr %22, align 4, !tbaa !9
  %460 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %460, ptr %23, align 4, !tbaa !9
  %461 = load ptr, ptr %6, align 8, !tbaa !5
  %462 = getelementptr inbounds %struct.w2c_hermes, ptr %461, i32 0, i32 6
  %463 = load i32, ptr %23, align 4, !tbaa !9
  %464 = zext i32 %463 to i64
  %465 = add i64 %464, 120
  %466 = call double @f64_load(ptr noundef %462, i64 noundef %465)
  store double %466, ptr %34, align 8, !tbaa !13
  %467 = load double, ptr %34, align 8, !tbaa !13
  store double %467, ptr %21, align 8, !tbaa !13
  %468 = load ptr, ptr %6, align 8, !tbaa !5
  %469 = getelementptr inbounds %struct.w2c_hermes, ptr %468, i32 0, i32 6
  %470 = load i32, ptr %22, align 4, !tbaa !9
  %471 = zext i32 %470 to i64
  %472 = add i64 %471, 104
  %473 = load double, ptr %34, align 8, !tbaa !13
  call void @f64_store(ptr noundef %469, i64 noundef %472, double noundef %473)
  %474 = load double, ptr %21, align 8, !tbaa !13
  store double %474, ptr %33, align 8, !tbaa !13
  store double 0.000000e+00, ptr %34, align 8, !tbaa !13
  %475 = load double, ptr %33, align 8, !tbaa !13
  %476 = load double, ptr %34, align 8, !tbaa !13
  %477 = fcmp olt double %475, %476
  %478 = zext i1 %477 to i32
  store i32 %478, ptr %22, align 4, !tbaa !9
  %479 = load i32, ptr %22, align 4, !tbaa !9
  %480 = icmp ne i32 %479, 0
  br i1 %480, label %481, label %523

481:                                              ; preds = %458
  %482 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %482, ptr %22, align 4, !tbaa !9
  store i64 0, ptr %31, align 8, !tbaa !11
  %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 %22, align 4, !tbaa !9
  %486 = zext i32 %485 to i64
  %487 = add i64 %486, 96
  %488 = load i64, ptr %31, align 8, !tbaa !11
  call void @i64_store(ptr noundef %484, i64 noundef %487, i64 noundef %488)
  %489 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %489, ptr %22, align 4, !tbaa !9
  %490 = load double, ptr %21, align 8, !tbaa !13
  store double %490, ptr %34, align 8, !tbaa !13
  %491 = load double, ptr %20, align 8, !tbaa !13
  store double %491, ptr %35, align 8, !tbaa !13
  %492 = load double, ptr %35, align 8, !tbaa !13
  %493 = load double, ptr %34, align 8, !tbaa !13
  %494 = fadd double %493, %492
  store double %494, ptr %34, align 8, !tbaa !13
  %495 = load double, ptr %34, align 8, !tbaa !13
  store double %495, ptr %21, align 8, !tbaa !13
  %496 = load ptr, ptr %6, align 8, !tbaa !5
  %497 = getelementptr inbounds %struct.w2c_hermes, ptr %496, i32 0, i32 6
  %498 = load i32, ptr %22, align 4, !tbaa !9
  %499 = zext i32 %498 to i64
  %500 = add i64 %499, 48
  %501 = load double, ptr %34, align 8, !tbaa !13
  call void @f64_store(ptr noundef %497, i64 noundef %500, double noundef %501)
  %502 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %502, ptr %22, align 4, !tbaa !9
  store i32 96, ptr %23, align 4, !tbaa !9
  %503 = load i32, ptr %23, align 4, !tbaa !9
  %504 = load i32, ptr %22, align 4, !tbaa !9
  %505 = add i32 %504, %503
  store i32 %505, ptr %22, align 4, !tbaa !9
  %506 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %506, ptr %23, align 4, !tbaa !9
  store i32 48, ptr %24, align 4, !tbaa !9
  %507 = load i32, ptr %24, align 4, !tbaa !9
  %508 = load i32, ptr %23, align 4, !tbaa !9
  %509 = add i32 %508, %507
  store i32 %509, ptr %23, align 4, !tbaa !9
  %510 = load double, ptr %21, align 8, !tbaa !13
  store double %510, ptr %35, align 8, !tbaa !13
  store double 0.000000e+00, ptr %36, align 8, !tbaa !13
  %511 = load double, ptr %35, align 8, !tbaa !13
  %512 = load double, ptr %36, align 8, !tbaa !13
  %513 = fcmp olt double %511, %512
  %514 = zext i1 %513 to i32
  store i32 %514, ptr %24, align 4, !tbaa !9
  %515 = load i32, ptr %24, align 4, !tbaa !9
  %516 = icmp ne i32 %515, 0
  br i1 %516, label %517, label %519

517:                                              ; preds = %481
  %518 = load i32, ptr %22, align 4, !tbaa !9
  br label %521

519:                                              ; preds = %481
  %520 = load i32, ptr %23, align 4, !tbaa !9
  br label %521

521:                                              ; preds = %519, %517
  %522 = phi i32 [ %518, %517 ], [ %520, %519 ]
  store i32 %522, ptr %22, align 4, !tbaa !9
  br label %546

523:                                              ; preds = %458
  %524 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %524, ptr %22, align 4, !tbaa !9
  store i32 128, ptr %23, align 4, !tbaa !9
  %525 = load i32, ptr %23, align 4, !tbaa !9
  %526 = load i32, ptr %22, align 4, !tbaa !9
  %527 = add i32 %526, %525
  store i32 %527, ptr %22, align 4, !tbaa !9
  %528 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %528, ptr %23, align 4, !tbaa !9
  store i32 104, ptr %24, align 4, !tbaa !9
  %529 = load i32, ptr %24, align 4, !tbaa !9
  %530 = load i32, ptr %23, align 4, !tbaa !9
  %531 = add i32 %530, %529
  store i32 %531, ptr %23, align 4, !tbaa !9
  %532 = load double, ptr %20, align 8, !tbaa !13
  store double %532, ptr %35, align 8, !tbaa !13
  %533 = load double, ptr %21, align 8, !tbaa !13
  store double %533, ptr %36, align 8, !tbaa !13
  %534 = load double, ptr %35, align 8, !tbaa !13
  %535 = load double, ptr %36, align 8, !tbaa !13
  %536 = fcmp olt double %534, %535
  %537 = zext i1 %536 to i32
  store i32 %537, ptr %24, align 4, !tbaa !9
  %538 = load i32, ptr %24, align 4, !tbaa !9
  %539 = icmp ne i32 %538, 0
  br i1 %539, label %540, label %542

540:                                              ; preds = %523
  %541 = load i32, ptr %22, align 4, !tbaa !9
  br label %544

542:                                              ; preds = %523
  %543 = load i32, ptr %23, align 4, !tbaa !9
  br label %544

544:                                              ; preds = %542, %540
  %545 = phi i32 [ %541, %540 ], [ %543, %542 ]
  store i32 %545, ptr %22, align 4, !tbaa !9
  br label %546

546:                                              ; preds = %544, %521
  %547 = load ptr, ptr %6, align 8, !tbaa !5
  %548 = getelementptr inbounds %struct.w2c_hermes, ptr %547, i32 0, i32 6
  %549 = load i32, ptr %22, align 4, !tbaa !9
  %550 = zext i32 %549 to i64
  %551 = call i64 @i64_load(ptr noundef %548, i64 noundef %550)
  store i64 %551, ptr %30, align 8, !tbaa !11
  %552 = load i64, ptr %30, align 8, !tbaa !11
  store i64 %552, ptr %19, align 8, !tbaa !11
  %553 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %553, ptr %22, align 4, !tbaa !9
  %554 = load ptr, ptr %6, align 8, !tbaa !5
  %555 = getelementptr inbounds %struct.w2c_hermes, ptr %554, i32 0, i32 6
  %556 = load i32, ptr %22, align 4, !tbaa !9
  %557 = zext i32 %556 to i64
  %558 = add i64 %557, 4
  %559 = call i32 @i32_load(ptr noundef %555, i64 noundef %558)
  store i32 %559, ptr %22, align 4, !tbaa !9
  %560 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %560, ptr %10, 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 %22, align 4, !tbaa !9
  %564 = zext i32 %563 to i64
  %565 = add i64 %564, 164
  %566 = call i32 @i32_load(ptr noundef %562, i64 noundef %565)
  store i32 %566, ptr %22, align 4, !tbaa !9
  %567 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %567, ptr %11, align 4, !tbaa !9
  %568 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %568, ptr %23, align 4, !tbaa !9
  %569 = load ptr, ptr %6, align 8, !tbaa !5
  %570 = getelementptr inbounds %struct.w2c_hermes, ptr %569, i32 0, i32 6
  %571 = load i32, ptr %23, align 4, !tbaa !9
  %572 = zext i32 %571 to i64
  %573 = add i64 %572, 168
  %574 = call i32 @i32_load(ptr noundef %570, i64 noundef %573)
  store i32 %574, ptr %23, align 4, !tbaa !9
  %575 = load i32, ptr %22, align 4, !tbaa !9
  %576 = load i32, ptr %23, align 4, !tbaa !9
  %577 = icmp ult i32 %575, %576
  %578 = zext i1 %577 to i32
  store i32 %578, ptr %22, align 4, !tbaa !9
  %579 = load i32, ptr %22, align 4, !tbaa !9
  %580 = icmp ne i32 %579, 0
  br i1 %580, label %581, label %600

581:                                              ; preds = %546
  %582 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %582, ptr %22, align 4, !tbaa !9
  %583 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %583, ptr %23, align 4, !tbaa !9
  store i32 8, ptr %24, align 4, !tbaa !9
  %584 = load i32, ptr %24, align 4, !tbaa !9
  %585 = load i32, ptr %23, align 4, !tbaa !9
  %586 = add i32 %585, %584
  store i32 %586, ptr %23, align 4, !tbaa !9
  %587 = load ptr, ptr %6, align 8, !tbaa !5
  %588 = getelementptr inbounds %struct.w2c_hermes, ptr %587, i32 0, i32 6
  %589 = load i32, ptr %22, align 4, !tbaa !9
  %590 = zext i32 %589 to i64
  %591 = add i64 %590, 164
  %592 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %588, i64 noundef %591, i32 noundef %592)
  %593 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %593, ptr %22, align 4, !tbaa !9
  %594 = load i64, ptr %19, align 8, !tbaa !11
  store i64 %594, ptr %31, align 8, !tbaa !11
  %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 %22, align 4, !tbaa !9
  %598 = zext i32 %597 to i64
  %599 = load i64, ptr %31, align 8, !tbaa !11
  call void @i64_store(ptr noundef %596, i64 noundef %598, i64 noundef %599)
  br label %608

600:                                              ; preds = %546
  %601 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %601, ptr %22, align 4, !tbaa !9
  %602 = load i64, ptr %19, align 8, !tbaa !11
  store i64 %602, ptr %31, align 8, !tbaa !11
  %603 = load ptr, ptr %6, align 8, !tbaa !5
  %604 = load i32, ptr %22, align 4, !tbaa !9
  %605 = load i64, ptr %31, align 8, !tbaa !11
  %606 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %603, i32 noundef %604, i64 noundef %605)
  store i32 %606, ptr %22, align 4, !tbaa !9
  %607 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %607, ptr %11, align 4, !tbaa !9
  br label %608

608:                                              ; preds = %600, %581
  store double 0.000000e+00, ptr %33, align 8, !tbaa !13
  %609 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %609, ptr %23, align 4, !tbaa !9
  store i32 2, ptr %24, align 4, !tbaa !9
  %610 = load i32, ptr %23, align 4, !tbaa !9
  %611 = load i32, ptr %24, align 4, !tbaa !9
  %612 = icmp ult i32 %610, %611
  %613 = zext i1 %612 to i32
  store i32 %613, ptr %23, align 4, !tbaa !9
  %614 = load i32, ptr %23, align 4, !tbaa !9
  %615 = icmp ne i32 %614, 0
  br i1 %615, label %616, label %617

616:                                              ; preds = %608
  br label %762

617:                                              ; preds = %608
  %618 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %618, ptr %23, align 4, !tbaa !9
  store i32 16, ptr %24, align 4, !tbaa !9
  %619 = load i32, ptr %24, align 4, !tbaa !9
  %620 = load i32, ptr %23, align 4, !tbaa !9
  %621 = sub i32 %620, %619
  store i32 %621, ptr %23, align 4, !tbaa !9
  %622 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %622, ptr %10, align 4, !tbaa !9
  %623 = load ptr, ptr %6, align 8, !tbaa !5
  %624 = getelementptr inbounds %struct.w2c_hermes, ptr %623, i32 0, i32 6
  %625 = load i32, ptr %23, align 4, !tbaa !9
  %626 = zext i32 %625 to i64
  %627 = call i64 @i64_load(ptr noundef %624, i64 noundef %626)
  store i64 %627, ptr %31, align 8, !tbaa !11
  store i64 47, ptr %32, align 8, !tbaa !11
  %628 = load i64, ptr %31, align 8, !tbaa !11
  %629 = load i64, ptr %32, align 8, !tbaa !11
  %630 = and i64 %629, 63
  %631 = ashr i64 %628, %630
  store i64 %631, ptr %31, align 8, !tbaa !11
  %632 = load i64, ptr %31, align 8, !tbaa !11
  %633 = trunc i64 %632 to i32
  store i32 %633, ptr %23, align 4, !tbaa !9
  store i32 -12, ptr %24, align 4, !tbaa !9
  %634 = load i32, ptr %23, align 4, !tbaa !9
  %635 = load i32, ptr %24, align 4, !tbaa !9
  %636 = icmp eq i32 %634, %635
  %637 = zext i1 %636 to i32
  store i32 %637, ptr %23, align 4, !tbaa !9
  %638 = load i32, ptr %23, align 4, !tbaa !9
  %639 = icmp ne i32 %638, 0
  br i1 %639, label %640, label %641

640:                                              ; preds = %617
  br label %762

641:                                              ; preds = %617
  %642 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %642, ptr %23, align 4, !tbaa !9
  store i32 48, ptr %24, align 4, !tbaa !9
  %643 = load i32, ptr %24, align 4, !tbaa !9
  %644 = load i32, ptr %23, align 4, !tbaa !9
  %645 = add i32 %644, %643
  store i32 %645, ptr %23, align 4, !tbaa !9
  %646 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %646, ptr %24, align 4, !tbaa !9
  %647 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %647, ptr %25, align 4, !tbaa !9
  %648 = load ptr, ptr %6, align 8, !tbaa !5
  %649 = load i32, ptr %23, align 4, !tbaa !9
  %650 = load i32, ptr %24, align 4, !tbaa !9
  %651 = load i32, ptr %25, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AtoIntegerOrInfinity0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x29(ptr noundef %648, i32 noundef %649, i32 noundef %650, i32 noundef %651)
  %652 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %652, ptr %23, align 4, !tbaa !9
  %653 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %653, ptr %24, align 4, !tbaa !9
  %654 = load ptr, ptr %6, align 8, !tbaa !5
  %655 = getelementptr inbounds %struct.w2c_hermes, ptr %654, i32 0, i32 6
  %656 = load i32, ptr %24, align 4, !tbaa !9
  %657 = zext i32 %656 to i64
  %658 = add i64 %657, 48
  %659 = call i32 @i32_load(ptr noundef %655, i64 noundef %658)
  store i32 %659, ptr %24, align 4, !tbaa !9
  %660 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %660, ptr %10, align 4, !tbaa !9
  %661 = load ptr, ptr %6, align 8, !tbaa !5
  %662 = getelementptr inbounds %struct.w2c_hermes, ptr %661, i32 0, i32 6
  %663 = load i32, ptr %23, align 4, !tbaa !9
  %664 = zext i32 %663 to i64
  %665 = add i64 %664, 112
  %666 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %662, i64 noundef %665, i32 noundef %666)
  %667 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %667, ptr %23, align 4, !tbaa !9
  %668 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %668, ptr %24, align 4, !tbaa !9
  %669 = load ptr, ptr %6, align 8, !tbaa !5
  %670 = getelementptr inbounds %struct.w2c_hermes, ptr %669, i32 0, i32 6
  %671 = load i32, ptr %24, align 4, !tbaa !9
  %672 = zext i32 %671 to i64
  %673 = add i64 %672, 56
  %674 = call i64 @i64_load(ptr noundef %670, i64 noundef %673)
  store i64 %674, ptr %32, align 8, !tbaa !11
  %675 = load i64, ptr %32, align 8, !tbaa !11
  store i64 %675, ptr %19, align 8, !tbaa !11
  %676 = load ptr, ptr %6, align 8, !tbaa !5
  %677 = getelementptr inbounds %struct.w2c_hermes, ptr %676, i32 0, i32 6
  %678 = load i32, ptr %23, align 4, !tbaa !9
  %679 = zext i32 %678 to i64
  %680 = add i64 %679, 120
  %681 = load i64, ptr %32, align 8, !tbaa !11
  call void @i64_store(ptr noundef %677, i64 noundef %680, i64 noundef %681)
  %682 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %682, ptr %23, align 4, !tbaa !9
  %683 = load i32, ptr %23, align 4, !tbaa !9
  %684 = icmp ne i32 %683, 0
  %685 = xor i1 %684, true
  %686 = zext i1 %685 to i32
  store i32 %686, ptr %23, align 4, !tbaa !9
  %687 = load i32, ptr %23, align 4, !tbaa !9
  %688 = icmp ne i32 %687, 0
  br i1 %688, label %689, label %696

689:                                              ; preds = %641
  %690 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %690, ptr %23, align 4, !tbaa !9
  store i32 0, ptr %24, align 4, !tbaa !9
  %691 = load ptr, ptr %6, align 8, !tbaa !5
  %692 = getelementptr inbounds %struct.w2c_hermes, ptr %691, i32 0, i32 6
  %693 = load i32, ptr %23, align 4, !tbaa !9
  %694 = zext i32 %693 to i64
  %695 = load i32, ptr %24, align 4, !tbaa !9
  call void @i32_store(ptr noundef %692, i64 noundef %694, i32 noundef %695)
  br label %1547

696:                                              ; preds = %641
  %697 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %697, ptr %23, align 4, !tbaa !9
  %698 = load i64, ptr %19, align 8, !tbaa !11
  store i64 %698, ptr %32, align 8, !tbaa !11
  %699 = load ptr, ptr %6, align 8, !tbaa !5
  %700 = getelementptr inbounds %struct.w2c_hermes, ptr %699, i32 0, i32 6
  %701 = load i32, ptr %23, align 4, !tbaa !9
  %702 = zext i32 %701 to i64
  %703 = add i64 %702, 96
  %704 = load i64, ptr %32, align 8, !tbaa !11
  call void @i64_store(ptr noundef %700, i64 noundef %703, i64 noundef %704)
  %705 = load i64, ptr %19, align 8, !tbaa !11
  store i64 %705, ptr %31, align 8, !tbaa !11
  %706 = load i64, ptr %31, align 8, !tbaa !11
  %707 = call double @f64_reinterpret_i64(i64 noundef %706)
  store double %707, ptr %34, align 8, !tbaa !13
  %708 = load double, ptr %34, align 8, !tbaa !13
  store double %708, ptr %21, align 8, !tbaa !13
  store double 0.000000e+00, ptr %35, align 8, !tbaa !13
  %709 = load double, ptr %34, align 8, !tbaa !13
  %710 = load double, ptr %35, align 8, !tbaa !13
  %711 = fcmp olt double %709, %710
  %712 = zext i1 %711 to i32
  store i32 %712, ptr %23, align 4, !tbaa !9
  %713 = load i32, ptr %23, align 4, !tbaa !9
  %714 = icmp ne i32 %713, 0
  %715 = xor i1 %714, true
  %716 = zext i1 %715 to i32
  store i32 %716, ptr %23, align 4, !tbaa !9
  %717 = load i32, ptr %23, align 4, !tbaa !9
  %718 = icmp ne i32 %717, 0
  br i1 %718, label %719, label %720

719:                                              ; preds = %696
  br label %773

720:                                              ; preds = %696
  %721 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %721, ptr %23, align 4, !tbaa !9
  store i64 0, ptr %32, align 8, !tbaa !11
  %722 = load ptr, ptr %6, align 8, !tbaa !5
  %723 = getelementptr inbounds %struct.w2c_hermes, ptr %722, i32 0, i32 6
  %724 = load i32, ptr %23, align 4, !tbaa !9
  %725 = zext i32 %724 to i64
  %726 = add i64 %725, 88
  %727 = load i64, ptr %32, align 8, !tbaa !11
  call void @i64_store(ptr noundef %723, i64 noundef %726, i64 noundef %727)
  %728 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %728, ptr %23, align 4, !tbaa !9
  %729 = load double, ptr %21, align 8, !tbaa !13
  store double %729, ptr %35, align 8, !tbaa !13
  %730 = load double, ptr %20, align 8, !tbaa !13
  store double %730, ptr %36, align 8, !tbaa !13
  %731 = load double, ptr %36, align 8, !tbaa !13
  %732 = load double, ptr %35, align 8, !tbaa !13
  %733 = fadd double %732, %731
  store double %733, ptr %35, align 8, !tbaa !13
  %734 = load double, ptr %35, align 8, !tbaa !13
  store double %734, ptr %20, align 8, !tbaa !13
  %735 = load ptr, ptr %6, align 8, !tbaa !5
  %736 = getelementptr inbounds %struct.w2c_hermes, ptr %735, i32 0, i32 6
  %737 = load i32, ptr %23, align 4, !tbaa !9
  %738 = zext i32 %737 to i64
  %739 = add i64 %738, 48
  %740 = load double, ptr %35, align 8, !tbaa !13
  call void @f64_store(ptr noundef %736, i64 noundef %739, double noundef %740)
  %741 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %741, ptr %23, align 4, !tbaa !9
  store i32 88, ptr %24, align 4, !tbaa !9
  %742 = load i32, ptr %24, align 4, !tbaa !9
  %743 = load i32, ptr %23, align 4, !tbaa !9
  %744 = add i32 %743, %742
  store i32 %744, ptr %23, align 4, !tbaa !9
  %745 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %745, ptr %24, align 4, !tbaa !9
  store i32 48, ptr %25, align 4, !tbaa !9
  %746 = load i32, ptr %25, align 4, !tbaa !9
  %747 = load i32, ptr %24, align 4, !tbaa !9
  %748 = add i32 %747, %746
  store i32 %748, ptr %24, align 4, !tbaa !9
  %749 = load double, ptr %20, align 8, !tbaa !13
  store double %749, ptr %36, align 8, !tbaa !13
  store double 0.000000e+00, ptr %37, align 8, !tbaa !13
  %750 = load double, ptr %36, align 8, !tbaa !13
  %751 = load double, ptr %37, align 8, !tbaa !13
  %752 = fcmp olt double %750, %751
  %753 = zext i1 %752 to i32
  store i32 %753, ptr %25, align 4, !tbaa !9
  %754 = load i32, ptr %25, align 4, !tbaa !9
  %755 = icmp ne i32 %754, 0
  br i1 %755, label %756, label %758

756:                                              ; preds = %720
  %757 = load i32, ptr %23, align 4, !tbaa !9
  br label %760

758:                                              ; preds = %720
  %759 = load i32, ptr %24, align 4, !tbaa !9
  br label %760

760:                                              ; preds = %758, %756
  %761 = phi i32 [ %757, %756 ], [ %759, %758 ]
  store i32 %761, ptr %23, align 4, !tbaa !9
  br label %796

762:                                              ; preds = %640, %616
  %763 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %763, ptr %23, align 4, !tbaa !9
  %764 = load double, ptr %20, align 8, !tbaa !13
  store double %764, ptr %35, align 8, !tbaa !13
  %765 = load ptr, ptr %6, align 8, !tbaa !5
  %766 = getelementptr inbounds %struct.w2c_hermes, ptr %765, i32 0, i32 6
  %767 = load i32, ptr %23, align 4, !tbaa !9
  %768 = zext i32 %767 to i64
  %769 = add i64 %768, 96
  %770 = load double, ptr %35, align 8, !tbaa !13
  call void @f64_store(ptr noundef %766, i64 noundef %769, double noundef %770)
  %771 = load double, ptr %20, align 8, !tbaa !13
  store double %771, ptr %34, align 8, !tbaa !13
  %772 = load double, ptr %34, align 8, !tbaa !13
  store double %772, ptr %21, align 8, !tbaa !13
  br label %773

773:                                              ; preds = %762, %719
  %774 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %774, ptr %23, align 4, !tbaa !9
  store i32 128, ptr %24, align 4, !tbaa !9
  %775 = load i32, ptr %24, align 4, !tbaa !9
  %776 = load i32, ptr %23, align 4, !tbaa !9
  %777 = add i32 %776, %775
  store i32 %777, ptr %23, align 4, !tbaa !9
  %778 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %778, ptr %24, align 4, !tbaa !9
  store i32 96, ptr %25, align 4, !tbaa !9
  %779 = load i32, ptr %25, align 4, !tbaa !9
  %780 = load i32, ptr %24, align 4, !tbaa !9
  %781 = add i32 %780, %779
  store i32 %781, ptr %24, align 4, !tbaa !9
  %782 = load double, ptr %20, align 8, !tbaa !13
  store double %782, ptr %36, align 8, !tbaa !13
  %783 = load double, ptr %21, align 8, !tbaa !13
  store double %783, ptr %37, align 8, !tbaa !13
  %784 = load double, ptr %36, align 8, !tbaa !13
  %785 = load double, ptr %37, align 8, !tbaa !13
  %786 = fcmp olt double %784, %785
  %787 = zext i1 %786 to i32
  store i32 %787, ptr %25, align 4, !tbaa !9
  %788 = load i32, ptr %25, align 4, !tbaa !9
  %789 = icmp ne i32 %788, 0
  br i1 %789, label %790, label %792

790:                                              ; preds = %773
  %791 = load i32, ptr %23, align 4, !tbaa !9
  br label %794

792:                                              ; preds = %773
  %793 = load i32, ptr %24, align 4, !tbaa !9
  br label %794

794:                                              ; preds = %792, %790
  %795 = phi i32 [ %791, %790 ], [ %793, %792 ]
  store i32 %795, ptr %23, align 4, !tbaa !9
  br label %796

796:                                              ; preds = %794, %760
  %797 = load ptr, ptr %6, align 8, !tbaa !5
  %798 = getelementptr inbounds %struct.w2c_hermes, ptr %797, i32 0, i32 6
  %799 = load i32, ptr %23, align 4, !tbaa !9
  %800 = zext i32 %799 to i64
  %801 = call double @f64_load(ptr noundef %798, i64 noundef %800)
  store double %801, ptr %34, align 8, !tbaa !13
  %802 = load double, ptr %34, align 8, !tbaa !13
  store double %802, ptr %21, align 8, !tbaa !13
  %803 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %803, ptr %24, align 4, !tbaa !9
  %804 = load ptr, ptr %6, align 8, !tbaa !5
  %805 = getelementptr inbounds %struct.w2c_hermes, ptr %804, i32 0, i32 6
  %806 = load i32, ptr %24, align 4, !tbaa !9
  %807 = zext i32 %806 to i64
  %808 = call double @f64_load(ptr noundef %805, i64 noundef %807)
  store double %808, ptr %35, align 8, !tbaa !13
  %809 = load double, ptr %35, align 8, !tbaa !13
  %810 = load double, ptr %34, align 8, !tbaa !13
  %811 = fsub double %810, %809
  store double %811, ptr %34, align 8, !tbaa !13
  %812 = load double, ptr %34, align 8, !tbaa !13
  store double %812, ptr %20, align 8, !tbaa !13
  %813 = load double, ptr %20, align 8, !tbaa !13
  store double %813, ptr %35, align 8, !tbaa !13
  store double 0.000000e+00, ptr %36, align 8, !tbaa !13
  %814 = load double, ptr %35, align 8, !tbaa !13
  %815 = load double, ptr %36, align 8, !tbaa !13
  %816 = fcmp olt double %814, %815
  %817 = zext i1 %816 to i32
  store i32 %817, ptr %24, align 4, !tbaa !9
  %818 = load i32, ptr %24, align 4, !tbaa !9
  %819 = icmp ne i32 %818, 0
  br i1 %819, label %820, label %822

820:                                              ; preds = %796
  %821 = load double, ptr %33, align 8, !tbaa !13
  br label %824

822:                                              ; preds = %796
  %823 = load double, ptr %34, align 8, !tbaa !13
  br label %824

824:                                              ; preds = %822, %820
  %825 = phi double [ %821, %820 ], [ %823, %822 ]
  store double %825, ptr %33, align 8, !tbaa !13
  %826 = load double, ptr %33, align 8, !tbaa !13
  store double %826, ptr %20, align 8, !tbaa !13
  store double 0x41CF380400000000, ptr %34, align 8, !tbaa !13
  %827 = load double, ptr %33, align 8, !tbaa !13
  %828 = load double, ptr %34, align 8, !tbaa !13
  %829 = fcmp ogt double %827, %828
  %830 = zext i1 %829 to i32
  store i32 %830, ptr %22, align 4, !tbaa !9
  %831 = load i32, ptr %22, align 4, !tbaa !9
  %832 = icmp ne i32 %831, 0
  br i1 %832, label %833, label %877

833:                                              ; preds = %824
  %834 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %834, ptr %22, align 4, !tbaa !9
  store i32 0, ptr %23, align 4, !tbaa !9
  %835 = load ptr, ptr %6, align 8, !tbaa !5
  %836 = getelementptr inbounds %struct.w2c_hermes, ptr %835, i32 0, i32 6
  %837 = load i32, ptr %22, align 4, !tbaa !9
  %838 = zext i32 %837 to i64
  %839 = add i64 %838, 80
  %840 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %836, i64 noundef %839, i32 noundef %840)
  %841 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %841, ptr %22, align 4, !tbaa !9
  store i64 141733920769, ptr %31, align 8, !tbaa !11
  %842 = load ptr, ptr %6, align 8, !tbaa !5
  %843 = getelementptr inbounds %struct.w2c_hermes, ptr %842, i32 0, i32 6
  %844 = load i32, ptr %22, align 4, !tbaa !9
  %845 = zext i32 %844 to i64
  %846 = add i64 %845, 72
  %847 = load i64, ptr %31, align 8, !tbaa !11
  call void @i64_store(ptr noundef %843, i64 noundef %846, i64 noundef %847)
  %848 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %848, ptr %22, align 4, !tbaa !9
  store i32 3, ptr %23, align 4, !tbaa !9
  %849 = load ptr, ptr %6, align 8, !tbaa !5
  %850 = getelementptr inbounds %struct.w2c_hermes, ptr %849, i32 0, i32 6
  %851 = load i32, ptr %22, align 4, !tbaa !9
  %852 = zext i32 %851 to i64
  %853 = add i64 %852, 56
  %854 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %850, i64 noundef %853, i32 noundef %854)
  %855 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %855, ptr %22, align 4, !tbaa !9
  store i32 57389, ptr %23, align 4, !tbaa !9
  %856 = load ptr, ptr %6, align 8, !tbaa !5
  %857 = getelementptr inbounds %struct.w2c_hermes, ptr %856, i32 0, i32 6
  %858 = load i32, ptr %22, align 4, !tbaa !9
  %859 = zext i32 %858 to i64
  %860 = add i64 %859, 48
  %861 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %857, i64 noundef %860, i32 noundef %861)
  %862 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %862, ptr %22, align 4, !tbaa !9
  %863 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %863, ptr %23, align 4, !tbaa !9
  %864 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %864, ptr %24, align 4, !tbaa !9
  store i32 48, ptr %25, align 4, !tbaa !9
  %865 = load i32, ptr %25, align 4, !tbaa !9
  %866 = load i32, ptr %24, align 4, !tbaa !9
  %867 = add i32 %866, %865
  store i32 %867, ptr %24, align 4, !tbaa !9
  %868 = load ptr, ptr %6, align 8, !tbaa !5
  %869 = load i32, ptr %23, align 4, !tbaa !9
  %870 = load i32, ptr %24, align 4, !tbaa !9
  %871 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AraiseRangeError0x28hermes0x3A0x3Avm0x3A0x3ATwineChar160x20const0x260x29(ptr noundef %868, i32 noundef %869, i32 noundef %870)
  store i32 %871, ptr %23, align 4, !tbaa !9
  %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 %22, align 4, !tbaa !9
  %875 = zext i32 %874 to i64
  %876 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %873, i64 noundef %875, i32 noundef %876)
  br label %1547

877:                                              ; preds = %824
  %878 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %878, ptr %22, align 4, !tbaa !9
  %879 = load double, ptr %20, align 8, !tbaa !13
  store double %879, ptr %34, align 8, !tbaa !13
  store double 0x41F0000000000000, ptr %35, align 8, !tbaa !13
  %880 = load double, ptr %34, align 8, !tbaa !13
  %881 = load double, ptr %35, align 8, !tbaa !13
  %882 = fcmp olt double %880, %881
  %883 = zext i1 %882 to i32
  store i32 %883, ptr %23, align 4, !tbaa !9
  %884 = load double, ptr %20, align 8, !tbaa !13
  store double %884, ptr %35, align 8, !tbaa !13
  store double 0.000000e+00, ptr %36, align 8, !tbaa !13
  %885 = load double, ptr %35, align 8, !tbaa !13
  %886 = load double, ptr %36, align 8, !tbaa !13
  %887 = fcmp oge double %885, %886
  %888 = zext i1 %887 to i32
  store i32 %888, ptr %24, align 4, !tbaa !9
  %889 = load i32, ptr %24, align 4, !tbaa !9
  %890 = load i32, ptr %23, align 4, !tbaa !9
  %891 = and i32 %890, %889
  store i32 %891, ptr %23, align 4, !tbaa !9
  %892 = load i32, ptr %23, align 4, !tbaa !9
  %893 = icmp ne i32 %892, 0
  br i1 %893, label %894, label %931

894:                                              ; preds = %877
  %895 = load double, ptr %20, align 8, !tbaa !13
  store double %895, ptr %34, align 8, !tbaa !13
  %896 = load double, ptr %34, align 8, !tbaa !13
  %897 = load double, ptr %34, align 8, !tbaa !13
  %898 = fcmp une double %896, %897
  %899 = xor i1 %898, true
  %900 = xor i1 %899, true
  %901 = zext i1 %900 to i32
  %902 = sext i32 %901 to i64
  %903 = call i64 @llvm.expect.i64(i64 %902, i64 0)
  %904 = icmp ne i64 %903, 0
  br i1 %904, label %905, label %907

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

906:                                              ; No predecessors!
  br label %929

907:                                              ; preds = %894
  %908 = load double, ptr %34, align 8, !tbaa !13
  %909 = fcmp ogt double %908, -1.000000e+00
  br i1 %909, label %910, label %913

910:                                              ; preds = %907
  %911 = load double, ptr %34, align 8, !tbaa !13
  %912 = fcmp olt double %911, 0x41F0000000000000
  br label %913

913:                                              ; preds = %910, %907
  %914 = phi i1 [ false, %907 ], [ %912, %910 ]
  %915 = xor i1 %914, true
  %916 = xor i1 %915, true
  %917 = xor i1 %916, true
  %918 = zext i1 %917 to i32
  %919 = sext i32 %918 to i64
  %920 = call i64 @llvm.expect.i64(i64 %919, i64 0)
  %921 = icmp ne i64 %920, 0
  br i1 %921, label %922, label %924

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

923:                                              ; No predecessors!
  br label %927

924:                                              ; preds = %913
  %925 = load double, ptr %34, align 8, !tbaa !13
  %926 = fptoui double %925 to i32
  br label %927

927:                                              ; preds = %924, %923
  %928 = phi i32 [ 0, %923 ], [ %926, %924 ]
  br label %929

929:                                              ; preds = %927, %906
  %930 = phi i32 [ 0, %906 ], [ %928, %927 ]
  store i32 %930, ptr %23, align 4, !tbaa !9
  br label %932

931:                                              ; preds = %877
  store i32 0, ptr %23, align 4, !tbaa !9
  br label %932

932:                                              ; preds = %931, %929
  %933 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %933, ptr %10, align 4, !tbaa !9
  %934 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %934, ptr %24, align 4, !tbaa !9
  %935 = load ptr, ptr %6, align 8, !tbaa !5
  %936 = load i32, ptr %22, align 4, !tbaa !9
  %937 = load i32, ptr %23, align 4, !tbaa !9
  %938 = load i32, ptr %24, align 4, !tbaa !9
  %939 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSArray0x3A0x3Acreate0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20unsigned0x20int0x2C0x20unsigned0x20int0x29(ptr noundef %935, i32 noundef %936, i32 noundef %937, i32 noundef %938)
  store i32 %939, ptr %22, align 4, !tbaa !9
  %940 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %940, ptr %14, align 4, !tbaa !9
  store i32 -1, ptr %23, align 4, !tbaa !9
  %941 = load i32, ptr %22, align 4, !tbaa !9
  %942 = load i32, ptr %23, align 4, !tbaa !9
  %943 = icmp eq i32 %941, %942
  %944 = zext i1 %943 to i32
  store i32 %944, ptr %22, align 4, !tbaa !9
  %945 = load i32, ptr %22, align 4, !tbaa !9
  %946 = icmp ne i32 %945, 0
  br i1 %946, label %947, label %954

947:                                              ; preds = %932
  %948 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %948, ptr %22, align 4, !tbaa !9
  store i32 0, ptr %23, align 4, !tbaa !9
  %949 = load ptr, ptr %6, align 8, !tbaa !5
  %950 = getelementptr inbounds %struct.w2c_hermes, ptr %949, i32 0, i32 6
  %951 = load i32, ptr %22, align 4, !tbaa !9
  %952 = zext i32 %951 to i64
  %953 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %950, i64 noundef %952, i32 noundef %953)
  br label %1547

954:                                              ; preds = %932
  %955 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %955, ptr %22, align 4, !tbaa !9
  %956 = load ptr, ptr %6, align 8, !tbaa !5
  %957 = getelementptr inbounds %struct.w2c_hermes, ptr %956, i32 0, i32 6
  %958 = load i32, ptr %22, align 4, !tbaa !9
  %959 = zext i32 %958 to i64
  %960 = add i64 %959, 4
  %961 = call i32 @i32_load(ptr noundef %957, i64 noundef %960)
  store i32 %961, ptr %22, align 4, !tbaa !9
  %962 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %962, ptr %12, align 4, !tbaa !9
  %963 = load ptr, ptr %6, align 8, !tbaa !5
  %964 = getelementptr inbounds %struct.w2c_hermes, ptr %963, i32 0, i32 6
  %965 = load i32, ptr %22, align 4, !tbaa !9
  %966 = zext i32 %965 to i64
  %967 = add i64 %966, 164
  %968 = call i32 @i32_load(ptr noundef %964, i64 noundef %967)
  store i32 %968, ptr %22, align 4, !tbaa !9
  %969 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %969, ptr %10, align 4, !tbaa !9
  %970 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %970, ptr %23, align 4, !tbaa !9
  %971 = load ptr, ptr %6, align 8, !tbaa !5
  %972 = getelementptr inbounds %struct.w2c_hermes, ptr %971, i32 0, i32 6
  %973 = load i32, ptr %23, align 4, !tbaa !9
  %974 = zext i32 %973 to i64
  %975 = add i64 %974, 168
  %976 = call i32 @i32_load(ptr noundef %972, i64 noundef %975)
  store i32 %976, ptr %23, align 4, !tbaa !9
  %977 = load i32, ptr %22, align 4, !tbaa !9
  %978 = load i32, ptr %23, align 4, !tbaa !9
  %979 = icmp ult i32 %977, %978
  %980 = zext i1 %979 to i32
  store i32 %980, ptr %22, align 4, !tbaa !9
  %981 = load i32, ptr %22, align 4, !tbaa !9
  %982 = icmp ne i32 %981, 0
  br i1 %982, label %983, label %1001

983:                                              ; preds = %954
  %984 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %984, ptr %22, align 4, !tbaa !9
  %985 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %985, ptr %23, align 4, !tbaa !9
  store i32 8, ptr %24, align 4, !tbaa !9
  %986 = load i32, ptr %24, align 4, !tbaa !9
  %987 = load i32, ptr %23, align 4, !tbaa !9
  %988 = add i32 %987, %986
  store i32 %988, ptr %23, align 4, !tbaa !9
  %989 = load ptr, ptr %6, align 8, !tbaa !5
  %990 = getelementptr inbounds %struct.w2c_hermes, ptr %989, i32 0, i32 6
  %991 = load i32, ptr %22, align 4, !tbaa !9
  %992 = zext i32 %991 to i64
  %993 = add i64 %992, 164
  %994 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %990, i64 noundef %993, i32 noundef %994)
  %995 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %995, ptr %22, align 4, !tbaa !9
  store i64 -281474976710656, ptr %31, align 8, !tbaa !11
  %996 = load ptr, ptr %6, align 8, !tbaa !5
  %997 = getelementptr inbounds %struct.w2c_hermes, ptr %996, i32 0, i32 6
  %998 = load i32, ptr %22, align 4, !tbaa !9
  %999 = zext i32 %998 to i64
  %1000 = load i64, ptr %31, align 8, !tbaa !11
  call void @i64_store(ptr noundef %997, i64 noundef %999, i64 noundef %1000)
  br label %1008

1001:                                             ; preds = %954
  %1002 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1002, ptr %22, align 4, !tbaa !9
  store i64 -281474976710656, ptr %31, align 8, !tbaa !11
  %1003 = load ptr, ptr %6, align 8, !tbaa !5
  %1004 = load i32, ptr %22, align 4, !tbaa !9
  %1005 = load i64, ptr %31, align 8, !tbaa !11
  %1006 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %1003, i32 noundef %1004, i64 noundef %1005)
  store i32 %1006, ptr %22, align 4, !tbaa !9
  %1007 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1007, ptr %10, align 4, !tbaa !9
  br label %1008

1008:                                             ; preds = %1001, %983
  %1009 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1009, ptr %22, align 4, !tbaa !9
  %1010 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1010, ptr %23, align 4, !tbaa !9
  %1011 = load ptr, ptr %6, align 8, !tbaa !5
  %1012 = getelementptr inbounds %struct.w2c_hermes, ptr %1011, i32 0, i32 6
  %1013 = load i32, ptr %22, align 4, !tbaa !9
  %1014 = zext i32 %1013 to i64
  %1015 = add i64 %1014, 44
  %1016 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1012, i64 noundef %1015, i32 noundef %1016)
  %1017 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1017, ptr %22, align 4, !tbaa !9
  %1018 = load ptr, ptr %6, align 8, !tbaa !5
  %1019 = getelementptr inbounds %struct.w2c_hermes, ptr %1018, i32 0, i32 6
  %1020 = load i32, ptr %22, align 4, !tbaa !9
  %1021 = zext i32 %1020 to i64
  %1022 = add i64 %1021, 4
  %1023 = call i32 @i32_load(ptr noundef %1019, i64 noundef %1022)
  store i32 %1023, ptr %22, align 4, !tbaa !9
  %1024 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1024, ptr %12, align 4, !tbaa !9
  %1025 = load ptr, ptr %6, align 8, !tbaa !5
  %1026 = getelementptr inbounds %struct.w2c_hermes, ptr %1025, i32 0, i32 6
  %1027 = load i32, ptr %22, align 4, !tbaa !9
  %1028 = zext i32 %1027 to i64
  %1029 = add i64 %1028, 164
  %1030 = call i32 @i32_load(ptr noundef %1026, i64 noundef %1029)
  store i32 %1030, ptr %22, align 4, !tbaa !9
  %1031 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1031, ptr %10, align 4, !tbaa !9
  %1032 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1032, ptr %23, align 4, !tbaa !9
  %1033 = load ptr, ptr %6, align 8, !tbaa !5
  %1034 = getelementptr inbounds %struct.w2c_hermes, ptr %1033, i32 0, i32 6
  %1035 = load i32, ptr %23, align 4, !tbaa !9
  %1036 = zext i32 %1035 to i64
  %1037 = add i64 %1036, 168
  %1038 = call i32 @i32_load(ptr noundef %1034, i64 noundef %1037)
  store i32 %1038, ptr %23, align 4, !tbaa !9
  %1039 = load i32, ptr %22, align 4, !tbaa !9
  %1040 = load i32, ptr %23, align 4, !tbaa !9
  %1041 = icmp ult i32 %1039, %1040
  %1042 = zext i1 %1041 to i32
  store i32 %1042, ptr %22, align 4, !tbaa !9
  %1043 = load i32, ptr %22, align 4, !tbaa !9
  %1044 = icmp ne i32 %1043, 0
  br i1 %1044, label %1045, label %1063

1045:                                             ; preds = %1008
  %1046 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1046, ptr %22, align 4, !tbaa !9
  %1047 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1047, ptr %23, align 4, !tbaa !9
  store i32 8, ptr %24, align 4, !tbaa !9
  %1048 = load i32, ptr %24, align 4, !tbaa !9
  %1049 = load i32, ptr %23, align 4, !tbaa !9
  %1050 = add i32 %1049, %1048
  store i32 %1050, ptr %23, align 4, !tbaa !9
  %1051 = load ptr, ptr %6, align 8, !tbaa !5
  %1052 = getelementptr inbounds %struct.w2c_hermes, ptr %1051, i32 0, i32 6
  %1053 = load i32, ptr %22, align 4, !tbaa !9
  %1054 = zext i32 %1053 to i64
  %1055 = add i64 %1054, 164
  %1056 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1052, i64 noundef %1055, i32 noundef %1056)
  %1057 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1057, ptr %22, align 4, !tbaa !9
  store i64 -1266636858327041, ptr %31, align 8, !tbaa !11
  %1058 = load ptr, ptr %6, align 8, !tbaa !5
  %1059 = getelementptr inbounds %struct.w2c_hermes, ptr %1058, i32 0, i32 6
  %1060 = load i32, ptr %22, align 4, !tbaa !9
  %1061 = zext i32 %1060 to i64
  %1062 = load i64, ptr %31, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1059, i64 noundef %1061, i64 noundef %1062)
  br label %1070

1063:                                             ; preds = %1008
  %1064 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1064, ptr %22, align 4, !tbaa !9
  store i64 -1266636858327041, ptr %31, align 8, !tbaa !11
  %1065 = load ptr, ptr %6, align 8, !tbaa !5
  %1066 = load i32, ptr %22, align 4, !tbaa !9
  %1067 = load i64, ptr %31, align 8, !tbaa !11
  %1068 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %1065, i32 noundef %1066, i64 noundef %1067)
  store i32 %1068, ptr %22, align 4, !tbaa !9
  %1069 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1069, ptr %10, align 4, !tbaa !9
  br label %1070

1070:                                             ; preds = %1063, %1045
  %1071 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1071, ptr %22, align 4, !tbaa !9
  %1072 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1072, ptr %23, align 4, !tbaa !9
  %1073 = load ptr, ptr %6, align 8, !tbaa !5
  %1074 = getelementptr inbounds %struct.w2c_hermes, ptr %1073, i32 0, i32 6
  %1075 = load i32, ptr %22, align 4, !tbaa !9
  %1076 = zext i32 %1075 to i64
  %1077 = add i64 %1076, 40
  %1078 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1074, i64 noundef %1077, i32 noundef %1078)
  %1079 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1079, ptr %22, align 4, !tbaa !9
  %1080 = load ptr, ptr %6, align 8, !tbaa !5
  %1081 = getelementptr inbounds %struct.w2c_hermes, ptr %1080, i32 0, i32 6
  %1082 = load i32, ptr %22, align 4, !tbaa !9
  %1083 = zext i32 %1082 to i64
  %1084 = add i64 %1083, 4
  %1085 = call i32 @i32_load(ptr noundef %1081, i64 noundef %1084)
  store i32 %1085, ptr %22, align 4, !tbaa !9
  %1086 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1086, ptr %10, 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 %22, align 4, !tbaa !9
  %1090 = zext i32 %1089 to i64
  %1091 = add i64 %1090, 164
  %1092 = call i32 @i32_load(ptr noundef %1088, i64 noundef %1091)
  store i32 %1092, ptr %22, align 4, !tbaa !9
  %1093 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1093, ptr %12, align 4, !tbaa !9
  %1094 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1094, ptr %23, align 4, !tbaa !9
  %1095 = load ptr, ptr %6, align 8, !tbaa !5
  %1096 = getelementptr inbounds %struct.w2c_hermes, ptr %1095, i32 0, i32 6
  %1097 = load i32, ptr %23, align 4, !tbaa !9
  %1098 = zext i32 %1097 to i64
  %1099 = add i64 %1098, 168
  %1100 = call i32 @i32_load(ptr noundef %1096, i64 noundef %1099)
  store i32 %1100, ptr %23, align 4, !tbaa !9
  %1101 = load i32, ptr %22, align 4, !tbaa !9
  %1102 = load i32, ptr %23, align 4, !tbaa !9
  %1103 = icmp ult i32 %1101, %1102
  %1104 = zext i1 %1103 to i32
  store i32 %1104, ptr %22, align 4, !tbaa !9
  %1105 = load i32, ptr %22, align 4, !tbaa !9
  %1106 = icmp ne i32 %1105, 0
  br i1 %1106, label %1107, label %1125

1107:                                             ; preds = %1070
  %1108 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1108, ptr %22, align 4, !tbaa !9
  %1109 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1109, ptr %23, align 4, !tbaa !9
  store i32 8, ptr %24, align 4, !tbaa !9
  %1110 = load i32, ptr %24, align 4, !tbaa !9
  %1111 = load i32, ptr %23, align 4, !tbaa !9
  %1112 = add i32 %1111, %1110
  store i32 %1112, ptr %23, align 4, !tbaa !9
  %1113 = load ptr, ptr %6, align 8, !tbaa !5
  %1114 = getelementptr inbounds %struct.w2c_hermes, ptr %1113, i32 0, i32 6
  %1115 = load i32, ptr %22, align 4, !tbaa !9
  %1116 = zext i32 %1115 to i64
  %1117 = add i64 %1116, 164
  %1118 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1114, i64 noundef %1117, i32 noundef %1118)
  %1119 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1119, ptr %22, align 4, !tbaa !9
  store i64 -1688849860263936, ptr %31, align 8, !tbaa !11
  %1120 = load ptr, ptr %6, align 8, !tbaa !5
  %1121 = getelementptr inbounds %struct.w2c_hermes, ptr %1120, i32 0, i32 6
  %1122 = load i32, ptr %22, align 4, !tbaa !9
  %1123 = zext i32 %1122 to i64
  %1124 = load i64, ptr %31, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1121, i64 noundef %1123, i64 noundef %1124)
  br label %1132

1125:                                             ; preds = %1070
  %1126 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1126, ptr %22, align 4, !tbaa !9
  store i64 -1688849860263936, ptr %31, align 8, !tbaa !11
  %1127 = load ptr, ptr %6, align 8, !tbaa !5
  %1128 = load i32, ptr %22, align 4, !tbaa !9
  %1129 = load i64, ptr %31, align 8, !tbaa !11
  %1130 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %1127, i32 noundef %1128, i64 noundef %1129)
  store i32 %1130, ptr %22, align 4, !tbaa !9
  %1131 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1131, ptr %12, align 4, !tbaa !9
  br label %1132

1132:                                             ; preds = %1125, %1107
  store double 0.000000e+00, ptr %33, align 8, !tbaa !13
  %1133 = load double, ptr %33, align 8, !tbaa !13
  store double %1133, ptr %20, align 8, !tbaa !13
  %1134 = load double, ptr %21, align 8, !tbaa !13
  store double %1134, ptr %33, align 8, !tbaa !13
  %1135 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1135, ptr %23, align 4, !tbaa !9
  %1136 = load ptr, ptr %6, align 8, !tbaa !5
  %1137 = getelementptr inbounds %struct.w2c_hermes, ptr %1136, i32 0, i32 6
  %1138 = load i32, ptr %23, align 4, !tbaa !9
  %1139 = zext i32 %1138 to i64
  %1140 = call double @f64_load(ptr noundef %1137, i64 noundef %1139)
  store double %1140, ptr %34, align 8, !tbaa !13
  %1141 = load double, ptr %33, align 8, !tbaa !13
  %1142 = load double, ptr %34, align 8, !tbaa !13
  %1143 = fcmp ogt double %1141, %1142
  %1144 = zext i1 %1143 to i32
  store i32 %1144, ptr %22, align 4, !tbaa !9
  %1145 = load i32, ptr %22, align 4, !tbaa !9
  %1146 = icmp ne i32 %1145, 0
  br i1 %1146, label %1147, label %1414

1147:                                             ; preds = %1132
  %1148 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1148, ptr %22, align 4, !tbaa !9
  %1149 = load ptr, ptr %6, align 8, !tbaa !5
  %1150 = getelementptr inbounds %struct.w2c_hermes, ptr %1149, i32 0, i32 6
  %1151 = load i32, ptr %22, align 4, !tbaa !9
  %1152 = zext i32 %1151 to i64
  %1153 = add i64 %1152, 348
  %1154 = call i32 @i32_load(ptr noundef %1150, i64 noundef %1153)
  store i32 %1154, ptr %22, align 4, !tbaa !9
  %1155 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1155, ptr %16, align 4, !tbaa !9
  store i32 0, ptr %22, align 4, !tbaa !9
  %1156 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1156, ptr %10, align 4, !tbaa !9
  %1157 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1157, ptr %22, align 4, !tbaa !9
  %1158 = load ptr, ptr %6, align 8, !tbaa !5
  %1159 = getelementptr inbounds %struct.w2c_hermes, ptr %1158, i32 0, i32 6
  %1160 = load i32, ptr %22, align 4, !tbaa !9
  %1161 = zext i32 %1160 to i64
  %1162 = add i64 %1161, 356
  %1163 = call i32 @i32_load(ptr noundef %1159, i64 noundef %1162)
  store i32 %1163, ptr %22, align 4, !tbaa !9
  %1164 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1164, ptr %17, align 4, !tbaa !9
  store i32 2, ptr %23, align 4, !tbaa !9
  %1165 = load i32, ptr %23, align 4, !tbaa !9
  %1166 = and i32 %1165, 31
  %1167 = load i32, ptr %22, align 4, !tbaa !9
  %1168 = shl i32 %1167, %1166
  store i32 %1168, ptr %22, align 4, !tbaa !9
  %1169 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1169, ptr %18, align 4, !tbaa !9
  br label %1170

1170:                                             ; preds = %1408, %1147
  %1171 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1171, ptr %22, align 4, !tbaa !9
  store i64 -4294967296, ptr %31, align 8, !tbaa !11
  %1172 = load ptr, ptr %6, align 8, !tbaa !5
  %1173 = getelementptr inbounds %struct.w2c_hermes, ptr %1172, i32 0, i32 6
  %1174 = load i32, ptr %22, align 4, !tbaa !9
  %1175 = zext i32 %1174 to i64
  %1176 = add i64 %1175, 88
  %1177 = load i64, ptr %31, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1173, i64 noundef %1176, i64 noundef %1177)
  %1178 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1178, ptr %22, align 4, !tbaa !9
  %1179 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1179, ptr %23, align 4, !tbaa !9
  %1180 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1180, ptr %24, align 4, !tbaa !9
  %1181 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1181, ptr %25, align 4, !tbaa !9
  store i32 44, ptr %26, align 4, !tbaa !9
  %1182 = load i32, ptr %26, align 4, !tbaa !9
  %1183 = load i32, ptr %25, align 4, !tbaa !9
  %1184 = add i32 %1183, %1182
  store i32 %1184, ptr %25, align 4, !tbaa !9
  %1185 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1185, ptr %26, align 4, !tbaa !9
  store i32 40, ptr %27, align 4, !tbaa !9
  %1186 = load i32, ptr %27, align 4, !tbaa !9
  %1187 = load i32, ptr %26, align 4, !tbaa !9
  %1188 = add i32 %1187, %1186
  store i32 %1188, ptr %26, align 4, !tbaa !9
  %1189 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %1189, ptr %15, align 4, !tbaa !9
  %1190 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1190, ptr %27, align 4, !tbaa !9
  store i32 88, ptr %28, align 4, !tbaa !9
  %1191 = load i32, ptr %28, align 4, !tbaa !9
  %1192 = load i32, ptr %27, align 4, !tbaa !9
  %1193 = add i32 %1192, %1191
  store i32 %1193, ptr %27, align 4, !tbaa !9
  %1194 = load ptr, ptr %6, align 8, !tbaa !5
  %1195 = load i32, ptr %22, align 4, !tbaa !9
  %1196 = load i32, ptr %23, align 4, !tbaa !9
  %1197 = load i32, ptr %24, align 4, !tbaa !9
  %1198 = load i32, ptr %25, align 4, !tbaa !9
  %1199 = load i32, ptr %26, align 4, !tbaa !9
  %1200 = load i32, ptr %27, align 4, !tbaa !9
  %1201 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSObject0x3A0x3AgetComputedPrimitiveDescriptor0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AMutableHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AMutableHandle0x3Chermes0x3A0x3Avm0x3A0x3ASymbolID0x3E0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AComputedPropertyDescriptor0x260x29(ptr noundef %1194, i32 noundef %1195, i32 noundef %1196, i32 noundef %1197, i32 noundef %1198, i32 noundef %1199, i32 noundef %1200)
  store i32 %1201, ptr %22, align 4, !tbaa !9
  %1202 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1202, ptr %22, align 4, !tbaa !9
  %1203 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1203, ptr %23, align 4, !tbaa !9
  %1204 = load ptr, ptr %6, align 8, !tbaa !5
  %1205 = getelementptr inbounds %struct.w2c_hermes, ptr %1204, i32 0, i32 6
  %1206 = load i32, ptr %23, align 4, !tbaa !9
  %1207 = zext i32 %1206 to i64
  %1208 = add i64 %1207, 88
  %1209 = call i64 @i64_load(ptr noundef %1205, i64 noundef %1208)
  store i64 %1209, ptr %31, align 8, !tbaa !11
  %1210 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %1210, ptr %19, align 8, !tbaa !11
  %1211 = load ptr, ptr %6, align 8, !tbaa !5
  %1212 = getelementptr inbounds %struct.w2c_hermes, ptr %1211, i32 0, i32 6
  %1213 = load i32, ptr %22, align 4, !tbaa !9
  %1214 = zext i32 %1213 to i64
  %1215 = add i64 %1214, 32
  %1216 = load i64, ptr %31, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1212, i64 noundef %1215, i64 noundef %1216)
  %1217 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1217, ptr %22, align 4, !tbaa !9
  %1218 = load i64, ptr %19, align 8, !tbaa !11
  store i64 %1218, ptr %31, align 8, !tbaa !11
  %1219 = load ptr, ptr %6, align 8, !tbaa !5
  %1220 = getelementptr inbounds %struct.w2c_hermes, ptr %1219, i32 0, i32 6
  %1221 = load i32, ptr %22, align 4, !tbaa !9
  %1222 = zext i32 %1221 to i64
  %1223 = add i64 %1222, 16
  %1224 = load i64, ptr %31, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1220, i64 noundef %1223, i64 noundef %1224)
  %1225 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1225, ptr %22, align 4, !tbaa !9
  store i32 48, ptr %23, align 4, !tbaa !9
  %1226 = load i32, ptr %23, align 4, !tbaa !9
  %1227 = load i32, ptr %22, align 4, !tbaa !9
  %1228 = add i32 %1227, %1226
  store i32 %1228, ptr %22, align 4, !tbaa !9
  %1229 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1229, ptr %23, align 4, !tbaa !9
  %1230 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1230, ptr %24, align 4, !tbaa !9
  %1231 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1231, ptr %25, align 4, !tbaa !9
  %1232 = load ptr, ptr %6, align 8, !tbaa !5
  %1233 = getelementptr inbounds %struct.w2c_hermes, ptr %1232, i32 0, i32 6
  %1234 = load i32, ptr %25, align 4, !tbaa !9
  %1235 = zext i32 %1234 to i64
  %1236 = add i64 %1235, 44
  %1237 = call i32 @i32_load(ptr noundef %1233, i64 noundef %1236)
  store i32 %1237, ptr %25, align 4, !tbaa !9
  %1238 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1238, ptr %26, align 4, !tbaa !9
  store i32 16, ptr %27, align 4, !tbaa !9
  %1239 = load i32, ptr %27, align 4, !tbaa !9
  %1240 = load i32, ptr %26, align 4, !tbaa !9
  %1241 = add i32 %1240, %1239
  store i32 %1241, ptr %26, align 4, !tbaa !9
  %1242 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1242, ptr %27, align 4, !tbaa !9
  %1243 = load ptr, ptr %6, align 8, !tbaa !5
  %1244 = load i32, ptr %22, align 4, !tbaa !9
  %1245 = load i32, ptr %23, align 4, !tbaa !9
  %1246 = load i32, ptr %24, align 4, !tbaa !9
  %1247 = load i32, ptr %25, align 4, !tbaa !9
  %1248 = load i32, ptr %26, align 4, !tbaa !9
  %1249 = load i32, ptr %27, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSObject0x3A0x3AgetComputedPropertyValue_RJS0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AMutableHandle0x3Chermes0x3A0x3Avm0x3A0x3ASymbolID0x3E0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AComputedPropertyDescriptor0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x29(ptr noundef %1243, i32 noundef %1244, i32 noundef %1245, i32 noundef %1246, i32 noundef %1247, i32 noundef %1248, i32 noundef %1249)
  %1250 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1250, ptr %22, align 4, !tbaa !9
  %1251 = load ptr, ptr %6, align 8, !tbaa !5
  %1252 = getelementptr inbounds %struct.w2c_hermes, ptr %1251, i32 0, i32 6
  %1253 = load i32, ptr %22, align 4, !tbaa !9
  %1254 = zext i32 %1253 to i64
  %1255 = add i64 %1254, 48
  %1256 = call i32 @i32_load(ptr noundef %1252, i64 noundef %1255)
  store i32 %1256, ptr %22, align 4, !tbaa !9
  %1257 = load i32, ptr %22, align 4, !tbaa !9
  %1258 = icmp ne i32 %1257, 0
  %1259 = xor i1 %1258, true
  %1260 = zext i1 %1259 to i32
  store i32 %1260, ptr %22, align 4, !tbaa !9
  %1261 = load i32, ptr %22, align 4, !tbaa !9
  %1262 = icmp ne i32 %1261, 0
  br i1 %1262, label %1263, label %1270

1263:                                             ; preds = %1170
  %1264 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1264, ptr %22, align 4, !tbaa !9
  store i32 0, ptr %23, align 4, !tbaa !9
  %1265 = load ptr, ptr %6, align 8, !tbaa !5
  %1266 = getelementptr inbounds %struct.w2c_hermes, ptr %1265, i32 0, i32 6
  %1267 = load i32, ptr %22, align 4, !tbaa !9
  %1268 = zext i32 %1267 to i64
  %1269 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1266, i64 noundef %1268, i32 noundef %1269)
  br label %1547

1270:                                             ; preds = %1170
  %1271 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1271, ptr %22, align 4, !tbaa !9
  %1272 = load ptr, ptr %6, align 8, !tbaa !5
  %1273 = getelementptr inbounds %struct.w2c_hermes, ptr %1272, i32 0, i32 6
  %1274 = load i32, ptr %22, align 4, !tbaa !9
  %1275 = zext i32 %1274 to i64
  %1276 = add i64 %1275, 56
  %1277 = call i64 @i64_load(ptr noundef %1273, i64 noundef %1276)
  store i64 %1277, ptr %30, align 8, !tbaa !11
  %1278 = load i64, ptr %30, align 8, !tbaa !11
  store i64 %1278, ptr %19, align 8, !tbaa !11
  store i64 47, ptr %31, align 8, !tbaa !11
  %1279 = load i64, ptr %30, align 8, !tbaa !11
  %1280 = load i64, ptr %31, align 8, !tbaa !11
  %1281 = and i64 %1280, 63
  %1282 = ashr i64 %1279, %1281
  store i64 %1282, ptr %30, align 8, !tbaa !11
  %1283 = load i64, ptr %30, align 8, !tbaa !11
  %1284 = trunc i64 %1283 to i32
  store i32 %1284, ptr %22, align 4, !tbaa !9
  store i32 -14, ptr %23, align 4, !tbaa !9
  %1285 = load i32, ptr %22, align 4, !tbaa !9
  %1286 = load i32, ptr %23, align 4, !tbaa !9
  %1287 = icmp ne i32 %1285, %1286
  %1288 = zext i1 %1287 to i32
  store i32 %1288, ptr %22, align 4, !tbaa !9
  %1289 = load i32, ptr %22, align 4, !tbaa !9
  %1290 = icmp ne i32 %1289, 0
  br i1 %1290, label %1291, label %1313

1291:                                             ; preds = %1270
  %1292 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1292, ptr %22, align 4, !tbaa !9
  %1293 = load i64, ptr %19, align 8, !tbaa !11
  store i64 %1293, ptr %31, align 8, !tbaa !11
  %1294 = load ptr, ptr %6, align 8, !tbaa !5
  %1295 = getelementptr inbounds %struct.w2c_hermes, ptr %1294, i32 0, i32 6
  %1296 = load i32, ptr %22, align 4, !tbaa !9
  %1297 = zext i32 %1296 to i64
  %1298 = load i64, ptr %31, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1295, i64 noundef %1297, i64 noundef %1298)
  %1299 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1299, ptr %22, align 4, !tbaa !9
  store i32 364, ptr %23, align 4, !tbaa !9
  %1300 = load i32, ptr %23, align 4, !tbaa !9
  %1301 = load i32, ptr %22, align 4, !tbaa !9
  %1302 = add i32 %1301, %1300
  store i32 %1302, ptr %22, align 4, !tbaa !9
  %1303 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1303, ptr %23, align 4, !tbaa !9
  %1304 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1304, ptr %24, align 4, !tbaa !9
  %1305 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1305, ptr %25, align 4, !tbaa !9
  %1306 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1306, ptr %26, align 4, !tbaa !9
  %1307 = load ptr, ptr %6, align 8, !tbaa !5
  %1308 = load i32, ptr %22, align 4, !tbaa !9
  %1309 = load i32, ptr %23, align 4, !tbaa !9
  %1310 = load i32, ptr %24, align 4, !tbaa !9
  %1311 = load i32, ptr %25, align 4, !tbaa !9
  %1312 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AArrayImpl0x3A0x3A_setOwnIndexedImpl0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20unsigned0x20int0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x29(ptr noundef %1307, i32 noundef %1308, i32 noundef %1309, i32 noundef %1310, i32 noundef %1311, i32 noundef %1312)
  br label %1313

1313:                                             ; preds = %1291, %1270
  %1314 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1314, ptr %22, align 4, !tbaa !9
  store i64 9221120237041090560, ptr %31, align 8, !tbaa !11
  %1315 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1315, ptr %24, align 4, !tbaa !9
  %1316 = load ptr, ptr %6, align 8, !tbaa !5
  %1317 = getelementptr inbounds %struct.w2c_hermes, ptr %1316, i32 0, i32 6
  %1318 = load i32, ptr %24, align 4, !tbaa !9
  %1319 = zext i32 %1318 to i64
  %1320 = call double @f64_load(ptr noundef %1317, i64 noundef %1319)
  store double %1320, ptr %35, align 8, !tbaa !13
  store double 1.000000e+00, ptr %36, align 8, !tbaa !13
  %1321 = load double, ptr %36, align 8, !tbaa !13
  %1322 = load double, ptr %35, align 8, !tbaa !13
  %1323 = fadd double %1322, %1321
  store double %1323, ptr %35, align 8, !tbaa !13
  %1324 = load double, ptr %35, align 8, !tbaa !13
  store double %1324, ptr %20, align 8, !tbaa !13
  %1325 = load double, ptr %35, align 8, !tbaa !13
  %1326 = call i64 @i64_reinterpret_f64(double noundef %1325)
  store i64 %1326, ptr %32, align 8, !tbaa !11
  %1327 = load double, ptr %20, align 8, !tbaa !13
  store double %1327, ptr %36, align 8, !tbaa !13
  %1328 = load double, ptr %20, align 8, !tbaa !13
  store double %1328, ptr %37, align 8, !tbaa !13
  %1329 = load double, ptr %36, align 8, !tbaa !13
  %1330 = load double, ptr %37, align 8, !tbaa !13
  %1331 = fcmp une double %1329, %1330
  %1332 = zext i1 %1331 to i32
  store i32 %1332, ptr %25, align 4, !tbaa !9
  %1333 = load i32, ptr %25, align 4, !tbaa !9
  %1334 = icmp ne i32 %1333, 0
  br i1 %1334, label %1335, label %1337

1335:                                             ; preds = %1313
  %1336 = load i64, ptr %31, align 8, !tbaa !11
  br label %1339

1337:                                             ; preds = %1313
  %1338 = load i64, ptr %32, align 8, !tbaa !11
  br label %1339

1339:                                             ; preds = %1337, %1335
  %1340 = phi i64 [ %1336, %1335 ], [ %1338, %1337 ]
  store i64 %1340, ptr %31, align 8, !tbaa !11
  %1341 = load ptr, ptr %6, align 8, !tbaa !5
  %1342 = getelementptr inbounds %struct.w2c_hermes, ptr %1341, i32 0, i32 6
  %1343 = load i32, ptr %22, align 4, !tbaa !9
  %1344 = zext i32 %1343 to i64
  %1345 = load i64, ptr %31, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1342, i64 noundef %1344, i64 noundef %1345)
  %1346 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1346, ptr %22, align 4, !tbaa !9
  %1347 = load ptr, ptr %6, align 8, !tbaa !5
  %1348 = getelementptr inbounds %struct.w2c_hermes, ptr %1347, i32 0, i32 6
  %1349 = load i32, ptr %22, align 4, !tbaa !9
  %1350 = zext i32 %1349 to i64
  %1351 = add i64 %1350, 320
  %1352 = call i32 @i32_load(ptr noundef %1348, i64 noundef %1351)
  store i32 %1352, ptr %22, align 4, !tbaa !9
  %1353 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1353, ptr %23, align 4, !tbaa !9
  %1354 = load i32, ptr %23, align 4, !tbaa !9
  %1355 = load i32, ptr %22, align 4, !tbaa !9
  %1356 = add i32 %1355, %1354
  store i32 %1356, ptr %22, align 4, !tbaa !9
  %1357 = load ptr, ptr %6, align 8, !tbaa !5
  %1358 = getelementptr inbounds %struct.w2c_hermes, ptr %1357, i32 0, i32 6
  %1359 = load i32, ptr %22, align 4, !tbaa !9
  %1360 = zext i32 %1359 to i64
  %1361 = call i32 @i32_load(ptr noundef %1358, i64 noundef %1360)
  store i32 %1361, ptr %22, align 4, !tbaa !9
  %1362 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1362, ptr %15, align 4, !tbaa !9
  %1363 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1363, ptr %22, align 4, !tbaa !9
  %1364 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1364, ptr %23, align 4, !tbaa !9
  %1365 = load ptr, ptr %6, align 8, !tbaa !5
  %1366 = getelementptr inbounds %struct.w2c_hermes, ptr %1365, i32 0, i32 6
  %1367 = load i32, ptr %22, align 4, !tbaa !9
  %1368 = zext i32 %1367 to i64
  %1369 = add i64 %1368, 356
  %1370 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1366, i64 noundef %1369, i32 noundef %1370)
  %1371 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1371, ptr %22, align 4, !tbaa !9
  %1372 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %1372, ptr %23, align 4, !tbaa !9
  %1373 = load ptr, ptr %6, align 8, !tbaa !5
  %1374 = getelementptr inbounds %struct.w2c_hermes, ptr %1373, i32 0, i32 6
  %1375 = load i32, ptr %22, align 4, !tbaa !9
  %1376 = zext i32 %1375 to i64
  %1377 = add i64 %1376, 348
  %1378 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1374, i64 noundef %1377, i32 noundef %1378)
  %1379 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1379, ptr %22, align 4, !tbaa !9
  %1380 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1380, ptr %23, align 4, !tbaa !9
  store i32 128, ptr %24, align 4, !tbaa !9
  %1381 = load i32, ptr %24, align 4, !tbaa !9
  %1382 = load i32, ptr %23, align 4, !tbaa !9
  %1383 = add i32 %1382, %1381
  store i32 %1383, ptr %23, align 4, !tbaa !9
  %1384 = load ptr, ptr %6, align 8, !tbaa !5
  %1385 = getelementptr inbounds %struct.w2c_hermes, ptr %1384, i32 0, i32 6
  %1386 = load i32, ptr %22, align 4, !tbaa !9
  %1387 = zext i32 %1386 to i64
  %1388 = add i64 %1387, 352
  %1389 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1385, i64 noundef %1388, i32 noundef %1389)
  %1390 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1390, ptr %22, align 4, !tbaa !9
  store i32 1, ptr %23, align 4, !tbaa !9
  %1391 = load i32, ptr %23, align 4, !tbaa !9
  %1392 = load i32, ptr %22, align 4, !tbaa !9
  %1393 = add i32 %1392, %1391
  store i32 %1393, ptr %22, align 4, !tbaa !9
  %1394 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1394, ptr %10, align 4, !tbaa !9
  %1395 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1395, ptr %22, align 4, !tbaa !9
  %1396 = load ptr, ptr %6, align 8, !tbaa !5
  %1397 = getelementptr inbounds %struct.w2c_hermes, ptr %1396, i32 0, i32 6
  %1398 = load i32, ptr %22, align 4, !tbaa !9
  %1399 = zext i32 %1398 to i64
  %1400 = call double @f64_load(ptr noundef %1397, i64 noundef %1399)
  store double %1400, ptr %33, align 8, !tbaa !13
  %1401 = load double, ptr %21, align 8, !tbaa !13
  store double %1401, ptr %34, align 8, !tbaa !13
  %1402 = load double, ptr %33, align 8, !tbaa !13
  %1403 = load double, ptr %34, align 8, !tbaa !13
  %1404 = fcmp olt double %1402, %1403
  %1405 = zext i1 %1404 to i32
  store i32 %1405, ptr %22, align 4, !tbaa !9
  %1406 = load i32, ptr %22, align 4, !tbaa !9
  %1407 = icmp ne i32 %1406, 0
  br i1 %1407, label %1408, label %1409

1408:                                             ; preds = %1339
  br label %1170

1409:                                             ; preds = %1339
  %1410 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1410, ptr %22, align 4, !tbaa !9
  %1411 = load i32, ptr %22, align 4, !tbaa !9
  %1412 = uitofp i32 %1411 to double
  store double %1412, ptr %33, align 8, !tbaa !13
  %1413 = load double, ptr %33, align 8, !tbaa !13
  store double %1413, ptr %20, align 8, !tbaa !13
  br label %1414

1414:                                             ; preds = %1409, %1132
  %1415 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1415, ptr %22, align 4, !tbaa !9
  %1416 = load ptr, ptr %6, align 8, !tbaa !5
  %1417 = getelementptr inbounds %struct.w2c_hermes, ptr %1416, i32 0, i32 6
  %1418 = load i32, ptr %22, align 4, !tbaa !9
  %1419 = zext i32 %1418 to i64
  %1420 = add i64 %1419, 4
  %1421 = call i32 @i32_load(ptr noundef %1417, i64 noundef %1420)
  store i32 %1421, ptr %22, align 4, !tbaa !9
  %1422 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1422, ptr %10, align 4, !tbaa !9
  %1423 = load ptr, ptr %6, align 8, !tbaa !5
  %1424 = getelementptr inbounds %struct.w2c_hermes, ptr %1423, i32 0, i32 6
  %1425 = load i32, ptr %22, align 4, !tbaa !9
  %1426 = zext i32 %1425 to i64
  %1427 = add i64 %1426, 164
  %1428 = call i32 @i32_load(ptr noundef %1424, i64 noundef %1427)
  store i32 %1428, ptr %22, align 4, !tbaa !9
  %1429 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1429, ptr %11, align 4, !tbaa !9
  %1430 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1430, ptr %23, align 4, !tbaa !9
  %1431 = load ptr, ptr %6, align 8, !tbaa !5
  %1432 = getelementptr inbounds %struct.w2c_hermes, ptr %1431, i32 0, i32 6
  %1433 = load i32, ptr %23, align 4, !tbaa !9
  %1434 = zext i32 %1433 to i64
  %1435 = add i64 %1434, 168
  %1436 = call i32 @i32_load(ptr noundef %1432, i64 noundef %1435)
  store i32 %1436, ptr %23, align 4, !tbaa !9
  %1437 = load i32, ptr %22, align 4, !tbaa !9
  %1438 = load i32, ptr %23, align 4, !tbaa !9
  %1439 = icmp ult i32 %1437, %1438
  %1440 = zext i1 %1439 to i32
  store i32 %1440, ptr %22, align 4, !tbaa !9
  %1441 = load i32, ptr %22, align 4, !tbaa !9
  %1442 = icmp ne i32 %1441, 0
  br i1 %1442, label %1443, label %1462

1443:                                             ; preds = %1414
  %1444 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1444, ptr %22, align 4, !tbaa !9
  %1445 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1445, ptr %23, align 4, !tbaa !9
  store i32 8, ptr %24, align 4, !tbaa !9
  %1446 = load i32, ptr %24, align 4, !tbaa !9
  %1447 = load i32, ptr %23, align 4, !tbaa !9
  %1448 = add i32 %1447, %1446
  store i32 %1448, ptr %23, align 4, !tbaa !9
  %1449 = load ptr, ptr %6, align 8, !tbaa !5
  %1450 = getelementptr inbounds %struct.w2c_hermes, ptr %1449, i32 0, i32 6
  %1451 = load i32, ptr %22, align 4, !tbaa !9
  %1452 = zext i32 %1451 to i64
  %1453 = add i64 %1452, 164
  %1454 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1450, i64 noundef %1453, i32 noundef %1454)
  %1455 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1455, ptr %22, align 4, !tbaa !9
  %1456 = load double, ptr %20, align 8, !tbaa !13
  store double %1456, ptr %34, align 8, !tbaa !13
  %1457 = load ptr, ptr %6, align 8, !tbaa !5
  %1458 = getelementptr inbounds %struct.w2c_hermes, ptr %1457, i32 0, i32 6
  %1459 = load i32, ptr %22, align 4, !tbaa !9
  %1460 = zext i32 %1459 to i64
  %1461 = load double, ptr %34, align 8, !tbaa !13
  call void @f64_store(ptr noundef %1458, i64 noundef %1460, double noundef %1461)
  br label %1472

1462:                                             ; preds = %1414
  %1463 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1463, ptr %22, align 4, !tbaa !9
  %1464 = load double, ptr %20, align 8, !tbaa !13
  store double %1464, ptr %34, align 8, !tbaa !13
  %1465 = load double, ptr %34, align 8, !tbaa !13
  %1466 = call i64 @i64_reinterpret_f64(double noundef %1465)
  store i64 %1466, ptr %31, align 8, !tbaa !11
  %1467 = load ptr, ptr %6, align 8, !tbaa !5
  %1468 = load i32, ptr %22, align 4, !tbaa !9
  %1469 = load i64, ptr %31, align 8, !tbaa !11
  %1470 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %1467, i32 noundef %1468, i64 noundef %1469)
  store i32 %1470, ptr %22, align 4, !tbaa !9
  %1471 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1471, ptr %11, align 4, !tbaa !9
  br label %1472

1472:                                             ; preds = %1462, %1443
  %1473 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1473, ptr %22, align 4, !tbaa !9
  store i32 0, ptr %23, 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 %22, align 4, !tbaa !9
  %1477 = zext i32 %1476 to i64
  %1478 = add i64 %1477, 12
  %1479 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1475, i64 noundef %1478, i32 noundef %1479)
  %1480 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1480, ptr %22, align 4, !tbaa !9
  store i32 0, ptr %23, 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 %22, align 4, !tbaa !9
  %1484 = zext i32 %1483 to i64
  %1485 = add i64 %1484, 48
  %1486 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1482, i64 noundef %1485, i32 noundef %1486)
  %1487 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1487, ptr %22, align 4, !tbaa !9
  store i32 88, ptr %23, align 4, !tbaa !9
  %1488 = load i32, ptr %23, align 4, !tbaa !9
  %1489 = load i32, ptr %22, align 4, !tbaa !9
  %1490 = add i32 %1489, %1488
  store i32 %1490, ptr %22, align 4, !tbaa !9
  %1491 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1491, ptr %23, align 4, !tbaa !9
  %1492 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1492, ptr %24, align 4, !tbaa !9
  store i32 85, ptr %25, align 4, !tbaa !9
  %1493 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1493, ptr %26, align 4, !tbaa !9
  %1494 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1494, ptr %27, align 4, !tbaa !9
  %1495 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1495, ptr %28, align 4, !tbaa !9
  store i32 12, ptr %29, align 4, !tbaa !9
  %1496 = load i32, ptr %29, align 4, !tbaa !9
  %1497 = load i32, ptr %28, align 4, !tbaa !9
  %1498 = add i32 %1497, %1496
  store i32 %1498, ptr %28, align 4, !tbaa !9
  %1499 = load ptr, ptr %6, align 8, !tbaa !5
  %1500 = load i32, ptr %22, align 4, !tbaa !9
  %1501 = load i32, ptr %23, align 4, !tbaa !9
  %1502 = load i32, ptr %24, align 4, !tbaa !9
  %1503 = load i32, ptr %25, align 4, !tbaa !9
  %1504 = load i32, ptr %26, align 4, !tbaa !9
  %1505 = load i32, ptr %27, align 4, !tbaa !9
  %1506 = load i32, ptr %28, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSObject0x3A0x3AputNamedWithReceiver_RJS0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ASymbolID0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3APropOpFlags0x29(ptr noundef %1499, i32 noundef %1500, i32 noundef %1501, i32 noundef %1502, i32 noundef %1503, i32 noundef %1504, i32 noundef %1505, i32 noundef %1506)
  %1507 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1507, ptr %22, align 4, !tbaa !9
  %1508 = load ptr, ptr %6, align 8, !tbaa !5
  %1509 = getelementptr inbounds %struct.w2c_hermes, ptr %1508, i32 0, i32 6
  %1510 = load i32, ptr %22, align 4, !tbaa !9
  %1511 = zext i32 %1510 to i64
  %1512 = add i64 %1511, 88
  %1513 = call i32 @i32_load8_u(ptr noundef %1509, i64 noundef %1512)
  store i32 %1513, ptr %22, align 4, !tbaa !9
  %1514 = load i32, ptr %22, align 4, !tbaa !9
  %1515 = icmp ne i32 %1514, 0
  %1516 = xor i1 %1515, true
  %1517 = zext i1 %1516 to i32
  store i32 %1517, ptr %22, align 4, !tbaa !9
  %1518 = load i32, ptr %22, align 4, !tbaa !9
  %1519 = icmp ne i32 %1518, 0
  br i1 %1519, label %1520, label %1527

1520:                                             ; preds = %1472
  %1521 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1521, ptr %22, align 4, !tbaa !9
  store i32 0, ptr %23, align 4, !tbaa !9
  %1522 = load ptr, ptr %6, align 8, !tbaa !5
  %1523 = getelementptr inbounds %struct.w2c_hermes, ptr %1522, i32 0, i32 6
  %1524 = load i32, ptr %22, align 4, !tbaa !9
  %1525 = zext i32 %1524 to i64
  %1526 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1523, i64 noundef %1525, i32 noundef %1526)
  br label %1547

1527:                                             ; preds = %1472
  %1528 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1528, ptr %22, align 4, !tbaa !9
  %1529 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1529, ptr %23, align 4, !tbaa !9
  %1530 = load ptr, ptr %6, align 8, !tbaa !5
  %1531 = getelementptr inbounds %struct.w2c_hermes, ptr %1530, i32 0, i32 6
  %1532 = load i32, ptr %23, align 4, !tbaa !9
  %1533 = zext i32 %1532 to i64
  %1534 = call i64 @i64_load(ptr noundef %1531, i64 noundef %1533)
  store i64 %1534, ptr %31, align 8, !tbaa !11
  %1535 = load ptr, ptr %6, align 8, !tbaa !5
  %1536 = getelementptr inbounds %struct.w2c_hermes, ptr %1535, i32 0, i32 6
  %1537 = load i32, ptr %22, align 4, !tbaa !9
  %1538 = zext i32 %1537 to i64
  %1539 = add i64 %1538, 8
  %1540 = load i64, ptr %31, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1536, i64 noundef %1539, i64 noundef %1540)
  %1541 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1541, ptr %22, align 4, !tbaa !9
  store i32 1, ptr %23, align 4, !tbaa !9
  %1542 = load ptr, ptr %6, align 8, !tbaa !5
  %1543 = getelementptr inbounds %struct.w2c_hermes, ptr %1542, i32 0, i32 6
  %1544 = load i32, ptr %22, align 4, !tbaa !9
  %1545 = zext i32 %1544 to i64
  %1546 = load i32, ptr %23, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1543, i64 noundef %1545, i32 noundef %1546)
  br label %1547

1547:                                             ; preds = %1527, %1520, %1263, %947, %833, %689, %451, %384, %289, %168
  %1548 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1548, ptr %22, align 4, !tbaa !9
  store i32 184, ptr %23, align 4, !tbaa !9
  %1549 = load i32, ptr %23, align 4, !tbaa !9
  %1550 = load i32, ptr %22, align 4, !tbaa !9
  %1551 = add i32 %1550, %1549
  store i32 %1551, ptr %22, align 4, !tbaa !9
  %1552 = load ptr, ptr %6, align 8, !tbaa !5
  %1553 = load i32, ptr %22, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A0x7EGCScope0x280x29(ptr noundef %1552, i32 noundef %1553)
  %1554 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1554, ptr %22, align 4, !tbaa !9
  store i32 368, ptr %23, align 4, !tbaa !9
  %1555 = load i32, ptr %23, align 4, !tbaa !9
  %1556 = load i32, ptr %22, align 4, !tbaa !9
  %1557 = add i32 %1556, %1555
  store i32 %1557, ptr %22, align 4, !tbaa !9
  %1558 = load i32, ptr %22, align 4, !tbaa !9
  %1559 = load ptr, ptr %6, align 8, !tbaa !5
  %1560 = getelementptr inbounds %struct.w2c_hermes, ptr %1559, i32 0, i32 3
  store i32 %1558, ptr %1560, align 8, !tbaa !15
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #6
  call void @llvm.lifetime.end.p0(i64 8, 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 4, ptr %29) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #6
  call void @llvm.lifetime.end.p0(i64 4, 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 8, ptr %21) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #6
  call void @llvm.lifetime.end.p0(i64 8, 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
}

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { 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 = { 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 = { "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 = { 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 #5 = { nocallback nofree nosync nounwind willreturn memory(none) }
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: nounwind uwtable
declare dso_local i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AraiseRangeError0x28hermes0x3A0x3Avm0x3A0x3ATwineChar160x20const0x260x29(ptr noundef, i32 noundef, i32 noundef) local_unnamed_addr #0

; 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 void @i32_store(ptr noundef, i64 noundef, i32 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 i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef, i32 noundef, i64 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: inlinehint nounwind uwtable
declare hidden i64 @i64_load32_u(ptr noundef, i64 noundef) local_unnamed_addr #1

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

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

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

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

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

; 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 i64 @i64_reinterpret_f64(double noundef) local_unnamed_addr #1

declare void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSObject0x3A0x3AgetNamedWithReceiver_RJS0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ASymbolID0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3APropOpFlags0x2C0x20hermes0x3A0x3Avm0x3A0x3APropertyCacheEntry0x2A0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 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 i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSObject0x3A0x3AgetComputedPrimitiveDescriptor0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AMutableHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AMutableHandle0x3Chermes0x3A0x3Avm0x3A0x3ASymbolID0x3E0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AComputedPropertyDescriptor0x260x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #2

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

declare void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AArrayImpl0x3A0x3A_setOwnIndexedImpl0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20unsigned0x20int0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 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_hermes0x3A0x3Avm0x3A0x3AtoLengthU640x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #2

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

; Function Attrs: nounwind uwtable
define dso_local void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AarrayPrototypeSlice0x28void0x2A0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ANativeArgs0x29(ptr noundef %0, i32 noundef %1, i32 noundef %2, i32 noundef %3, i32 noundef %4) local_unnamed_addr #0 {
  %6 = getelementptr inbounds i8, ptr %0, i64 24
  %7 = load i32, ptr %6, align 8, !tbaa !5
  %8 = add i32 %7, -368
  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, 184
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %11, i32 noundef %3)
  %12 = zext i32 %3 to i64
  %13 = add nuw nsw i64 %12, 4
  %14 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %13)
  %15 = add i32 %7, -36
  %16 = add i32 %7, -176
  %17 = zext i32 %15 to i64
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %17, i32 noundef %16)
  %18 = add nuw nsw i64 %10, 324
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %18, i64 noundef 17179869185)
  %19 = add nuw nsw i64 %10, 320
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %19, i32 noundef %15)
  %20 = add nuw nsw i64 %10, 188
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %20, i32 noundef %14)
  %21 = add nuw nsw i64 %10, 356
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %21, i32 noundef 0)
  %22 = add i32 %7, -48
  %23 = add nuw nsw i64 %10, 352
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %23, i32 noundef %22)
  %24 = add nuw nsw i64 %10, 348
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %24, i32 noundef %16)
  %25 = add i32 %7, -184
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %13, i32 noundef %25)
  %26 = add i32 %7, -200
  %27 = zext i32 %4 to i64
  %28 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %27)
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AtoObject0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x29(ptr noundef %0, i32 noundef %26, i32 noundef %3, i32 noundef %28) #4
  %29 = add nuw nsw i64 %10, 168
  %30 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %29)
  %.not = icmp eq i32 %30, 0
  br i1 %.not, label %31, label %33

31:                                               ; preds = %5
  %32 = zext i32 %1 to i64
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %32, i32 noundef 0)
  br label %293

33:                                               ; preds = %5
  %34 = add nuw nsw i64 %10, 176
  %35 = tail call i64 @i64_load32_u(ptr noundef nonnull %9, i64 noundef %34)
  %36 = or i64 %35, -281474976710656
  %37 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %13)
  %38 = zext i32 %37 to i64
  %39 = add nuw nsw i64 %38, 164
  %40 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %39)
  %41 = add nuw nsw i64 %38, 168
  %42 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %41)
  %43 = icmp ult i32 %40, %42
  br i1 %43, label %44, label %47

44:                                               ; preds = %33
  %45 = add i32 %40, 8
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %39, i32 noundef %45)
  %46 = zext i32 %40 to i64
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %46, i64 noundef %36)
  br label %49

47:                                               ; preds = %33
  %48 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef nonnull %0, i32 noundef %37, i64 noundef %36) #4
  br label %49

49:                                               ; preds = %47, %44
  %.0867 = phi i32 [ %40, %44 ], [ %48, %47 ]
  %50 = add nuw nsw i64 %10, 28
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %50, i32 noundef 0)
  %51 = add nuw nsw i64 %10, 48
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %51, i32 noundef 0)
  %52 = add i32 %7, -216
  %53 = add i32 %7, -340
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSObject0x3A0x3AgetNamedWithReceiver_RJS0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ASymbolID0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3APropOpFlags0x2C0x20hermes0x3A0x3Avm0x3A0x3APropertyCacheEntry0x2A0x29(ptr noundef nonnull %0, i32 noundef %52, i32 noundef %.0867, i32 noundef %3, i32 noundef 85, i32 noundef %.0867, i32 noundef %53, i32 noundef 0) #4
  %54 = add nuw nsw i64 %10, 152
  %55 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %54)
  %.not886 = icmp eq i32 %55, 0
  br i1 %.not886, label %56, label %58

56:                                               ; preds = %49
  %57 = zext i32 %1 to i64
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %57, i32 noundef 0)
  br label %293

58:                                               ; preds = %49
  %59 = add nuw nsw i64 %10, 160
  %60 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef %59)
  %61 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %13)
  %62 = zext i32 %61 to i64
  %63 = add nuw nsw i64 %62, 164
  %64 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %63)
  %65 = add nuw nsw i64 %62, 168
  %66 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %65)
  %67 = icmp ult i32 %64, %66
  br i1 %67, label %68, label %71

68:                                               ; preds = %58
  %69 = add i32 %64, 8
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %63, i32 noundef %69)
  %70 = zext i32 %64 to i64
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %70, i64 noundef %60)
  br label %73

71:                                               ; preds = %58
  %72 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef nonnull %0, i32 noundef %61, i64 noundef %60) #4
  br label %73

73:                                               ; preds = %71, %68
  %.0869 = phi i32 [ %64, %68 ], [ %72, %71 ]
  %74 = add i32 %7, -232
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AtoLengthU640x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x29(ptr noundef nonnull %0, i32 noundef %74, i32 noundef %3, i32 noundef %.0869) #4
  %75 = add nuw nsw i64 %10, 136
  %76 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %75)
  %.not887 = icmp eq i32 %76, 0
  br i1 %.not887, label %77, label %79

77:                                               ; preds = %73
  %78 = zext i32 %1 to i64
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %78, i32 noundef 0)
  br label %293

79:                                               ; preds = %73
  %80 = add nuw nsw i64 %10, 144
  %81 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef %80)
  %82 = uitofp i64 %81 to double
  %83 = add nuw nsw i64 %10, 128
  tail call void @f64_store(ptr noundef nonnull %9, i64 noundef %83, double noundef %82)
  %84 = add i32 %7, -256
  %85 = add i32 %28, -8
  %86 = add nuw nsw i64 %27, 4
  %87 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %86)
  %.not888 = icmp eq i32 %87, 0
  %88 = select i1 %.not888, i32 67208, i32 %85
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AtoIntegerOrInfinity0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x29(ptr noundef nonnull %0, i32 noundef %84, i32 noundef %3, i32 noundef %88) #4
  %89 = add nuw nsw i64 %10, 112
  %90 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %89)
  %.not889 = icmp eq i32 %90, 0
  br i1 %.not889, label %91, label %93

91:                                               ; preds = %79
  %92 = zext i32 %1 to i64
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %92, i32 noundef 0)
  br label %293

93:                                               ; preds = %79
  %94 = add nuw nsw i64 %10, 120
  %95 = tail call double @f64_load(ptr noundef nonnull %9, i64 noundef %94)
  %96 = add nuw nsw i64 %10, 104
  tail call void @f64_store(ptr noundef nonnull %9, i64 noundef %96, double noundef %95)
  %97 = fcmp olt double %95, 0.000000e+00
  br i1 %97, label %98, label %102

98:                                               ; preds = %93
  %99 = add nuw nsw i64 %10, 96
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %99, i64 noundef 0)
  %100 = fadd double %95, %82
  tail call void @f64_store(ptr noundef nonnull %9, i64 noundef %51, double noundef %100)
  %101 = fcmp olt double %100, 0.000000e+00
  %.v890 = select i1 %101, i32 -272, i32 -320
  br label %104

102:                                              ; preds = %93
  %103 = fcmp ogt double %95, %82
  %.v = select i1 %103, i32 -240, i32 -264
  br label %104

104:                                              ; preds = %102, %98
  %.v890.pn = phi i32 [ %.v890, %98 ], [ %.v, %102 ]
  %.0864 = add i32 %.v890.pn, %7
  %105 = zext i32 %.0864 to i64
  %106 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef %105)
  %107 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %13)
  %108 = zext i32 %107 to i64
  %109 = add nuw nsw i64 %108, 164
  %110 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %109)
  %111 = add nuw nsw i64 %108, 168
  %112 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %111)
  %113 = icmp ult i32 %110, %112
  br i1 %113, label %114, label %117

114:                                              ; preds = %104
  %115 = add i32 %110, 8
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %109, i32 noundef %115)
  %116 = zext i32 %110 to i64
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %116, i64 noundef %106)
  br label %119

117:                                              ; preds = %104
  %118 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef nonnull %0, i32 noundef %107, i64 noundef %106) #4
  br label %119

119:                                              ; preds = %117, %114
  %.1870 = phi i32 [ %110, %114 ], [ %118, %117 ]
  %120 = icmp ult i32 %87, 2
  br i1 %120, label %143, label %121

121:                                              ; preds = %119
  %122 = add i32 %28, -16
  %123 = zext i32 %122 to i64
  %124 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef %123)
  %.mask = and i64 %124, -140737488355328
  %125 = icmp eq i64 %.mask, -1688849860263936
  br i1 %125, label %143, label %126

126:                                              ; preds = %121
  %127 = add i32 %7, -320
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AtoIntegerOrInfinity0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x29(ptr noundef nonnull %0, i32 noundef %127, i32 noundef %3, i32 noundef %122) #4
  %128 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %51)
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %89, i32 noundef %128)
  %129 = add nuw nsw i64 %10, 56
  %130 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef %129)
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %94, i64 noundef %130)
  %.not891 = icmp eq i32 %128, 0
  br i1 %.not891, label %131, label %133

131:                                              ; preds = %126
  %132 = zext i32 %1 to i64
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %132, i32 noundef 0)
  br label %293

133:                                              ; preds = %126
  %134 = add nuw nsw i64 %10, 96
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %134, i64 noundef %130)
  %135 = tail call double @f64_reinterpret_i64(i64 noundef %130)
  %136 = fcmp uge double %135, 0.000000e+00
  br i1 %136, label %145, label %137

137:                                              ; preds = %133
  %138 = add nuw nsw i64 %10, 88
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %138, i64 noundef 0)
  %139 = fadd double %135, %82
  tail call void @f64_store(ptr noundef nonnull %9, i64 noundef %51, double noundef %139)
  %140 = add i32 %7, -280
  %141 = fcmp olt double %139, 0.000000e+00
  %142 = select i1 %141, i32 %140, i32 %127
  br label %148

143:                                              ; preds = %121, %119
  %144 = add nuw nsw i64 %10, 96
  tail call void @f64_store(ptr noundef nonnull %9, i64 noundef %144, double noundef %82)
  br label %145

145:                                              ; preds = %133, %143
  %.0865 = phi double [ %82, %143 ], [ %135, %133 ]
  %146 = fcmp ogt double %.0865, %82
  %.v892 = select i1 %146, i32 -240, i32 -272
  %147 = add i32 %.v892, %7
  br label %148

148:                                              ; preds = %145, %137
  %.0 = phi i32 [ %147, %145 ], [ %142, %137 ]
  %149 = zext i32 %.0 to i64
  %150 = tail call double @f64_load(ptr noundef nonnull %9, i64 noundef %149)
  %151 = zext i32 %.1870 to i64
  %152 = tail call double @f64_load(ptr noundef nonnull %9, i64 noundef %151)
  %153 = fsub double %150, %152
  %154 = fcmp olt double %153, 0.000000e+00
  %155 = select i1 %154, double 0.000000e+00, double %153
  %156 = fcmp ogt double %155, 0x41CF380400000000
  br i1 %156, label %157, label %164

157:                                              ; preds = %148
  %158 = add nuw nsw i64 %10, 80
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %158, i32 noundef 0)
  %159 = add nuw nsw i64 %10, 72
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %159, i64 noundef 141733920769)
  %160 = add nuw nsw i64 %10, 56
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %160, i32 noundef 3)
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %51, i32 noundef 57389)
  %161 = add i32 %7, -320
  %162 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3ARuntime0x3A0x3AraiseRangeError0x28hermes0x3A0x3Avm0x3A0x3ATwineChar160x20const0x260x29(ptr noundef nonnull %0, i32 noundef %3, i32 noundef %161)
  %163 = zext i32 %1 to i64
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %163, i32 noundef %162)
  br label %293

164:                                              ; preds = %148
  %165 = fcmp olt double %155, 0x41F0000000000000
  %166 = fcmp oge double %155, 0.000000e+00
  %167 = and i1 %165, %166
  br i1 %167, label %168, label %176

168:                                              ; preds = %164
  %169 = fcmp uno double %155, 0.000000e+00
  br i1 %169, label %170, label %171, !prof !15

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

171:                                              ; preds = %168
  %172 = fcmp ogt double %155, -1.000000e+00
  br i1 %172, label %174, label %173, !prof !16

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

174:                                              ; preds = %171
  %175 = fptoui double %155 to i32
  br label %176

176:                                              ; preds = %164, %174
  %.1 = phi i32 [ %175, %174 ], [ 0, %164 ]
  %177 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSArray0x3A0x3Acreate0x28hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20unsigned0x20int0x2C0x20unsigned0x20int0x29(ptr noundef nonnull %0, i32 noundef %3, i32 noundef %.1, i32 noundef %.1) #4
  %178 = icmp eq i32 %177, -1
  br i1 %178, label %179, label %181

179:                                              ; preds = %176
  %180 = zext i32 %1 to i64
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %180, i32 noundef 0)
  br label %293

181:                                              ; preds = %176
  %182 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %13)
  %183 = zext i32 %182 to i64
  %184 = add nuw nsw i64 %183, 164
  %185 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %184)
  %186 = add nuw nsw i64 %183, 168
  %187 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %186)
  %188 = icmp ult i32 %185, %187
  br i1 %188, label %189, label %192

189:                                              ; preds = %181
  %190 = add i32 %185, 8
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %184, i32 noundef %190)
  %191 = zext i32 %185 to i64
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %191, i64 noundef -281474976710656)
  br label %194

192:                                              ; preds = %181
  %193 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef nonnull %0, i32 noundef %182, i64 noundef -281474976710656) #4
  br label %194

194:                                              ; preds = %192, %189
  %.0871 = phi i32 [ %185, %189 ], [ %193, %192 ]
  %195 = add nuw nsw i64 %10, 44
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %195, i32 noundef %.0871)
  %196 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %13)
  %197 = zext i32 %196 to i64
  %198 = add nuw nsw i64 %197, 164
  %199 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %198)
  %200 = add nuw nsw i64 %197, 168
  %201 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %200)
  %202 = icmp ult i32 %199, %201
  br i1 %202, label %203, label %206

203:                                              ; preds = %194
  %204 = add i32 %199, 8
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %198, i32 noundef %204)
  %205 = zext i32 %199 to i64
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %205, i64 noundef -1266636858327041)
  br label %208

206:                                              ; preds = %194
  %207 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef nonnull %0, i32 noundef %196, i64 noundef -1266636858327041) #4
  br label %208

208:                                              ; preds = %206, %203
  %.1872 = phi i32 [ %199, %203 ], [ %207, %206 ]
  %209 = add nuw nsw i64 %10, 40
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %209, i32 noundef %.1872)
  %210 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %13)
  %211 = zext i32 %210 to i64
  %212 = add nuw nsw i64 %211, 164
  %213 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %212)
  %214 = add nuw nsw i64 %211, 168
  %215 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %214)
  %216 = icmp ult i32 %213, %215
  br i1 %216, label %217, label %220

217:                                              ; preds = %208
  %218 = add i32 %213, 8
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %212, i32 noundef %218)
  %219 = zext i32 %213 to i64
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %219, i64 noundef -1688849860263936)
  br label %222

220:                                              ; preds = %208
  %221 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef nonnull %0, i32 noundef %210, i64 noundef -1688849860263936) #4
  br label %222

222:                                              ; preds = %220, %217
  %.0868 = phi i32 [ %213, %217 ], [ %221, %220 ]
  %223 = tail call double @f64_load(ptr noundef nonnull %9, i64 noundef %151)
  %224 = fcmp ogt double %150, %223
  br i1 %224, label %225, label %266

225:                                              ; preds = %222
  %226 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %24)
  %227 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %21)
  %228 = shl i32 %227, 2
  %229 = add nuw nsw i64 %10, 88
  %230 = add i32 %7, -324
  %231 = add i32 %7, -328
  %232 = add i32 %7, -280
  %233 = add nuw nsw i64 %10, 32
  %234 = add nuw nsw i64 %10, 16
  %235 = add i32 %7, -320
  %236 = add i32 %7, -352
  %237 = add nuw nsw i64 %10, 56
  %238 = zext i32 %.0868 to i64
  %239 = add i32 %7, -4
  br label %240

240:                                              ; preds = %250, %225
  %.2873 = phi i32 [ 0, %225 ], [ %261, %250 ]
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %229, i64 noundef -4294967296)
  %241 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSObject0x3A0x3AgetComputedPrimitiveDescriptor0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AMutableHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AMutableHandle0x3Chermes0x3A0x3Avm0x3A0x3ASymbolID0x3E0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AComputedPropertyDescriptor0x260x29(ptr noundef %0, i32 noundef %.0867, i32 noundef %3, i32 noundef %.1870, i32 noundef %230, i32 noundef %231, i32 noundef %232) #4
  %242 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef %229)
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %233, i64 noundef %242)
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %234, i64 noundef %242)
  %243 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %195)
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSObject0x3A0x3AgetComputedPropertyValue_RJS0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AMutableHandle0x3Chermes0x3A0x3Avm0x3A0x3ASymbolID0x3E0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AComputedPropertyDescriptor0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x29(ptr noundef %0, i32 noundef %235, i32 noundef %.0867, i32 noundef %3, i32 noundef %243, i32 noundef %236, i32 noundef %.1870) #4
  %244 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %51)
  %.not893 = icmp eq i32 %244, 0
  br i1 %.not893, label %245, label %247

245:                                              ; preds = %240
  %246 = zext i32 %1 to i64
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %246, i32 noundef 0)
  br label %293

247:                                              ; preds = %240
  %248 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef %237)
  %.mask895 = and i64 %248, -140737488355328
  %.not894 = icmp eq i64 %.mask895, -1970324836974592
  br i1 %.not894, label %250, label %249

249:                                              ; preds = %247
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %238, i64 noundef %248)
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AArrayImpl0x3A0x3A_setOwnIndexedImpl0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20unsigned0x20int0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x29(ptr noundef %0, i32 noundef %239, i32 noundef %177, i32 noundef %3, i32 noundef %.2873, i32 noundef %.0868) #4
  br label %250

250:                                              ; preds = %249, %247
  %251 = tail call double @f64_load(ptr noundef nonnull %9, i64 noundef %151)
  %252 = fadd double %251, 1.000000e+00
  %253 = tail call i64 @i64_reinterpret_f64(double noundef %252)
  %254 = fcmp uno double %252, 0.000000e+00
  %255 = select i1 %254, i64 9221120237041090560, i64 %253
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %151, i64 noundef %255)
  %256 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %19)
  %257 = add i32 %256, %228
  %258 = zext i32 %257 to i64
  %259 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %258)
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %21, i32 noundef %227)
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %24, i32 noundef %226)
  %260 = add i32 %259, 128
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %23, i32 noundef %260)
  %261 = add i32 %.2873, 1
  %262 = tail call double @f64_load(ptr noundef nonnull %9, i64 noundef %151)
  %263 = fcmp olt double %262, %150
  br i1 %263, label %240, label %264

264:                                              ; preds = %250
  %265 = uitofp i32 %261 to double
  br label %266

266:                                              ; preds = %264, %222
  %.0866 = phi double [ %265, %264 ], [ 0.000000e+00, %222 ]
  %267 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %13)
  %268 = zext i32 %267 to i64
  %269 = add nuw nsw i64 %268, 164
  %270 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %269)
  %271 = add nuw nsw i64 %268, 168
  %272 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %271)
  %273 = icmp ult i32 %270, %272
  br i1 %273, label %274, label %277

274:                                              ; preds = %266
  %275 = add i32 %270, 8
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %269, i32 noundef %275)
  %276 = zext i32 %270 to i64
  tail call void @f64_store(ptr noundef nonnull %9, i64 noundef %276, double noundef %.0866)
  br label %280

277:                                              ; preds = %266
  %278 = tail call i64 @i64_reinterpret_f64(double noundef %.0866)
  %279 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A_newChunkAndPHV0x28hermes0x3A0x3Avm0x3A0x3AHermesValue0x29(ptr noundef %0, i32 noundef %267, i64 noundef %278) #4
  br label %280

280:                                              ; preds = %277, %274
  %.2 = phi i32 [ %270, %274 ], [ %279, %277 ]
  %281 = add nuw nsw i64 %10, 12
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %281, i32 noundef 0)
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %51, i32 noundef 0)
  %282 = add i32 %7, -280
  %283 = add i32 %7, -356
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AJSObject0x3A0x3AputNamedWithReceiver_RJS0x28hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AJSObject0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3ARuntime0x260x2C0x20hermes0x3A0x3Avm0x3A0x3ASymbolID0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3AHandle0x3Chermes0x3A0x3Avm0x3A0x3AHermesValue0x3E0x2C0x20hermes0x3A0x3Avm0x3A0x3APropOpFlags0x29(ptr noundef %0, i32 noundef %282, i32 noundef %177, i32 noundef %3, i32 noundef 85, i32 noundef %.2, i32 noundef %177, i32 noundef %283) #4
  %284 = add nuw nsw i64 %10, 88
  %285 = tail call i32 @i32_load8_u(ptr noundef nonnull %9, i64 noundef %284)
  %.not896 = icmp eq i32 %285, 0
  br i1 %.not896, label %286, label %288

286:                                              ; preds = %280
  %287 = zext i32 %1 to i64
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %287, i32 noundef 0)
  br label %293

288:                                              ; preds = %280
  %289 = zext i32 %177 to i64
  %290 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef %289)
  %291 = zext i32 %1 to i64
  %292 = add nuw nsw i64 %291, 8
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %292, i64 noundef %290)
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %291, i32 noundef 1)
  br label %293

293:                                              ; preds = %288, %286, %245, %179, %157, %131, %91, %77, %56, %31
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCScope0x3A0x3A0x7EGCScope0x280x29(ptr noundef %0, i32 noundef %25) #4
  store i32 %7, ptr %6, align 8, !tbaa !5
  ret void
}

attributes #0 = { 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 #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 = { 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 #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,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,LCSSAPass,LICMPass,LoopUnrollPass,LowerExpectIntrinsicPass,ReassociatePass,SROAPass,SimplifyCFGPass,TailCallElimPass