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

; 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

declare i32 @w2c_hermes_0x5F_memset(ptr noundef, i32 noundef, i32 noundef, i32 noundef) #1

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

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

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

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

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

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

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

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

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

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

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

declare i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef, i32 noundef) #1

declare void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef, i32 noundef) #1

declare void @w2c_hermes_abort(ptr noundef) #1

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

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

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i32 @llvm.cttz.i32(i32, i1 immarg) #6

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

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

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

declare i32 @w2c_hermes_0x5F_memcpy(ptr noundef, i32 noundef, i32 noundef, i32 noundef) #1

declare i32 @w2c_hermes_strlen(ptr noundef, i32 noundef) #1

declare void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Abasic_string0x3Cchar0x2C0x20std0x3A0x3A_0x5F20x3A0x3Achar_traits0x3Cchar0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar0x3E0x3E0x3A0x3A_0x5Finit_copy_ctor_external0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef) #1

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

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

declare i64 @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Achrono0x3A0x3Asteady_clock0x3A0x3Anow0x280x29(ptr noundef) #1

declare i64 @w2c_hermes_hermes0x3A0x3Aoscompat0x3A0x3Athread_cpu_time0x280x29(ptr noundef) #1

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

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

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

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

; Function Attrs: nounwind uwtable
define dso_local void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AyoungGenCollection0x28std0x3A0x3A_0x5F20x3A0x3Abasic_string0x3Cchar0x2C0x20std0x3A0x3A_0x5F20x3A0x3Achar_traits0x3Cchar0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar0x3E0x3E0x2C0x20bool0x29(ptr noundef %0, i32 noundef %1, i32 noundef %2, i32 noundef %3) #5 {
  %5 = alloca ptr, align 8
  %6 = alloca i32, align 4
  %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 i64, align 8
  %18 = alloca i64, align 8
  %19 = alloca i64, align 8
  %20 = alloca i64, align 8
  %21 = alloca i64, align 8
  %22 = alloca i64, align 8
  %23 = alloca i64, align 8
  %24 = alloca i64, align 8
  %25 = alloca double, align 8
  %26 = alloca i32, align 4
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca i32, align 4
  %31 = alloca i64, align 8
  %32 = alloca i64, align 8
  %33 = alloca i64, align 8
  %34 = alloca i64, align 8
  %35 = alloca i64, align 8
  %36 = alloca double, align 8
  %37 = alloca double, align 8
  %38 = alloca double, align 8
  %39 = alloca double, align 8
  %40 = alloca double, align 8
  store ptr %0, ptr %5, align 8, !tbaa !5
  store i32 %1, ptr %6, align 4, !tbaa !9
  store i32 %2, ptr %7, align 4, !tbaa !9
  store i32 %3, ptr %8, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #7
  store i32 0, ptr %9, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %10) #7
  store i32 0, ptr %10, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #7
  store i32 0, ptr %11, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #7
  store i32 0, ptr %12, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #7
  store i32 0, ptr %13, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #7
  store i32 0, ptr %14, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #7
  store i32 0, ptr %15, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #7
  store i32 0, ptr %16, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %17) #7
  store i64 0, ptr %17, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %18) #7
  store i64 0, ptr %18, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #7
  store i64 0, ptr %19, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %20) #7
  store i64 0, ptr %20, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #7
  store i64 0, ptr %21, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #7
  store i64 0, ptr %22, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %23) #7
  store i64 0, ptr %23, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #7
  store i64 0, ptr %24, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #7
  store double 0.000000e+00, ptr %25, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %32) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %33) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %34) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %35) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %38) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %39) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #7
  %41 = load ptr, ptr %5, align 8, !tbaa !5
  %42 = getelementptr inbounds %struct.w2c_hermes, ptr %41, i32 0, i32 3
  %43 = load i32, ptr %42, align 8, !tbaa !15
  store i32 %43, ptr %26, align 4, !tbaa !9
  store i32 224, ptr %27, align 4, !tbaa !9
  %44 = load i32, ptr %27, align 4, !tbaa !9
  %45 = load i32, ptr %26, align 4, !tbaa !9
  %46 = sub i32 %45, %44
  store i32 %46, ptr %26, align 4, !tbaa !9
  %47 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %47, ptr %10, align 4, !tbaa !9
  %48 = load i32, ptr %26, align 4, !tbaa !9
  %49 = load ptr, ptr %5, align 8, !tbaa !5
  %50 = getelementptr inbounds %struct.w2c_hermes, ptr %49, i32 0, i32 3
  store i32 %48, ptr %50, align 8, !tbaa !15
  store i32 128, ptr %26, align 4, !tbaa !9
  %51 = load ptr, ptr %5, align 8, !tbaa !5
  %52 = load i32, ptr %26, align 4, !tbaa !9
  %53 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %51, i32 noundef %52)
  store i32 %53, ptr %26, align 4, !tbaa !9
  %54 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %54, ptr %9, align 4, !tbaa !9
  %55 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %55, ptr %26, align 4, !tbaa !9
  %56 = load ptr, ptr %5, align 8, !tbaa !5
  %57 = getelementptr inbounds %struct.w2c_hermes, ptr %56, i32 0, i32 6
  %58 = load i32, ptr %26, align 4, !tbaa !9
  %59 = zext i32 %58 to i64
  %60 = add i64 %59, 11
  %61 = call i32 @i32_load8_s(ptr noundef %57, i64 noundef %60)
  store i32 %61, ptr %26, align 4, !tbaa !9
  store i32 0, ptr %27, align 4, !tbaa !9
  %62 = load i32, ptr %26, align 4, !tbaa !9
  %63 = load i32, ptr %27, align 4, !tbaa !9
  %64 = icmp sge i32 %62, %63
  %65 = zext i1 %64 to i32
  store i32 %65, ptr %26, align 4, !tbaa !9
  %66 = load i32, ptr %26, align 4, !tbaa !9
  %67 = icmp ne i32 %66, 0
  br i1 %67, label %68, label %95

68:                                               ; preds = %4
  %69 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %69, ptr %26, align 4, !tbaa !9
  %70 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %70, ptr %27, align 4, !tbaa !9
  %71 = load ptr, ptr %5, align 8, !tbaa !5
  %72 = getelementptr inbounds %struct.w2c_hermes, ptr %71, i32 0, i32 6
  %73 = load i32, ptr %27, align 4, !tbaa !9
  %74 = zext i32 %73 to i64
  %75 = add i64 %74, 8
  %76 = call i32 @i32_load(ptr noundef %72, i64 noundef %75)
  store i32 %76, ptr %27, align 4, !tbaa !9
  %77 = load ptr, ptr %5, align 8, !tbaa !5
  %78 = getelementptr inbounds %struct.w2c_hermes, ptr %77, i32 0, i32 6
  %79 = load i32, ptr %26, align 4, !tbaa !9
  %80 = zext i32 %79 to i64
  %81 = add i64 %80, 8
  %82 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store(ptr noundef %78, i64 noundef %81, i32 noundef %82)
  %83 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %83, ptr %26, align 4, !tbaa !9
  %84 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %84, ptr %27, align 4, !tbaa !9
  %85 = load ptr, ptr %5, align 8, !tbaa !5
  %86 = getelementptr inbounds %struct.w2c_hermes, ptr %85, i32 0, i32 6
  %87 = load i32, ptr %27, align 4, !tbaa !9
  %88 = zext i32 %87 to i64
  %89 = call i64 @i64_load(ptr noundef %86, i64 noundef %88)
  store i64 %89, ptr %32, align 8, !tbaa !11
  %90 = load ptr, ptr %5, align 8, !tbaa !5
  %91 = getelementptr inbounds %struct.w2c_hermes, ptr %90, i32 0, i32 6
  %92 = load i32, ptr %26, align 4, !tbaa !9
  %93 = zext i32 %92 to i64
  %94 = load i64, ptr %32, align 8, !tbaa !11
  call void @i64_store(ptr noundef %91, i64 noundef %93, i64 noundef %94)
  br label %114

95:                                               ; preds = %4
  %96 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %96, ptr %26, align 4, !tbaa !9
  %97 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %97, ptr %27, align 4, !tbaa !9
  %98 = load ptr, ptr %5, align 8, !tbaa !5
  %99 = getelementptr inbounds %struct.w2c_hermes, ptr %98, i32 0, i32 6
  %100 = load i32, ptr %27, align 4, !tbaa !9
  %101 = zext i32 %100 to i64
  %102 = call i32 @i32_load(ptr noundef %99, i64 noundef %101)
  store i32 %102, ptr %27, align 4, !tbaa !9
  %103 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %103, ptr %28, align 4, !tbaa !9
  %104 = load ptr, ptr %5, align 8, !tbaa !5
  %105 = getelementptr inbounds %struct.w2c_hermes, ptr %104, i32 0, i32 6
  %106 = load i32, ptr %28, align 4, !tbaa !9
  %107 = zext i32 %106 to i64
  %108 = add i64 %107, 4
  %109 = call i32 @i32_load(ptr noundef %105, i64 noundef %108)
  store i32 %109, ptr %28, align 4, !tbaa !9
  %110 = load ptr, ptr %5, align 8, !tbaa !5
  %111 = load i32, ptr %26, align 4, !tbaa !9
  %112 = load i32, ptr %27, align 4, !tbaa !9
  %113 = load i32, ptr %28, align 4, !tbaa !9
  call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Abasic_string0x3Cchar0x2C0x20std0x3A0x3A_0x5F20x3A0x3Achar_traits0x3Cchar0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar0x3E0x3E0x3A0x3A_0x5Finit_copy_ctor_external0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef %110, i32 noundef %111, i32 noundef %112, i32 noundef %113)
  br label %114

114:                                              ; preds = %95, %68
  %115 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %115, ptr %26, align 4, !tbaa !9
  store i32 86650, ptr %27, align 4, !tbaa !9
  %116 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %116, ptr %11, align 4, !tbaa !9
  %117 = load ptr, ptr %5, align 8, !tbaa !5
  %118 = getelementptr inbounds %struct.w2c_hermes, ptr %117, i32 0, i32 6
  %119 = load i32, ptr %27, align 4, !tbaa !9
  %120 = zext i32 %119 to i64
  %121 = add i64 %120, 4
  %122 = call i32 @i32_load8_u(ptr noundef %118, i64 noundef %121)
  store i32 %122, ptr %27, align 4, !tbaa !9
  %123 = load ptr, ptr %5, align 8, !tbaa !5
  %124 = getelementptr inbounds %struct.w2c_hermes, ptr %123, i32 0, i32 6
  %125 = load i32, ptr %26, align 4, !tbaa !9
  %126 = zext i32 %125 to i64
  %127 = add i64 %126, 208
  %128 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %124, i64 noundef %127, i32 noundef %128)
  %129 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %129, ptr %26, align 4, !tbaa !9
  store i32 5, ptr %27, align 4, !tbaa !9
  %130 = load ptr, ptr %5, align 8, !tbaa !5
  %131 = getelementptr inbounds %struct.w2c_hermes, ptr %130, i32 0, i32 6
  %132 = load i32, ptr %26, align 4, !tbaa !9
  %133 = zext i32 %132 to i64
  %134 = add i64 %133, 215
  %135 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %131, i64 noundef %134, i32 noundef %135)
  %136 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %136, ptr %26, align 4, !tbaa !9
  store i32 0, ptr %27, align 4, !tbaa !9
  %137 = load ptr, ptr %5, align 8, !tbaa !5
  %138 = getelementptr inbounds %struct.w2c_hermes, ptr %137, i32 0, i32 6
  %139 = load i32, ptr %26, align 4, !tbaa !9
  %140 = zext i32 %139 to i64
  %141 = add i64 %140, 209
  %142 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %138, i64 noundef %141, i32 noundef %142)
  %143 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %143, ptr %26, align 4, !tbaa !9
  %144 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %144, ptr %27, align 4, !tbaa !9
  %145 = load ptr, ptr %5, align 8, !tbaa !5
  %146 = getelementptr inbounds %struct.w2c_hermes, ptr %145, i32 0, i32 6
  %147 = load i32, ptr %27, 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 %27, align 4, !tbaa !9
  %150 = load ptr, ptr %5, align 8, !tbaa !5
  %151 = getelementptr inbounds %struct.w2c_hermes, ptr %150, i32 0, i32 6
  %152 = load i32, ptr %26, align 4, !tbaa !9
  %153 = zext i32 %152 to i64
  %154 = add i64 %153, 204
  %155 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store(ptr noundef %151, i64 noundef %154, i32 noundef %155)
  %156 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %156, ptr %26, align 4, !tbaa !9
  %157 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %157, ptr %27, align 4, !tbaa !9
  %158 = load ptr, ptr %5, align 8, !tbaa !5
  %159 = getelementptr inbounds %struct.w2c_hermes, ptr %158, i32 0, i32 6
  %160 = load i32, ptr %26, align 4, !tbaa !9
  %161 = zext i32 %160 to i64
  %162 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store(ptr noundef %159, i64 noundef %161, i32 noundef %162)
  %163 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %163, ptr %26, align 4, !tbaa !9
  %164 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %164, ptr %27, align 4, !tbaa !9
  %165 = load ptr, ptr %5, align 8, !tbaa !5
  %166 = getelementptr inbounds %struct.w2c_hermes, ptr %165, i32 0, i32 6
  %167 = load i32, ptr %27, align 4, !tbaa !9
  %168 = zext i32 %167 to i64
  %169 = call i64 @i64_load(ptr noundef %166, i64 noundef %168)
  store i64 %169, ptr %32, align 8, !tbaa !11
  %170 = load ptr, ptr %5, align 8, !tbaa !5
  %171 = getelementptr inbounds %struct.w2c_hermes, ptr %170, i32 0, i32 6
  %172 = load i32, ptr %26, align 4, !tbaa !9
  %173 = zext i32 %172 to i64
  %174 = add i64 %173, 4
  %175 = load i64, ptr %32, align 8, !tbaa !11
  call void @i64_store(ptr noundef %171, i64 noundef %174, i64 noundef %175)
  %176 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %176, ptr %26, align 4, !tbaa !9
  %177 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %177, ptr %27, align 4, !tbaa !9
  %178 = load ptr, ptr %5, align 8, !tbaa !5
  %179 = getelementptr inbounds %struct.w2c_hermes, ptr %178, i32 0, i32 6
  %180 = load i32, ptr %27, align 4, !tbaa !9
  %181 = zext i32 %180 to i64
  %182 = add i64 %181, 8
  %183 = call i32 @i32_load(ptr noundef %179, i64 noundef %182)
  store i32 %183, ptr %27, align 4, !tbaa !9
  %184 = load ptr, ptr %5, align 8, !tbaa !5
  %185 = getelementptr inbounds %struct.w2c_hermes, ptr %184, i32 0, i32 6
  %186 = load i32, ptr %26, align 4, !tbaa !9
  %187 = zext i32 %186 to i64
  %188 = add i64 %187, 12
  %189 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store(ptr noundef %185, i64 noundef %188, i32 noundef %189)
  %190 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %190, ptr %26, align 4, !tbaa !9
  %191 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %191, ptr %27, align 4, !tbaa !9
  %192 = load ptr, ptr %5, align 8, !tbaa !5
  %193 = getelementptr inbounds %struct.w2c_hermes, ptr %192, i32 0, i32 6
  %194 = load i32, ptr %27, align 4, !tbaa !9
  %195 = zext i32 %194 to i64
  %196 = add i64 %195, 212
  %197 = call i32 @i32_load(ptr noundef %193, i64 noundef %196)
  store i32 %197, ptr %27, align 4, !tbaa !9
  %198 = load ptr, ptr %5, align 8, !tbaa !5
  %199 = getelementptr inbounds %struct.w2c_hermes, ptr %198, i32 0, i32 6
  %200 = load i32, ptr %26, align 4, !tbaa !9
  %201 = zext i32 %200 to i64
  %202 = add i64 %201, 24
  %203 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store(ptr noundef %199, i64 noundef %202, i32 noundef %203)
  %204 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %204, ptr %26, align 4, !tbaa !9
  %205 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %205, ptr %27, align 4, !tbaa !9
  %206 = load ptr, ptr %5, align 8, !tbaa !5
  %207 = getelementptr inbounds %struct.w2c_hermes, ptr %206, i32 0, i32 6
  %208 = load i32, ptr %27, align 4, !tbaa !9
  %209 = zext i32 %208 to i64
  %210 = add i64 %209, 204
  %211 = call i64 @i64_load(ptr noundef %207, i64 noundef %210)
  store i64 %211, ptr %32, align 8, !tbaa !11
  %212 = load ptr, ptr %5, align 8, !tbaa !5
  %213 = getelementptr inbounds %struct.w2c_hermes, ptr %212, i32 0, i32 6
  %214 = load i32, ptr %26, align 4, !tbaa !9
  %215 = zext i32 %214 to i64
  %216 = add i64 %215, 16
  %217 = load i64, ptr %32, align 8, !tbaa !11
  call void @i64_store(ptr noundef %213, i64 noundef %216, i64 noundef %217)
  %218 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %218, ptr %26, align 4, !tbaa !9
  store i32 28, ptr %27, align 4, !tbaa !9
  %219 = load i32, ptr %27, align 4, !tbaa !9
  %220 = load i32, ptr %26, align 4, !tbaa !9
  %221 = add i32 %220, %219
  store i32 %221, ptr %26, align 4, !tbaa !9
  store i32 0, ptr %27, align 4, !tbaa !9
  store i32 93, ptr %28, align 4, !tbaa !9
  %222 = load ptr, ptr %5, align 8, !tbaa !5
  %223 = load i32, ptr %26, align 4, !tbaa !9
  %224 = load i32, ptr %27, align 4, !tbaa !9
  %225 = load i32, ptr %28, align 4, !tbaa !9
  %226 = call i32 @w2c_hermes_0x5F_memset(ptr noundef %222, i32 noundef %223, i32 noundef %224, i32 noundef %225)
  store i32 %226, ptr %26, align 4, !tbaa !9
  %227 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %227, ptr %26, align 4, !tbaa !9
  %228 = load ptr, ptr %5, align 8, !tbaa !5
  %229 = getelementptr inbounds %struct.w2c_hermes, ptr %228, i32 0, i32 6
  %230 = load i32, ptr %26, align 4, !tbaa !9
  %231 = zext i32 %230 to i64
  %232 = add i64 %231, 4096
  %233 = call i32 @i32_load(ptr noundef %229, i64 noundef %232)
  store i32 %233, ptr %26, align 4, !tbaa !9
  %234 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %234, ptr %11, align 4, !tbaa !9
  %235 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %235, ptr %26, align 4, !tbaa !9
  %236 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %236, ptr %27, align 4, !tbaa !9
  %237 = load ptr, ptr %5, align 8, !tbaa !5
  %238 = getelementptr inbounds %struct.w2c_hermes, ptr %237, i32 0, i32 6
  %239 = load i32, ptr %26, align 4, !tbaa !9
  %240 = zext i32 %239 to i64
  %241 = add i64 %240, 4096
  %242 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store(ptr noundef %238, i64 noundef %241, i32 noundef %242)
  %243 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %243, ptr %26, align 4, !tbaa !9
  %244 = load i32, ptr %26, align 4, !tbaa !9
  %245 = icmp ne i32 %244, 0
  br i1 %245, label %246, label %261

246:                                              ; preds = %114
  %247 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %247, ptr %26, align 4, !tbaa !9
  %248 = load ptr, ptr %5, align 8, !tbaa !5
  %249 = load i32, ptr %26, align 4, !tbaa !9
  %250 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3ACollectionStats0x3A0x3A0x7ECollectionStats0x280x29(ptr noundef %248, i32 noundef %249)
  store i32 %250, ptr %26, align 4, !tbaa !9
  %251 = load ptr, ptr %5, align 8, !tbaa !5
  %252 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %251, i32 noundef %252)
  %253 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %253, ptr %26, align 4, !tbaa !9
  %254 = load ptr, ptr %5, align 8, !tbaa !5
  %255 = getelementptr inbounds %struct.w2c_hermes, ptr %254, i32 0, i32 6
  %256 = load i32, ptr %26, align 4, !tbaa !9
  %257 = zext i32 %256 to i64
  %258 = add i64 %257, 4096
  %259 = call i32 @i32_load(ptr noundef %255, i64 noundef %258)
  store i32 %259, ptr %26, align 4, !tbaa !9
  %260 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %260, ptr %9, align 4, !tbaa !9
  br label %261

261:                                              ; preds = %246, %114
  %262 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %262, ptr %26, align 4, !tbaa !9
  %263 = load ptr, ptr %5, align 8, !tbaa !5
  %264 = getelementptr inbounds %struct.w2c_hermes, ptr %263, i32 0, i32 6
  %265 = load i32, ptr %26, align 4, !tbaa !9
  %266 = zext i32 %265 to i64
  %267 = add i64 %266, 56
  %268 = call i64 @i64_load(ptr noundef %264, i64 noundef %267)
  store i64 %268, ptr %31, align 8, !tbaa !11
  %269 = load i64, ptr %31, align 8, !tbaa !11
  %270 = icmp ne i64 %269, 0
  %271 = xor i1 %270, true
  %272 = zext i1 %271 to i32
  store i32 %272, ptr %26, align 4, !tbaa !9
  %273 = load i32, ptr %26, align 4, !tbaa !9
  %274 = icmp ne i32 %273, 0
  br i1 %274, label %275, label %2855

275:                                              ; preds = %261
  %276 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %276, ptr %26, align 4, !tbaa !9
  %277 = load ptr, ptr %5, align 8, !tbaa !5
  %278 = call i64 @w2c_hermes_hermes0x3A0x3Aoscompat0x3A0x3Athread_cpu_time0x280x29(ptr noundef %277)
  store i64 %278, ptr %32, align 8, !tbaa !11
  %279 = load ptr, ptr %5, align 8, !tbaa !5
  %280 = getelementptr inbounds %struct.w2c_hermes, ptr %279, i32 0, i32 6
  %281 = load i32, ptr %26, align 4, !tbaa !9
  %282 = zext i32 %281 to i64
  %283 = add i64 %282, 56
  %284 = load i64, ptr %32, align 8, !tbaa !11
  call void @i64_store(ptr noundef %280, i64 noundef %283, i64 noundef %284)
  %285 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %285, ptr %26, align 4, !tbaa !9
  %286 = load ptr, ptr %5, align 8, !tbaa !5
  %287 = getelementptr inbounds %struct.w2c_hermes, ptr %286, i32 0, i32 6
  %288 = load i32, ptr %26, align 4, !tbaa !9
  %289 = zext i32 %288 to i64
  %290 = add i64 %289, 4096
  %291 = call i32 @i32_load(ptr noundef %287, i64 noundef %290)
  store i32 %291, ptr %26, align 4, !tbaa !9
  %292 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %292, ptr %9, align 4, !tbaa !9
  %293 = load ptr, ptr %5, align 8, !tbaa !5
  %294 = getelementptr inbounds %struct.w2c_hermes, ptr %293, i32 0, i32 6
  %295 = load i32, ptr %26, align 4, !tbaa !9
  %296 = zext i32 %295 to i64
  %297 = add i64 %296, 40
  %298 = call i64 @i64_load(ptr noundef %294, i64 noundef %297)
  store i64 %298, ptr %31, align 8, !tbaa !11
  store i64 0, ptr %32, align 8, !tbaa !11
  %299 = load i64, ptr %31, align 8, !tbaa !11
  %300 = load i64, ptr %32, align 8, !tbaa !11
  %301 = icmp ne i64 %299, %300
  %302 = zext i1 %301 to i32
  store i32 %302, ptr %26, align 4, !tbaa !9
  %303 = load i32, ptr %26, align 4, !tbaa !9
  %304 = icmp ne i32 %303, 0
  br i1 %304, label %305, label %306

305:                                              ; preds = %275
  br label %2873

306:                                              ; preds = %275
  %307 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %307, ptr %26, align 4, !tbaa !9
  %308 = load ptr, ptr %5, align 8, !tbaa !5
  %309 = call i64 @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Achrono0x3A0x3Asteady_clock0x3A0x3Anow0x280x29(ptr noundef %308)
  store i64 %309, ptr %32, align 8, !tbaa !11
  %310 = load ptr, ptr %5, align 8, !tbaa !5
  %311 = getelementptr inbounds %struct.w2c_hermes, ptr %310, i32 0, i32 6
  %312 = load i32, ptr %26, align 4, !tbaa !9
  %313 = zext i32 %312 to i64
  %314 = add i64 %313, 40
  %315 = load i64, ptr %32, align 8, !tbaa !11
  call void @i64_store(ptr noundef %311, i64 noundef %314, i64 noundef %315)
  %316 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %316, ptr %26, align 4, !tbaa !9
  %317 = load ptr, ptr %5, align 8, !tbaa !5
  %318 = getelementptr inbounds %struct.w2c_hermes, ptr %317, i32 0, i32 6
  %319 = load i32, ptr %26, align 4, !tbaa !9
  %320 = zext i32 %319 to i64
  %321 = add i64 %320, 117
  %322 = call i32 @i32_load8_u(ptr noundef %318, i64 noundef %321)
  store i32 %322, ptr %26, align 4, !tbaa !9
  %323 = load i32, ptr %26, align 4, !tbaa !9
  %324 = icmp ne i32 %323, 0
  br i1 %324, label %325, label %326

325:                                              ; preds = %306
  br label %2891

326:                                              ; preds = %306
  %327 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %327, ptr %26, align 4, !tbaa !9
  store i32 16, ptr %27, align 4, !tbaa !9
  %328 = load ptr, ptr %5, align 8, !tbaa !5
  %329 = load i32, ptr %27, align 4, !tbaa !9
  %330 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %328, i32 noundef %329)
  store i32 %330, ptr %27, align 4, !tbaa !9
  %331 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %331, ptr %11, align 4, !tbaa !9
  %332 = load ptr, ptr %5, align 8, !tbaa !5
  %333 = getelementptr inbounds %struct.w2c_hermes, ptr %332, i32 0, i32 6
  %334 = load i32, ptr %26, align 4, !tbaa !9
  %335 = zext i32 %334 to i64
  %336 = add i64 %335, 192
  %337 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store(ptr noundef %333, i64 noundef %336, i32 noundef %337)
  %338 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %338, ptr %26, align 4, !tbaa !9
  store i64 -9223371968135299060, ptr %32, align 8, !tbaa !11
  %339 = load ptr, ptr %5, align 8, !tbaa !5
  %340 = getelementptr inbounds %struct.w2c_hermes, ptr %339, i32 0, i32 6
  %341 = load i32, ptr %26, align 4, !tbaa !9
  %342 = zext i32 %341 to i64
  %343 = add i64 %342, 196
  %344 = load i64, ptr %32, align 8, !tbaa !11
  call void @i64_store(ptr noundef %340, i64 noundef %343, i64 noundef %344)
  %345 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %345, ptr %26, align 4, !tbaa !9
  store i32 71162, ptr %27, align 4, !tbaa !9
  %346 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %346, ptr %12, align 4, !tbaa !9
  %347 = load ptr, ptr %5, align 8, !tbaa !5
  %348 = getelementptr inbounds %struct.w2c_hermes, ptr %347, i32 0, i32 6
  %349 = load i32, ptr %27, align 4, !tbaa !9
  %350 = zext i32 %349 to i64
  %351 = call i64 @i64_load(ptr noundef %348, i64 noundef %350)
  store i64 %351, ptr %32, align 8, !tbaa !11
  %352 = load ptr, ptr %5, align 8, !tbaa !5
  %353 = getelementptr inbounds %struct.w2c_hermes, ptr %352, i32 0, i32 6
  %354 = load i32, ptr %26, align 4, !tbaa !9
  %355 = zext i32 %354 to i64
  %356 = load i64, ptr %32, align 8, !tbaa !11
  call void @i64_store(ptr noundef %353, i64 noundef %355, i64 noundef %356)
  store i32 0, ptr %26, align 4, !tbaa !9
  %357 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %357, ptr %9, align 4, !tbaa !9
  %358 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %358, ptr %26, align 4, !tbaa !9
  store i32 0, ptr %27, align 4, !tbaa !9
  %359 = load ptr, ptr %5, align 8, !tbaa !5
  %360 = getelementptr inbounds %struct.w2c_hermes, ptr %359, i32 0, i32 6
  %361 = load i32, ptr %26, align 4, !tbaa !9
  %362 = zext i32 %361 to i64
  %363 = add i64 %362, 12
  %364 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %360, i64 noundef %363, i32 noundef %364)
  %365 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %365, ptr %26, align 4, !tbaa !9
  %366 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %366, ptr %27, align 4, !tbaa !9
  %367 = load ptr, ptr %5, align 8, !tbaa !5
  %368 = getelementptr inbounds %struct.w2c_hermes, ptr %367, i32 0, i32 6
  %369 = load i32, ptr %27, align 4, !tbaa !9
  %370 = zext i32 %369 to i64
  %371 = add i64 %370, 8
  %372 = call i32 @i32_load(ptr noundef %368, i64 noundef %371)
  store i32 %372, ptr %27, align 4, !tbaa !9
  %373 = load ptr, ptr %5, align 8, !tbaa !5
  %374 = getelementptr inbounds %struct.w2c_hermes, ptr %373, i32 0, i32 6
  %375 = load i32, ptr %26, align 4, !tbaa !9
  %376 = zext i32 %375 to i64
  %377 = add i64 %376, 8
  %378 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store(ptr noundef %374, i64 noundef %377, i32 noundef %378)
  %379 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %379, ptr %26, align 4, !tbaa !9
  store i32 204, ptr %27, align 4, !tbaa !9
  %380 = load i32, ptr %27, align 4, !tbaa !9
  %381 = load i32, ptr %26, align 4, !tbaa !9
  %382 = add i32 %381, %380
  store i32 %382, ptr %26, align 4, !tbaa !9
  %383 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %383, ptr %27, align 4, !tbaa !9
  %384 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %384, ptr %28, align 4, !tbaa !9
  store i32 192, ptr %29, align 4, !tbaa !9
  %385 = load i32, ptr %29, align 4, !tbaa !9
  %386 = load i32, ptr %28, align 4, !tbaa !9
  %387 = add i32 %386, %385
  store i32 %387, ptr %28, align 4, !tbaa !9
  %388 = load ptr, ptr %5, align 8, !tbaa !5
  %389 = load i32, ptr %26, align 4, !tbaa !9
  %390 = load i32, ptr %27, align 4, !tbaa !9
  %391 = load i32, ptr %28, align 4, !tbaa !9
  %392 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCBase0x3A0x3AGCCycle0x3A0x3AGCCycle0x28hermes0x3A0x3Avm0x3A0x3AGCBase0x260x2C0x20std0x3A0x3A_0x5F20x3A0x3Abasic_string0x3Cchar0x2C0x20std0x3A0x3A_0x5F20x3A0x3Achar_traits0x3Cchar0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar0x3E0x3E0x29(ptr noundef %388, i32 noundef %389, i32 noundef %390, i32 noundef %391)
  store i32 %392, ptr %26, align 4, !tbaa !9
  %393 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %393, ptr %16, align 4, !tbaa !9
  %394 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %394, ptr %26, align 4, !tbaa !9
  %395 = load ptr, ptr %5, align 8, !tbaa !5
  %396 = getelementptr inbounds %struct.w2c_hermes, ptr %395, i32 0, i32 6
  %397 = load i32, ptr %26, align 4, !tbaa !9
  %398 = zext i32 %397 to i64
  %399 = add i64 %398, 203
  %400 = call i32 @i32_load8_s(ptr noundef %396, i64 noundef %399)
  store i32 %400, ptr %26, align 4, !tbaa !9
  store i32 0, ptr %27, align 4, !tbaa !9
  %401 = load i32, ptr %26, align 4, !tbaa !9
  %402 = load i32, ptr %27, align 4, !tbaa !9
  %403 = icmp slt i32 %401, %402
  %404 = zext i1 %403 to i32
  store i32 %404, ptr %26, align 4, !tbaa !9
  %405 = load i32, ptr %26, align 4, !tbaa !9
  %406 = icmp ne i32 %405, 0
  br i1 %406, label %407, label %417

407:                                              ; preds = %326
  %408 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %408, ptr %26, align 4, !tbaa !9
  %409 = load ptr, ptr %5, align 8, !tbaa !5
  %410 = getelementptr inbounds %struct.w2c_hermes, ptr %409, i32 0, i32 6
  %411 = load i32, ptr %26, align 4, !tbaa !9
  %412 = zext i32 %411 to i64
  %413 = add i64 %412, 192
  %414 = call i32 @i32_load(ptr noundef %410, i64 noundef %413)
  store i32 %414, ptr %26, align 4, !tbaa !9
  %415 = load ptr, ptr %5, align 8, !tbaa !5
  %416 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %415, i32 noundef %416)
  br label %417

417:                                              ; preds = %407, %326
  %418 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %418, ptr %26, align 4, !tbaa !9
  %419 = load ptr, ptr %5, 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, 588
  %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 %14, align 4, !tbaa !9
  %426 = load ptr, ptr %5, align 8, !tbaa !5
  %427 = getelementptr inbounds %struct.w2c_hermes, ptr %426, i32 0, i32 6
  %428 = load i32, ptr %26, align 4, !tbaa !9
  %429 = zext i32 %428 to i64
  %430 = add i64 %429, 16384
  %431 = call i32 @i32_load(ptr noundef %427, i64 noundef %430)
  store i32 %431, ptr %26, align 4, !tbaa !9
  %432 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %432, ptr %11, align 4, !tbaa !9
  store i32 -1, ptr %27, align 4, !tbaa !9
  %433 = load i32, ptr %26, align 4, !tbaa !9
  %434 = load i32, ptr %27, align 4, !tbaa !9
  %435 = icmp ne i32 %433, %434
  %436 = zext i1 %435 to i32
  store i32 %436, ptr %26, align 4, !tbaa !9
  %437 = load i32, ptr %26, align 4, !tbaa !9
  %438 = icmp ne i32 %437, 0
  br i1 %438, label %439, label %440

439:                                              ; preds = %417
  br label %486

440:                                              ; preds = %417
  %441 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %441, ptr %26, align 4, !tbaa !9
  store i32 16384, ptr %27, align 4, !tbaa !9
  %442 = load i32, ptr %27, align 4, !tbaa !9
  %443 = load i32, ptr %26, align 4, !tbaa !9
  %444 = add i32 %443, %442
  store i32 %444, ptr %26, align 4, !tbaa !9
  %445 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %445, ptr %13, align 4, !tbaa !9
  br label %446

446:                                              ; preds = %484, %440
  %447 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %447, ptr %26, align 4, !tbaa !9
  store i32 16381, ptr %27, align 4, !tbaa !9
  %448 = load i32, ptr %26, align 4, !tbaa !9
  %449 = load i32, ptr %27, align 4, !tbaa !9
  %450 = icmp ugt i32 %448, %449
  %451 = zext i1 %450 to i32
  store i32 %451, ptr %26, align 4, !tbaa !9
  %452 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %452, ptr %12, align 4, !tbaa !9
  %453 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %453, ptr %26, align 4, !tbaa !9
  %454 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %454, ptr %27, align 4, !tbaa !9
  store i32 1, ptr %28, align 4, !tbaa !9
  %455 = load i32, ptr %28, align 4, !tbaa !9
  %456 = load i32, ptr %27, align 4, !tbaa !9
  %457 = add i32 %456, %455
  store i32 %457, ptr %27, align 4, !tbaa !9
  %458 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %458, ptr %9, align 4, !tbaa !9
  store i32 2, ptr %28, align 4, !tbaa !9
  %459 = load i32, ptr %28, align 4, !tbaa !9
  %460 = and i32 %459, 31
  %461 = load i32, ptr %27, align 4, !tbaa !9
  %462 = shl i32 %461, %460
  store i32 %462, ptr %27, align 4, !tbaa !9
  %463 = load i32, ptr %27, align 4, !tbaa !9
  %464 = load i32, ptr %26, align 4, !tbaa !9
  %465 = add i32 %464, %463
  store i32 %465, ptr %26, align 4, !tbaa !9
  %466 = load ptr, ptr %5, align 8, !tbaa !5
  %467 = getelementptr inbounds %struct.w2c_hermes, ptr %466, i32 0, i32 6
  %468 = load i32, ptr %26, align 4, !tbaa !9
  %469 = zext i32 %468 to i64
  %470 = call i32 @i32_load(ptr noundef %467, i64 noundef %469)
  store i32 %470, ptr %26, align 4, !tbaa !9
  %471 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %471, ptr %11, align 4, !tbaa !9
  %472 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %472, ptr %26, align 4, !tbaa !9
  %473 = load i32, ptr %26, align 4, !tbaa !9
  %474 = icmp ne i32 %473, 0
  br i1 %474, label %475, label %476

475:                                              ; preds = %446
  br label %486

476:                                              ; preds = %446
  %477 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %477, ptr %26, align 4, !tbaa !9
  store i32 -1, ptr %27, align 4, !tbaa !9
  %478 = load i32, ptr %26, align 4, !tbaa !9
  %479 = load i32, ptr %27, align 4, !tbaa !9
  %480 = icmp eq i32 %478, %479
  %481 = zext i1 %480 to i32
  store i32 %481, ptr %26, align 4, !tbaa !9
  %482 = load i32, ptr %26, align 4, !tbaa !9
  %483 = icmp ne i32 %482, 0
  br i1 %483, label %484, label %485

484:                                              ; preds = %476
  br label %446

485:                                              ; preds = %476
  br label %486

486:                                              ; preds = %485, %475, %439
  %487 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %487, ptr %26, align 4, !tbaa !9
  store i32 -1, ptr %27, align 4, !tbaa !9
  %488 = load i32, ptr %27, align 4, !tbaa !9
  %489 = load i32, ptr %26, align 4, !tbaa !9
  %490 = xor i32 %489, %488
  store i32 %490, ptr %26, align 4, !tbaa !9
  %491 = load i32, ptr %26, align 4, !tbaa !9
  %492 = icmp ne i32 %491, 0
  br i1 %492, label %493, label %496

493:                                              ; preds = %486
  %494 = load i32, ptr %26, align 4, !tbaa !9
  %495 = call i32 @llvm.cttz.i32(i32 %494, i1 true)
  br label %497

496:                                              ; preds = %486
  br label %497

497:                                              ; preds = %496, %493
  %498 = phi i32 [ %495, %493 ], [ 32, %496 ]
  store i32 %498, ptr %26, align 4, !tbaa !9
  %499 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %499, ptr %27, align 4, !tbaa !9
  store i32 5, ptr %28, align 4, !tbaa !9
  %500 = load i32, ptr %28, align 4, !tbaa !9
  %501 = and i32 %500, 31
  %502 = load i32, ptr %27, align 4, !tbaa !9
  %503 = shl i32 %502, %501
  store i32 %503, ptr %27, align 4, !tbaa !9
  %504 = load i32, ptr %27, align 4, !tbaa !9
  %505 = load i32, ptr %26, align 4, !tbaa !9
  %506 = add i32 %505, %504
  store i32 %506, ptr %26, align 4, !tbaa !9
  store i32 524288, ptr %27, align 4, !tbaa !9
  %507 = load i32, ptr %26, align 4, !tbaa !9
  %508 = load i32, ptr %27, align 4, !tbaa !9
  %509 = icmp ne i32 %507, %508
  %510 = zext i1 %509 to i32
  store i32 %510, ptr %26, align 4, !tbaa !9
  %511 = load i32, ptr %26, align 4, !tbaa !9
  %512 = icmp ne i32 %511, 0
  br i1 %512, label %513, label %514

513:                                              ; preds = %497
  br label %2909

514:                                              ; preds = %497
  %515 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %515, ptr %26, align 4, !tbaa !9
  %516 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %516, ptr %27, align 4, !tbaa !9
  %517 = load ptr, ptr %5, align 8, !tbaa !5
  %518 = getelementptr inbounds %struct.w2c_hermes, ptr %517, i32 0, i32 6
  %519 = load i32, ptr %27, align 4, !tbaa !9
  %520 = zext i32 %519 to i64
  %521 = add i64 %520, 596
  %522 = call i32 @i32_load(ptr noundef %518, i64 noundef %521)
  store i32 %522, ptr %27, align 4, !tbaa !9
  %523 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %523, ptr %28, align 4, !tbaa !9
  %524 = load i32, ptr %28, align 4, !tbaa !9
  %525 = load i32, ptr %27, align 4, !tbaa !9
  %526 = sub i32 %525, %524
  store i32 %526, ptr %27, align 4, !tbaa !9
  store i32 86016, ptr %28, align 4, !tbaa !9
  %527 = load i32, ptr %28, align 4, !tbaa !9
  %528 = load i32, ptr %27, align 4, !tbaa !9
  %529 = sub i32 %528, %527
  store i32 %529, ptr %27, align 4, !tbaa !9
  %530 = load i32, ptr %27, align 4, !tbaa !9
  %531 = zext i32 %530 to i64
  store i64 %531, ptr %32, align 8, !tbaa !11
  %532 = load i64, ptr %32, align 8, !tbaa !11
  store i64 %532, ptr %17, align 8, !tbaa !11
  %533 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %533, ptr %28, align 4, !tbaa !9
  %534 = load ptr, ptr %5, align 8, !tbaa !5
  %535 = getelementptr inbounds %struct.w2c_hermes, ptr %534, i32 0, i32 6
  %536 = load i32, ptr %28, align 4, !tbaa !9
  %537 = zext i32 %536 to i64
  %538 = add i64 %537, 8
  %539 = call i64 @i64_load(ptr noundef %535, i64 noundef %538)
  store i64 %539, ptr %33, align 8, !tbaa !11
  %540 = load i64, ptr %33, align 8, !tbaa !11
  %541 = load i64, ptr %32, align 8, !tbaa !11
  %542 = add i64 %541, %540
  store i64 %542, ptr %32, align 8, !tbaa !11
  %543 = load ptr, ptr %5, align 8, !tbaa !5
  %544 = getelementptr inbounds %struct.w2c_hermes, ptr %543, i32 0, i32 6
  %545 = load i32, ptr %26, align 4, !tbaa !9
  %546 = zext i32 %545 to i64
  %547 = add i64 %546, 8
  %548 = load i64, ptr %32, align 8, !tbaa !11
  call void @i64_store(ptr noundef %544, i64 noundef %547, i64 noundef %548)
  %549 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %549, ptr %26, align 4, !tbaa !9
  store i32 4456, ptr %27, align 4, !tbaa !9
  %550 = load i32, ptr %27, align 4, !tbaa !9
  %551 = load i32, ptr %26, align 4, !tbaa !9
  %552 = add i32 %551, %550
  store i32 %552, ptr %26, align 4, !tbaa !9
  %553 = load ptr, ptr %5, align 8, !tbaa !5
  %554 = getelementptr inbounds %struct.w2c_hermes, ptr %553, i32 0, i32 6
  %555 = load i32, ptr %26, align 4, !tbaa !9
  %556 = zext i32 %555 to i64
  %557 = call i32 @i32_load(ptr noundef %554, i64 noundef %556)
  store i32 %557, ptr %26, align 4, !tbaa !9
  %558 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %558, ptr %14, align 4, !tbaa !9
  %559 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %559, ptr %26, align 4, !tbaa !9
  %560 = load ptr, ptr %5, align 8, !tbaa !5
  %561 = getelementptr inbounds %struct.w2c_hermes, ptr %560, i32 0, i32 6
  %562 = load i32, ptr %26, align 4, !tbaa !9
  %563 = zext i32 %562 to i64
  %564 = add i64 %563, 4440
  %565 = call i64 @i64_load32_u(ptr noundef %561, i64 noundef %564)
  store i64 %565, ptr %31, align 8, !tbaa !11
  %566 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %566, ptr %18, align 8, !tbaa !11
  %567 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %567, ptr %26, align 4, !tbaa !9
  %568 = load ptr, ptr %5, align 8, !tbaa !5
  %569 = load i32, ptr %26, align 4, !tbaa !9
  %570 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3ApromoteYoungGenToOldGen0x280x29(ptr noundef %568, i32 noundef %569)
  store i32 %570, ptr %26, align 4, !tbaa !9
  %571 = load i32, ptr %26, align 4, !tbaa !9
  %572 = icmp ne i32 %571, 0
  br i1 %572, label %573, label %752

573:                                              ; preds = %514
  %574 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %574, ptr %26, align 4, !tbaa !9
  store i32 4464, ptr %27, align 4, !tbaa !9
  %575 = load i32, ptr %27, align 4, !tbaa !9
  %576 = load i32, ptr %26, align 4, !tbaa !9
  %577 = add i32 %576, %575
  store i32 %577, ptr %26, align 4, !tbaa !9
  %578 = load ptr, ptr %5, align 8, !tbaa !5
  %579 = getelementptr inbounds %struct.w2c_hermes, ptr %578, i32 0, i32 6
  %580 = load i32, ptr %26, align 4, !tbaa !9
  %581 = zext i32 %580 to i64
  %582 = call i32 @i32_load(ptr noundef %579, i64 noundef %581)
  store i32 %582, ptr %26, align 4, !tbaa !9
  %583 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %583, ptr %11, align 4, !tbaa !9
  %584 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %584, ptr %26, align 4, !tbaa !9
  %585 = load ptr, ptr %5, align 8, !tbaa !5
  %586 = getelementptr inbounds %struct.w2c_hermes, ptr %585, i32 0, i32 6
  %587 = load i32, ptr %26, align 4, !tbaa !9
  %588 = zext i32 %587 to i64
  %589 = add i64 %588, 656
  %590 = call i32 @i32_load(ptr noundef %586, i64 noundef %589)
  store i32 %590, ptr %26, align 4, !tbaa !9
  %591 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %591, ptr %12, align 4, !tbaa !9
  %592 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %592, ptr %26, align 4, !tbaa !9
  %593 = load ptr, ptr %5, align 8, !tbaa !5
  %594 = getelementptr inbounds %struct.w2c_hermes, ptr %593, i32 0, i32 6
  %595 = load i32, ptr %26, align 4, !tbaa !9
  %596 = zext i32 %595 to i64
  %597 = add i64 %596, 588
  %598 = call i32 @i32_load(ptr noundef %594, i64 noundef %597)
  store i32 %598, ptr %26, align 4, !tbaa !9
  %599 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %599, ptr %13, align 4, !tbaa !9
  %600 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %600, ptr %26, align 4, !tbaa !9
  %601 = load ptr, ptr %5, align 8, !tbaa !5
  %602 = getelementptr inbounds %struct.w2c_hermes, ptr %601, i32 0, i32 6
  %603 = load i32, ptr %26, align 4, !tbaa !9
  %604 = zext i32 %603 to i64
  %605 = add i64 %604, 4096
  %606 = call i32 @i32_load(ptr noundef %602, i64 noundef %605)
  store i32 %606, ptr %26, align 4, !tbaa !9
  %607 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %607, ptr %9, align 4, !tbaa !9
  %608 = load i64, ptr %18, align 8, !tbaa !11
  store i64 %608, ptr %32, align 8, !tbaa !11
  %609 = load ptr, ptr %5, align 8, !tbaa !5
  %610 = getelementptr inbounds %struct.w2c_hermes, ptr %609, i32 0, i32 6
  %611 = load i32, ptr %26, align 4, !tbaa !9
  %612 = zext i32 %611 to i64
  %613 = add i64 %612, 80
  %614 = load i64, ptr %32, align 8, !tbaa !11
  call void @i64_store(ptr noundef %610, i64 noundef %613, i64 noundef %614)
  %615 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %615, ptr %26, align 4, !tbaa !9
  %616 = load i64, ptr %17, align 8, !tbaa !11
  store i64 %616, ptr %32, align 8, !tbaa !11
  %617 = load ptr, ptr %5, align 8, !tbaa !5
  %618 = getelementptr inbounds %struct.w2c_hermes, ptr %617, i32 0, i32 6
  %619 = load i32, ptr %26, align 4, !tbaa !9
  %620 = zext i32 %619 to i64
  %621 = add i64 %620, 72
  %622 = load i64, ptr %32, align 8, !tbaa !11
  call void @i64_store(ptr noundef %618, i64 noundef %621, i64 noundef %622)
  %623 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %623, ptr %26, align 4, !tbaa !9
  %624 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %624, ptr %27, align 4, !tbaa !9
  %625 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %625, ptr %28, align 4, !tbaa !9
  store i32 0, ptr %29, align 4, !tbaa !9
  %626 = load i32, ptr %28, align 4, !tbaa !9
  %627 = load i32, ptr %29, align 4, !tbaa !9
  %628 = icmp ne i32 %626, %627
  %629 = zext i1 %628 to i32
  store i32 %629, ptr %28, align 4, !tbaa !9
  %630 = load i32, ptr %28, align 4, !tbaa !9
  %631 = load i32, ptr %27, align 4, !tbaa !9
  %632 = add i32 %631, %630
  store i32 %632, ptr %27, align 4, !tbaa !9
  %633 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %633, ptr %28, align 4, !tbaa !9
  store i32 0, ptr %29, align 4, !tbaa !9
  %634 = load i32, ptr %28, align 4, !tbaa !9
  %635 = load i32, ptr %29, align 4, !tbaa !9
  %636 = icmp ne i32 %634, %635
  %637 = zext i1 %636 to i32
  store i32 %637, ptr %28, align 4, !tbaa !9
  %638 = load i32, ptr %28, align 4, !tbaa !9
  %639 = load i32, ptr %27, align 4, !tbaa !9
  %640 = add i32 %639, %638
  store i32 %640, ptr %27, align 4, !tbaa !9
  store i32 22, ptr %28, align 4, !tbaa !9
  %641 = load i32, ptr %28, align 4, !tbaa !9
  %642 = and i32 %641, 31
  %643 = load i32, ptr %27, align 4, !tbaa !9
  %644 = shl i32 %643, %642
  store i32 %644, ptr %27, align 4, !tbaa !9
  %645 = load i32, ptr %27, align 4, !tbaa !9
  %646 = zext i32 %645 to i64
  store i64 %646, ptr %32, align 8, !tbaa !11
  %647 = load ptr, ptr %5, align 8, !tbaa !5
  %648 = getelementptr inbounds %struct.w2c_hermes, ptr %647, i32 0, i32 6
  %649 = load i32, ptr %26, align 4, !tbaa !9
  %650 = zext i32 %649 to i64
  %651 = add i64 %650, 88
  %652 = load i64, ptr %32, align 8, !tbaa !11
  call void @i64_store(ptr noundef %648, i64 noundef %651, i64 noundef %652)
  %653 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %653, ptr %26, align 4, !tbaa !9
  store i32 64983, ptr %27, align 4, !tbaa !9
  %654 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %654, ptr %11, align 4, !tbaa !9
  %655 = load ptr, ptr %5, align 8, !tbaa !5
  %656 = getelementptr inbounds %struct.w2c_hermes, ptr %655, i32 0, i32 6
  %657 = load i32, ptr %27, align 4, !tbaa !9
  %658 = zext i32 %657 to i64
  %659 = add i64 %658, 8
  %660 = call i32 @i32_load8_u(ptr noundef %656, i64 noundef %659)
  store i32 %660, ptr %27, align 4, !tbaa !9
  %661 = load ptr, ptr %5, align 8, !tbaa !5
  %662 = getelementptr inbounds %struct.w2c_hermes, ptr %661, i32 0, i32 6
  %663 = load i32, ptr %26, align 4, !tbaa !9
  %664 = zext i32 %663 to i64
  %665 = add i64 %664, 184
  %666 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %662, i64 noundef %665, i32 noundef %666)
  %667 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %667, ptr %26, align 4, !tbaa !9
  store i32 9, ptr %27, align 4, !tbaa !9
  %668 = load ptr, ptr %5, align 8, !tbaa !5
  %669 = getelementptr inbounds %struct.w2c_hermes, ptr %668, i32 0, i32 6
  %670 = load i32, ptr %26, align 4, !tbaa !9
  %671 = zext i32 %670 to i64
  %672 = add i64 %671, 187
  %673 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %669, i64 noundef %672, i32 noundef %673)
  %674 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %674, ptr %26, align 4, !tbaa !9
  %675 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %675, ptr %27, align 4, !tbaa !9
  %676 = load ptr, ptr %5, align 8, !tbaa !5
  %677 = getelementptr inbounds %struct.w2c_hermes, ptr %676, i32 0, i32 6
  %678 = load i32, ptr %27, align 4, !tbaa !9
  %679 = zext i32 %678 to i64
  %680 = call i64 @i64_load(ptr noundef %677, i64 noundef %679)
  store i64 %680, ptr %32, align 8, !tbaa !11
  %681 = load ptr, ptr %5, align 8, !tbaa !5
  %682 = getelementptr inbounds %struct.w2c_hermes, ptr %681, i32 0, i32 6
  %683 = load i32, ptr %26, align 4, !tbaa !9
  %684 = zext i32 %683 to i64
  %685 = add i64 %684, 176
  %686 = load i64, ptr %32, align 8, !tbaa !11
  call void @i64_store(ptr noundef %682, i64 noundef %685, i64 noundef %686)
  %687 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %687, ptr %26, align 4, !tbaa !9
  store i32 0, ptr %27, align 4, !tbaa !9
  %688 = load ptr, ptr %5, align 8, !tbaa !5
  %689 = getelementptr inbounds %struct.w2c_hermes, ptr %688, i32 0, i32 6
  %690 = load i32, ptr %26, align 4, !tbaa !9
  %691 = zext i32 %690 to i64
  %692 = add i64 %691, 185
  %693 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %689, i64 noundef %692, i32 noundef %693)
  %694 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %694, ptr %26, align 4, !tbaa !9
  %695 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %695, ptr %27, align 4, !tbaa !9
  store i32 176, ptr %28, align 4, !tbaa !9
  %696 = load i32, ptr %28, align 4, !tbaa !9
  %697 = load i32, ptr %27, align 4, !tbaa !9
  %698 = add i32 %697, %696
  store i32 %698, ptr %27, align 4, !tbaa !9
  %699 = load ptr, ptr %5, align 8, !tbaa !5
  %700 = load i32, ptr %26, align 4, !tbaa !9
  %701 = load i32, ptr %27, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3ACollectionStats0x3A0x3AaddCollectionType0x28std0x3A0x3A_0x5F20x3A0x3Abasic_string0x3Cchar0x2C0x20std0x3A0x3A_0x5F20x3A0x3Achar_traits0x3Cchar0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar0x3E0x3E0x29(ptr noundef %699, i32 noundef %700, i32 noundef %701)
  %702 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %702, ptr %26, align 4, !tbaa !9
  %703 = load ptr, ptr %5, align 8, !tbaa !5
  %704 = getelementptr inbounds %struct.w2c_hermes, ptr %703, i32 0, i32 6
  %705 = load i32, ptr %26, align 4, !tbaa !9
  %706 = zext i32 %705 to i64
  %707 = add i64 %706, 187
  %708 = call i32 @i32_load8_s(ptr noundef %704, i64 noundef %707)
  store i32 %708, ptr %26, align 4, !tbaa !9
  store i32 0, ptr %27, align 4, !tbaa !9
  %709 = load i32, ptr %26, align 4, !tbaa !9
  %710 = load i32, ptr %27, align 4, !tbaa !9
  %711 = icmp slt i32 %709, %710
  %712 = zext i1 %711 to i32
  store i32 %712, ptr %26, align 4, !tbaa !9
  %713 = load i32, ptr %26, align 4, !tbaa !9
  %714 = icmp ne i32 %713, 0
  br i1 %714, label %715, label %725

715:                                              ; preds = %573
  %716 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %716, ptr %26, align 4, !tbaa !9
  %717 = load ptr, ptr %5, align 8, !tbaa !5
  %718 = getelementptr inbounds %struct.w2c_hermes, ptr %717, i32 0, i32 6
  %719 = load i32, ptr %26, align 4, !tbaa !9
  %720 = zext i32 %719 to i64
  %721 = add i64 %720, 176
  %722 = call i32 @i32_load(ptr noundef %718, i64 noundef %721)
  store i32 %722, ptr %26, align 4, !tbaa !9
  %723 = load ptr, ptr %5, align 8, !tbaa !5
  %724 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %723, i32 noundef %724)
  br label %725

725:                                              ; preds = %715, %573
  %726 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %726, ptr %26, align 4, !tbaa !9
  store i32 1, ptr %27, align 4, !tbaa !9
  %727 = load i32, ptr %26, align 4, !tbaa !9
  %728 = load i32, ptr %27, align 4, !tbaa !9
  %729 = icmp eq i32 %727, %728
  %730 = zext i1 %729 to i32
  store i32 %730, ptr %26, align 4, !tbaa !9
  %731 = load i32, ptr %26, align 4, !tbaa !9
  %732 = icmp ne i32 %731, 0
  br i1 %732, label %733, label %734

733:                                              ; preds = %725
  br label %1965

734:                                              ; preds = %725
  store i32 0, ptr %26, align 4, !tbaa !9
  %735 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %735, ptr %6, align 4, !tbaa !9
  store i32 191792, ptr %27, align 4, !tbaa !9
  %736 = load i32, ptr %27, align 4, !tbaa !9
  %737 = load i32, ptr %26, align 4, !tbaa !9
  %738 = add i32 %737, %736
  store i32 %738, ptr %26, align 4, !tbaa !9
  %739 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %739, ptr %27, align 4, !tbaa !9
  store i32 62693, ptr %28, align 4, !tbaa !9
  %740 = load i32, ptr %28, align 4, !tbaa !9
  %741 = load i32, ptr %27, align 4, !tbaa !9
  %742 = add i32 %741, %740
  store i32 %742, ptr %27, align 4, !tbaa !9
  store i32 2466, ptr %28, align 4, !tbaa !9
  %743 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %743, ptr %29, align 4, !tbaa !9
  store i32 66243, ptr %30, align 4, !tbaa !9
  %744 = load i32, ptr %30, align 4, !tbaa !9
  %745 = load i32, ptr %29, align 4, !tbaa !9
  %746 = add i32 %745, %744
  store i32 %746, ptr %29, align 4, !tbaa !9
  %747 = load ptr, ptr %5, align 8, !tbaa !5
  %748 = load i32, ptr %26, align 4, !tbaa !9
  %749 = load i32, ptr %27, align 4, !tbaa !9
  %750 = load i32, ptr %28, align 4, !tbaa !9
  %751 = load i32, ptr %29, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %747, i32 noundef %748, i32 noundef %749, i32 noundef %750, i32 noundef %751)
  call void @wasm_rt_trap(i32 noundef 5) #8
  unreachable

752:                                              ; preds = %514
  %753 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %753, ptr %26, align 4, !tbaa !9
  store i32 400, ptr %27, align 4, !tbaa !9
  %754 = load i32, ptr %27, align 4, !tbaa !9
  %755 = load i32, ptr %26, align 4, !tbaa !9
  %756 = add i32 %755, %754
  store i32 %756, ptr %26, align 4, !tbaa !9
  %757 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %757, ptr %9, align 4, !tbaa !9
  %758 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %758, ptr %26, align 4, !tbaa !9
  store i32 4464, ptr %27, align 4, !tbaa !9
  %759 = load i32, ptr %27, align 4, !tbaa !9
  %760 = load i32, ptr %26, align 4, !tbaa !9
  %761 = add i32 %760, %759
  store i32 %761, ptr %26, align 4, !tbaa !9
  %762 = load ptr, ptr %5, align 8, !tbaa !5
  %763 = getelementptr inbounds %struct.w2c_hermes, ptr %762, i32 0, i32 6
  %764 = load i32, ptr %26, align 4, !tbaa !9
  %765 = zext i32 %764 to i64
  %766 = call i32 @i32_load(ptr noundef %763, i64 noundef %765)
  store i32 %766, ptr %26, align 4, !tbaa !9
  %767 = load i32, ptr %26, align 4, !tbaa !9
  %768 = icmp ne i32 %767, 0
  br i1 %768, label %769, label %864

769:                                              ; preds = %752
  %770 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %770, ptr %26, align 4, !tbaa !9
  %771 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %771, ptr %27, align 4, !tbaa !9
  %772 = load ptr, ptr %5, align 8, !tbaa !5
  %773 = getelementptr inbounds %struct.w2c_hermes, ptr %772, i32 0, i32 6
  %774 = load i32, ptr %26, align 4, !tbaa !9
  %775 = zext i32 %774 to i64
  %776 = add i64 %775, 12
  %777 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store(ptr noundef %773, i64 noundef %776, i32 noundef %777)
  %778 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %778, ptr %26, align 4, !tbaa !9
  store i32 276988, ptr %27, align 4, !tbaa !9
  %779 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %779, ptr %11, align 4, !tbaa !9
  store i32 100, ptr %28, align 4, !tbaa !9
  %780 = load i32, ptr %28, align 4, !tbaa !9
  %781 = load i32, ptr %27, align 4, !tbaa !9
  %782 = add i32 %781, %780
  store i32 %782, ptr %27, align 4, !tbaa !9
  %783 = load ptr, ptr %5, align 8, !tbaa !5
  %784 = getelementptr inbounds %struct.w2c_hermes, ptr %783, i32 0, i32 6
  %785 = load i32, ptr %26, align 4, !tbaa !9
  %786 = zext i32 %785 to i64
  %787 = add i64 %786, 8
  %788 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store(ptr noundef %784, i64 noundef %787, i32 noundef %788)
  %789 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %789, ptr %26, align 4, !tbaa !9
  %790 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %790, ptr %27, align 4, !tbaa !9
  store i32 68, ptr %28, align 4, !tbaa !9
  %791 = load i32, ptr %28, align 4, !tbaa !9
  %792 = load i32, ptr %27, align 4, !tbaa !9
  %793 = add i32 %792, %791
  store i32 %793, ptr %27, align 4, !tbaa !9
  %794 = load ptr, ptr %5, align 8, !tbaa !5
  %795 = getelementptr inbounds %struct.w2c_hermes, ptr %794, i32 0, i32 6
  %796 = load i32, ptr %26, align 4, !tbaa !9
  %797 = zext i32 %796 to i64
  %798 = add i64 %797, 4
  %799 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store(ptr noundef %795, i64 noundef %798, i32 noundef %799)
  %800 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %800, ptr %26, align 4, !tbaa !9
  %801 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %801, ptr %27, align 4, !tbaa !9
  store i32 8, ptr %28, align 4, !tbaa !9
  %802 = load i32, ptr %28, align 4, !tbaa !9
  %803 = load i32, ptr %27, align 4, !tbaa !9
  %804 = add i32 %803, %802
  store i32 %804, ptr %27, align 4, !tbaa !9
  %805 = load ptr, ptr %5, align 8, !tbaa !5
  %806 = getelementptr inbounds %struct.w2c_hermes, ptr %805, i32 0, i32 6
  %807 = load i32, ptr %26, align 4, !tbaa !9
  %808 = zext i32 %807 to i64
  %809 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store(ptr noundef %806, i64 noundef %808, i32 noundef %809)
  %810 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %810, ptr %26, align 4, !tbaa !9
  %811 = load ptr, ptr %5, align 8, !tbaa !5
  %812 = getelementptr inbounds %struct.w2c_hermes, ptr %811, i32 0, i32 6
  %813 = load i32, ptr %26, align 4, !tbaa !9
  %814 = zext i32 %813 to i64
  %815 = add i64 %814, 60
  %816 = call i32 @i32_load(ptr noundef %812, i64 noundef %815)
  store i32 %816, ptr %26, align 4, !tbaa !9
  %817 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %817, ptr %11, align 4, !tbaa !9
  %818 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %818, ptr %26, align 4, !tbaa !9
  store i32 0, ptr %27, align 4, !tbaa !9
  %819 = load ptr, ptr %5, align 8, !tbaa !5
  %820 = getelementptr inbounds %struct.w2c_hermes, ptr %819, i32 0, i32 6
  %821 = load i32, ptr %26, align 4, !tbaa !9
  %822 = zext i32 %821 to i64
  %823 = add i64 %822, 20
  %824 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store(ptr noundef %820, i64 noundef %823, i32 noundef %824)
  %825 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %825, ptr %26, align 4, !tbaa !9
  %826 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %826, ptr %27, align 4, !tbaa !9
  %827 = load ptr, ptr %5, align 8, !tbaa !5
  %828 = getelementptr inbounds %struct.w2c_hermes, ptr %827, i32 0, i32 6
  %829 = load i32, ptr %26, align 4, !tbaa !9
  %830 = zext i32 %829 to i64
  %831 = add i64 %830, 16
  %832 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store(ptr noundef %828, i64 noundef %831, i32 noundef %832)
  %833 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %833, ptr %26, align 4, !tbaa !9
  %834 = load ptr, ptr %5, align 8, !tbaa !5
  %835 = load i32, ptr %26, align 4, !tbaa !9
  %836 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCBase0x3A0x3AIDTracker0x3A0x3AisTrackingIDs0x280x29(ptr noundef %834, i32 noundef %835)
  store i32 %836, ptr %26, align 4, !tbaa !9
  %837 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %837, ptr %9, align 4, !tbaa !9
  %838 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %838, ptr %26, align 4, !tbaa !9
  store i64 0, ptr %32, align 8, !tbaa !11
  %839 = load ptr, ptr %5, align 8, !tbaa !5
  %840 = getelementptr inbounds %struct.w2c_hermes, ptr %839, i32 0, i32 6
  %841 = load i32, ptr %26, align 4, !tbaa !9
  %842 = zext i32 %841 to i64
  %843 = add i64 %842, 32
  %844 = load i64, ptr %32, align 8, !tbaa !11
  call void @i64_store(ptr noundef %840, i64 noundef %843, i64 noundef %844)
  %845 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %845, ptr %26, align 4, !tbaa !9
  %846 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %846, ptr %27, align 4, !tbaa !9
  %847 = load ptr, ptr %5, align 8, !tbaa !5
  %848 = getelementptr inbounds %struct.w2c_hermes, ptr %847, i32 0, i32 6
  %849 = load i32, ptr %26, align 4, !tbaa !9
  %850 = zext i32 %849 to i64
  %851 = add i64 %850, 24
  %852 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %848, i64 noundef %851, i32 noundef %852)
  %853 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %853, ptr %26, align 4, !tbaa !9
  %854 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %854, ptr %27, align 4, !tbaa !9
  %855 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %855, ptr %28, align 4, !tbaa !9
  store i32 1, ptr %29, align 4, !tbaa !9
  %856 = load i32, ptr %28, align 4, !tbaa !9
  %857 = load i32, ptr %29, align 4, !tbaa !9
  %858 = icmp ne i32 %856, %857
  %859 = zext i1 %858 to i32
  store i32 %859, ptr %28, align 4, !tbaa !9
  %860 = load ptr, ptr %5, align 8, !tbaa !5
  %861 = load i32, ptr %26, align 4, !tbaa !9
  %862 = load i32, ptr %27, align 4, !tbaa !9
  %863 = load i32, ptr %28, align 4, !tbaa !9
  call void @w2c_hermes_void0x20hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AyoungGenEvacuateImpl0x3Chermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AEvacAcceptor0x3Ctrue0x3E0x3E0x28hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AEvacAcceptor0x3Ctrue0x3E0x260x2C0x20bool0x29(ptr noundef %860, i32 noundef %861, i32 noundef %862, i32 noundef %863)
  br label %954

864:                                              ; preds = %752
  %865 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %865, ptr %26, align 4, !tbaa !9
  %866 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %866, ptr %27, align 4, !tbaa !9
  %867 = load ptr, ptr %5, align 8, !tbaa !5
  %868 = getelementptr inbounds %struct.w2c_hermes, ptr %867, i32 0, i32 6
  %869 = load i32, ptr %26, align 4, !tbaa !9
  %870 = zext i32 %869 to i64
  %871 = add i64 %870, 12
  %872 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store(ptr noundef %868, i64 noundef %871, i32 noundef %872)
  %873 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %873, ptr %26, align 4, !tbaa !9
  store i32 277232, ptr %27, align 4, !tbaa !9
  %874 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %874, ptr %11, align 4, !tbaa !9
  store i32 100, ptr %28, align 4, !tbaa !9
  %875 = load i32, ptr %28, align 4, !tbaa !9
  %876 = load i32, ptr %27, align 4, !tbaa !9
  %877 = add i32 %876, %875
  store i32 %877, ptr %27, align 4, !tbaa !9
  %878 = load ptr, ptr %5, align 8, !tbaa !5
  %879 = getelementptr inbounds %struct.w2c_hermes, ptr %878, i32 0, i32 6
  %880 = load i32, ptr %26, align 4, !tbaa !9
  %881 = zext i32 %880 to i64
  %882 = add i64 %881, 8
  %883 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store(ptr noundef %879, i64 noundef %882, i32 noundef %883)
  %884 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %884, ptr %26, align 4, !tbaa !9
  %885 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %885, ptr %27, align 4, !tbaa !9
  store i32 68, ptr %28, align 4, !tbaa !9
  %886 = load i32, ptr %28, align 4, !tbaa !9
  %887 = load i32, ptr %27, align 4, !tbaa !9
  %888 = add i32 %887, %886
  store i32 %888, ptr %27, align 4, !tbaa !9
  %889 = load ptr, ptr %5, align 8, !tbaa !5
  %890 = getelementptr inbounds %struct.w2c_hermes, ptr %889, i32 0, i32 6
  %891 = load i32, ptr %26, align 4, !tbaa !9
  %892 = zext i32 %891 to i64
  %893 = add i64 %892, 4
  %894 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store(ptr noundef %890, i64 noundef %893, i32 noundef %894)
  %895 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %895, ptr %26, align 4, !tbaa !9
  %896 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %896, ptr %27, align 4, !tbaa !9
  store i32 8, ptr %28, align 4, !tbaa !9
  %897 = load i32, ptr %28, align 4, !tbaa !9
  %898 = load i32, ptr %27, align 4, !tbaa !9
  %899 = add i32 %898, %897
  store i32 %899, ptr %27, align 4, !tbaa !9
  %900 = load ptr, ptr %5, align 8, !tbaa !5
  %901 = getelementptr inbounds %struct.w2c_hermes, ptr %900, i32 0, i32 6
  %902 = load i32, ptr %26, align 4, !tbaa !9
  %903 = zext i32 %902 to i64
  %904 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store(ptr noundef %901, i64 noundef %903, i32 noundef %904)
  %905 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %905, ptr %26, align 4, !tbaa !9
  %906 = load ptr, ptr %5, align 8, !tbaa !5
  %907 = getelementptr inbounds %struct.w2c_hermes, ptr %906, i32 0, i32 6
  %908 = load i32, ptr %26, align 4, !tbaa !9
  %909 = zext i32 %908 to i64
  %910 = add i64 %909, 60
  %911 = call i32 @i32_load(ptr noundef %907, i64 noundef %910)
  store i32 %911, ptr %26, align 4, !tbaa !9
  %912 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %912, ptr %11, align 4, !tbaa !9
  %913 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %913, ptr %26, align 4, !tbaa !9
  store i32 0, ptr %27, align 4, !tbaa !9
  %914 = load ptr, ptr %5, align 8, !tbaa !5
  %915 = getelementptr inbounds %struct.w2c_hermes, ptr %914, i32 0, i32 6
  %916 = load i32, ptr %26, align 4, !tbaa !9
  %917 = zext i32 %916 to i64
  %918 = add i64 %917, 20
  %919 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store(ptr noundef %915, i64 noundef %918, i32 noundef %919)
  %920 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %920, ptr %26, align 4, !tbaa !9
  %921 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %921, ptr %27, align 4, !tbaa !9
  %922 = load ptr, ptr %5, align 8, !tbaa !5
  %923 = getelementptr inbounds %struct.w2c_hermes, ptr %922, i32 0, i32 6
  %924 = load i32, ptr %26, align 4, !tbaa !9
  %925 = zext i32 %924 to i64
  %926 = add i64 %925, 16
  %927 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store(ptr noundef %923, i64 noundef %926, i32 noundef %927)
  %928 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %928, ptr %26, align 4, !tbaa !9
  %929 = load ptr, ptr %5, align 8, !tbaa !5
  %930 = load i32, ptr %26, align 4, !tbaa !9
  %931 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCBase0x3A0x3AIDTracker0x3A0x3AisTrackingIDs0x280x29(ptr noundef %929, i32 noundef %930)
  store i32 %931, ptr %26, align 4, !tbaa !9
  %932 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %932, ptr %9, align 4, !tbaa !9
  %933 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %933, ptr %26, align 4, !tbaa !9
  store i64 0, ptr %32, align 8, !tbaa !11
  %934 = load ptr, ptr %5, align 8, !tbaa !5
  %935 = getelementptr inbounds %struct.w2c_hermes, ptr %934, i32 0, i32 6
  %936 = load i32, ptr %26, align 4, !tbaa !9
  %937 = zext i32 %936 to i64
  %938 = add i64 %937, 32
  %939 = load i64, ptr %32, align 8, !tbaa !11
  call void @i64_store(ptr noundef %935, i64 noundef %938, i64 noundef %939)
  %940 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %940, ptr %26, align 4, !tbaa !9
  %941 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %941, ptr %27, align 4, !tbaa !9
  %942 = load ptr, ptr %5, align 8, !tbaa !5
  %943 = getelementptr inbounds %struct.w2c_hermes, ptr %942, i32 0, i32 6
  %944 = load i32, ptr %26, align 4, !tbaa !9
  %945 = zext i32 %944 to i64
  %946 = add i64 %945, 24
  %947 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %943, i64 noundef %946, i32 noundef %947)
  %948 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %948, ptr %26, align 4, !tbaa !9
  %949 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %949, ptr %27, align 4, !tbaa !9
  store i32 0, ptr %28, align 4, !tbaa !9
  %950 = load ptr, ptr %5, align 8, !tbaa !5
  %951 = load i32, ptr %26, align 4, !tbaa !9
  %952 = load i32, ptr %27, align 4, !tbaa !9
  %953 = load i32, ptr %28, align 4, !tbaa !9
  call void @w2c_hermes_void0x20hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AyoungGenEvacuateImpl0x3Chermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AEvacAcceptor0x3Cfalse0x3E0x3E0x28hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AEvacAcceptor0x3Cfalse0x3E0x260x2C0x20bool0x29(ptr noundef %950, i32 noundef %951, i32 noundef %952, i32 noundef %953)
  br label %954

954:                                              ; preds = %864, %769
  %955 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %955, ptr %26, align 4, !tbaa !9
  %956 = load ptr, ptr %5, align 8, !tbaa !5
  %957 = getelementptr inbounds %struct.w2c_hermes, ptr %956, i32 0, i32 6
  %958 = load i32, ptr %26, align 4, !tbaa !9
  %959 = zext i32 %958 to i64
  %960 = add i64 %959, 32
  %961 = call i64 @i64_load(ptr noundef %957, i64 noundef %960)
  store i64 %961, ptr %31, align 8, !tbaa !11
  %962 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %962, ptr %20, align 8, !tbaa !11
  %963 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %963, ptr %26, align 4, !tbaa !9
  store i32 400, ptr %27, align 4, !tbaa !9
  %964 = load i32, ptr %27, align 4, !tbaa !9
  %965 = load i32, ptr %26, align 4, !tbaa !9
  %966 = add i32 %965, %964
  store i32 %966, ptr %26, align 4, !tbaa !9
  %967 = load ptr, ptr %5, align 8, !tbaa !5
  %968 = load i32, ptr %26, align 4, !tbaa !9
  %969 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCBase0x3A0x3AIDTracker0x3A0x3AisTrackingIDs0x280x29(ptr noundef %967, i32 noundef %968)
  store i32 %969, ptr %26, align 4, !tbaa !9
  %970 = load i32, ptr %26, align 4, !tbaa !9
  %971 = icmp ne i32 %970, 0
  %972 = xor i1 %971, true
  %973 = zext i1 %972 to i32
  store i32 %973, ptr %26, align 4, !tbaa !9
  %974 = load i32, ptr %26, align 4, !tbaa !9
  %975 = icmp ne i32 %974, 0
  br i1 %975, label %976, label %977

976:                                              ; preds = %954
  br label %1183

977:                                              ; preds = %954
  %978 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %978, ptr %26, align 4, !tbaa !9
  %979 = load ptr, ptr %5, align 8, !tbaa !5
  %980 = getelementptr inbounds %struct.w2c_hermes, ptr %979, i32 0, i32 6
  %981 = load i32, ptr %26, align 4, !tbaa !9
  %982 = zext i32 %981 to i64
  %983 = add i64 %982, 588
  %984 = call i32 @i32_load(ptr noundef %980, i64 noundef %983)
  store i32 %984, ptr %26, align 4, !tbaa !9
  store i32 86016, ptr %27, align 4, !tbaa !9
  %985 = load i32, ptr %27, align 4, !tbaa !9
  %986 = load i32, ptr %26, align 4, !tbaa !9
  %987 = add i32 %986, %985
  store i32 %987, ptr %26, align 4, !tbaa !9
  %988 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %988, ptr %9, align 4, !tbaa !9
  %989 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %989, ptr %27, align 4, !tbaa !9
  %990 = load ptr, ptr %5, align 8, !tbaa !5
  %991 = getelementptr inbounds %struct.w2c_hermes, ptr %990, i32 0, i32 6
  %992 = load i32, ptr %27, align 4, !tbaa !9
  %993 = zext i32 %992 to i64
  %994 = add i64 %993, 596
  %995 = call i32 @i32_load(ptr noundef %991, i64 noundef %994)
  store i32 %995, ptr %27, align 4, !tbaa !9
  %996 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %996, ptr %13, align 4, !tbaa !9
  %997 = load i32, ptr %26, align 4, !tbaa !9
  %998 = load i32, ptr %27, align 4, !tbaa !9
  %999 = icmp ult i32 %997, %998
  %1000 = zext i1 %999 to i32
  store i32 %1000, ptr %26, align 4, !tbaa !9
  %1001 = load i32, ptr %26, align 4, !tbaa !9
  %1002 = icmp ne i32 %1001, 0
  br i1 %1002, label %1003, label %1072

1003:                                             ; preds = %977
  br label %1004

1004:                                             ; preds = %1070, %1003
  %1005 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1005, ptr %26, align 4, !tbaa !9
  %1006 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1006, ptr %27, align 4, !tbaa !9
  %1007 = load ptr, ptr %5, align 8, !tbaa !5
  %1008 = getelementptr inbounds %struct.w2c_hermes, ptr %1007, i32 0, i32 6
  %1009 = load i32, ptr %27, align 4, !tbaa !9
  %1010 = zext i32 %1009 to i64
  %1011 = call i32 @i32_load(ptr noundef %1008, i64 noundef %1010)
  store i32 %1011, ptr %27, align 4, !tbaa !9
  %1012 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %1012, ptr %11, align 4, !tbaa !9
  store i32 1, ptr %28, align 4, !tbaa !9
  %1013 = load i32, ptr %28, align 4, !tbaa !9
  %1014 = load i32, ptr %27, align 4, !tbaa !9
  %1015 = and i32 %1014, %1013
  store i32 %1015, ptr %27, align 4, !tbaa !9
  %1016 = load i32, ptr %27, align 4, !tbaa !9
  %1017 = icmp ne i32 %1016, 0
  br i1 %1017, label %1018, label %1023

1018:                                             ; preds = %1004
  %1019 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1019, ptr %27, align 4, !tbaa !9
  store i32 1, ptr %28, align 4, !tbaa !9
  %1020 = load i32, ptr %28, align 4, !tbaa !9
  %1021 = load i32, ptr %27, align 4, !tbaa !9
  %1022 = sub i32 %1021, %1020
  store i32 %1022, ptr %27, align 4, !tbaa !9
  br label %1049

1023:                                             ; preds = %1004
  %1024 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1024, ptr %27, align 4, !tbaa !9
  %1025 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %1025, ptr %12, align 4, !tbaa !9
  %1026 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1026, ptr %28, align 4, !tbaa !9
  store i32 -16777216, ptr %29, align 4, !tbaa !9
  %1027 = load i32, ptr %29, align 4, !tbaa !9
  %1028 = load i32, ptr %28, align 4, !tbaa !9
  %1029 = and i32 %1028, %1027
  store i32 %1029, ptr %28, align 4, !tbaa !9
  store i32 33554432, ptr %29, align 4, !tbaa !9
  %1030 = load i32, ptr %28, align 4, !tbaa !9
  %1031 = load i32, ptr %29, align 4, !tbaa !9
  %1032 = icmp eq i32 %1030, %1031
  %1033 = zext i1 %1032 to i32
  store i32 %1033, ptr %28, align 4, !tbaa !9
  %1034 = load i32, ptr %28, align 4, !tbaa !9
  %1035 = icmp ne i32 %1034, 0
  br i1 %1035, label %1036, label %1037

1036:                                             ; preds = %1023
  br label %1049

1037:                                             ; preds = %1023
  %1038 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1038, ptr %27, align 4, !tbaa !9
  %1039 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1039, ptr %28, align 4, !tbaa !9
  %1040 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1040, ptr %29, align 4, !tbaa !9
  store i32 16777215, ptr %30, align 4, !tbaa !9
  %1041 = load i32, ptr %30, align 4, !tbaa !9
  %1042 = load i32, ptr %29, align 4, !tbaa !9
  %1043 = and i32 %1042, %1041
  store i32 %1043, ptr %29, align 4, !tbaa !9
  %1044 = load ptr, ptr %5, align 8, !tbaa !5
  %1045 = load i32, ptr %27, align 4, !tbaa !9
  %1046 = load i32, ptr %28, align 4, !tbaa !9
  %1047 = load i32, ptr %29, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCBase0x3A0x3AuntrackObject0x28hermes0x3A0x3Avm0x3A0x3AGCCell0x20const0x2A0x2C0x20unsigned0x20int0x29(ptr noundef %1044, i32 noundef %1045, i32 noundef %1046, i32 noundef %1047)
  %1048 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1048, ptr %27, align 4, !tbaa !9
  br label %1049

1049:                                             ; preds = %1037, %1036, %1018
  %1050 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %1050, ptr %12, align 4, !tbaa !9
  %1051 = load ptr, ptr %5, align 8, !tbaa !5
  %1052 = getelementptr inbounds %struct.w2c_hermes, ptr %1051, i32 0, i32 6
  %1053 = load i32, ptr %27, align 4, !tbaa !9
  %1054 = zext i32 %1053 to i64
  %1055 = call i32 @i32_load(ptr noundef %1052, i64 noundef %1054)
  store i32 %1055, ptr %27, align 4, !tbaa !9
  store i32 16777215, ptr %28, align 4, !tbaa !9
  %1056 = load i32, ptr %28, align 4, !tbaa !9
  %1057 = load i32, ptr %27, align 4, !tbaa !9
  %1058 = and i32 %1057, %1056
  store i32 %1058, ptr %27, align 4, !tbaa !9
  %1059 = load i32, ptr %27, align 4, !tbaa !9
  %1060 = load i32, ptr %26, align 4, !tbaa !9
  %1061 = add i32 %1060, %1059
  store i32 %1061, ptr %26, align 4, !tbaa !9
  %1062 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %1062, ptr %9, align 4, !tbaa !9
  %1063 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1063, ptr %27, align 4, !tbaa !9
  %1064 = load i32, ptr %26, align 4, !tbaa !9
  %1065 = load i32, ptr %27, align 4, !tbaa !9
  %1066 = icmp ult i32 %1064, %1065
  %1067 = zext i1 %1066 to i32
  store i32 %1067, ptr %26, align 4, !tbaa !9
  %1068 = load i32, ptr %26, align 4, !tbaa !9
  %1069 = icmp ne i32 %1068, 0
  br i1 %1069, label %1070, label %1071

1070:                                             ; preds = %1049
  br label %1004

1071:                                             ; preds = %1049
  br label %1072

1072:                                             ; preds = %1071, %977
  %1073 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1073, ptr %26, align 4, !tbaa !9
  store i32 1, ptr %27, align 4, !tbaa !9
  %1074 = load i32, ptr %26, align 4, !tbaa !9
  %1075 = load i32, ptr %27, align 4, !tbaa !9
  %1076 = icmp eq i32 %1074, %1075
  %1077 = zext i1 %1076 to i32
  store i32 %1077, ptr %26, align 4, !tbaa !9
  %1078 = load i32, ptr %26, align 4, !tbaa !9
  %1079 = icmp ne i32 %1078, 0
  br i1 %1079, label %1080, label %1081

1080:                                             ; preds = %1072
  br label %1183

1081:                                             ; preds = %1072
  %1082 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1082, ptr %26, align 4, !tbaa !9
  %1083 = load ptr, ptr %5, align 8, !tbaa !5
  %1084 = getelementptr inbounds %struct.w2c_hermes, ptr %1083, i32 0, i32 6
  %1085 = load i32, ptr %26, align 4, !tbaa !9
  %1086 = zext i32 %1085 to i64
  %1087 = add i64 %1086, 4464
  %1088 = call i32 @i32_load(ptr noundef %1084, i64 noundef %1087)
  store i32 %1088, ptr %26, align 4, !tbaa !9
  %1089 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %1089, ptr %11, align 4, !tbaa !9
  %1090 = load ptr, ptr %5, align 8, !tbaa !5
  %1091 = getelementptr inbounds %struct.w2c_hermes, ptr %1090, i32 0, i32 6
  %1092 = load i32, ptr %26, align 4, !tbaa !9
  %1093 = zext i32 %1092 to i64
  %1094 = call i32 @i32_load(ptr noundef %1091, i64 noundef %1093)
  store i32 %1094, ptr %26, align 4, !tbaa !9
  store i32 86016, ptr %27, align 4, !tbaa !9
  %1095 = load i32, ptr %27, align 4, !tbaa !9
  %1096 = load i32, ptr %26, align 4, !tbaa !9
  %1097 = add i32 %1096, %1095
  store i32 %1097, ptr %26, align 4, !tbaa !9
  %1098 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %1098, ptr %9, align 4, !tbaa !9
  %1099 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1099, ptr %27, align 4, !tbaa !9
  %1100 = load ptr, ptr %5, align 8, !tbaa !5
  %1101 = getelementptr inbounds %struct.w2c_hermes, ptr %1100, i32 0, i32 6
  %1102 = load i32, ptr %27, align 4, !tbaa !9
  %1103 = zext i32 %1102 to i64
  %1104 = add i64 %1103, 8
  %1105 = call i32 @i32_load(ptr noundef %1101, i64 noundef %1104)
  store i32 %1105, ptr %27, align 4, !tbaa !9
  %1106 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %1106, ptr %13, align 4, !tbaa !9
  %1107 = load i32, ptr %26, align 4, !tbaa !9
  %1108 = load i32, ptr %27, align 4, !tbaa !9
  %1109 = icmp uge i32 %1107, %1108
  %1110 = zext i1 %1109 to i32
  store i32 %1110, ptr %26, align 4, !tbaa !9
  %1111 = load i32, ptr %26, align 4, !tbaa !9
  %1112 = icmp ne i32 %1111, 0
  br i1 %1112, label %1113, label %1114

1113:                                             ; preds = %1081
  br label %1183

1114:                                             ; preds = %1081
  br label %1115

1115:                                             ; preds = %1181, %1114
  %1116 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1116, ptr %26, align 4, !tbaa !9
  %1117 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1117, ptr %27, align 4, !tbaa !9
  %1118 = load ptr, ptr %5, align 8, !tbaa !5
  %1119 = getelementptr inbounds %struct.w2c_hermes, ptr %1118, i32 0, i32 6
  %1120 = load i32, ptr %27, align 4, !tbaa !9
  %1121 = zext i32 %1120 to i64
  %1122 = call i32 @i32_load(ptr noundef %1119, i64 noundef %1121)
  store i32 %1122, ptr %27, align 4, !tbaa !9
  %1123 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %1123, ptr %11, align 4, !tbaa !9
  store i32 1, ptr %28, align 4, !tbaa !9
  %1124 = load i32, ptr %28, align 4, !tbaa !9
  %1125 = load i32, ptr %27, align 4, !tbaa !9
  %1126 = and i32 %1125, %1124
  store i32 %1126, ptr %27, align 4, !tbaa !9
  %1127 = load i32, ptr %27, align 4, !tbaa !9
  %1128 = icmp ne i32 %1127, 0
  br i1 %1128, label %1129, label %1134

1129:                                             ; preds = %1115
  %1130 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1130, ptr %27, align 4, !tbaa !9
  store i32 1, ptr %28, align 4, !tbaa !9
  %1131 = load i32, ptr %28, align 4, !tbaa !9
  %1132 = load i32, ptr %27, align 4, !tbaa !9
  %1133 = sub i32 %1132, %1131
  store i32 %1133, ptr %27, align 4, !tbaa !9
  br label %1160

1134:                                             ; preds = %1115
  %1135 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1135, ptr %27, align 4, !tbaa !9
  %1136 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %1136, ptr %12, align 4, !tbaa !9
  %1137 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1137, ptr %28, align 4, !tbaa !9
  store i32 -16777216, ptr %29, align 4, !tbaa !9
  %1138 = load i32, ptr %29, align 4, !tbaa !9
  %1139 = load i32, ptr %28, align 4, !tbaa !9
  %1140 = and i32 %1139, %1138
  store i32 %1140, ptr %28, align 4, !tbaa !9
  store i32 33554432, ptr %29, align 4, !tbaa !9
  %1141 = load i32, ptr %28, align 4, !tbaa !9
  %1142 = load i32, ptr %29, align 4, !tbaa !9
  %1143 = icmp eq i32 %1141, %1142
  %1144 = zext i1 %1143 to i32
  store i32 %1144, ptr %28, align 4, !tbaa !9
  %1145 = load i32, ptr %28, align 4, !tbaa !9
  %1146 = icmp ne i32 %1145, 0
  br i1 %1146, label %1147, label %1148

1147:                                             ; preds = %1134
  br label %1160

1148:                                             ; preds = %1134
  %1149 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1149, ptr %27, align 4, !tbaa !9
  %1150 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1150, ptr %28, align 4, !tbaa !9
  %1151 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1151, ptr %29, align 4, !tbaa !9
  store i32 16777215, ptr %30, align 4, !tbaa !9
  %1152 = load i32, ptr %30, align 4, !tbaa !9
  %1153 = load i32, ptr %29, align 4, !tbaa !9
  %1154 = and i32 %1153, %1152
  store i32 %1154, ptr %29, align 4, !tbaa !9
  %1155 = load ptr, ptr %5, align 8, !tbaa !5
  %1156 = load i32, ptr %27, align 4, !tbaa !9
  %1157 = load i32, ptr %28, align 4, !tbaa !9
  %1158 = load i32, ptr %29, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCBase0x3A0x3AuntrackObject0x28hermes0x3A0x3Avm0x3A0x3AGCCell0x20const0x2A0x2C0x20unsigned0x20int0x29(ptr noundef %1155, i32 noundef %1156, i32 noundef %1157, i32 noundef %1158)
  %1159 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1159, ptr %27, align 4, !tbaa !9
  br label %1160

1160:                                             ; preds = %1148, %1147, %1129
  %1161 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %1161, ptr %12, align 4, !tbaa !9
  %1162 = load ptr, ptr %5, align 8, !tbaa !5
  %1163 = getelementptr inbounds %struct.w2c_hermes, ptr %1162, i32 0, i32 6
  %1164 = load i32, ptr %27, align 4, !tbaa !9
  %1165 = zext i32 %1164 to i64
  %1166 = call i32 @i32_load(ptr noundef %1163, i64 noundef %1165)
  store i32 %1166, ptr %27, align 4, !tbaa !9
  store i32 16777215, ptr %28, align 4, !tbaa !9
  %1167 = load i32, ptr %28, align 4, !tbaa !9
  %1168 = load i32, ptr %27, align 4, !tbaa !9
  %1169 = and i32 %1168, %1167
  store i32 %1169, ptr %27, align 4, !tbaa !9
  %1170 = load i32, ptr %27, align 4, !tbaa !9
  %1171 = load i32, ptr %26, align 4, !tbaa !9
  %1172 = add i32 %1171, %1170
  store i32 %1172, ptr %26, align 4, !tbaa !9
  %1173 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %1173, ptr %9, align 4, !tbaa !9
  %1174 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1174, ptr %27, align 4, !tbaa !9
  %1175 = load i32, ptr %26, align 4, !tbaa !9
  %1176 = load i32, ptr %27, align 4, !tbaa !9
  %1177 = icmp ult i32 %1175, %1176
  %1178 = zext i1 %1177 to i32
  store i32 %1178, ptr %26, align 4, !tbaa !9
  %1179 = load i32, ptr %26, align 4, !tbaa !9
  %1180 = icmp ne i32 %1179, 0
  br i1 %1180, label %1181, label %1182

1181:                                             ; preds = %1160
  br label %1115

1182:                                             ; preds = %1160
  br label %1183

1183:                                             ; preds = %1182, %1113, %1080, %976
  %1184 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1184, ptr %26, align 4, !tbaa !9
  %1185 = load ptr, ptr %5, align 8, !tbaa !5
  %1186 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AfinalizeYoungGenObjects0x280x29(ptr noundef %1185, i32 noundef %1186)
  %1187 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1187, ptr %26, align 4, !tbaa !9
  %1188 = load ptr, ptr %5, align 8, !tbaa !5
  %1189 = getelementptr inbounds %struct.w2c_hermes, ptr %1188, i32 0, i32 6
  %1190 = load i32, ptr %26, align 4, !tbaa !9
  %1191 = zext i32 %1190 to i64
  %1192 = add i64 %1191, 4440
  %1193 = call i64 @i64_load32_u(ptr noundef %1189, i64 noundef %1192)
  store i64 %1193, ptr %31, align 8, !tbaa !11
  %1194 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %1194, ptr %21, align 8, !tbaa !11
  %1195 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1195, ptr %26, align 4, !tbaa !9
  %1196 = load ptr, ptr %5, align 8, !tbaa !5
  %1197 = getelementptr inbounds %struct.w2c_hermes, ptr %1196, i32 0, i32 6
  %1198 = load i32, ptr %26, align 4, !tbaa !9
  %1199 = zext i32 %1198 to i64
  %1200 = add i64 %1199, 4071
  %1201 = call i32 @i32_load8_u(ptr noundef %1197, i64 noundef %1200)
  store i32 %1201, ptr %26, align 4, !tbaa !9
  %1202 = load i32, ptr %26, align 4, !tbaa !9
  %1203 = icmp ne i32 %1202, 0
  br i1 %1203, label %1204, label %1232

1204:                                             ; preds = %1183
  %1205 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1205, ptr %26, align 4, !tbaa !9
  %1206 = load ptr, ptr %5, align 8, !tbaa !5
  %1207 = getelementptr inbounds %struct.w2c_hermes, ptr %1206, i32 0, i32 6
  %1208 = load i32, ptr %26, align 4, !tbaa !9
  %1209 = zext i32 %1208 to i64
  %1210 = add i64 %1209, 588
  %1211 = call i32 @i32_load(ptr noundef %1207, i64 noundef %1210)
  store i32 %1211, ptr %26, align 4, !tbaa !9
  store i32 86016, ptr %27, align 4, !tbaa !9
  %1212 = load i32, ptr %27, align 4, !tbaa !9
  %1213 = load i32, ptr %26, align 4, !tbaa !9
  %1214 = add i32 %1213, %1212
  store i32 %1214, ptr %26, align 4, !tbaa !9
  %1215 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %1215, ptr %9, align 4, !tbaa !9
  store i32 204, ptr %27, align 4, !tbaa !9
  %1216 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1216, ptr %28, align 4, !tbaa !9
  %1217 = load ptr, ptr %5, align 8, !tbaa !5
  %1218 = getelementptr inbounds %struct.w2c_hermes, ptr %1217, i32 0, i32 6
  %1219 = load i32, ptr %28, align 4, !tbaa !9
  %1220 = zext i32 %1219 to i64
  %1221 = add i64 %1220, 596
  %1222 = call i32 @i32_load(ptr noundef %1218, i64 noundef %1221)
  store i32 %1222, ptr %28, align 4, !tbaa !9
  %1223 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1223, ptr %29, align 4, !tbaa !9
  %1224 = load i32, ptr %29, align 4, !tbaa !9
  %1225 = load i32, ptr %28, align 4, !tbaa !9
  %1226 = sub i32 %1225, %1224
  store i32 %1226, ptr %28, align 4, !tbaa !9
  %1227 = load ptr, ptr %5, align 8, !tbaa !5
  %1228 = load i32, ptr %26, align 4, !tbaa !9
  %1229 = load i32, ptr %27, align 4, !tbaa !9
  %1230 = load i32, ptr %28, align 4, !tbaa !9
  %1231 = call i32 @w2c_hermes_0x5F_memset(ptr noundef %1227, i32 noundef %1228, i32 noundef %1229, i32 noundef %1230)
  store i32 %1231, ptr %26, align 4, !tbaa !9
  br label %1232

1232:                                             ; preds = %1204, %1183
  %1233 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1233, ptr %26, align 4, !tbaa !9
  store i32 588, ptr %27, align 4, !tbaa !9
  %1234 = load i32, ptr %27, align 4, !tbaa !9
  %1235 = load i32, ptr %26, align 4, !tbaa !9
  %1236 = add i32 %1235, %1234
  store i32 %1236, ptr %26, align 4, !tbaa !9
  %1237 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %1237, ptr %15, align 4, !tbaa !9
  %1238 = load ptr, ptr %5, align 8, !tbaa !5
  %1239 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_void0x20hermes0x3A0x3Avm0x3A0x3AAlignedHeapSegment0x3A0x3AresetLevel0x3C0x28hermes0x3A0x3Avm0x3A0x3AAdviseUnused0x2900x3E0x280x29(ptr noundef %1238, i32 noundef %1239)
  store i32 0, ptr %26, align 4, !tbaa !9
  %1240 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %1240, ptr %9, align 4, !tbaa !9
  %1241 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1241, ptr %26, align 4, !tbaa !9
  %1242 = load ptr, ptr %5, align 8, !tbaa !5
  %1243 = getelementptr inbounds %struct.w2c_hermes, ptr %1242, i32 0, i32 6
  %1244 = load i32, ptr %26, align 4, !tbaa !9
  %1245 = zext i32 %1244 to i64
  %1246 = call i32 @i32_load(ptr noundef %1243, i64 noundef %1245)
  store i32 %1246, ptr %26, align 4, !tbaa !9
  %1247 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %1247, ptr %12, align 4, !tbaa !9
  %1248 = load ptr, ptr %5, align 8, !tbaa !5
  %1249 = getelementptr inbounds %struct.w2c_hermes, ptr %1248, i32 0, i32 6
  %1250 = load i32, ptr %26, align 4, !tbaa !9
  %1251 = zext i32 %1250 to i64
  %1252 = add i64 %1251, 16384
  %1253 = call i32 @i32_load(ptr noundef %1249, i64 noundef %1252)
  store i32 %1253, ptr %26, align 4, !tbaa !9
  %1254 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %1254, ptr %11, align 4, !tbaa !9
  store i32 -1, ptr %27, align 4, !tbaa !9
  %1255 = load i32, ptr %26, align 4, !tbaa !9
  %1256 = load i32, ptr %27, align 4, !tbaa !9
  %1257 = icmp ne i32 %1255, %1256
  %1258 = zext i1 %1257 to i32
  store i32 %1258, ptr %26, align 4, !tbaa !9
  %1259 = load i32, ptr %26, align 4, !tbaa !9
  %1260 = icmp ne i32 %1259, 0
  br i1 %1260, label %1261, label %1262

1261:                                             ; preds = %1232
  br label %1308

1262:                                             ; preds = %1232
  %1263 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1263, ptr %26, align 4, !tbaa !9
  store i32 16384, ptr %27, align 4, !tbaa !9
  %1264 = load i32, ptr %27, align 4, !tbaa !9
  %1265 = load i32, ptr %26, align 4, !tbaa !9
  %1266 = add i32 %1265, %1264
  store i32 %1266, ptr %26, align 4, !tbaa !9
  %1267 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %1267, ptr %13, align 4, !tbaa !9
  br label %1268

1268:                                             ; preds = %1306, %1262
  %1269 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1269, ptr %26, align 4, !tbaa !9
  store i32 16381, ptr %27, align 4, !tbaa !9
  %1270 = load i32, ptr %26, align 4, !tbaa !9
  %1271 = load i32, ptr %27, align 4, !tbaa !9
  %1272 = icmp ugt i32 %1270, %1271
  %1273 = zext i1 %1272 to i32
  store i32 %1273, ptr %26, align 4, !tbaa !9
  %1274 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %1274, ptr %12, align 4, !tbaa !9
  %1275 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1275, ptr %26, align 4, !tbaa !9
  %1276 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1276, ptr %27, align 4, !tbaa !9
  store i32 1, ptr %28, align 4, !tbaa !9
  %1277 = load i32, ptr %28, align 4, !tbaa !9
  %1278 = load i32, ptr %27, align 4, !tbaa !9
  %1279 = add i32 %1278, %1277
  store i32 %1279, ptr %27, align 4, !tbaa !9
  %1280 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %1280, ptr %9, align 4, !tbaa !9
  store i32 2, ptr %28, align 4, !tbaa !9
  %1281 = load i32, ptr %28, align 4, !tbaa !9
  %1282 = and i32 %1281, 31
  %1283 = load i32, ptr %27, align 4, !tbaa !9
  %1284 = shl i32 %1283, %1282
  store i32 %1284, ptr %27, align 4, !tbaa !9
  %1285 = load i32, ptr %27, align 4, !tbaa !9
  %1286 = load i32, ptr %26, align 4, !tbaa !9
  %1287 = add i32 %1286, %1285
  store i32 %1287, ptr %26, align 4, !tbaa !9
  %1288 = load ptr, ptr %5, align 8, !tbaa !5
  %1289 = getelementptr inbounds %struct.w2c_hermes, ptr %1288, i32 0, i32 6
  %1290 = load i32, ptr %26, align 4, !tbaa !9
  %1291 = zext i32 %1290 to i64
  %1292 = call i32 @i32_load(ptr noundef %1289, i64 noundef %1291)
  store i32 %1292, ptr %26, align 4, !tbaa !9
  %1293 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %1293, ptr %11, align 4, !tbaa !9
  %1294 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1294, ptr %26, align 4, !tbaa !9
  %1295 = load i32, ptr %26, align 4, !tbaa !9
  %1296 = icmp ne i32 %1295, 0
  br i1 %1296, label %1297, label %1298

1297:                                             ; preds = %1268
  br label %1308

1298:                                             ; preds = %1268
  %1299 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1299, ptr %26, align 4, !tbaa !9
  store i32 -1, ptr %27, align 4, !tbaa !9
  %1300 = load i32, ptr %26, align 4, !tbaa !9
  %1301 = load i32, ptr %27, align 4, !tbaa !9
  %1302 = icmp eq i32 %1300, %1301
  %1303 = zext i1 %1302 to i32
  store i32 %1303, ptr %26, align 4, !tbaa !9
  %1304 = load i32, ptr %26, align 4, !tbaa !9
  %1305 = icmp ne i32 %1304, 0
  br i1 %1305, label %1306, label %1307

1306:                                             ; preds = %1298
  br label %1268

1307:                                             ; preds = %1298
  br label %1308

1308:                                             ; preds = %1307, %1297, %1261
  %1309 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1309, ptr %26, align 4, !tbaa !9
  store i32 -1, ptr %27, align 4, !tbaa !9
  %1310 = load i32, ptr %27, align 4, !tbaa !9
  %1311 = load i32, ptr %26, align 4, !tbaa !9
  %1312 = xor i32 %1311, %1310
  store i32 %1312, ptr %26, align 4, !tbaa !9
  %1313 = load i32, ptr %26, align 4, !tbaa !9
  %1314 = icmp ne i32 %1313, 0
  br i1 %1314, label %1315, label %1318

1315:                                             ; preds = %1308
  %1316 = load i32, ptr %26, align 4, !tbaa !9
  %1317 = call i32 @llvm.cttz.i32(i32 %1316, i1 true)
  br label %1319

1318:                                             ; preds = %1308
  br label %1319

1319:                                             ; preds = %1318, %1315
  %1320 = phi i32 [ %1317, %1315 ], [ 32, %1318 ]
  store i32 %1320, ptr %26, align 4, !tbaa !9
  %1321 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1321, ptr %27, align 4, !tbaa !9
  store i32 5, ptr %28, align 4, !tbaa !9
  %1322 = load i32, ptr %28, align 4, !tbaa !9
  %1323 = and i32 %1322, 31
  %1324 = load i32, ptr %27, align 4, !tbaa !9
  %1325 = shl i32 %1324, %1323
  store i32 %1325, ptr %27, align 4, !tbaa !9
  %1326 = load i32, ptr %27, align 4, !tbaa !9
  %1327 = load i32, ptr %26, align 4, !tbaa !9
  %1328 = add i32 %1327, %1326
  store i32 %1328, ptr %26, align 4, !tbaa !9
  store i32 524288, ptr %27, align 4, !tbaa !9
  %1329 = load i32, ptr %26, align 4, !tbaa !9
  %1330 = load i32, ptr %27, align 4, !tbaa !9
  %1331 = icmp ne i32 %1329, %1330
  %1332 = zext i1 %1331 to i32
  store i32 %1332, ptr %26, align 4, !tbaa !9
  %1333 = load i32, ptr %26, align 4, !tbaa !9
  %1334 = icmp ne i32 %1333, 0
  br i1 %1334, label %1335, label %1336

1335:                                             ; preds = %1319
  br label %2927

1336:                                             ; preds = %1319
  %1337 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1337, ptr %26, align 4, !tbaa !9
  store i32 1, ptr %27, align 4, !tbaa !9
  %1338 = load i32, ptr %26, align 4, !tbaa !9
  %1339 = load i32, ptr %27, align 4, !tbaa !9
  %1340 = icmp ne i32 %1338, %1339
  %1341 = zext i1 %1340 to i32
  store i32 %1341, ptr %26, align 4, !tbaa !9
  %1342 = load i32, ptr %26, align 4, !tbaa !9
  %1343 = icmp ne i32 %1342, 0
  br i1 %1343, label %1344, label %1530

1344:                                             ; preds = %1336
  %1345 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1345, ptr %26, align 4, !tbaa !9
  %1346 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1346, ptr %27, align 4, !tbaa !9
  %1347 = load ptr, ptr %5, align 8, !tbaa !5
  %1348 = getelementptr inbounds %struct.w2c_hermes, ptr %1347, i32 0, i32 6
  %1349 = load i32, ptr %27, align 4, !tbaa !9
  %1350 = zext i32 %1349 to i64
  %1351 = add i64 %1350, 4472
  %1352 = call i32 @i32_load(ptr noundef %1348, i64 noundef %1351)
  store i32 %1352, ptr %27, align 4, !tbaa !9
  store i32 1, ptr %28, align 4, !tbaa !9
  %1353 = load i32, ptr %28, align 4, !tbaa !9
  %1354 = load i32, ptr %27, align 4, !tbaa !9
  %1355 = add i32 %1354, %1353
  store i32 %1355, ptr %27, align 4, !tbaa !9
  %1356 = load ptr, ptr %5, align 8, !tbaa !5
  %1357 = getelementptr inbounds %struct.w2c_hermes, ptr %1356, i32 0, i32 6
  %1358 = load i32, ptr %26, align 4, !tbaa !9
  %1359 = zext i32 %1358 to i64
  %1360 = add i64 %1359, 4472
  %1361 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1357, i64 noundef %1360, i32 noundef %1361)
  %1362 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1362, ptr %26, align 4, !tbaa !9
  %1363 = load ptr, ptr %5, align 8, !tbaa !5
  %1364 = getelementptr inbounds %struct.w2c_hermes, ptr %1363, i32 0, i32 6
  %1365 = load i32, ptr %26, align 4, !tbaa !9
  %1366 = zext i32 %1365 to i64
  %1367 = add i64 %1366, 4096
  %1368 = call i32 @i32_load(ptr noundef %1364, i64 noundef %1367)
  store i32 %1368, ptr %26, align 4, !tbaa !9
  %1369 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %1369, ptr %9, align 4, !tbaa !9
  %1370 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1370, ptr %26, align 4, !tbaa !9
  store i32 7, ptr %27, align 4, !tbaa !9
  %1371 = load ptr, ptr %5, align 8, !tbaa !5
  %1372 = getelementptr inbounds %struct.w2c_hermes, ptr %1371, i32 0, i32 6
  %1373 = load i32, ptr %26, align 4, !tbaa !9
  %1374 = zext i32 %1373 to i64
  %1375 = add i64 %1374, 175
  %1376 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %1372, i64 noundef %1375, i32 noundef %1376)
  %1377 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1377, ptr %26, align 4, !tbaa !9
  store i32 39513, ptr %27, align 4, !tbaa !9
  %1378 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %1378, ptr %11, align 4, !tbaa !9
  %1379 = load ptr, ptr %5, align 8, !tbaa !5
  %1380 = getelementptr inbounds %struct.w2c_hermes, ptr %1379, i32 0, i32 6
  %1381 = load i32, ptr %27, align 4, !tbaa !9
  %1382 = zext i32 %1381 to i64
  %1383 = call i32 @i32_load(ptr noundef %1380, i64 noundef %1382)
  store i32 %1383, ptr %27, align 4, !tbaa !9
  %1384 = load ptr, ptr %5, align 8, !tbaa !5
  %1385 = getelementptr inbounds %struct.w2c_hermes, ptr %1384, i32 0, i32 6
  %1386 = load i32, ptr %26, align 4, !tbaa !9
  %1387 = zext i32 %1386 to i64
  %1388 = add i64 %1387, 164
  %1389 = load i32, ptr %27, 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 %26, align 4, !tbaa !9
  %1391 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1391, ptr %27, align 4, !tbaa !9
  %1392 = load ptr, ptr %5, align 8, !tbaa !5
  %1393 = getelementptr inbounds %struct.w2c_hermes, ptr %1392, i32 0, i32 6
  %1394 = load i32, ptr %27, align 4, !tbaa !9
  %1395 = zext i32 %1394 to i64
  %1396 = add i64 %1395, 3
  %1397 = call i32 @i32_load(ptr noundef %1393, i64 noundef %1396)
  store i32 %1397, ptr %27, align 4, !tbaa !9
  %1398 = load ptr, ptr %5, align 8, !tbaa !5
  %1399 = getelementptr inbounds %struct.w2c_hermes, ptr %1398, i32 0, i32 6
  %1400 = load i32, ptr %26, align 4, !tbaa !9
  %1401 = zext i32 %1400 to i64
  %1402 = add i64 %1401, 167
  %1403 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1399, i64 noundef %1402, i32 noundef %1403)
  %1404 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1404, ptr %26, align 4, !tbaa !9
  store i32 0, ptr %27, align 4, !tbaa !9
  %1405 = load ptr, ptr %5, align 8, !tbaa !5
  %1406 = getelementptr inbounds %struct.w2c_hermes, ptr %1405, i32 0, i32 6
  %1407 = load i32, ptr %26, align 4, !tbaa !9
  %1408 = zext i32 %1407 to i64
  %1409 = add i64 %1408, 171
  %1410 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %1406, i64 noundef %1409, i32 noundef %1410)
  %1411 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1411, ptr %26, align 4, !tbaa !9
  %1412 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1412, ptr %27, align 4, !tbaa !9
  store i32 164, ptr %28, align 4, !tbaa !9
  %1413 = load i32, ptr %28, align 4, !tbaa !9
  %1414 = load i32, ptr %27, align 4, !tbaa !9
  %1415 = add i32 %1414, %1413
  store i32 %1415, ptr %27, align 4, !tbaa !9
  %1416 = load ptr, ptr %5, align 8, !tbaa !5
  %1417 = load i32, ptr %26, align 4, !tbaa !9
  %1418 = load i32, ptr %27, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3ACollectionStats0x3A0x3AaddCollectionType0x28std0x3A0x3A_0x5F20x3A0x3Abasic_string0x3Cchar0x2C0x20std0x3A0x3A_0x5F20x3A0x3Achar_traits0x3Cchar0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar0x3E0x3E0x29(ptr noundef %1416, i32 noundef %1417, i32 noundef %1418)
  %1419 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1419, ptr %26, align 4, !tbaa !9
  %1420 = load ptr, ptr %5, align 8, !tbaa !5
  %1421 = getelementptr inbounds %struct.w2c_hermes, ptr %1420, i32 0, i32 6
  %1422 = load i32, ptr %26, align 4, !tbaa !9
  %1423 = zext i32 %1422 to i64
  %1424 = add i64 %1423, 175
  %1425 = call i32 @i32_load8_s(ptr noundef %1421, i64 noundef %1424)
  store i32 %1425, ptr %26, align 4, !tbaa !9
  store i32 0, ptr %27, align 4, !tbaa !9
  %1426 = load i32, ptr %26, align 4, !tbaa !9
  %1427 = load i32, ptr %27, align 4, !tbaa !9
  %1428 = icmp slt i32 %1426, %1427
  %1429 = zext i1 %1428 to i32
  store i32 %1429, ptr %26, align 4, !tbaa !9
  %1430 = load i32, ptr %26, align 4, !tbaa !9
  %1431 = icmp ne i32 %1430, 0
  br i1 %1431, label %1432, label %1442

1432:                                             ; preds = %1344
  %1433 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1433, ptr %26, align 4, !tbaa !9
  %1434 = load ptr, ptr %5, align 8, !tbaa !5
  %1435 = getelementptr inbounds %struct.w2c_hermes, ptr %1434, i32 0, i32 6
  %1436 = load i32, ptr %26, align 4, !tbaa !9
  %1437 = zext i32 %1436 to i64
  %1438 = add i64 %1437, 164
  %1439 = call i32 @i32_load(ptr noundef %1435, i64 noundef %1438)
  store i32 %1439, ptr %26, align 4, !tbaa !9
  %1440 = load ptr, ptr %5, align 8, !tbaa !5
  %1441 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %1440, i32 noundef %1441)
  br label %1442

1442:                                             ; preds = %1432, %1344
  %1443 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1443, ptr %26, align 4, !tbaa !9
  store i32 680, ptr %27, align 4, !tbaa !9
  %1444 = load i32, ptr %27, align 4, !tbaa !9
  %1445 = load i32, ptr %26, align 4, !tbaa !9
  %1446 = add i32 %1445, %1444
  store i32 %1446, ptr %26, align 4, !tbaa !9
  %1447 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %1447, ptr %11, align 4, !tbaa !9
  %1448 = load ptr, ptr %5, align 8, !tbaa !5
  %1449 = getelementptr inbounds %struct.w2c_hermes, ptr %1448, i32 0, i32 6
  %1450 = load i32, ptr %26, align 4, !tbaa !9
  %1451 = zext i32 %1450 to i64
  %1452 = call i64 @i64_load(ptr noundef %1449, i64 noundef %1451)
  store i64 %1452, ptr %31, align 8, !tbaa !11
  %1453 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %1453, ptr %19, align 8, !tbaa !11
  %1454 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1454, ptr %26, align 4, !tbaa !9
  store i32 688, ptr %27, align 4, !tbaa !9
  %1455 = load i32, ptr %27, align 4, !tbaa !9
  %1456 = load i32, ptr %26, align 4, !tbaa !9
  %1457 = add i32 %1456, %1455
  store i32 %1457, ptr %26, align 4, !tbaa !9
  %1458 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %1458, ptr %9, align 4, !tbaa !9
  %1459 = load ptr, ptr %5, align 8, !tbaa !5
  %1460 = getelementptr inbounds %struct.w2c_hermes, ptr %1459, i32 0, i32 6
  %1461 = load i32, ptr %26, align 4, !tbaa !9
  %1462 = zext i32 %1461 to i64
  %1463 = call i64 @i64_load(ptr noundef %1460, i64 noundef %1462)
  store i64 %1463, ptr %31, align 8, !tbaa !11
  %1464 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %1464, ptr %23, align 8, !tbaa !11
  %1465 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1465, ptr %26, align 4, !tbaa !9
  %1466 = load ptr, ptr %5, align 8, !tbaa !5
  %1467 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AfinalizeCompactee0x280x29(ptr noundef %1466, i32 noundef %1467)
  %1468 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1468, ptr %26, align 4, !tbaa !9
  %1469 = load ptr, ptr %5, align 8, !tbaa !5
  %1470 = getelementptr inbounds %struct.w2c_hermes, ptr %1469, i32 0, i32 6
  %1471 = load i32, ptr %26, align 4, !tbaa !9
  %1472 = zext i32 %1471 to i64
  %1473 = add i64 %1472, 4440
  %1474 = call i64 @i64_load32_u(ptr noundef %1470, i64 noundef %1473)
  store i64 %1474, ptr %31, align 8, !tbaa !11
  %1475 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %1475, ptr %22, align 8, !tbaa !11
  %1476 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1476, ptr %26, align 4, !tbaa !9
  store i64 0, ptr %32, align 8, !tbaa !11
  %1477 = load ptr, ptr %5, align 8, !tbaa !5
  %1478 = getelementptr inbounds %struct.w2c_hermes, ptr %1477, i32 0, i32 6
  %1479 = load i32, ptr %26, align 4, !tbaa !9
  %1480 = zext i32 %1479 to i64
  %1481 = add i64 %1480, 4440
  %1482 = load i64, ptr %32, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1478, i64 noundef %1481, i64 noundef %1482)
  %1483 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1483, ptr %26, align 4, !tbaa !9
  %1484 = load i64, ptr %22, align 8, !tbaa !11
  store i64 %1484, ptr %32, align 8, !tbaa !11
  %1485 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1485, ptr %28, align 4, !tbaa !9
  %1486 = load ptr, ptr %5, align 8, !tbaa !5
  %1487 = getelementptr inbounds %struct.w2c_hermes, ptr %1486, i32 0, i32 6
  %1488 = load i32, ptr %28, align 4, !tbaa !9
  %1489 = zext i32 %1488 to i64
  %1490 = call i64 @i64_load(ptr noundef %1487, i64 noundef %1489)
  store i64 %1490, ptr %33, align 8, !tbaa !11
  %1491 = load i64, ptr %33, align 8, !tbaa !11
  store i64 %1491, ptr %24, align 8, !tbaa !11
  %1492 = load i64, ptr %33, align 8, !tbaa !11
  %1493 = load i64, ptr %32, align 8, !tbaa !11
  %1494 = add i64 %1493, %1492
  store i64 %1494, ptr %32, align 8, !tbaa !11
  %1495 = load ptr, ptr %5, align 8, !tbaa !5
  %1496 = getelementptr inbounds %struct.w2c_hermes, ptr %1495, i32 0, i32 6
  %1497 = load i32, ptr %26, align 4, !tbaa !9
  %1498 = zext i32 %1497 to i64
  %1499 = load i64, ptr %32, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1496, i64 noundef %1498, i64 noundef %1499)
  %1500 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1500, ptr %26, align 4, !tbaa !9
  %1501 = load ptr, ptr %5, align 8, !tbaa !5
  %1502 = getelementptr inbounds %struct.w2c_hermes, ptr %1501, i32 0, i32 6
  %1503 = load i32, ptr %26, align 4, !tbaa !9
  %1504 = zext i32 %1503 to i64
  %1505 = call i64 @i64_load(ptr noundef %1502, i64 noundef %1504)
  store i64 %1505, ptr %31, align 8, !tbaa !11
  %1506 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %1506, ptr %22, align 8, !tbaa !11
  %1507 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1507, ptr %26, align 4, !tbaa !9
  %1508 = load ptr, ptr %5, align 8, !tbaa !5
  %1509 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AAlignedHeapSegment0x3A0x3AclearExternalMemoryCharge0x280x29(ptr noundef %1508, i32 noundef %1509)
  %1510 = load i64, ptr %18, align 8, !tbaa !11
  store i64 %1510, ptr %31, align 8, !tbaa !11
  %1511 = load i64, ptr %23, align 8, !tbaa !11
  store i64 %1511, ptr %32, align 8, !tbaa !11
  %1512 = load i64, ptr %32, align 8, !tbaa !11
  %1513 = load i64, ptr %31, align 8, !tbaa !11
  %1514 = add i64 %1513, %1512
  store i64 %1514, ptr %31, align 8, !tbaa !11
  %1515 = load i64, ptr %24, align 8, !tbaa !11
  store i64 %1515, ptr %32, align 8, !tbaa !11
  %1516 = load i64, ptr %32, align 8, !tbaa !11
  %1517 = load i64, ptr %31, align 8, !tbaa !11
  %1518 = sub i64 %1517, %1516
  store i64 %1518, ptr %31, align 8, !tbaa !11
  %1519 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %1519, ptr %18, align 8, !tbaa !11
  %1520 = load i64, ptr %17, align 8, !tbaa !11
  store i64 %1520, ptr %31, align 8, !tbaa !11
  %1521 = load i64, ptr %19, align 8, !tbaa !11
  store i64 %1521, ptr %32, align 8, !tbaa !11
  %1522 = load i64, ptr %32, align 8, !tbaa !11
  %1523 = load i64, ptr %31, align 8, !tbaa !11
  %1524 = add i64 %1523, %1522
  store i64 %1524, ptr %31, align 8, !tbaa !11
  %1525 = load i64, ptr %22, align 8, !tbaa !11
  store i64 %1525, ptr %32, align 8, !tbaa !11
  %1526 = load i64, ptr %32, align 8, !tbaa !11
  %1527 = load i64, ptr %31, align 8, !tbaa !11
  %1528 = sub i64 %1527, %1526
  store i64 %1528, ptr %31, align 8, !tbaa !11
  %1529 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %1529, ptr %17, align 8, !tbaa !11
  br label %1699

1530:                                             ; preds = %1336
  %1531 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1531, ptr %26, align 4, !tbaa !9
  %1532 = load ptr, ptr %5, align 8, !tbaa !5
  %1533 = getelementptr inbounds %struct.w2c_hermes, ptr %1532, i32 0, i32 6
  %1534 = load i32, ptr %26, align 4, !tbaa !9
  %1535 = zext i32 %1534 to i64
  %1536 = add i64 %1535, 4440
  %1537 = call i64 @i64_load32_u(ptr noundef %1533, i64 noundef %1536)
  store i64 %1537, ptr %31, align 8, !tbaa !11
  %1538 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %1538, ptr %19, align 8, !tbaa !11
  %1539 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1539, ptr %26, align 4, !tbaa !9
  store i64 0, ptr %32, align 8, !tbaa !11
  %1540 = load ptr, ptr %5, align 8, !tbaa !5
  %1541 = getelementptr inbounds %struct.w2c_hermes, ptr %1540, i32 0, i32 6
  %1542 = load i32, ptr %26, align 4, !tbaa !9
  %1543 = zext i32 %1542 to i64
  %1544 = add i64 %1543, 4440
  %1545 = load i64, ptr %32, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1541, i64 noundef %1544, i64 noundef %1545)
  %1546 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1546, ptr %26, align 4, !tbaa !9
  store i32 688, ptr %27, align 4, !tbaa !9
  %1547 = load i32, ptr %27, align 4, !tbaa !9
  %1548 = load i32, ptr %26, align 4, !tbaa !9
  %1549 = add i32 %1548, %1547
  store i32 %1549, ptr %26, align 4, !tbaa !9
  %1550 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %1550, ptr %9, align 4, !tbaa !9
  %1551 = load i64, ptr %19, align 8, !tbaa !11
  store i64 %1551, ptr %32, align 8, !tbaa !11
  %1552 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1552, ptr %28, align 4, !tbaa !9
  %1553 = load ptr, ptr %5, align 8, !tbaa !5
  %1554 = getelementptr inbounds %struct.w2c_hermes, ptr %1553, i32 0, i32 6
  %1555 = load i32, ptr %28, align 4, !tbaa !9
  %1556 = zext i32 %1555 to i64
  %1557 = call i64 @i64_load(ptr noundef %1554, i64 noundef %1556)
  store i64 %1557, ptr %33, align 8, !tbaa !11
  %1558 = load i64, ptr %33, align 8, !tbaa !11
  %1559 = load i64, ptr %32, align 8, !tbaa !11
  %1560 = add i64 %1559, %1558
  store i64 %1560, ptr %32, align 8, !tbaa !11
  %1561 = load ptr, ptr %5, align 8, !tbaa !5
  %1562 = getelementptr inbounds %struct.w2c_hermes, ptr %1561, i32 0, i32 6
  %1563 = load i32, ptr %26, align 4, !tbaa !9
  %1564 = zext i32 %1563 to i64
  %1565 = load i64, ptr %32, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1562, i64 noundef %1564, i64 noundef %1565)
  %1566 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1566, ptr %26, align 4, !tbaa !9
  %1567 = load ptr, ptr %5, align 8, !tbaa !5
  %1568 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AAlignedHeapSegment0x3A0x3AclearExternalMemoryCharge0x280x29(ptr noundef %1567, i32 noundef %1568)
  %1569 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1569, ptr %26, align 4, !tbaa !9
  %1570 = load ptr, ptr %5, align 8, !tbaa !5
  %1571 = getelementptr inbounds %struct.w2c_hermes, ptr %1570, i32 0, i32 6
  %1572 = load i32, ptr %26, align 4, !tbaa !9
  %1573 = zext i32 %1572 to i64
  %1574 = add i64 %1573, 624
  %1575 = call double @f64_load(ptr noundef %1571, i64 noundef %1574)
  store double %1575, ptr %36, align 8, !tbaa !13
  %1576 = load double, ptr %36, align 8, !tbaa !13
  store double %1576, ptr %25, align 8, !tbaa !13
  store double 1.000000e+00, ptr %37, align 8, !tbaa !13
  %1577 = load double, ptr %36, align 8, !tbaa !13
  %1578 = load double, ptr %37, align 8, !tbaa !13
  %1579 = fcmp ole double %1577, %1578
  %1580 = zext i1 %1579 to i32
  store i32 %1580, ptr %26, align 4, !tbaa !9
  %1581 = load i32, ptr %26, align 4, !tbaa !9
  %1582 = icmp ne i32 %1581, 0
  %1583 = xor i1 %1582, true
  %1584 = zext i1 %1583 to i32
  store i32 %1584, ptr %26, align 4, !tbaa !9
  %1585 = load i32, ptr %26, align 4, !tbaa !9
  %1586 = icmp ne i32 %1585, 0
  br i1 %1586, label %1587, label %1588

1587:                                             ; preds = %1530
  br label %2945

1588:                                             ; preds = %1530
  %1589 = load double, ptr %25, align 8, !tbaa !13
  store double %1589, ptr %36, align 8, !tbaa !13
  store double 2.500000e-01, ptr %37, align 8, !tbaa !13
  %1590 = load double, ptr %36, align 8, !tbaa !13
  %1591 = load double, ptr %37, align 8, !tbaa !13
  %1592 = fcmp oge double %1590, %1591
  %1593 = zext i1 %1592 to i32
  store i32 %1593, ptr %26, align 4, !tbaa !9
  %1594 = load i32, ptr %26, align 4, !tbaa !9
  %1595 = icmp ne i32 %1594, 0
  %1596 = xor i1 %1595, true
  %1597 = zext i1 %1596 to i32
  store i32 %1597, ptr %26, align 4, !tbaa !9
  %1598 = load i32, ptr %26, align 4, !tbaa !9
  %1599 = icmp ne i32 %1598, 0
  br i1 %1599, label %1600, label %1601

1600:                                             ; preds = %1588
  br label %2945

1601:                                             ; preds = %1588
  %1602 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1602, ptr %26, align 4, !tbaa !9
  %1603 = load ptr, ptr %5, align 8, !tbaa !5
  %1604 = getelementptr inbounds %struct.w2c_hermes, ptr %1603, i32 0, i32 6
  %1605 = load i32, ptr %26, align 4, !tbaa !9
  %1606 = zext i32 %1605 to i64
  %1607 = add i64 %1606, 4096
  %1608 = call i32 @i32_load(ptr noundef %1604, i64 noundef %1607)
  store i32 %1608, ptr %26, align 4, !tbaa !9
  %1609 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %1609, ptr %9, align 4, !tbaa !9
  %1610 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1610, ptr %26, align 4, !tbaa !9
  %1611 = load ptr, ptr %5, align 8, !tbaa !5
  %1612 = call i64 @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Achrono0x3A0x3Asteady_clock0x3A0x3Anow0x280x29(ptr noundef %1611)
  store i64 %1612, ptr %32, align 8, !tbaa !11
  %1613 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1613, ptr %28, align 4, !tbaa !9
  %1614 = load ptr, ptr %5, align 8, !tbaa !5
  %1615 = getelementptr inbounds %struct.w2c_hermes, ptr %1614, i32 0, i32 6
  %1616 = load i32, ptr %28, align 4, !tbaa !9
  %1617 = zext i32 %1616 to i64
  %1618 = add i64 %1617, 40
  %1619 = call i64 @i64_load(ptr noundef %1615, i64 noundef %1618)
  store i64 %1619, ptr %33, align 8, !tbaa !11
  %1620 = load i64, ptr %33, align 8, !tbaa !11
  %1621 = load i64, ptr %32, align 8, !tbaa !11
  %1622 = sub i64 %1621, %1620
  store i64 %1622, ptr %32, align 8, !tbaa !11
  %1623 = load i64, ptr %32, align 8, !tbaa !11
  store i64 %1623, ptr %19, align 8, !tbaa !11
  store i64 9999999, ptr %33, align 8, !tbaa !11
  %1624 = load i64, ptr %32, align 8, !tbaa !11
  %1625 = load i64, ptr %33, align 8, !tbaa !11
  %1626 = icmp sle i64 %1624, %1625
  %1627 = zext i1 %1626 to i32
  %1628 = sext i32 %1627 to i64
  %1629 = trunc i64 %1628 to i32
  store i32 %1629, ptr %27, align 4, !tbaa !9
  %1630 = load i32, ptr %27, align 4, !tbaa !9
  %1631 = icmp ne i32 %1630, 0
  br i1 %1631, label %1632, label %1657

1632:                                             ; preds = %1601
  store double 1.000000e+00, ptr %37, align 8, !tbaa !13
  %1633 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1633, ptr %28, align 4, !tbaa !9
  %1634 = load ptr, ptr %5, align 8, !tbaa !5
  %1635 = getelementptr inbounds %struct.w2c_hermes, ptr %1634, i32 0, i32 6
  %1636 = load i32, ptr %28, align 4, !tbaa !9
  %1637 = zext i32 %1636 to i64
  %1638 = add i64 %1637, 624
  %1639 = call double @f64_load(ptr noundef %1635, i64 noundef %1638)
  store double %1639, ptr %38, align 8, !tbaa !13
  store double 1.100000e+00, ptr %39, align 8, !tbaa !13
  %1640 = load double, ptr %39, align 8, !tbaa !13
  %1641 = load double, ptr %38, align 8, !tbaa !13
  %1642 = fmul double %1641, %1640
  store double %1642, ptr %38, align 8, !tbaa !13
  %1643 = load double, ptr %38, align 8, !tbaa !13
  store double %1643, ptr %25, align 8, !tbaa !13
  %1644 = load double, ptr %25, align 8, !tbaa !13
  store double %1644, ptr %39, align 8, !tbaa !13
  store double 1.000000e+00, ptr %40, align 8, !tbaa !13
  %1645 = load double, ptr %39, align 8, !tbaa !13
  %1646 = load double, ptr %40, align 8, !tbaa !13
  %1647 = fcmp ogt double %1645, %1646
  %1648 = zext i1 %1647 to i32
  store i32 %1648, ptr %29, align 4, !tbaa !9
  %1649 = load i32, ptr %29, align 4, !tbaa !9
  %1650 = icmp ne i32 %1649, 0
  br i1 %1650, label %1651, label %1653

1651:                                             ; preds = %1632
  %1652 = load double, ptr %37, align 8, !tbaa !13
  br label %1655

1653:                                             ; preds = %1632
  %1654 = load double, ptr %38, align 8, !tbaa !13
  br label %1655

1655:                                             ; preds = %1653, %1651
  %1656 = phi double [ %1652, %1651 ], [ %1654, %1653 ]
  store double %1656, ptr %37, align 8, !tbaa !13
  br label %1691

1657:                                             ; preds = %1601
  %1658 = load i64, ptr %19, align 8, !tbaa !11
  store i64 %1658, ptr %32, align 8, !tbaa !11
  store i64 21000000, ptr %33, align 8, !tbaa !11
  %1659 = load i64, ptr %32, align 8, !tbaa !11
  %1660 = load i64, ptr %33, align 8, !tbaa !11
  %1661 = icmp ult i64 %1659, %1660
  %1662 = zext i1 %1661 to i32
  store i32 %1662, ptr %27, align 4, !tbaa !9
  %1663 = load i32, ptr %27, align 4, !tbaa !9
  %1664 = icmp ne i32 %1663, 0
  br i1 %1664, label %1665, label %1666

1665:                                             ; preds = %1657
  br label %1699

1666:                                             ; preds = %1657
  store double 2.500000e-01, ptr %37, align 8, !tbaa !13
  %1667 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1667, ptr %28, align 4, !tbaa !9
  %1668 = load ptr, ptr %5, align 8, !tbaa !5
  %1669 = getelementptr inbounds %struct.w2c_hermes, ptr %1668, i32 0, i32 6
  %1670 = load i32, ptr %28, align 4, !tbaa !9
  %1671 = zext i32 %1670 to i64
  %1672 = add i64 %1671, 624
  %1673 = call double @f64_load(ptr noundef %1669, i64 noundef %1672)
  store double %1673, ptr %38, align 8, !tbaa !13
  store double 9.000000e-01, ptr %39, align 8, !tbaa !13
  %1674 = load double, ptr %39, align 8, !tbaa !13
  %1675 = load double, ptr %38, align 8, !tbaa !13
  %1676 = fmul double %1675, %1674
  store double %1676, ptr %38, align 8, !tbaa !13
  %1677 = load double, ptr %38, align 8, !tbaa !13
  store double %1677, ptr %25, align 8, !tbaa !13
  %1678 = load double, ptr %25, align 8, !tbaa !13
  store double %1678, ptr %39, align 8, !tbaa !13
  store double 2.500000e-01, ptr %40, align 8, !tbaa !13
  %1679 = load double, ptr %39, align 8, !tbaa !13
  %1680 = load double, ptr %40, align 8, !tbaa !13
  %1681 = fcmp olt double %1679, %1680
  %1682 = zext i1 %1681 to i32
  store i32 %1682, ptr %29, align 4, !tbaa !9
  %1683 = load i32, ptr %29, align 4, !tbaa !9
  %1684 = icmp ne i32 %1683, 0
  br i1 %1684, label %1685, label %1687

1685:                                             ; preds = %1666
  %1686 = load double, ptr %37, align 8, !tbaa !13
  br label %1689

1687:                                             ; preds = %1666
  %1688 = load double, ptr %38, align 8, !tbaa !13
  br label %1689

1689:                                             ; preds = %1687, %1685
  %1690 = phi double [ %1686, %1685 ], [ %1688, %1687 ]
  store double %1690, ptr %37, align 8, !tbaa !13
  br label %1691

1691:                                             ; preds = %1689, %1655
  %1692 = load double, ptr %37, align 8, !tbaa !13
  store double %1692, ptr %25, align 8, !tbaa !13
  %1693 = load ptr, ptr %5, align 8, !tbaa !5
  %1694 = getelementptr inbounds %struct.w2c_hermes, ptr %1693, i32 0, i32 6
  %1695 = load i32, ptr %26, align 4, !tbaa !9
  %1696 = zext i32 %1695 to i64
  %1697 = add i64 %1696, 624
  %1698 = load double, ptr %37, align 8, !tbaa !13
  call void @f64_store(ptr noundef %1694, i64 noundef %1697, double noundef %1698)
  br label %1699

1699:                                             ; preds = %1691, %1665, %1442
  %1700 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1700, ptr %26, align 4, !tbaa !9
  %1701 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1701, ptr %27, align 4, !tbaa !9
  %1702 = load ptr, ptr %5, align 8, !tbaa !5
  %1703 = getelementptr inbounds %struct.w2c_hermes, ptr %1702, i32 0, i32 6
  %1704 = load i32, ptr %27, align 4, !tbaa !9
  %1705 = zext i32 %1704 to i64
  %1706 = add i64 %1705, 624
  %1707 = call double @f64_load(ptr noundef %1703, i64 noundef %1706)
  store double %1707, ptr %37, align 8, !tbaa !13
  store double 0x414F580000000000, ptr %38, align 8, !tbaa !13
  %1708 = load double, ptr %38, align 8, !tbaa !13
  %1709 = load double, ptr %37, align 8, !tbaa !13
  %1710 = fmul double %1709, %1708
  store double %1710, ptr %37, align 8, !tbaa !13
  %1711 = load double, ptr %37, align 8, !tbaa !13
  store double %1711, ptr %25, align 8, !tbaa !13
  store double 0x41F0000000000000, ptr %38, align 8, !tbaa !13
  %1712 = load double, ptr %37, align 8, !tbaa !13
  %1713 = load double, ptr %38, align 8, !tbaa !13
  %1714 = fcmp olt double %1712, %1713
  %1715 = zext i1 %1714 to i32
  store i32 %1715, ptr %27, align 4, !tbaa !9
  %1716 = load double, ptr %25, align 8, !tbaa !13
  store double %1716, ptr %38, align 8, !tbaa !13
  store double 0.000000e+00, ptr %39, align 8, !tbaa !13
  %1717 = load double, ptr %38, align 8, !tbaa !13
  %1718 = load double, ptr %39, align 8, !tbaa !13
  %1719 = fcmp oge double %1717, %1718
  %1720 = zext i1 %1719 to i32
  store i32 %1720, ptr %28, align 4, !tbaa !9
  %1721 = load i32, ptr %28, align 4, !tbaa !9
  %1722 = load i32, ptr %27, align 4, !tbaa !9
  %1723 = and i32 %1722, %1721
  store i32 %1723, ptr %27, align 4, !tbaa !9
  %1724 = load i32, ptr %27, align 4, !tbaa !9
  %1725 = icmp ne i32 %1724, 0
  br i1 %1725, label %1726, label %1763

1726:                                             ; preds = %1699
  %1727 = load double, ptr %25, align 8, !tbaa !13
  store double %1727, ptr %37, align 8, !tbaa !13
  %1728 = load double, ptr %37, align 8, !tbaa !13
  %1729 = load double, ptr %37, align 8, !tbaa !13
  %1730 = fcmp une double %1728, %1729
  %1731 = xor i1 %1730, true
  %1732 = xor i1 %1731, true
  %1733 = zext i1 %1732 to i32
  %1734 = sext i32 %1733 to i64
  %1735 = call i64 @llvm.expect.i64(i64 %1734, i64 0)
  %1736 = icmp ne i64 %1735, 0
  br i1 %1736, label %1737, label %1739

1737:                                             ; preds = %1726
  call void @wasm_rt_trap(i32 noundef 4) #8
  unreachable

1738:                                             ; No predecessors!
  br label %1761

1739:                                             ; preds = %1726
  %1740 = load double, ptr %37, align 8, !tbaa !13
  %1741 = fcmp ogt double %1740, -1.000000e+00
  br i1 %1741, label %1742, label %1745

1742:                                             ; preds = %1739
  %1743 = load double, ptr %37, align 8, !tbaa !13
  %1744 = fcmp olt double %1743, 0x41F0000000000000
  br label %1745

1745:                                             ; preds = %1742, %1739
  %1746 = phi i1 [ false, %1739 ], [ %1744, %1742 ]
  %1747 = xor i1 %1746, true
  %1748 = xor i1 %1747, true
  %1749 = xor i1 %1748, true
  %1750 = zext i1 %1749 to i32
  %1751 = sext i32 %1750 to i64
  %1752 = call i64 @llvm.expect.i64(i64 %1751, i64 0)
  %1753 = icmp ne i64 %1752, 0
  br i1 %1753, label %1754, label %1756

1754:                                             ; preds = %1745
  call void @wasm_rt_trap(i32 noundef 2) #8
  unreachable

1755:                                             ; No predecessors!
  br label %1759

1756:                                             ; preds = %1745
  %1757 = load double, ptr %37, align 8, !tbaa !13
  %1758 = fptoui double %1757 to i32
  br label %1759

1759:                                             ; preds = %1756, %1755
  %1760 = phi i32 [ 0, %1755 ], [ %1758, %1756 ]
  br label %1761

1761:                                             ; preds = %1759, %1738
  %1762 = phi i32 [ 0, %1738 ], [ %1760, %1759 ]
  store i32 %1762, ptr %27, align 4, !tbaa !9
  br label %1764

1763:                                             ; preds = %1699
  store i32 0, ptr %27, align 4, !tbaa !9
  br label %1764

1764:                                             ; preds = %1763, %1761
  %1765 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %1765, ptr %9, align 4, !tbaa !9
  %1766 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1766, ptr %28, align 4, !tbaa !9
  %1767 = load ptr, ptr %5, align 8, !tbaa !5
  %1768 = getelementptr inbounds %struct.w2c_hermes, ptr %1767, i32 0, i32 6
  %1769 = load i32, ptr %28, align 4, !tbaa !9
  %1770 = zext i32 %1769 to i64
  %1771 = add i64 %1770, 588
  %1772 = call i32 @i32_load(ptr noundef %1768, i64 noundef %1771)
  store i32 %1772, ptr %28, align 4, !tbaa !9
  %1773 = load i32, ptr %28, align 4, !tbaa !9
  %1774 = load i32, ptr %27, align 4, !tbaa !9
  %1775 = add i32 %1774, %1773
  store i32 %1775, ptr %27, align 4, !tbaa !9
  store i32 86016, ptr %28, align 4, !tbaa !9
  %1776 = load i32, ptr %28, align 4, !tbaa !9
  %1777 = load i32, ptr %27, align 4, !tbaa !9
  %1778 = add i32 %1777, %1776
  store i32 %1778, ptr %27, align 4, !tbaa !9
  %1779 = load ptr, ptr %5, align 8, !tbaa !5
  %1780 = load i32, ptr %26, align 4, !tbaa !9
  %1781 = load i32, ptr %27, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AAlignedHeapSegment0x3A0x3AsetEffectiveEnd0x28char0x2A0x29(ptr noundef %1779, i32 noundef %1780, i32 noundef %1781)
  %1782 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1782, ptr %26, align 4, !tbaa !9
  %1783 = load ptr, ptr %5, align 8, !tbaa !5
  %1784 = getelementptr inbounds %struct.w2c_hermes, ptr %1783, i32 0, i32 6
  %1785 = load i32, ptr %26, align 4, !tbaa !9
  %1786 = zext i32 %1785 to i64
  %1787 = add i64 %1786, 656
  %1788 = call i32 @i32_load(ptr noundef %1784, i64 noundef %1787)
  store i32 %1788, ptr %26, align 4, !tbaa !9
  %1789 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %1789, ptr %11, align 4, !tbaa !9
  %1790 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1790, ptr %26, align 4, !tbaa !9
  %1791 = load ptr, ptr %5, align 8, !tbaa !5
  %1792 = getelementptr inbounds %struct.w2c_hermes, ptr %1791, i32 0, i32 6
  %1793 = load i32, ptr %26, align 4, !tbaa !9
  %1794 = zext i32 %1793 to i64
  %1795 = add i64 %1794, 4464
  %1796 = call i32 @i32_load(ptr noundef %1792, i64 noundef %1795)
  store i32 %1796, ptr %26, align 4, !tbaa !9
  %1797 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %1797, ptr %12, align 4, !tbaa !9
  %1798 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1798, ptr %26, align 4, !tbaa !9
  %1799 = load ptr, ptr %5, align 8, !tbaa !5
  %1800 = getelementptr inbounds %struct.w2c_hermes, ptr %1799, i32 0, i32 6
  %1801 = load i32, ptr %26, align 4, !tbaa !9
  %1802 = zext i32 %1801 to i64
  %1803 = add i64 %1802, 588
  %1804 = call i32 @i32_load(ptr noundef %1800, i64 noundef %1803)
  store i32 %1804, ptr %26, align 4, !tbaa !9
  %1805 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %1805, ptr %13, align 4, !tbaa !9
  %1806 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1806, ptr %26, align 4, !tbaa !9
  %1807 = load ptr, ptr %5, align 8, !tbaa !5
  %1808 = getelementptr inbounds %struct.w2c_hermes, ptr %1807, i32 0, i32 6
  %1809 = load i32, ptr %26, align 4, !tbaa !9
  %1810 = zext i32 %1809 to i64
  %1811 = add i64 %1810, 4096
  %1812 = call i32 @i32_load(ptr noundef %1808, i64 noundef %1811)
  store i32 %1812, ptr %26, align 4, !tbaa !9
  %1813 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %1813, ptr %9, align 4, !tbaa !9
  %1814 = load i64, ptr %18, align 8, !tbaa !11
  store i64 %1814, ptr %32, align 8, !tbaa !11
  %1815 = load i64, ptr %21, align 8, !tbaa !11
  store i64 %1815, ptr %33, align 8, !tbaa !11
  %1816 = load i64, ptr %33, align 8, !tbaa !11
  %1817 = load i64, ptr %32, align 8, !tbaa !11
  %1818 = sub i64 %1817, %1816
  store i64 %1818, ptr %32, align 8, !tbaa !11
  %1819 = load ptr, ptr %5, align 8, !tbaa !5
  %1820 = getelementptr inbounds %struct.w2c_hermes, ptr %1819, i32 0, i32 6
  %1821 = load i32, ptr %26, align 4, !tbaa !9
  %1822 = zext i32 %1821 to i64
  %1823 = add i64 %1822, 112
  %1824 = load i64, ptr %32, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1820, i64 noundef %1823, i64 noundef %1824)
  %1825 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1825, ptr %26, align 4, !tbaa !9
  %1826 = load i64, ptr %17, align 8, !tbaa !11
  store i64 %1826, ptr %32, align 8, !tbaa !11
  %1827 = load i64, ptr %20, align 8, !tbaa !11
  store i64 %1827, ptr %33, align 8, !tbaa !11
  %1828 = load i64, ptr %33, align 8, !tbaa !11
  %1829 = load i64, ptr %32, align 8, !tbaa !11
  %1830 = sub i64 %1829, %1828
  store i64 %1830, ptr %32, align 8, !tbaa !11
  %1831 = load ptr, ptr %5, align 8, !tbaa !5
  %1832 = getelementptr inbounds %struct.w2c_hermes, ptr %1831, i32 0, i32 6
  %1833 = load i32, ptr %26, align 4, !tbaa !9
  %1834 = zext i32 %1833 to i64
  %1835 = add i64 %1834, 104
  %1836 = load i64, ptr %32, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1832, i64 noundef %1835, i64 noundef %1836)
  %1837 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1837, ptr %26, align 4, !tbaa !9
  %1838 = load i64, ptr %18, align 8, !tbaa !11
  store i64 %1838, ptr %32, align 8, !tbaa !11
  %1839 = load ptr, ptr %5, align 8, !tbaa !5
  %1840 = getelementptr inbounds %struct.w2c_hermes, ptr %1839, i32 0, i32 6
  %1841 = load i32, ptr %26, align 4, !tbaa !9
  %1842 = zext i32 %1841 to i64
  %1843 = add i64 %1842, 80
  %1844 = load i64, ptr %32, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1840, i64 noundef %1843, i64 noundef %1844)
  %1845 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1845, ptr %26, align 4, !tbaa !9
  %1846 = load i64, ptr %17, align 8, !tbaa !11
  store i64 %1846, ptr %32, align 8, !tbaa !11
  %1847 = load ptr, ptr %5, align 8, !tbaa !5
  %1848 = getelementptr inbounds %struct.w2c_hermes, ptr %1847, i32 0, i32 6
  %1849 = load i32, ptr %26, align 4, !tbaa !9
  %1850 = zext i32 %1849 to i64
  %1851 = add i64 %1850, 72
  %1852 = load i64, ptr %32, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1848, i64 noundef %1851, i64 noundef %1852)
  %1853 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1853, ptr %26, align 4, !tbaa !9
  %1854 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1854, ptr %27, align 4, !tbaa !9
  %1855 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1855, ptr %28, align 4, !tbaa !9
  store i32 0, ptr %29, align 4, !tbaa !9
  %1856 = load i32, ptr %28, align 4, !tbaa !9
  %1857 = load i32, ptr %29, align 4, !tbaa !9
  %1858 = icmp ne i32 %1856, %1857
  %1859 = zext i1 %1858 to i32
  store i32 %1859, ptr %28, align 4, !tbaa !9
  %1860 = load i32, ptr %28, align 4, !tbaa !9
  %1861 = load i32, ptr %27, align 4, !tbaa !9
  %1862 = add i32 %1861, %1860
  store i32 %1862, ptr %27, align 4, !tbaa !9
  %1863 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1863, ptr %28, align 4, !tbaa !9
  store i32 0, ptr %29, align 4, !tbaa !9
  %1864 = load i32, ptr %28, align 4, !tbaa !9
  %1865 = load i32, ptr %29, align 4, !tbaa !9
  %1866 = icmp ne i32 %1864, %1865
  %1867 = zext i1 %1866 to i32
  store i32 %1867, ptr %28, align 4, !tbaa !9
  %1868 = load i32, ptr %28, align 4, !tbaa !9
  %1869 = load i32, ptr %27, align 4, !tbaa !9
  %1870 = add i32 %1869, %1868
  store i32 %1870, ptr %27, align 4, !tbaa !9
  store i32 22, ptr %28, align 4, !tbaa !9
  %1871 = load i32, ptr %28, align 4, !tbaa !9
  %1872 = and i32 %1871, 31
  %1873 = load i32, ptr %27, align 4, !tbaa !9
  %1874 = shl i32 %1873, %1872
  store i32 %1874, ptr %27, align 4, !tbaa !9
  %1875 = load i32, ptr %27, align 4, !tbaa !9
  %1876 = zext i32 %1875 to i64
  store i64 %1876, ptr %32, align 8, !tbaa !11
  %1877 = load i64, ptr %32, align 8, !tbaa !11
  store i64 %1877, ptr %19, align 8, !tbaa !11
  %1878 = load ptr, ptr %5, align 8, !tbaa !5
  %1879 = getelementptr inbounds %struct.w2c_hermes, ptr %1878, i32 0, i32 6
  %1880 = load i32, ptr %26, align 4, !tbaa !9
  %1881 = zext i32 %1880 to i64
  %1882 = add i64 %1881, 88
  %1883 = load i64, ptr %32, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1879, i64 noundef %1882, i64 noundef %1883)
  %1884 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1884, ptr %26, align 4, !tbaa !9
  %1885 = load i64, ptr %19, align 8, !tbaa !11
  store i64 %1885, ptr %32, align 8, !tbaa !11
  %1886 = load ptr, ptr %5, align 8, !tbaa !5
  %1887 = getelementptr inbounds %struct.w2c_hermes, ptr %1886, i32 0, i32 6
  %1888 = load i32, ptr %26, align 4, !tbaa !9
  %1889 = zext i32 %1888 to i64
  %1890 = add i64 %1889, 96
  %1891 = load i64, ptr %32, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1887, i64 noundef %1890, i64 noundef %1891)
  %1892 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1892, ptr %26, align 4, !tbaa !9
  store i32 1, ptr %27, align 4, !tbaa !9
  %1893 = load i32, ptr %26, align 4, !tbaa !9
  %1894 = load i32, ptr %27, align 4, !tbaa !9
  %1895 = icmp ne i32 %1893, %1894
  %1896 = zext i1 %1895 to i32
  store i32 %1896, ptr %26, align 4, !tbaa !9
  %1897 = load i32, ptr %26, align 4, !tbaa !9
  %1898 = icmp ne i32 %1897, 0
  br i1 %1898, label %1899, label %1900

1899:                                             ; preds = %1764
  br label %1965

1900:                                             ; preds = %1764
  %1901 = load i64, ptr %17, align 8, !tbaa !11
  store i64 %1901, ptr %31, align 8, !tbaa !11
  %1902 = load i64, ptr %20, align 8, !tbaa !11
  store i64 %1902, ptr %32, align 8, !tbaa !11
  %1903 = load i64, ptr %31, align 8, !tbaa !11
  %1904 = load i64, ptr %32, align 8, !tbaa !11
  %1905 = icmp ult i64 %1903, %1904
  %1906 = zext i1 %1905 to i32
  store i32 %1906, ptr %26, align 4, !tbaa !9
  %1907 = load i32, ptr %26, align 4, !tbaa !9
  %1908 = icmp ne i32 %1907, 0
  br i1 %1908, label %1909, label %1910

1909:                                             ; preds = %1900
  br label %2963

1910:                                             ; preds = %1900
  %1911 = load i64, ptr %18, align 8, !tbaa !11
  store i64 %1911, ptr %31, align 8, !tbaa !11
  %1912 = load i64, ptr %21, align 8, !tbaa !11
  store i64 %1912, ptr %32, align 8, !tbaa !11
  %1913 = load i64, ptr %31, align 8, !tbaa !11
  %1914 = load i64, ptr %32, align 8, !tbaa !11
  %1915 = icmp ult i64 %1913, %1914
  %1916 = zext i1 %1915 to i32
  store i32 %1916, ptr %26, align 4, !tbaa !9
  %1917 = load i32, ptr %26, align 4, !tbaa !9
  %1918 = icmp ne i32 %1917, 0
  br i1 %1918, label %1919, label %1920

1919:                                             ; preds = %1910
  br label %2981

1920:                                             ; preds = %1910
  %1921 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1921, ptr %26, align 4, !tbaa !9
  store i32 4432, ptr %27, align 4, !tbaa !9
  %1922 = load i32, ptr %27, align 4, !tbaa !9
  %1923 = load i32, ptr %26, align 4, !tbaa !9
  %1924 = add i32 %1923, %1922
  store i32 %1924, ptr %26, align 4, !tbaa !9
  %1925 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %1925, ptr %9, align 4, !tbaa !9
  %1926 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1926, ptr %27, align 4, !tbaa !9
  %1927 = load ptr, ptr %5, align 8, !tbaa !5
  %1928 = getelementptr inbounds %struct.w2c_hermes, ptr %1927, i32 0, i32 6
  %1929 = load i32, ptr %27, align 4, !tbaa !9
  %1930 = zext i32 %1929 to i64
  %1931 = call double @f64_load(ptr noundef %1928, i64 noundef %1930)
  store double %1931, ptr %37, align 8, !tbaa !13
  store double 1.000000e+00, ptr %38, align 8, !tbaa !13
  %1932 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1932, ptr %29, align 4, !tbaa !9
  %1933 = load ptr, ptr %5, align 8, !tbaa !5
  %1934 = getelementptr inbounds %struct.w2c_hermes, ptr %1933, i32 0, i32 6
  %1935 = load i32, ptr %29, align 4, !tbaa !9
  %1936 = zext i32 %1935 to i64
  %1937 = add i64 %1936, 4424
  %1938 = call double @f64_load(ptr noundef %1934, i64 noundef %1937)
  store double %1938, ptr %39, align 8, !tbaa !13
  %1939 = load double, ptr %39, align 8, !tbaa !13
  store double %1939, ptr %25, align 8, !tbaa !13
  %1940 = load double, ptr %39, align 8, !tbaa !13
  %1941 = load double, ptr %38, align 8, !tbaa !13
  %1942 = fsub double %1941, %1940
  store double %1942, ptr %38, align 8, !tbaa !13
  %1943 = load double, ptr %38, align 8, !tbaa !13
  %1944 = load double, ptr %37, align 8, !tbaa !13
  %1945 = fmul double %1944, %1943
  store double %1945, ptr %37, align 8, !tbaa !13
  %1946 = load double, ptr %25, align 8, !tbaa !13
  store double %1946, ptr %38, align 8, !tbaa !13
  %1947 = load i64, ptr %20, align 8, !tbaa !11
  store i64 %1947, ptr %34, align 8, !tbaa !11
  %1948 = load i64, ptr %21, align 8, !tbaa !11
  store i64 %1948, ptr %35, align 8, !tbaa !11
  %1949 = load i64, ptr %35, align 8, !tbaa !11
  %1950 = load i64, ptr %34, align 8, !tbaa !11
  %1951 = add i64 %1950, %1949
  store i64 %1951, ptr %34, align 8, !tbaa !11
  %1952 = load i64, ptr %34, align 8, !tbaa !11
  %1953 = uitofp i64 %1952 to double
  store double %1953, ptr %39, align 8, !tbaa !13
  %1954 = load double, ptr %39, align 8, !tbaa !13
  %1955 = load double, ptr %38, align 8, !tbaa !13
  %1956 = fmul double %1955, %1954
  store double %1956, ptr %38, align 8, !tbaa !13
  %1957 = load double, ptr %38, align 8, !tbaa !13
  %1958 = load double, ptr %37, align 8, !tbaa !13
  %1959 = fadd double %1958, %1957
  store double %1959, ptr %37, align 8, !tbaa !13
  %1960 = load ptr, ptr %5, align 8, !tbaa !5
  %1961 = getelementptr inbounds %struct.w2c_hermes, ptr %1960, i32 0, i32 6
  %1962 = load i32, ptr %26, align 4, !tbaa !9
  %1963 = zext i32 %1962 to i64
  %1964 = load double, ptr %37, align 8, !tbaa !13
  call void @f64_store(ptr noundef %1961, i64 noundef %1963, double noundef %1964)
  br label %1965

1965:                                             ; preds = %1920, %1899, %733
  %1966 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1966, ptr %26, align 4, !tbaa !9
  %1967 = load ptr, ptr %5, align 8, !tbaa !5
  %1968 = getelementptr inbounds %struct.w2c_hermes, ptr %1967, i32 0, i32 6
  %1969 = load i32, ptr %26, align 4, !tbaa !9
  %1970 = zext i32 %1969 to i64
  %1971 = add i64 %1970, 117
  %1972 = call i32 @i32_load8_u(ptr noundef %1968, i64 noundef %1971)
  store i32 %1972, ptr %26, align 4, !tbaa !9
  %1973 = load i32, ptr %26, align 4, !tbaa !9
  %1974 = icmp ne i32 %1973, 0
  %1975 = xor i1 %1974, true
  %1976 = zext i1 %1975 to i32
  store i32 %1976, ptr %26, align 4, !tbaa !9
  %1977 = load i32, ptr %26, align 4, !tbaa !9
  %1978 = icmp ne i32 %1977, 0
  br i1 %1978, label %1979, label %1980

1979:                                             ; preds = %1965
  br label %2999

1980:                                             ; preds = %1965
  %1981 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1981, ptr %26, align 4, !tbaa !9
  %1982 = load ptr, ptr %5, align 8, !tbaa !5
  %1983 = getelementptr inbounds %struct.w2c_hermes, ptr %1982, i32 0, i32 6
  %1984 = load i32, ptr %26, align 4, !tbaa !9
  %1985 = zext i32 %1984 to i64
  %1986 = add i64 %1985, 4052
  %1987 = call i32 @i32_load8_u(ptr noundef %1983, i64 noundef %1986)
  store i32 %1987, ptr %26, align 4, !tbaa !9
  %1988 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %1988, ptr %11, align 4, !tbaa !9
  %1989 = load i32, ptr %26, align 4, !tbaa !9
  switch i32 %1989, label %1992 [
    i32 0, label %1990
    i32 1, label %1991
  ]

1990:                                             ; preds = %1980
  br label %2172

1991:                                             ; preds = %1980
  br label %1993

1992:                                             ; preds = %1980
  br label %2087

1993:                                             ; preds = %1991
  %1994 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1994, ptr %26, align 4, !tbaa !9
  %1995 = load ptr, ptr %5, align 8, !tbaa !5
  %1996 = getelementptr inbounds %struct.w2c_hermes, ptr %1995, i32 0, i32 6
  %1997 = load i32, ptr %26, align 4, !tbaa !9
  %1998 = zext i32 %1997 to i64
  %1999 = add i64 %1998, 4056
  %2000 = call i32 @i32_load(ptr noundef %1996, i64 noundef %1999)
  store i32 %2000, ptr %26, align 4, !tbaa !9
  store i64 8192, ptr %32, align 8, !tbaa !11
  %2001 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2001, ptr %28, align 4, !tbaa !9
  store i32 4432, ptr %29, align 4, !tbaa !9
  %2002 = load i32, ptr %29, align 4, !tbaa !9
  %2003 = load i32, ptr %28, align 4, !tbaa !9
  %2004 = add i32 %2003, %2002
  store i32 %2004, ptr %28, align 4, !tbaa !9
  %2005 = load ptr, ptr %5, align 8, !tbaa !5
  %2006 = getelementptr inbounds %struct.w2c_hermes, ptr %2005, i32 0, i32 6
  %2007 = load i32, ptr %28, align 4, !tbaa !9
  %2008 = zext i32 %2007 to i64
  %2009 = call double @f64_load(ptr noundef %2006, i64 noundef %2008)
  store double %2009, ptr %38, align 8, !tbaa !13
  store double 3.000000e+00, ptr %39, align 8, !tbaa !13
  %2010 = load double, ptr %39, align 8, !tbaa !13
  %2011 = load double, ptr %38, align 8, !tbaa !13
  %2012 = fmul double %2011, %2010
  store double %2012, ptr %38, align 8, !tbaa !13
  %2013 = load double, ptr %38, align 8, !tbaa !13
  store double %2013, ptr %25, align 8, !tbaa !13
  store double 0x43F0000000000000, ptr %39, align 8, !tbaa !13
  %2014 = load double, ptr %38, align 8, !tbaa !13
  %2015 = load double, ptr %39, align 8, !tbaa !13
  %2016 = fcmp olt double %2014, %2015
  %2017 = zext i1 %2016 to i32
  store i32 %2017, ptr %28, align 4, !tbaa !9
  %2018 = load double, ptr %25, align 8, !tbaa !13
  store double %2018, ptr %39, align 8, !tbaa !13
  store double 0.000000e+00, ptr %40, align 8, !tbaa !13
  %2019 = load double, ptr %39, align 8, !tbaa !13
  %2020 = load double, ptr %40, align 8, !tbaa !13
  %2021 = fcmp oge double %2019, %2020
  %2022 = zext i1 %2021 to i32
  store i32 %2022, ptr %29, align 4, !tbaa !9
  %2023 = load i32, ptr %29, align 4, !tbaa !9
  %2024 = load i32, ptr %28, align 4, !tbaa !9
  %2025 = and i32 %2024, %2023
  store i32 %2025, ptr %28, align 4, !tbaa !9
  %2026 = load i32, ptr %28, align 4, !tbaa !9
  %2027 = icmp ne i32 %2026, 0
  br i1 %2027, label %2028, label %2065

2028:                                             ; preds = %1993
  %2029 = load double, ptr %25, align 8, !tbaa !13
  store double %2029, ptr %38, align 8, !tbaa !13
  %2030 = load double, ptr %38, align 8, !tbaa !13
  %2031 = load double, ptr %38, align 8, !tbaa !13
  %2032 = fcmp une double %2030, %2031
  %2033 = xor i1 %2032, true
  %2034 = xor i1 %2033, true
  %2035 = zext i1 %2034 to i32
  %2036 = sext i32 %2035 to i64
  %2037 = call i64 @llvm.expect.i64(i64 %2036, i64 0)
  %2038 = icmp ne i64 %2037, 0
  br i1 %2038, label %2039, label %2041

2039:                                             ; preds = %2028
  call void @wasm_rt_trap(i32 noundef 4) #8
  unreachable

2040:                                             ; No predecessors!
  br label %2063

2041:                                             ; preds = %2028
  %2042 = load double, ptr %38, align 8, !tbaa !13
  %2043 = fcmp ogt double %2042, -1.000000e+00
  br i1 %2043, label %2044, label %2047

2044:                                             ; preds = %2041
  %2045 = load double, ptr %38, align 8, !tbaa !13
  %2046 = fcmp olt double %2045, 0x43F0000000000000
  br label %2047

2047:                                             ; preds = %2044, %2041
  %2048 = phi i1 [ false, %2041 ], [ %2046, %2044 ]
  %2049 = xor i1 %2048, true
  %2050 = xor i1 %2049, true
  %2051 = xor i1 %2050, true
  %2052 = zext i1 %2051 to i32
  %2053 = sext i32 %2052 to i64
  %2054 = call i64 @llvm.expect.i64(i64 %2053, i64 0)
  %2055 = icmp ne i64 %2054, 0
  br i1 %2055, label %2056, label %2058

2056:                                             ; preds = %2047
  call void @wasm_rt_trap(i32 noundef 2) #8
  unreachable

2057:                                             ; No predecessors!
  br label %2061

2058:                                             ; preds = %2047
  %2059 = load double, ptr %38, align 8, !tbaa !13
  %2060 = fptoui double %2059 to i64
  br label %2061

2061:                                             ; preds = %2058, %2057
  %2062 = phi i64 [ 0, %2057 ], [ %2060, %2058 ]
  br label %2063

2063:                                             ; preds = %2061, %2040
  %2064 = phi i64 [ 0, %2040 ], [ %2062, %2061 ]
  store i64 %2064, ptr %33, align 8, !tbaa !11
  br label %2066

2065:                                             ; preds = %1993
  store i64 0, ptr %33, align 8, !tbaa !11
  br label %2066

2066:                                             ; preds = %2065, %2063
  %2067 = load i64, ptr %33, align 8, !tbaa !11
  store i64 %2067, ptr %17, align 8, !tbaa !11
  %2068 = load i64, ptr %17, align 8, !tbaa !11
  store i64 %2068, ptr %34, align 8, !tbaa !11
  store i64 8192, ptr %35, align 8, !tbaa !11
  %2069 = load i64, ptr %34, align 8, !tbaa !11
  %2070 = load i64, ptr %35, align 8, !tbaa !11
  %2071 = icmp ule i64 %2069, %2070
  %2072 = zext i1 %2071 to i32
  store i32 %2072, ptr %29, align 4, !tbaa !9
  %2073 = load i32, ptr %29, align 4, !tbaa !9
  %2074 = icmp ne i32 %2073, 0
  br i1 %2074, label %2075, label %2077

2075:                                             ; preds = %2066
  %2076 = load i64, ptr %32, align 8, !tbaa !11
  br label %2079

2077:                                             ; preds = %2066
  %2078 = load i64, ptr %33, align 8, !tbaa !11
  br label %2079

2079:                                             ; preds = %2077, %2075
  %2080 = phi i64 [ %2076, %2075 ], [ %2078, %2077 ]
  store i64 %2080, ptr %32, align 8, !tbaa !11
  %2081 = load ptr, ptr %5, align 8, !tbaa !5
  %2082 = getelementptr inbounds %struct.w2c_hermes, ptr %2081, i32 0, i32 6
  %2083 = load i32, ptr %26, align 4, !tbaa !9
  %2084 = zext i32 %2083 to i64
  %2085 = add i64 %2084, 584
  %2086 = load i64, ptr %32, align 8, !tbaa !11
  call void @i64_store32(ptr noundef %2082, i64 noundef %2085, i64 noundef %2086)
  br label %2087

2087:                                             ; preds = %2079, %1992
  br label %2088

2088:                                             ; preds = %2138, %2087
  %2089 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2089, ptr %26, align 4, !tbaa !9
  store i32 0, ptr %27, align 4, !tbaa !9
  %2090 = load ptr, ptr %5, align 8, !tbaa !5
  %2091 = load i32, ptr %26, align 4, !tbaa !9
  %2092 = load i32, ptr %27, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AincrementalCollect0x28bool0x29(ptr noundef %2090, i32 noundef %2091, i32 noundef %2092)
  %2093 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2093, ptr %26, align 4, !tbaa !9
  %2094 = load ptr, ptr %5, align 8, !tbaa !5
  %2095 = getelementptr inbounds %struct.w2c_hermes, ptr %2094, i32 0, i32 6
  %2096 = load i32, ptr %26, align 4, !tbaa !9
  %2097 = zext i32 %2096 to i64
  %2098 = add i64 %2097, 4052
  %2099 = call i32 @i32_load8_u(ptr noundef %2095, i64 noundef %2098)
  store i32 %2099, ptr %26, align 4, !tbaa !9
  %2100 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %2100, ptr %9, align 4, !tbaa !9
  %2101 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2101, ptr %27, align 4, !tbaa !9
  %2102 = load i32, ptr %26, align 4, !tbaa !9
  %2103 = load i32, ptr %27, align 4, !tbaa !9
  %2104 = icmp ne i32 %2102, %2103
  %2105 = zext i1 %2104 to i32
  store i32 %2105, ptr %26, align 4, !tbaa !9
  %2106 = load i32, ptr %26, align 4, !tbaa !9
  %2107 = icmp ne i32 %2106, 0
  br i1 %2107, label %2108, label %2109

2108:                                             ; preds = %2088
  br label %2148

2109:                                             ; preds = %2088
  %2110 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2110, ptr %26, align 4, !tbaa !9
  %2111 = load ptr, ptr %5, align 8, !tbaa !5
  %2112 = getelementptr inbounds %struct.w2c_hermes, ptr %2111, i32 0, i32 6
  %2113 = load i32, ptr %26, align 4, !tbaa !9
  %2114 = zext i32 %2113 to i64
  %2115 = add i64 %2114, 4096
  %2116 = call i32 @i32_load(ptr noundef %2112, i64 noundef %2115)
  store i32 %2116, ptr %26, align 4, !tbaa !9
  %2117 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %2117, ptr %9, align 4, !tbaa !9
  %2118 = load ptr, ptr %5, align 8, !tbaa !5
  %2119 = call i64 @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Achrono0x3A0x3Asteady_clock0x3A0x3Anow0x280x29(ptr noundef %2118)
  store i64 %2119, ptr %31, align 8, !tbaa !11
  %2120 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2120, ptr %27, align 4, !tbaa !9
  %2121 = load ptr, ptr %5, align 8, !tbaa !5
  %2122 = getelementptr inbounds %struct.w2c_hermes, ptr %2121, i32 0, i32 6
  %2123 = load i32, ptr %27, align 4, !tbaa !9
  %2124 = zext i32 %2123 to i64
  %2125 = add i64 %2124, 40
  %2126 = call i64 @i64_load(ptr noundef %2122, i64 noundef %2125)
  store i64 %2126, ptr %32, align 8, !tbaa !11
  %2127 = load i64, ptr %32, align 8, !tbaa !11
  %2128 = load i64, ptr %31, align 8, !tbaa !11
  %2129 = sub i64 %2128, %2127
  store i64 %2129, ptr %31, align 8, !tbaa !11
  store i64 25000000, ptr %32, align 8, !tbaa !11
  %2130 = load i64, ptr %31, align 8, !tbaa !11
  %2131 = load i64, ptr %32, align 8, !tbaa !11
  %2132 = icmp slt i64 %2130, %2131
  %2133 = zext i1 %2132 to i32
  %2134 = sext i32 %2133 to i64
  %2135 = trunc i64 %2134 to i32
  store i32 %2135, ptr %26, align 4, !tbaa !9
  %2136 = load i32, ptr %26, align 4, !tbaa !9
  %2137 = icmp ne i32 %2136, 0
  br i1 %2137, label %2138, label %2139

2138:                                             ; preds = %2109
  br label %2088

2139:                                             ; preds = %2109
  %2140 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2140, ptr %26, align 4, !tbaa !9
  %2141 = load ptr, ptr %5, align 8, !tbaa !5
  %2142 = getelementptr inbounds %struct.w2c_hermes, ptr %2141, i32 0, i32 6
  %2143 = load i32, ptr %26, align 4, !tbaa !9
  %2144 = zext i32 %2143 to i64
  %2145 = add i64 %2144, 4052
  %2146 = call i32 @i32_load8_u(ptr noundef %2142, i64 noundef %2145)
  store i32 %2146, ptr %26, align 4, !tbaa !9
  %2147 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %2147, ptr %9, align 4, !tbaa !9
  br label %2148

2148:                                             ; preds = %2139, %2108
  %2149 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2149, ptr %26, align 4, !tbaa !9
  store i32 255, ptr %27, align 4, !tbaa !9
  %2150 = load i32, ptr %27, align 4, !tbaa !9
  %2151 = load i32, ptr %26, align 4, !tbaa !9
  %2152 = and i32 %2151, %2150
  store i32 %2152, ptr %26, align 4, !tbaa !9
  %2153 = load i32, ptr %26, align 4, !tbaa !9
  %2154 = icmp ne i32 %2153, 0
  br i1 %2154, label %2155, label %2156

2155:                                             ; preds = %2148
  br label %2523

2156:                                             ; preds = %2148
  %2157 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2157, ptr %26, align 4, !tbaa !9
  %2158 = load ptr, ptr %5, align 8, !tbaa !5
  %2159 = getelementptr inbounds %struct.w2c_hermes, ptr %2158, i32 0, i32 6
  %2160 = load i32, ptr %26, align 4, !tbaa !9
  %2161 = zext i32 %2160 to i64
  %2162 = add i64 %2161, 4456
  %2163 = call i32 @i32_load(ptr noundef %2159, i64 noundef %2162)
  store i32 %2163, ptr %26, align 4, !tbaa !9
  store i32 1, ptr %27, align 4, !tbaa !9
  %2164 = load i32, ptr %26, align 4, !tbaa !9
  %2165 = load i32, ptr %27, align 4, !tbaa !9
  %2166 = icmp eq i32 %2164, %2165
  %2167 = zext i1 %2166 to i32
  store i32 %2167, ptr %26, align 4, !tbaa !9
  %2168 = load i32, ptr %26, align 4, !tbaa !9
  %2169 = icmp ne i32 %2168, 0
  br i1 %2169, label %2170, label %2171

2170:                                             ; preds = %2156
  br label %2188

2171:                                             ; preds = %2156
  br label %2523

2172:                                             ; preds = %1990
  %2173 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2173, ptr %26, align 4, !tbaa !9
  %2174 = load ptr, ptr %5, align 8, !tbaa !5
  %2175 = getelementptr inbounds %struct.w2c_hermes, ptr %2174, i32 0, i32 6
  %2176 = load i32, ptr %26, align 4, !tbaa !9
  %2177 = zext i32 %2176 to i64
  %2178 = add i64 %2177, 4456
  %2179 = call i32 @i32_load(ptr noundef %2175, i64 noundef %2178)
  store i32 %2179, ptr %26, align 4, !tbaa !9
  store i32 1, ptr %27, align 4, !tbaa !9
  %2180 = load i32, ptr %26, align 4, !tbaa !9
  %2181 = load i32, ptr %27, align 4, !tbaa !9
  %2182 = icmp ne i32 %2180, %2181
  %2183 = zext i1 %2182 to i32
  store i32 %2183, ptr %26, align 4, !tbaa !9
  %2184 = load i32, ptr %26, align 4, !tbaa !9
  %2185 = icmp ne i32 %2184, 0
  br i1 %2185, label %2186, label %2187

2186:                                             ; preds = %2172
  br label %2523

2187:                                             ; preds = %2172
  br label %2188

2188:                                             ; preds = %2187, %2170
  %2189 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2189, ptr %26, align 4, !tbaa !9
  %2190 = load ptr, ptr %5, align 8, !tbaa !5
  %2191 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AcheckTripwireAndSubmitStats0x280x29(ptr noundef %2190, i32 noundef %2191)
  %2192 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2192, ptr %26, align 4, !tbaa !9
  %2193 = load i32, ptr %26, align 4, !tbaa !9
  %2194 = icmp ne i32 %2193, 0
  br i1 %2194, label %2195, label %2266

2195:                                             ; preds = %2188
  %2196 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2196, ptr %26, align 4, !tbaa !9
  %2197 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2197, ptr %27, align 4, !tbaa !9
  store i32 8, ptr %28, align 4, !tbaa !9
  %2198 = load i32, ptr %28, align 4, !tbaa !9
  %2199 = load i32, ptr %27, align 4, !tbaa !9
  %2200 = add i32 %2199, %2198
  store i32 %2200, ptr %27, align 4, !tbaa !9
  %2201 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %2201, ptr %9, align 4, !tbaa !9
  %2202 = load ptr, ptr %5, align 8, !tbaa !5
  %2203 = getelementptr inbounds %struct.w2c_hermes, ptr %2202, i32 0, i32 6
  %2204 = load i32, ptr %27, align 4, !tbaa !9
  %2205 = zext i32 %2204 to i64
  %2206 = call i32 @i32_load(ptr noundef %2203, i64 noundef %2205)
  store i32 %2206, ptr %27, align 4, !tbaa !9
  %2207 = load ptr, ptr %5, align 8, !tbaa !5
  %2208 = getelementptr inbounds %struct.w2c_hermes, ptr %2207, i32 0, i32 6
  %2209 = load i32, ptr %26, align 4, !tbaa !9
  %2210 = zext i32 %2209 to i64
  %2211 = add i64 %2210, 160
  %2212 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2208, i64 noundef %2211, i32 noundef %2212)
  %2213 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2213, ptr %26, align 4, !tbaa !9
  %2214 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2214, ptr %27, align 4, !tbaa !9
  %2215 = load ptr, ptr %5, align 8, !tbaa !5
  %2216 = getelementptr inbounds %struct.w2c_hermes, ptr %2215, i32 0, i32 6
  %2217 = load i32, ptr %27, align 4, !tbaa !9
  %2218 = zext i32 %2217 to i64
  %2219 = call i64 @i64_load(ptr noundef %2216, i64 noundef %2218)
  store i64 %2219, ptr %32, align 8, !tbaa !11
  %2220 = load ptr, ptr %5, align 8, !tbaa !5
  %2221 = getelementptr inbounds %struct.w2c_hermes, ptr %2220, i32 0, i32 6
  %2222 = load i32, ptr %26, align 4, !tbaa !9
  %2223 = zext i32 %2222 to i64
  %2224 = add i64 %2223, 152
  %2225 = load i64, ptr %32, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2221, i64 noundef %2224, i64 noundef %2225)
  %2226 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2226, ptr %26, align 4, !tbaa !9
  store i64 0, ptr %32, align 8, !tbaa !11
  %2227 = load ptr, ptr %5, align 8, !tbaa !5
  %2228 = getelementptr inbounds %struct.w2c_hermes, ptr %2227, i32 0, i32 6
  %2229 = load i32, ptr %26, align 4, !tbaa !9
  %2230 = zext i32 %2229 to i64
  %2231 = load i64, ptr %32, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2228, i64 noundef %2230, i64 noundef %2231)
  %2232 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2232, ptr %26, align 4, !tbaa !9
  store i32 0, ptr %27, align 4, !tbaa !9
  %2233 = load ptr, ptr %5, align 8, !tbaa !5
  %2234 = getelementptr inbounds %struct.w2c_hermes, ptr %2233, i32 0, i32 6
  %2235 = load i32, ptr %26, align 4, !tbaa !9
  %2236 = zext i32 %2235 to i64
  %2237 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2234, i64 noundef %2236, i32 noundef %2237)
  %2238 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2238, ptr %26, align 4, !tbaa !9
  %2239 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2239, ptr %27, align 4, !tbaa !9
  store i32 152, ptr %28, align 4, !tbaa !9
  %2240 = load i32, ptr %28, align 4, !tbaa !9
  %2241 = load i32, ptr %27, align 4, !tbaa !9
  %2242 = add i32 %2241, %2240
  store i32 %2242, ptr %27, align 4, !tbaa !9
  store i32 1, ptr %28, align 4, !tbaa !9
  %2243 = load ptr, ptr %5, align 8, !tbaa !5
  %2244 = load i32, ptr %26, align 4, !tbaa !9
  %2245 = load i32, ptr %27, align 4, !tbaa !9
  %2246 = load i32, ptr %28, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AoldGenCollection0x28std0x3A0x3A_0x5F20x3A0x3Abasic_string0x3Cchar0x2C0x20std0x3A0x3A_0x5F20x3A0x3Achar_traits0x3Cchar0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar0x3E0x3E0x2C0x20bool0x29(ptr noundef %2243, i32 noundef %2244, i32 noundef %2245, i32 noundef %2246)
  %2247 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2247, ptr %26, align 4, !tbaa !9
  %2248 = load ptr, ptr %5, align 8, !tbaa !5
  %2249 = getelementptr inbounds %struct.w2c_hermes, ptr %2248, i32 0, i32 6
  %2250 = load i32, ptr %26, align 4, !tbaa !9
  %2251 = zext i32 %2250 to i64
  %2252 = add i64 %2251, 163
  %2253 = call i32 @i32_load8_s(ptr noundef %2249, i64 noundef %2252)
  store i32 %2253, ptr %26, align 4, !tbaa !9
  store i32 0, ptr %27, align 4, !tbaa !9
  %2254 = load i32, ptr %26, align 4, !tbaa !9
  %2255 = load i32, ptr %27, align 4, !tbaa !9
  %2256 = icmp sge i32 %2254, %2255
  %2257 = zext i1 %2256 to i32
  store i32 %2257, ptr %26, align 4, !tbaa !9
  %2258 = load i32, ptr %26, align 4, !tbaa !9
  %2259 = icmp ne i32 %2258, 0
  br i1 %2259, label %2260, label %2261

2260:                                             ; preds = %2195
  br label %2523

2261:                                             ; preds = %2195
  %2262 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2262, ptr %26, align 4, !tbaa !9
  store i32 152, ptr %27, align 4, !tbaa !9
  %2263 = load i32, ptr %27, align 4, !tbaa !9
  %2264 = load i32, ptr %26, align 4, !tbaa !9
  %2265 = add i32 %2264, %2263
  store i32 %2265, ptr %26, align 4, !tbaa !9
  br label %2514

2266:                                             ; preds = %2188
  %2267 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2267, ptr %26, align 4, !tbaa !9
  store i32 4088, ptr %27, align 4, !tbaa !9
  %2268 = load i32, ptr %27, align 4, !tbaa !9
  %2269 = load i32, ptr %26, align 4, !tbaa !9
  %2270 = add i32 %2269, %2268
  store i32 %2270, ptr %26, align 4, !tbaa !9
  %2271 = load ptr, ptr %5, align 8, !tbaa !5
  %2272 = getelementptr inbounds %struct.w2c_hermes, ptr %2271, i32 0, i32 6
  %2273 = load i32, ptr %26, align 4, !tbaa !9
  %2274 = zext i32 %2273 to i64
  %2275 = call double @f64_load(ptr noundef %2272, i64 noundef %2274)
  store double %2275, ptr %36, align 8, !tbaa !13
  %2276 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2276, ptr %27, align 4, !tbaa !9
  %2277 = load ptr, ptr %5, align 8, !tbaa !5
  %2278 = getelementptr inbounds %struct.w2c_hermes, ptr %2277, i32 0, i32 6
  %2279 = load i32, ptr %27, align 4, !tbaa !9
  %2280 = zext i32 %2279 to i64
  %2281 = add i64 %2280, 688
  %2282 = call i64 @i64_load(ptr noundef %2278, i64 noundef %2281)
  store i64 %2282, ptr %32, align 8, !tbaa !11
  %2283 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2283, ptr %28, align 4, !tbaa !9
  %2284 = load ptr, ptr %5, align 8, !tbaa !5
  %2285 = getelementptr inbounds %struct.w2c_hermes, ptr %2284, i32 0, i32 6
  %2286 = load i32, ptr %28, align 4, !tbaa !9
  %2287 = zext i32 %2286 to i64
  %2288 = add i64 %2287, 680
  %2289 = call i64 @i64_load(ptr noundef %2285, i64 noundef %2288)
  store i64 %2289, ptr %33, align 8, !tbaa !11
  %2290 = load i64, ptr %33, align 8, !tbaa !11
  %2291 = load i64, ptr %32, align 8, !tbaa !11
  %2292 = add i64 %2291, %2290
  store i64 %2292, ptr %32, align 8, !tbaa !11
  %2293 = load i64, ptr %32, align 8, !tbaa !11
  %2294 = uitofp i64 %2293 to double
  store double %2294, ptr %37, align 8, !tbaa !13
  %2295 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2295, ptr %28, align 4, !tbaa !9
  %2296 = load ptr, ptr %5, align 8, !tbaa !5
  %2297 = getelementptr inbounds %struct.w2c_hermes, ptr %2296, i32 0, i32 6
  %2298 = load i32, ptr %28, align 4, !tbaa !9
  %2299 = zext i32 %2298 to i64
  %2300 = add i64 %2299, 672
  %2301 = call double @f64_load(ptr noundef %2297, i64 noundef %2300)
  store double %2301, ptr %38, align 8, !tbaa !13
  %2302 = load double, ptr %38, align 8, !tbaa !13
  store double %2302, ptr %25, align 8, !tbaa !13
  store double 0x43F0000000000000, ptr %39, align 8, !tbaa !13
  %2303 = load double, ptr %38, align 8, !tbaa !13
  %2304 = load double, ptr %39, align 8, !tbaa !13
  %2305 = fcmp olt double %2303, %2304
  %2306 = zext i1 %2305 to i32
  store i32 %2306, ptr %28, align 4, !tbaa !9
  %2307 = load double, ptr %25, align 8, !tbaa !13
  store double %2307, ptr %39, align 8, !tbaa !13
  store double 0.000000e+00, ptr %40, align 8, !tbaa !13
  %2308 = load double, ptr %39, align 8, !tbaa !13
  %2309 = load double, ptr %40, align 8, !tbaa !13
  %2310 = fcmp oge double %2308, %2309
  %2311 = zext i1 %2310 to i32
  store i32 %2311, ptr %29, align 4, !tbaa !9
  %2312 = load i32, ptr %29, align 4, !tbaa !9
  %2313 = load i32, ptr %28, align 4, !tbaa !9
  %2314 = and i32 %2313, %2312
  store i32 %2314, ptr %28, align 4, !tbaa !9
  %2315 = load i32, ptr %28, align 4, !tbaa !9
  %2316 = icmp ne i32 %2315, 0
  br i1 %2316, label %2317, label %2354

2317:                                             ; preds = %2266
  %2318 = load double, ptr %25, align 8, !tbaa !13
  store double %2318, ptr %38, align 8, !tbaa !13
  %2319 = load double, ptr %38, align 8, !tbaa !13
  %2320 = load double, ptr %38, align 8, !tbaa !13
  %2321 = fcmp une double %2319, %2320
  %2322 = xor i1 %2321, true
  %2323 = xor i1 %2322, true
  %2324 = zext i1 %2323 to i32
  %2325 = sext i32 %2324 to i64
  %2326 = call i64 @llvm.expect.i64(i64 %2325, i64 0)
  %2327 = icmp ne i64 %2326, 0
  br i1 %2327, label %2328, label %2330

2328:                                             ; preds = %2317
  call void @wasm_rt_trap(i32 noundef 4) #8
  unreachable

2329:                                             ; No predecessors!
  br label %2352

2330:                                             ; preds = %2317
  %2331 = load double, ptr %38, align 8, !tbaa !13
  %2332 = fcmp ogt double %2331, -1.000000e+00
  br i1 %2332, label %2333, label %2336

2333:                                             ; preds = %2330
  %2334 = load double, ptr %38, align 8, !tbaa !13
  %2335 = fcmp olt double %2334, 0x43F0000000000000
  br label %2336

2336:                                             ; preds = %2333, %2330
  %2337 = phi i1 [ false, %2330 ], [ %2335, %2333 ]
  %2338 = xor i1 %2337, true
  %2339 = xor i1 %2338, true
  %2340 = xor i1 %2339, true
  %2341 = zext i1 %2340 to i32
  %2342 = sext i32 %2341 to i64
  %2343 = call i64 @llvm.expect.i64(i64 %2342, i64 0)
  %2344 = icmp ne i64 %2343, 0
  br i1 %2344, label %2345, label %2347

2345:                                             ; preds = %2336
  call void @wasm_rt_trap(i32 noundef 2) #8
  unreachable

2346:                                             ; No predecessors!
  br label %2350

2347:                                             ; preds = %2336
  %2348 = load double, ptr %38, align 8, !tbaa !13
  %2349 = fptoui double %2348 to i64
  br label %2350

2350:                                             ; preds = %2347, %2346
  %2351 = phi i64 [ 0, %2346 ], [ %2349, %2347 ]
  br label %2352

2352:                                             ; preds = %2350, %2329
  %2353 = phi i64 [ 0, %2329 ], [ %2351, %2350 ]
  store i64 %2353, ptr %33, align 8, !tbaa !11
  br label %2355

2354:                                             ; preds = %2266
  store i64 0, ptr %33, align 8, !tbaa !11
  br label %2355

2355:                                             ; preds = %2354, %2352
  %2356 = load i64, ptr %33, align 8, !tbaa !11
  store i64 %2356, ptr %17, align 8, !tbaa !11
  %2357 = load i64, ptr %33, align 8, !tbaa !11
  %2358 = uitofp i64 %2357 to double
  store double %2358, ptr %38, align 8, !tbaa !13
  %2359 = load double, ptr %38, align 8, !tbaa !13
  %2360 = load double, ptr %37, align 8, !tbaa !13
  %2361 = fdiv double %2360, %2359
  store double %2361, ptr %37, align 8, !tbaa !13
  %2362 = load double, ptr %36, align 8, !tbaa !13
  %2363 = load double, ptr %37, align 8, !tbaa !13
  %2364 = fcmp ole double %2362, %2363
  %2365 = zext i1 %2364 to i32
  store i32 %2365, ptr %26, align 4, !tbaa !9
  %2366 = load i32, ptr %26, align 4, !tbaa !9
  %2367 = icmp ne i32 %2366, 0
  %2368 = xor i1 %2367, true
  %2369 = zext i1 %2368 to i32
  store i32 %2369, ptr %26, align 4, !tbaa !9
  %2370 = load i32, ptr %26, align 4, !tbaa !9
  %2371 = icmp ne i32 %2370, 0
  br i1 %2371, label %2372, label %2373

2372:                                             ; preds = %2355
  br label %2523

2373:                                             ; preds = %2355
  store i32 252368, ptr %26, align 4, !tbaa !9
  %2374 = load ptr, ptr %5, align 8, !tbaa !5
  %2375 = load i32, ptr %26, align 4, !tbaa !9
  %2376 = call i32 @w2c_hermes_strlen(ptr noundef %2374, i32 noundef %2375)
  store i32 %2376, ptr %26, align 4, !tbaa !9
  %2377 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %2377, ptr %9, align 4, !tbaa !9
  store i32 2147483632, ptr %27, align 4, !tbaa !9
  %2378 = load i32, ptr %26, align 4, !tbaa !9
  %2379 = load i32, ptr %27, align 4, !tbaa !9
  %2380 = icmp uge i32 %2378, %2379
  %2381 = zext i1 %2380 to i32
  store i32 %2381, ptr %26, align 4, !tbaa !9
  %2382 = load i32, ptr %26, align 4, !tbaa !9
  %2383 = icmp ne i32 %2382, 0
  br i1 %2383, label %2384, label %2385

2384:                                             ; preds = %2373
  br label %3017

2385:                                             ; preds = %2373
  %2386 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2386, ptr %26, align 4, !tbaa !9
  store i32 11, ptr %27, align 4, !tbaa !9
  %2387 = load i32, ptr %26, align 4, !tbaa !9
  %2388 = load i32, ptr %27, align 4, !tbaa !9
  %2389 = icmp uge i32 %2387, %2388
  %2390 = zext i1 %2389 to i32
  store i32 %2390, ptr %26, align 4, !tbaa !9
  %2391 = load i32, ptr %26, align 4, !tbaa !9
  %2392 = icmp ne i32 %2391, 0
  br i1 %2392, label %2393, label %2439

2393:                                             ; preds = %2385
  %2394 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2394, ptr %26, align 4, !tbaa !9
  store i32 15, ptr %27, align 4, !tbaa !9
  %2395 = load i32, ptr %27, align 4, !tbaa !9
  %2396 = load i32, ptr %26, align 4, !tbaa !9
  %2397 = or i32 %2396, %2395
  store i32 %2397, ptr %26, align 4, !tbaa !9
  store i32 1, ptr %27, align 4, !tbaa !9
  %2398 = load i32, ptr %27, align 4, !tbaa !9
  %2399 = load i32, ptr %26, align 4, !tbaa !9
  %2400 = add i32 %2399, %2398
  store i32 %2400, ptr %26, align 4, !tbaa !9
  %2401 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %2401, ptr %12, align 4, !tbaa !9
  %2402 = load ptr, ptr %5, align 8, !tbaa !5
  %2403 = load i32, ptr %26, align 4, !tbaa !9
  %2404 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %2402, i32 noundef %2403)
  store i32 %2404, ptr %26, align 4, !tbaa !9
  %2405 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %2405, ptr %11, align 4, !tbaa !9
  %2406 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2406, ptr %26, align 4, !tbaa !9
  %2407 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2407, ptr %27, align 4, !tbaa !9
  store i32 -2147483648, ptr %28, align 4, !tbaa !9
  %2408 = load i32, ptr %28, align 4, !tbaa !9
  %2409 = load i32, ptr %27, align 4, !tbaa !9
  %2410 = or i32 %2409, %2408
  store i32 %2410, ptr %27, align 4, !tbaa !9
  %2411 = load ptr, ptr %5, align 8, !tbaa !5
  %2412 = getelementptr inbounds %struct.w2c_hermes, ptr %2411, i32 0, i32 6
  %2413 = load i32, ptr %26, align 4, !tbaa !9
  %2414 = zext i32 %2413 to i64
  %2415 = add i64 %2414, 148
  %2416 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2412, i64 noundef %2415, i32 noundef %2416)
  %2417 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2417, ptr %26, align 4, !tbaa !9
  %2418 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2418, ptr %27, align 4, !tbaa !9
  %2419 = load ptr, ptr %5, align 8, !tbaa !5
  %2420 = getelementptr inbounds %struct.w2c_hermes, ptr %2419, i32 0, i32 6
  %2421 = load i32, ptr %26, align 4, !tbaa !9
  %2422 = zext i32 %2421 to i64
  %2423 = add i64 %2422, 140
  %2424 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2420, i64 noundef %2423, i32 noundef %2424)
  %2425 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2425, ptr %26, align 4, !tbaa !9
  %2426 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2426, ptr %27, align 4, !tbaa !9
  %2427 = load ptr, ptr %5, align 8, !tbaa !5
  %2428 = getelementptr inbounds %struct.w2c_hermes, ptr %2427, i32 0, i32 6
  %2429 = load i32, ptr %26, align 4, !tbaa !9
  %2430 = zext i32 %2429 to i64
  %2431 = add i64 %2430, 144
  %2432 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2428, i64 noundef %2431, i32 noundef %2432)
  %2433 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2433, ptr %26, align 4, !tbaa !9
  %2434 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2434, ptr %27, align 4, !tbaa !9
  %2435 = load i32, ptr %27, align 4, !tbaa !9
  %2436 = load i32, ptr %26, align 4, !tbaa !9
  %2437 = add i32 %2436, %2435
  store i32 %2437, ptr %26, align 4, !tbaa !9
  %2438 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %2438, ptr %12, align 4, !tbaa !9
  br label %2471

2439:                                             ; preds = %2385
  %2440 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2440, ptr %26, align 4, !tbaa !9
  %2441 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2441, ptr %27, align 4, !tbaa !9
  %2442 = load ptr, ptr %5, align 8, !tbaa !5
  %2443 = getelementptr inbounds %struct.w2c_hermes, ptr %2442, i32 0, i32 6
  %2444 = load i32, ptr %26, align 4, !tbaa !9
  %2445 = zext i32 %2444 to i64
  %2446 = add i64 %2445, 151
  %2447 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %2443, i64 noundef %2446, i32 noundef %2447)
  %2448 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2448, ptr %26, align 4, !tbaa !9
  store i32 140, ptr %27, align 4, !tbaa !9
  %2449 = load i32, ptr %27, align 4, !tbaa !9
  %2450 = load i32, ptr %26, align 4, !tbaa !9
  %2451 = add i32 %2450, %2449
  store i32 %2451, ptr %26, align 4, !tbaa !9
  %2452 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2452, ptr %27, align 4, !tbaa !9
  %2453 = load i32, ptr %27, align 4, !tbaa !9
  %2454 = load i32, ptr %26, align 4, !tbaa !9
  %2455 = add i32 %2454, %2453
  store i32 %2455, ptr %26, align 4, !tbaa !9
  %2456 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %2456, ptr %12, align 4, !tbaa !9
  %2457 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2457, ptr %26, align 4, !tbaa !9
  store i32 140, ptr %27, align 4, !tbaa !9
  %2458 = load i32, ptr %27, align 4, !tbaa !9
  %2459 = load i32, ptr %26, align 4, !tbaa !9
  %2460 = add i32 %2459, %2458
  store i32 %2460, ptr %26, align 4, !tbaa !9
  %2461 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %2461, ptr %11, align 4, !tbaa !9
  %2462 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2462, ptr %26, align 4, !tbaa !9
  %2463 = load i32, ptr %26, align 4, !tbaa !9
  %2464 = icmp ne i32 %2463, 0
  %2465 = xor i1 %2464, true
  %2466 = zext i1 %2465 to i32
  store i32 %2466, ptr %26, align 4, !tbaa !9
  %2467 = load i32, ptr %26, align 4, !tbaa !9
  %2468 = icmp ne i32 %2467, 0
  br i1 %2468, label %2469, label %2470

2469:                                             ; preds = %2439
  br label %2479

2470:                                             ; preds = %2439
  br label %2471

2471:                                             ; preds = %2470, %2393
  %2472 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2472, ptr %26, align 4, !tbaa !9
  store i32 252368, ptr %27, align 4, !tbaa !9
  %2473 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2473, ptr %28, align 4, !tbaa !9
  %2474 = load ptr, ptr %5, align 8, !tbaa !5
  %2475 = load i32, ptr %26, align 4, !tbaa !9
  %2476 = load i32, ptr %27, align 4, !tbaa !9
  %2477 = load i32, ptr %28, align 4, !tbaa !9
  %2478 = call i32 @w2c_hermes_0x5F_memcpy(ptr noundef %2474, i32 noundef %2475, i32 noundef %2476, i32 noundef %2477)
  store i32 %2478, ptr %26, align 4, !tbaa !9
  br label %2479

2479:                                             ; preds = %2471, %2469
  %2480 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2480, ptr %26, align 4, !tbaa !9
  store i32 0, ptr %27, align 4, !tbaa !9
  %2481 = load ptr, ptr %5, align 8, !tbaa !5
  %2482 = getelementptr inbounds %struct.w2c_hermes, ptr %2481, i32 0, i32 6
  %2483 = load i32, ptr %26, align 4, !tbaa !9
  %2484 = zext i32 %2483 to i64
  %2485 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %2482, i64 noundef %2484, i32 noundef %2485)
  %2486 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2486, ptr %26, align 4, !tbaa !9
  %2487 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2487, ptr %27, align 4, !tbaa !9
  store i32 140, ptr %28, align 4, !tbaa !9
  %2488 = load i32, ptr %28, align 4, !tbaa !9
  %2489 = load i32, ptr %27, align 4, !tbaa !9
  %2490 = add i32 %2489, %2488
  store i32 %2490, ptr %27, align 4, !tbaa !9
  store i32 0, ptr %28, align 4, !tbaa !9
  %2491 = load ptr, ptr %5, align 8, !tbaa !5
  %2492 = load i32, ptr %26, align 4, !tbaa !9
  %2493 = load i32, ptr %27, align 4, !tbaa !9
  %2494 = load i32, ptr %28, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AoldGenCollection0x28std0x3A0x3A_0x5F20x3A0x3Abasic_string0x3Cchar0x2C0x20std0x3A0x3A_0x5F20x3A0x3Achar_traits0x3Cchar0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar0x3E0x3E0x2C0x20bool0x29(ptr noundef %2491, i32 noundef %2492, i32 noundef %2493, i32 noundef %2494)
  %2495 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2495, ptr %26, align 4, !tbaa !9
  %2496 = load ptr, ptr %5, align 8, !tbaa !5
  %2497 = getelementptr inbounds %struct.w2c_hermes, ptr %2496, i32 0, i32 6
  %2498 = load i32, ptr %26, align 4, !tbaa !9
  %2499 = zext i32 %2498 to i64
  %2500 = add i64 %2499, 151
  %2501 = call i32 @i32_load8_s(ptr noundef %2497, i64 noundef %2500)
  store i32 %2501, ptr %26, align 4, !tbaa !9
  store i32 0, ptr %27, align 4, !tbaa !9
  %2502 = load i32, ptr %26, align 4, !tbaa !9
  %2503 = load i32, ptr %27, align 4, !tbaa !9
  %2504 = icmp sge i32 %2502, %2503
  %2505 = zext i1 %2504 to i32
  store i32 %2505, ptr %26, align 4, !tbaa !9
  %2506 = load i32, ptr %26, align 4, !tbaa !9
  %2507 = icmp ne i32 %2506, 0
  br i1 %2507, label %2508, label %2509

2508:                                             ; preds = %2479
  br label %2523

2509:                                             ; preds = %2479
  %2510 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2510, ptr %26, align 4, !tbaa !9
  store i32 140, ptr %27, align 4, !tbaa !9
  %2511 = load i32, ptr %27, align 4, !tbaa !9
  %2512 = load i32, ptr %26, align 4, !tbaa !9
  %2513 = add i32 %2512, %2511
  store i32 %2513, ptr %26, align 4, !tbaa !9
  br label %2514

2514:                                             ; preds = %2509, %2261
  %2515 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %2515, ptr %9, align 4, !tbaa !9
  %2516 = load ptr, ptr %5, align 8, !tbaa !5
  %2517 = getelementptr inbounds %struct.w2c_hermes, ptr %2516, i32 0, i32 6
  %2518 = load i32, ptr %26, align 4, !tbaa !9
  %2519 = zext i32 %2518 to i64
  %2520 = call i32 @i32_load(ptr noundef %2517, i64 noundef %2519)
  store i32 %2520, ptr %26, align 4, !tbaa !9
  %2521 = load ptr, ptr %5, align 8, !tbaa !5
  %2522 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %2521, i32 noundef %2522)
  br label %2523

2523:                                             ; preds = %2514, %2508, %2372, %2260, %2186, %2171, %2155
  %2524 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2524, ptr %26, align 4, !tbaa !9
  %2525 = load ptr, ptr %5, align 8, !tbaa !5
  %2526 = getelementptr inbounds %struct.w2c_hermes, ptr %2525, i32 0, i32 6
  %2527 = load i32, ptr %26, align 4, !tbaa !9
  %2528 = zext i32 %2527 to i64
  %2529 = add i64 %2528, 4096
  %2530 = call i32 @i32_load(ptr noundef %2526, i64 noundef %2529)
  store i32 %2530, ptr %26, align 4, !tbaa !9
  %2531 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %2531, ptr %9, align 4, !tbaa !9
  %2532 = load ptr, ptr %5, align 8, !tbaa !5
  %2533 = getelementptr inbounds %struct.w2c_hermes, ptr %2532, i32 0, i32 6
  %2534 = load i32, ptr %26, align 4, !tbaa !9
  %2535 = zext i32 %2534 to i64
  %2536 = add i64 %2535, 48
  %2537 = call i64 @i64_load(ptr noundef %2533, i64 noundef %2536)
  store i64 %2537, ptr %31, align 8, !tbaa !11
  store i64 0, ptr %32, align 8, !tbaa !11
  %2538 = load i64, ptr %31, align 8, !tbaa !11
  %2539 = load i64, ptr %32, align 8, !tbaa !11
  %2540 = icmp ne i64 %2538, %2539
  %2541 = zext i1 %2540 to i32
  store i32 %2541, ptr %26, align 4, !tbaa !9
  %2542 = load i32, ptr %26, align 4, !tbaa !9
  %2543 = icmp ne i32 %2542, 0
  br i1 %2543, label %2544, label %2545

2544:                                             ; preds = %2523
  br label %3019

2545:                                             ; preds = %2523
  %2546 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2546, ptr %26, align 4, !tbaa !9
  %2547 = load ptr, ptr %5, align 8, !tbaa !5
  %2548 = call i64 @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Achrono0x3A0x3Asteady_clock0x3A0x3Anow0x280x29(ptr noundef %2547)
  store i64 %2548, ptr %32, align 8, !tbaa !11
  %2549 = load ptr, ptr %5, align 8, !tbaa !5
  %2550 = getelementptr inbounds %struct.w2c_hermes, ptr %2549, i32 0, i32 6
  %2551 = load i32, ptr %26, align 4, !tbaa !9
  %2552 = zext i32 %2551 to i64
  %2553 = add i64 %2552, 48
  %2554 = load i64, ptr %32, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2550, i64 noundef %2553, i64 noundef %2554)
  %2555 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2555, ptr %26, align 4, !tbaa !9
  %2556 = load ptr, ptr %5, align 8, !tbaa !5
  %2557 = getelementptr inbounds %struct.w2c_hermes, ptr %2556, i32 0, i32 6
  %2558 = load i32, ptr %26, align 4, !tbaa !9
  %2559 = zext i32 %2558 to i64
  %2560 = add i64 %2559, 4096
  %2561 = call i32 @i32_load(ptr noundef %2557, i64 noundef %2560)
  store i32 %2561, ptr %26, align 4, !tbaa !9
  %2562 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %2562, ptr %9, align 4, !tbaa !9
  %2563 = load ptr, ptr %5, align 8, !tbaa !5
  %2564 = call i64 @w2c_hermes_hermes0x3A0x3Aoscompat0x3A0x3Athread_cpu_time0x280x29(ptr noundef %2563)
  store i64 %2564, ptr %31, align 8, !tbaa !11
  %2565 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %2565, ptr %17, align 8, !tbaa !11
  %2566 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2566, ptr %26, align 4, !tbaa !9
  %2567 = load ptr, ptr %5, align 8, !tbaa !5
  %2568 = getelementptr inbounds %struct.w2c_hermes, ptr %2567, i32 0, i32 6
  %2569 = load i32, ptr %26, align 4, !tbaa !9
  %2570 = zext i32 %2569 to i64
  %2571 = add i64 %2570, 56
  %2572 = call i64 @i64_load(ptr noundef %2568, i64 noundef %2571)
  store i64 %2572, ptr %31, align 8, !tbaa !11
  %2573 = load i64, ptr %31, align 8, !tbaa !11
  store i64 %2573, ptr %18, align 8, !tbaa !11
  %2574 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2574, ptr %26, align 4, !tbaa !9
  store i64 0, ptr %32, align 8, !tbaa !11
  %2575 = load ptr, ptr %5, align 8, !tbaa !5
  %2576 = getelementptr inbounds %struct.w2c_hermes, ptr %2575, i32 0, i32 6
  %2577 = load i32, ptr %26, align 4, !tbaa !9
  %2578 = zext i32 %2577 to i64
  %2579 = add i64 %2578, 56
  %2580 = load i64, ptr %32, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2576, i64 noundef %2579, i64 noundef %2580)
  %2581 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2581, ptr %26, align 4, !tbaa !9
  %2582 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2582, ptr %27, align 4, !tbaa !9
  %2583 = load ptr, ptr %5, align 8, !tbaa !5
  %2584 = getelementptr inbounds %struct.w2c_hermes, ptr %2583, i32 0, i32 6
  %2585 = load i32, ptr %27, align 4, !tbaa !9
  %2586 = zext i32 %2585 to i64
  %2587 = add i64 %2586, 64
  %2588 = call i64 @i64_load(ptr noundef %2584, i64 noundef %2587)
  store i64 %2588, ptr %32, align 8, !tbaa !11
  %2589 = load i64, ptr %17, align 8, !tbaa !11
  store i64 %2589, ptr %33, align 8, !tbaa !11
  %2590 = load i64, ptr %18, align 8, !tbaa !11
  store i64 %2590, ptr %34, align 8, !tbaa !11
  %2591 = load i64, ptr %34, align 8, !tbaa !11
  %2592 = load i64, ptr %33, align 8, !tbaa !11
  %2593 = sub i64 %2592, %2591
  store i64 %2593, ptr %33, align 8, !tbaa !11
  %2594 = load i64, ptr %33, align 8, !tbaa !11
  %2595 = load i64, ptr %32, align 8, !tbaa !11
  %2596 = add i64 %2595, %2594
  store i64 %2596, ptr %32, align 8, !tbaa !11
  %2597 = load ptr, ptr %5, align 8, !tbaa !5
  %2598 = getelementptr inbounds %struct.w2c_hermes, ptr %2597, i32 0, i32 6
  %2599 = load i32, ptr %26, align 4, !tbaa !9
  %2600 = zext i32 %2599 to i64
  %2601 = add i64 %2600, 64
  %2602 = load i64, ptr %32, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2598, i64 noundef %2601, i64 noundef %2602)
  %2603 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2603, ptr %26, align 4, !tbaa !9
  %2604 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2604, ptr %27, align 4, !tbaa !9
  %2605 = load ptr, ptr %5, align 8, !tbaa !5
  %2606 = getelementptr inbounds %struct.w2c_hermes, ptr %2605, i32 0, i32 6
  %2607 = load i32, ptr %27, align 4, !tbaa !9
  %2608 = zext i32 %2607 to i64
  %2609 = add i64 %2608, 4096
  %2610 = call i32 @i32_load(ptr noundef %2606, i64 noundef %2609)
  store i32 %2610, ptr %27, align 4, !tbaa !9
  %2611 = load ptr, ptr %5, align 8, !tbaa !5
  %2612 = load i32, ptr %26, align 4, !tbaa !9
  %2613 = load i32, ptr %27, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3ACollectionStats0x3A0x3AgetEvent0x280x290x200x260x26(ptr noundef %2611, i32 noundef %2612, i32 noundef %2613)
  %2614 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2614, ptr %26, align 4, !tbaa !9
  %2615 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2615, ptr %27, align 4, !tbaa !9
  store i32 1, ptr %28, align 4, !tbaa !9
  %2616 = load ptr, ptr %5, align 8, !tbaa !5
  %2617 = load i32, ptr %26, align 4, !tbaa !9
  %2618 = load i32, ptr %27, align 4, !tbaa !9
  %2619 = load i32, ptr %28, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCBase0x3A0x3ArecordGCStats0x28hermes0x3A0x3Avm0x3A0x3AGCAnalyticsEvent0x20const0x260x2C0x20bool0x29(ptr noundef %2616, i32 noundef %2617, i32 noundef %2618, i32 noundef %2619)
  %2620 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2620, ptr %26, align 4, !tbaa !9
  %2621 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2621, ptr %27, align 4, !tbaa !9
  %2622 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2622, ptr %28, align 4, !tbaa !9
  store i32 4264, ptr %29, align 4, !tbaa !9
  %2623 = load i32, ptr %29, align 4, !tbaa !9
  %2624 = load i32, ptr %28, align 4, !tbaa !9
  %2625 = add i32 %2624, %2623
  store i32 %2625, ptr %28, align 4, !tbaa !9
  store i32 1, ptr %29, align 4, !tbaa !9
  %2626 = load ptr, ptr %5, align 8, !tbaa !5
  %2627 = load i32, ptr %26, align 4, !tbaa !9
  %2628 = load i32, ptr %27, align 4, !tbaa !9
  %2629 = load i32, ptr %28, align 4, !tbaa !9
  %2630 = load i32, ptr %29, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCBase0x3A0x3ArecordGCStats0x28hermes0x3A0x3Avm0x3A0x3AGCAnalyticsEvent0x20const0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AGCBase0x3A0x3ACumulativeHeapStats0x2A0x2C0x20bool0x29(ptr noundef %2626, i32 noundef %2627, i32 noundef %2628, i32 noundef %2629, i32 noundef %2630)
  %2631 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2631, ptr %26, align 4, !tbaa !9
  %2632 = load ptr, ptr %5, align 8, !tbaa !5
  %2633 = getelementptr inbounds %struct.w2c_hermes, ptr %2632, i32 0, i32 6
  %2634 = load i32, ptr %26, align 4, !tbaa !9
  %2635 = zext i32 %2634 to i64
  %2636 = add i64 %2635, 4096
  %2637 = call i32 @i32_load(ptr noundef %2633, i64 noundef %2636)
  store i32 %2637, ptr %26, align 4, !tbaa !9
  %2638 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %2638, ptr %9, align 4, !tbaa !9
  %2639 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2639, ptr %26, align 4, !tbaa !9
  store i32 0, ptr %27, align 4, !tbaa !9
  %2640 = load ptr, ptr %5, align 8, !tbaa !5
  %2641 = getelementptr inbounds %struct.w2c_hermes, ptr %2640, i32 0, i32 6
  %2642 = load i32, ptr %26, align 4, !tbaa !9
  %2643 = zext i32 %2642 to i64
  %2644 = add i64 %2643, 4096
  %2645 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2641, i64 noundef %2644, i32 noundef %2645)
  %2646 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2646, ptr %26, align 4, !tbaa !9
  %2647 = load i32, ptr %26, align 4, !tbaa !9
  %2648 = icmp ne i32 %2647, 0
  br i1 %2648, label %2649, label %2656

2649:                                             ; preds = %2545
  %2650 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2650, ptr %26, align 4, !tbaa !9
  %2651 = load ptr, ptr %5, align 8, !tbaa !5
  %2652 = load i32, ptr %26, align 4, !tbaa !9
  %2653 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3ACollectionStats0x3A0x3A0x7ECollectionStats0x280x29(ptr noundef %2651, i32 noundef %2652)
  store i32 %2653, ptr %26, align 4, !tbaa !9
  %2654 = load ptr, ptr %5, align 8, !tbaa !5
  %2655 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %2654, i32 noundef %2655)
  br label %2656

2656:                                             ; preds = %2649, %2545
  %2657 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2657, ptr %26, align 4, !tbaa !9
  %2658 = load ptr, ptr %5, align 8, !tbaa !5
  %2659 = getelementptr inbounds %struct.w2c_hermes, ptr %2658, i32 0, i32 6
  %2660 = load i32, ptr %26, align 4, !tbaa !9
  %2661 = zext i32 %2660 to i64
  %2662 = add i64 %2661, 120
  %2663 = call i32 @i32_load(ptr noundef %2659, i64 noundef %2662)
  store i32 %2663, ptr %26, align 4, !tbaa !9
  %2664 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %2664, ptr %11, align 4, !tbaa !9
  %2665 = load i32, ptr %26, align 4, !tbaa !9
  %2666 = icmp ne i32 %2665, 0
  br i1 %2666, label %2667, label %2748

2667:                                             ; preds = %2656
  %2668 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2668, ptr %26, align 4, !tbaa !9
  %2669 = load ptr, ptr %5, align 8, !tbaa !5
  %2670 = getelementptr inbounds %struct.w2c_hermes, ptr %2669, i32 0, i32 6
  %2671 = load i32, ptr %26, align 4, !tbaa !9
  %2672 = zext i32 %2671 to i64
  %2673 = add i64 %2672, 124
  %2674 = call i32 @i32_load(ptr noundef %2670, i64 noundef %2673)
  store i32 %2674, ptr %26, align 4, !tbaa !9
  %2675 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %2675, ptr %9, align 4, !tbaa !9
  %2676 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2676, ptr %27, align 4, !tbaa !9
  %2677 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %2677, ptr %6, align 4, !tbaa !9
  %2678 = load i32, ptr %26, align 4, !tbaa !9
  %2679 = load i32, ptr %27, align 4, !tbaa !9
  %2680 = icmp ne i32 %2678, %2679
  %2681 = zext i1 %2680 to i32
  store i32 %2681, ptr %26, align 4, !tbaa !9
  %2682 = load i32, ptr %26, align 4, !tbaa !9
  %2683 = icmp ne i32 %2682, 0
  br i1 %2683, label %2684, label %2736

2684:                                             ; preds = %2667
  br label %2685

2685:                                             ; preds = %2726, %2684
  %2686 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2686, ptr %26, align 4, !tbaa !9
  store i32 12, ptr %27, align 4, !tbaa !9
  %2687 = load i32, ptr %27, align 4, !tbaa !9
  %2688 = load i32, ptr %26, align 4, !tbaa !9
  %2689 = sub i32 %2688, %2687
  store i32 %2689, ptr %26, align 4, !tbaa !9
  %2690 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %2690, ptr %6, align 4, !tbaa !9
  %2691 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2691, ptr %26, align 4, !tbaa !9
  store i32 1, ptr %27, align 4, !tbaa !9
  %2692 = load i32, ptr %27, align 4, !tbaa !9
  %2693 = load i32, ptr %26, align 4, !tbaa !9
  %2694 = sub i32 %2693, %2692
  store i32 %2694, ptr %26, align 4, !tbaa !9
  %2695 = load ptr, ptr %5, align 8, !tbaa !5
  %2696 = getelementptr inbounds %struct.w2c_hermes, ptr %2695, i32 0, i32 6
  %2697 = load i32, ptr %26, align 4, !tbaa !9
  %2698 = zext i32 %2697 to i64
  %2699 = call i32 @i32_load8_s(ptr noundef %2696, i64 noundef %2698)
  store i32 %2699, ptr %26, align 4, !tbaa !9
  store i32 0, ptr %27, align 4, !tbaa !9
  %2700 = load i32, ptr %26, align 4, !tbaa !9
  %2701 = load i32, ptr %27, align 4, !tbaa !9
  %2702 = icmp slt i32 %2700, %2701
  %2703 = zext i1 %2702 to i32
  store i32 %2703, ptr %26, align 4, !tbaa !9
  %2704 = load i32, ptr %26, align 4, !tbaa !9
  %2705 = icmp ne i32 %2704, 0
  br i1 %2705, label %2706, label %2715

2706:                                             ; preds = %2685
  %2707 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2707, ptr %26, align 4, !tbaa !9
  %2708 = load ptr, ptr %5, align 8, !tbaa !5
  %2709 = getelementptr inbounds %struct.w2c_hermes, ptr %2708, i32 0, i32 6
  %2710 = load i32, ptr %26, align 4, !tbaa !9
  %2711 = zext i32 %2710 to i64
  %2712 = call i32 @i32_load(ptr noundef %2709, i64 noundef %2711)
  store i32 %2712, ptr %26, align 4, !tbaa !9
  %2713 = load ptr, ptr %5, align 8, !tbaa !5
  %2714 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %2713, i32 noundef %2714)
  br label %2715

2715:                                             ; preds = %2706, %2685
  %2716 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2716, ptr %26, align 4, !tbaa !9
  %2717 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %2717, ptr %9, align 4, !tbaa !9
  %2718 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2718, ptr %26, align 4, !tbaa !9
  %2719 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2719, ptr %27, align 4, !tbaa !9
  %2720 = load i32, ptr %26, align 4, !tbaa !9
  %2721 = load i32, ptr %27, align 4, !tbaa !9
  %2722 = icmp ne i32 %2720, %2721
  %2723 = zext i1 %2722 to i32
  store i32 %2723, ptr %26, align 4, !tbaa !9
  %2724 = load i32, ptr %26, align 4, !tbaa !9
  %2725 = icmp ne i32 %2724, 0
  br i1 %2725, label %2726, label %2727

2726:                                             ; preds = %2715
  br label %2685

2727:                                             ; preds = %2715
  %2728 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2728, ptr %26, align 4, !tbaa !9
  %2729 = load ptr, ptr %5, align 8, !tbaa !5
  %2730 = getelementptr inbounds %struct.w2c_hermes, ptr %2729, i32 0, i32 6
  %2731 = load i32, ptr %26, align 4, !tbaa !9
  %2732 = zext i32 %2731 to i64
  %2733 = add i64 %2732, 120
  %2734 = call i32 @i32_load(ptr noundef %2730, i64 noundef %2733)
  store i32 %2734, ptr %26, align 4, !tbaa !9
  %2735 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %2735, ptr %6, align 4, !tbaa !9
  br label %2736

2736:                                             ; preds = %2727, %2667
  %2737 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2737, ptr %26, align 4, !tbaa !9
  %2738 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2738, ptr %27, align 4, !tbaa !9
  %2739 = load ptr, ptr %5, align 8, !tbaa !5
  %2740 = getelementptr inbounds %struct.w2c_hermes, ptr %2739, i32 0, i32 6
  %2741 = load i32, ptr %26, align 4, !tbaa !9
  %2742 = zext i32 %2741 to i64
  %2743 = add i64 %2742, 124
  %2744 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2740, i64 noundef %2743, i32 noundef %2744)
  %2745 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2745, ptr %26, align 4, !tbaa !9
  %2746 = load ptr, ptr %5, align 8, !tbaa !5
  %2747 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %2746, i32 noundef %2747)
  br label %2748

2748:                                             ; preds = %2736, %2656
  %2749 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2749, ptr %26, align 4, !tbaa !9
  %2750 = load ptr, ptr %5, align 8, !tbaa !5
  %2751 = getelementptr inbounds %struct.w2c_hermes, ptr %2750, i32 0, i32 6
  %2752 = load i32, ptr %26, align 4, !tbaa !9
  %2753 = zext i32 %2752 to i64
  %2754 = add i64 %2753, 47
  %2755 = call i32 @i32_load8_s(ptr noundef %2751, i64 noundef %2754)
  store i32 %2755, ptr %26, align 4, !tbaa !9
  store i32 0, ptr %27, align 4, !tbaa !9
  %2756 = load i32, ptr %26, align 4, !tbaa !9
  %2757 = load i32, ptr %27, align 4, !tbaa !9
  %2758 = icmp slt i32 %2756, %2757
  %2759 = zext i1 %2758 to i32
  store i32 %2759, ptr %26, align 4, !tbaa !9
  %2760 = load i32, ptr %26, align 4, !tbaa !9
  %2761 = icmp ne i32 %2760, 0
  br i1 %2761, label %2762, label %2772

2762:                                             ; preds = %2748
  %2763 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2763, ptr %26, align 4, !tbaa !9
  %2764 = load ptr, ptr %5, align 8, !tbaa !5
  %2765 = getelementptr inbounds %struct.w2c_hermes, ptr %2764, i32 0, i32 6
  %2766 = load i32, ptr %26, align 4, !tbaa !9
  %2767 = zext i32 %2766 to i64
  %2768 = add i64 %2767, 36
  %2769 = call i32 @i32_load(ptr noundef %2765, i64 noundef %2768)
  store i32 %2769, ptr %26, align 4, !tbaa !9
  %2770 = load ptr, ptr %5, align 8, !tbaa !5
  %2771 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %2770, i32 noundef %2771)
  br label %2772

2772:                                             ; preds = %2762, %2748
  %2773 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2773, ptr %26, align 4, !tbaa !9
  %2774 = load ptr, ptr %5, align 8, !tbaa !5
  %2775 = getelementptr inbounds %struct.w2c_hermes, ptr %2774, i32 0, i32 6
  %2776 = load i32, ptr %26, align 4, !tbaa !9
  %2777 = zext i32 %2776 to i64
  %2778 = add i64 %2777, 35
  %2779 = call i32 @i32_load8_s(ptr noundef %2775, i64 noundef %2778)
  store i32 %2779, ptr %26, align 4, !tbaa !9
  store i32 0, ptr %27, align 4, !tbaa !9
  %2780 = load i32, ptr %26, align 4, !tbaa !9
  %2781 = load i32, ptr %27, align 4, !tbaa !9
  %2782 = icmp slt i32 %2780, %2781
  %2783 = zext i1 %2782 to i32
  store i32 %2783, ptr %26, align 4, !tbaa !9
  %2784 = load i32, ptr %26, align 4, !tbaa !9
  %2785 = icmp ne i32 %2784, 0
  br i1 %2785, label %2786, label %2796

2786:                                             ; preds = %2772
  %2787 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2787, ptr %26, align 4, !tbaa !9
  %2788 = load ptr, ptr %5, align 8, !tbaa !5
  %2789 = getelementptr inbounds %struct.w2c_hermes, ptr %2788, i32 0, i32 6
  %2790 = load i32, ptr %26, align 4, !tbaa !9
  %2791 = zext i32 %2790 to i64
  %2792 = add i64 %2791, 24
  %2793 = call i32 @i32_load(ptr noundef %2789, i64 noundef %2792)
  store i32 %2793, ptr %26, align 4, !tbaa !9
  %2794 = load ptr, ptr %5, align 8, !tbaa !5
  %2795 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %2794, i32 noundef %2795)
  br label %2796

2796:                                             ; preds = %2786, %2772
  %2797 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2797, ptr %26, align 4, !tbaa !9
  %2798 = load ptr, ptr %5, align 8, !tbaa !5
  %2799 = getelementptr inbounds %struct.w2c_hermes, ptr %2798, i32 0, i32 6
  %2800 = load i32, ptr %26, align 4, !tbaa !9
  %2801 = zext i32 %2800 to i64
  %2802 = add i64 %2801, 23
  %2803 = call i32 @i32_load8_s(ptr noundef %2799, i64 noundef %2802)
  store i32 %2803, ptr %26, align 4, !tbaa !9
  store i32 0, ptr %27, align 4, !tbaa !9
  %2804 = load i32, ptr %26, align 4, !tbaa !9
  %2805 = load i32, ptr %27, align 4, !tbaa !9
  %2806 = icmp slt i32 %2804, %2805
  %2807 = zext i1 %2806 to i32
  store i32 %2807, ptr %26, align 4, !tbaa !9
  %2808 = load i32, ptr %26, align 4, !tbaa !9
  %2809 = icmp ne i32 %2808, 0
  br i1 %2809, label %2810, label %2820

2810:                                             ; preds = %2796
  %2811 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2811, ptr %26, align 4, !tbaa !9
  %2812 = load ptr, ptr %5, align 8, !tbaa !5
  %2813 = getelementptr inbounds %struct.w2c_hermes, ptr %2812, i32 0, i32 6
  %2814 = load i32, ptr %26, align 4, !tbaa !9
  %2815 = zext i32 %2814 to i64
  %2816 = add i64 %2815, 12
  %2817 = call i32 @i32_load(ptr noundef %2813, i64 noundef %2816)
  store i32 %2817, ptr %26, align 4, !tbaa !9
  %2818 = load ptr, ptr %5, align 8, !tbaa !5
  %2819 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %2818, i32 noundef %2819)
  br label %2820

2820:                                             ; preds = %2810, %2796
  %2821 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2821, ptr %26, align 4, !tbaa !9
  %2822 = load ptr, ptr %5, align 8, !tbaa !5
  %2823 = getelementptr inbounds %struct.w2c_hermes, ptr %2822, i32 0, i32 6
  %2824 = load i32, ptr %26, align 4, !tbaa !9
  %2825 = zext i32 %2824 to i64
  %2826 = add i64 %2825, 11
  %2827 = call i32 @i32_load8_s(ptr noundef %2823, i64 noundef %2826)
  store i32 %2827, ptr %26, align 4, !tbaa !9
  store i32 0, ptr %27, align 4, !tbaa !9
  %2828 = load i32, ptr %26, align 4, !tbaa !9
  %2829 = load i32, ptr %27, align 4, !tbaa !9
  %2830 = icmp slt i32 %2828, %2829
  %2831 = zext i1 %2830 to i32
  store i32 %2831, ptr %26, align 4, !tbaa !9
  %2832 = load i32, ptr %26, align 4, !tbaa !9
  %2833 = icmp ne i32 %2832, 0
  br i1 %2833, label %2834, label %2843

2834:                                             ; preds = %2820
  %2835 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2835, ptr %26, align 4, !tbaa !9
  %2836 = load ptr, ptr %5, align 8, !tbaa !5
  %2837 = getelementptr inbounds %struct.w2c_hermes, ptr %2836, i32 0, i32 6
  %2838 = load i32, ptr %26, align 4, !tbaa !9
  %2839 = zext i32 %2838 to i64
  %2840 = call i32 @i32_load(ptr noundef %2837, i64 noundef %2839)
  store i32 %2840, ptr %26, align 4, !tbaa !9
  %2841 = load ptr, ptr %5, align 8, !tbaa !5
  %2842 = load i32, ptr %26, align 4, !tbaa !9
  call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %2841, i32 noundef %2842)
  br label %2843

2843:                                             ; preds = %2834, %2820
  %2844 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %2844, ptr %26, align 4, !tbaa !9
  %2845 = load ptr, ptr %5, align 8, !tbaa !5
  %2846 = load i32, ptr %26, align 4, !tbaa !9
  %2847 = call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCBase0x3A0x3AGCCycle0x3A0x3A0x7EGCCycle0x280x29(ptr noundef %2845, i32 noundef %2846)
  store i32 %2847, ptr %26, align 4, !tbaa !9
  %2848 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2848, ptr %26, align 4, !tbaa !9
  store i32 224, ptr %27, align 4, !tbaa !9
  %2849 = load i32, ptr %27, align 4, !tbaa !9
  %2850 = load i32, ptr %26, align 4, !tbaa !9
  %2851 = add i32 %2850, %2849
  store i32 %2851, ptr %26, align 4, !tbaa !9
  %2852 = load i32, ptr %26, align 4, !tbaa !9
  %2853 = load ptr, ptr %5, align 8, !tbaa !5
  %2854 = getelementptr inbounds %struct.w2c_hermes, ptr %2853, i32 0, i32 3
  store i32 %2852, ptr %2854, align 8, !tbaa !15
  br label %3037

2855:                                             ; preds = %261
  store i32 0, ptr %26, align 4, !tbaa !9
  %2856 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %2856, ptr %6, align 4, !tbaa !9
  store i32 148698, ptr %27, align 4, !tbaa !9
  %2857 = load i32, ptr %27, align 4, !tbaa !9
  %2858 = load i32, ptr %26, align 4, !tbaa !9
  %2859 = add i32 %2858, %2857
  store i32 %2859, ptr %26, align 4, !tbaa !9
  %2860 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2860, ptr %27, align 4, !tbaa !9
  store i32 62693, ptr %28, align 4, !tbaa !9
  %2861 = load i32, ptr %28, align 4, !tbaa !9
  %2862 = load i32, ptr %27, align 4, !tbaa !9
  %2863 = add i32 %2862, %2861
  store i32 %2863, ptr %27, align 4, !tbaa !9
  store i32 311, ptr %28, align 4, !tbaa !9
  %2864 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2864, ptr %29, align 4, !tbaa !9
  store i32 66279, ptr %30, align 4, !tbaa !9
  %2865 = load i32, ptr %30, align 4, !tbaa !9
  %2866 = load i32, ptr %29, align 4, !tbaa !9
  %2867 = add i32 %2866, %2865
  store i32 %2867, ptr %29, align 4, !tbaa !9
  %2868 = load ptr, ptr %5, align 8, !tbaa !5
  %2869 = load i32, ptr %26, align 4, !tbaa !9
  %2870 = load i32, ptr %27, align 4, !tbaa !9
  %2871 = load i32, ptr %28, align 4, !tbaa !9
  %2872 = load i32, ptr %29, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %2868, i32 noundef %2869, i32 noundef %2870, i32 noundef %2871, i32 noundef %2872)
  call void @wasm_rt_trap(i32 noundef 5) #8
  unreachable

2873:                                             ; preds = %305
  store i32 0, ptr %26, align 4, !tbaa !9
  %2874 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %2874, ptr %6, align 4, !tbaa !9
  store i32 132476, ptr %27, align 4, !tbaa !9
  %2875 = load i32, ptr %27, align 4, !tbaa !9
  %2876 = load i32, ptr %26, align 4, !tbaa !9
  %2877 = add i32 %2876, %2875
  store i32 %2877, ptr %26, align 4, !tbaa !9
  %2878 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2878, ptr %27, align 4, !tbaa !9
  store i32 62693, ptr %28, align 4, !tbaa !9
  %2879 = load i32, ptr %28, align 4, !tbaa !9
  %2880 = load i32, ptr %27, align 4, !tbaa !9
  %2881 = add i32 %2880, %2879
  store i32 %2881, ptr %27, align 4, !tbaa !9
  store i32 290, ptr %28, align 4, !tbaa !9
  %2882 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2882, ptr %29, align 4, !tbaa !9
  store i32 95806, ptr %30, align 4, !tbaa !9
  %2883 = load i32, ptr %30, align 4, !tbaa !9
  %2884 = load i32, ptr %29, align 4, !tbaa !9
  %2885 = add i32 %2884, %2883
  store i32 %2885, ptr %29, align 4, !tbaa !9
  %2886 = load ptr, ptr %5, align 8, !tbaa !5
  %2887 = load i32, ptr %26, align 4, !tbaa !9
  %2888 = load i32, ptr %27, align 4, !tbaa !9
  %2889 = load i32, ptr %28, align 4, !tbaa !9
  %2890 = load i32, ptr %29, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %2886, i32 noundef %2887, i32 noundef %2888, i32 noundef %2889, i32 noundef %2890)
  call void @wasm_rt_trap(i32 noundef 5) #8
  unreachable

2891:                                             ; preds = %325
  store i32 0, ptr %26, align 4, !tbaa !9
  %2892 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %2892, ptr %6, align 4, !tbaa !9
  store i32 206673, ptr %27, align 4, !tbaa !9
  %2893 = load i32, ptr %27, align 4, !tbaa !9
  %2894 = load i32, ptr %26, align 4, !tbaa !9
  %2895 = add i32 %2894, %2893
  store i32 %2895, ptr %26, align 4, !tbaa !9
  %2896 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2896, ptr %27, align 4, !tbaa !9
  store i32 62693, ptr %28, align 4, !tbaa !9
  %2897 = load i32, ptr %28, align 4, !tbaa !9
  %2898 = load i32, ptr %27, align 4, !tbaa !9
  %2899 = add i32 %2898, %2897
  store i32 %2899, ptr %27, align 4, !tbaa !9
  store i32 2437, ptr %28, align 4, !tbaa !9
  %2900 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2900, ptr %29, align 4, !tbaa !9
  store i32 66243, ptr %30, align 4, !tbaa !9
  %2901 = load i32, ptr %30, align 4, !tbaa !9
  %2902 = load i32, ptr %29, align 4, !tbaa !9
  %2903 = add i32 %2902, %2901
  store i32 %2903, ptr %29, align 4, !tbaa !9
  %2904 = load ptr, ptr %5, align 8, !tbaa !5
  %2905 = load i32, ptr %26, align 4, !tbaa !9
  %2906 = load i32, ptr %27, align 4, !tbaa !9
  %2907 = load i32, ptr %28, align 4, !tbaa !9
  %2908 = load i32, ptr %29, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %2904, i32 noundef %2905, i32 noundef %2906, i32 noundef %2907, i32 noundef %2908)
  call void @wasm_rt_trap(i32 noundef 5) #8
  unreachable

2909:                                             ; preds = %513
  store i32 0, ptr %26, align 4, !tbaa !9
  %2910 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %2910, ptr %6, align 4, !tbaa !9
  store i32 132966, ptr %27, align 4, !tbaa !9
  %2911 = load i32, ptr %27, align 4, !tbaa !9
  %2912 = load i32, ptr %26, align 4, !tbaa !9
  %2913 = add i32 %2912, %2911
  store i32 %2913, ptr %26, align 4, !tbaa !9
  %2914 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2914, ptr %27, align 4, !tbaa !9
  store i32 62693, ptr %28, align 4, !tbaa !9
  %2915 = load i32, ptr %28, align 4, !tbaa !9
  %2916 = load i32, ptr %27, align 4, !tbaa !9
  %2917 = add i32 %2916, %2915
  store i32 %2917, ptr %27, align 4, !tbaa !9
  store i32 2447, ptr %28, align 4, !tbaa !9
  %2918 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2918, ptr %29, align 4, !tbaa !9
  store i32 66243, ptr %30, align 4, !tbaa !9
  %2919 = load i32, ptr %30, align 4, !tbaa !9
  %2920 = load i32, ptr %29, align 4, !tbaa !9
  %2921 = add i32 %2920, %2919
  store i32 %2921, ptr %29, align 4, !tbaa !9
  %2922 = load ptr, ptr %5, align 8, !tbaa !5
  %2923 = load i32, ptr %26, align 4, !tbaa !9
  %2924 = load i32, ptr %27, align 4, !tbaa !9
  %2925 = load i32, ptr %28, align 4, !tbaa !9
  %2926 = load i32, ptr %29, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %2922, i32 noundef %2923, i32 noundef %2924, i32 noundef %2925, i32 noundef %2926)
  call void @wasm_rt_trap(i32 noundef 5) #8
  unreachable

2927:                                             ; preds = %1335
  store i32 0, ptr %26, align 4, !tbaa !9
  %2928 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %2928, ptr %6, align 4, !tbaa !9
  store i32 132842, ptr %27, align 4, !tbaa !9
  %2929 = load i32, ptr %27, align 4, !tbaa !9
  %2930 = load i32, ptr %26, align 4, !tbaa !9
  %2931 = add i32 %2930, %2929
  store i32 %2931, ptr %26, align 4, !tbaa !9
  %2932 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2932, ptr %27, align 4, !tbaa !9
  store i32 62693, ptr %28, align 4, !tbaa !9
  %2933 = load i32, ptr %28, align 4, !tbaa !9
  %2934 = load i32, ptr %27, align 4, !tbaa !9
  %2935 = add i32 %2934, %2933
  store i32 %2935, ptr %27, align 4, !tbaa !9
  store i32 2511, ptr %28, align 4, !tbaa !9
  %2936 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2936, ptr %29, align 4, !tbaa !9
  store i32 66243, ptr %30, align 4, !tbaa !9
  %2937 = load i32, ptr %30, align 4, !tbaa !9
  %2938 = load i32, ptr %29, align 4, !tbaa !9
  %2939 = add i32 %2938, %2937
  store i32 %2939, ptr %29, align 4, !tbaa !9
  %2940 = load ptr, ptr %5, align 8, !tbaa !5
  %2941 = load i32, ptr %26, align 4, !tbaa !9
  %2942 = load i32, ptr %27, align 4, !tbaa !9
  %2943 = load i32, ptr %28, align 4, !tbaa !9
  %2944 = load i32, ptr %29, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %2940, i32 noundef %2941, i32 noundef %2942, i32 noundef %2943, i32 noundef %2944)
  call void @wasm_rt_trap(i32 noundef 5) #8
  unreachable

2945:                                             ; preds = %1600, %1587
  store i32 0, ptr %26, align 4, !tbaa !9
  %2946 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %2946, ptr %6, align 4, !tbaa !9
  store i32 197184, ptr %27, align 4, !tbaa !9
  %2947 = load i32, ptr %27, align 4, !tbaa !9
  %2948 = load i32, ptr %26, align 4, !tbaa !9
  %2949 = add i32 %2948, %2947
  store i32 %2949, ptr %26, align 4, !tbaa !9
  %2950 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2950, ptr %27, align 4, !tbaa !9
  store i32 62693, ptr %28, align 4, !tbaa !9
  %2951 = load i32, ptr %28, align 4, !tbaa !9
  %2952 = load i32, ptr %27, align 4, !tbaa !9
  %2953 = add i32 %2952, %2951
  store i32 %2953, ptr %27, align 4, !tbaa !9
  store i32 2693, ptr %28, align 4, !tbaa !9
  %2954 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2954, ptr %29, align 4, !tbaa !9
  store i32 47846, ptr %30, align 4, !tbaa !9
  %2955 = load i32, ptr %30, align 4, !tbaa !9
  %2956 = load i32, ptr %29, align 4, !tbaa !9
  %2957 = add i32 %2956, %2955
  store i32 %2957, ptr %29, align 4, !tbaa !9
  %2958 = load ptr, ptr %5, align 8, !tbaa !5
  %2959 = load i32, ptr %26, align 4, !tbaa !9
  %2960 = load i32, ptr %27, align 4, !tbaa !9
  %2961 = load i32, ptr %28, align 4, !tbaa !9
  %2962 = load i32, ptr %29, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %2958, i32 noundef %2959, i32 noundef %2960, i32 noundef %2961, i32 noundef %2962)
  call void @wasm_rt_trap(i32 noundef 5) #8
  unreachable

2963:                                             ; preds = %1909
  store i32 0, ptr %26, align 4, !tbaa !9
  %2964 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %2964, ptr %6, align 4, !tbaa !9
  store i32 108128, ptr %27, align 4, !tbaa !9
  %2965 = load i32, ptr %27, align 4, !tbaa !9
  %2966 = load i32, ptr %26, align 4, !tbaa !9
  %2967 = add i32 %2966, %2965
  store i32 %2967, ptr %26, align 4, !tbaa !9
  %2968 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2968, ptr %27, align 4, !tbaa !9
  store i32 62693, ptr %28, align 4, !tbaa !9
  %2969 = load i32, ptr %28, align 4, !tbaa !9
  %2970 = load i32, ptr %27, align 4, !tbaa !9
  %2971 = add i32 %2970, %2969
  store i32 %2971, ptr %27, align 4, !tbaa !9
  store i32 327, ptr %28, align 4, !tbaa !9
  %2972 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2972, ptr %29, align 4, !tbaa !9
  store i32 44414, ptr %30, align 4, !tbaa !9
  %2973 = load i32, ptr %30, align 4, !tbaa !9
  %2974 = load i32, ptr %29, align 4, !tbaa !9
  %2975 = add i32 %2974, %2973
  store i32 %2975, ptr %29, align 4, !tbaa !9
  %2976 = load ptr, ptr %5, align 8, !tbaa !5
  %2977 = load i32, ptr %26, align 4, !tbaa !9
  %2978 = load i32, ptr %27, align 4, !tbaa !9
  %2979 = load i32, ptr %28, align 4, !tbaa !9
  %2980 = load i32, ptr %29, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %2976, i32 noundef %2977, i32 noundef %2978, i32 noundef %2979, i32 noundef %2980)
  call void @wasm_rt_trap(i32 noundef 5) #8
  unreachable

2981:                                             ; preds = %1919
  store i32 0, ptr %26, align 4, !tbaa !9
  %2982 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %2982, ptr %6, align 4, !tbaa !9
  store i32 108089, ptr %27, align 4, !tbaa !9
  %2983 = load i32, ptr %27, align 4, !tbaa !9
  %2984 = load i32, ptr %26, align 4, !tbaa !9
  %2985 = add i32 %2984, %2983
  store i32 %2985, ptr %26, align 4, !tbaa !9
  %2986 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2986, ptr %27, align 4, !tbaa !9
  store i32 62693, ptr %28, align 4, !tbaa !9
  %2987 = load i32, ptr %28, align 4, !tbaa !9
  %2988 = load i32, ptr %27, align 4, !tbaa !9
  %2989 = add i32 %2988, %2987
  store i32 %2989, ptr %27, align 4, !tbaa !9
  store i32 332, ptr %28, align 4, !tbaa !9
  %2990 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2990, ptr %29, align 4, !tbaa !9
  store i32 44284, ptr %30, align 4, !tbaa !9
  %2991 = load i32, ptr %30, align 4, !tbaa !9
  %2992 = load i32, ptr %29, align 4, !tbaa !9
  %2993 = add i32 %2992, %2991
  store i32 %2993, ptr %29, align 4, !tbaa !9
  %2994 = load ptr, ptr %5, align 8, !tbaa !5
  %2995 = load i32, ptr %26, align 4, !tbaa !9
  %2996 = load i32, ptr %27, align 4, !tbaa !9
  %2997 = load i32, ptr %28, align 4, !tbaa !9
  %2998 = load i32, ptr %29, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %2994, i32 noundef %2995, i32 noundef %2996, i32 noundef %2997, i32 noundef %2998)
  call void @wasm_rt_trap(i32 noundef 5) #8
  unreachable

2999:                                             ; preds = %1979
  store i32 0, ptr %26, align 4, !tbaa !9
  %3000 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %3000, ptr %6, align 4, !tbaa !9
  store i32 155229, ptr %27, align 4, !tbaa !9
  %3001 = load i32, ptr %27, align 4, !tbaa !9
  %3002 = load i32, ptr %26, align 4, !tbaa !9
  %3003 = add i32 %3002, %3001
  store i32 %3003, ptr %26, align 4, !tbaa !9
  %3004 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %3004, ptr %27, align 4, !tbaa !9
  store i32 62693, ptr %28, align 4, !tbaa !9
  %3005 = load i32, ptr %28, align 4, !tbaa !9
  %3006 = load i32, ptr %27, align 4, !tbaa !9
  %3007 = add i32 %3006, %3005
  store i32 %3007, ptr %27, align 4, !tbaa !9
  store i32 3011, ptr %28, align 4, !tbaa !9
  %3008 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %3008, ptr %29, align 4, !tbaa !9
  store i32 71148, ptr %30, align 4, !tbaa !9
  %3009 = load i32, ptr %30, align 4, !tbaa !9
  %3010 = load i32, ptr %29, align 4, !tbaa !9
  %3011 = add i32 %3010, %3009
  store i32 %3011, ptr %29, align 4, !tbaa !9
  %3012 = load ptr, ptr %5, align 8, !tbaa !5
  %3013 = load i32, ptr %26, align 4, !tbaa !9
  %3014 = load i32, ptr %27, align 4, !tbaa !9
  %3015 = load i32, ptr %28, align 4, !tbaa !9
  %3016 = load i32, ptr %29, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3012, i32 noundef %3013, i32 noundef %3014, i32 noundef %3015, i32 noundef %3016)
  call void @wasm_rt_trap(i32 noundef 5) #8
  unreachable

3017:                                             ; preds = %2384
  %3018 = load ptr, ptr %5, align 8, !tbaa !5
  call void @w2c_hermes_abort(ptr noundef %3018)
  call void @wasm_rt_trap(i32 noundef 5) #8
  unreachable

3019:                                             ; preds = %2544
  store i32 0, ptr %26, align 4, !tbaa !9
  %3020 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %3020, ptr %6, align 4, !tbaa !9
  store i32 132538, ptr %27, align 4, !tbaa !9
  %3021 = load i32, ptr %27, align 4, !tbaa !9
  %3022 = load i32, ptr %26, align 4, !tbaa !9
  %3023 = add i32 %3022, %3021
  store i32 %3023, ptr %26, align 4, !tbaa !9
  %3024 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %3024, ptr %27, align 4, !tbaa !9
  store i32 62693, ptr %28, align 4, !tbaa !9
  %3025 = load i32, ptr %28, align 4, !tbaa !9
  %3026 = load i32, ptr %27, align 4, !tbaa !9
  %3027 = add i32 %3026, %3025
  store i32 %3027, ptr %27, align 4, !tbaa !9
  store i32 296, ptr %28, align 4, !tbaa !9
  %3028 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %3028, ptr %29, align 4, !tbaa !9
  store i32 95842, ptr %30, align 4, !tbaa !9
  %3029 = load i32, ptr %30, align 4, !tbaa !9
  %3030 = load i32, ptr %29, align 4, !tbaa !9
  %3031 = add i32 %3030, %3029
  store i32 %3031, ptr %29, align 4, !tbaa !9
  %3032 = load ptr, ptr %5, align 8, !tbaa !5
  %3033 = load i32, ptr %26, align 4, !tbaa !9
  %3034 = load i32, ptr %27, align 4, !tbaa !9
  %3035 = load i32, ptr %28, align 4, !tbaa !9
  %3036 = load i32, ptr %29, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %3032, i32 noundef %3033, i32 noundef %3034, i32 noundef %3035, i32 noundef %3036)
  call void @wasm_rt_trap(i32 noundef 5) #8
  unreachable

3037:                                             ; preds = %2843
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #7
  ret void
}

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

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

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

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

declare void @w2c_hermes_void0x20hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AyoungGenEvacuateImpl0x3Chermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AEvacAcceptor0x3Ctrue0x3E0x3E0x28hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AEvacAcceptor0x3Ctrue0x3E0x260x2C0x20bool0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef) #1

declare void @w2c_hermes_void0x20hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AyoungGenEvacuateImpl0x3Chermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AEvacAcceptor0x3Cfalse0x3E0x3E0x28hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AEvacAcceptor0x3Cfalse0x3E0x260x2C0x20bool0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef) #1

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

declare void @w2c_hermes_void0x20hermes0x3A0x3Avm0x3A0x3AAlignedHeapSegment0x3A0x3AresetLevel0x3C0x28hermes0x3A0x3Avm0x3A0x3AAdviseUnused0x2900x3E0x280x29(ptr noundef, i32 noundef) #1

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

declare void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AAlignedHeapSegment0x3A0x3AclearExternalMemoryCharge0x280x29(ptr noundef, i32 noundef) #1

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

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

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

declare i32 @w2c_hermes_0x5F_memset(ptr noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #0

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

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

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

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

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

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

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

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

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

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

declare i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef, i32 noundef) local_unnamed_addr #0

declare void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef, i32 noundef) local_unnamed_addr #0

declare void @w2c_hermes_abort(ptr noundef) local_unnamed_addr #0

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

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

; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i32 @llvm.cttz.i32(i32, i1 immarg) #4

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

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

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

declare i32 @w2c_hermes_0x5F_memcpy(ptr noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #0

declare i32 @w2c_hermes_strlen(ptr noundef, i32 noundef) local_unnamed_addr #0

declare void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Abasic_string0x3Cchar0x2C0x20std0x3A0x3A_0x5F20x3A0x3Achar_traits0x3Cchar0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar0x3E0x3E0x3A0x3A_0x5Finit_copy_ctor_external0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #0

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

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

declare i64 @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Achrono0x3A0x3Asteady_clock0x3A0x3Anow0x280x29(ptr noundef) local_unnamed_addr #0

declare i64 @w2c_hermes_hermes0x3A0x3Aoscompat0x3A0x3Athread_cpu_time0x280x29(ptr noundef) local_unnamed_addr #0

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

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

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

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

; Function Attrs: nounwind uwtable
define dso_local void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AyoungGenCollection0x28std0x3A0x3A_0x5F20x3A0x3Abasic_string0x3Cchar0x2C0x20std0x3A0x3A_0x5F20x3A0x3Achar_traits0x3Cchar0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar0x3E0x3E0x2C0x20bool0x29(ptr noundef %0, i32 noundef %1, i32 noundef %2, i32 noundef %3) local_unnamed_addr #3 {
  %5 = getelementptr inbounds i8, ptr %0, i64 24
  %6 = load i32, ptr %5, align 8, !tbaa !5
  %7 = add i32 %6, -224
  store i32 %7, ptr %5, align 8, !tbaa !5
  %8 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %0, i32 noundef 128) #6
  %9 = getelementptr inbounds i8, ptr %0, i64 40
  %10 = zext i32 %2 to i64
  %11 = add nuw nsw i64 %10, 11
  %12 = tail call i32 @i32_load8_s(ptr noundef nonnull %9, i64 noundef %11)
  %13 = icmp sgt i32 %12, -1
  br i1 %13, label %14, label %20

14:                                               ; preds = %4
  %15 = add nuw nsw i64 %10, 8
  %16 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %15)
  %17 = zext i32 %7 to i64
  %18 = add nuw nsw i64 %17, 8
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %18, i32 noundef %16)
  %19 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef %10)
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %17, i64 noundef %19)
  br label %24

20:                                               ; preds = %4
  %21 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %10)
  %22 = add nuw nsw i64 %10, 4
  %23 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %22)
  tail call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Abasic_string0x3Cchar0x2C0x20std0x3A0x3A_0x5F20x3A0x3Achar_traits0x3Cchar0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar0x3E0x3E0x3A0x3A_0x5Finit_copy_ctor_external0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef nonnull %0, i32 noundef %7, i32 noundef %21, i32 noundef %23) #6
  %.pre = zext i32 %7 to i64
  %.pre1741 = add nuw nsw i64 %.pre, 8
  br label %24

24:                                               ; preds = %20, %14
  %.pre-phi1742 = phi i64 [ %.pre1741, %20 ], [ %18, %14 ]
  %.pre-phi = phi i64 [ %.pre, %20 ], [ %17, %14 ]
  %25 = tail call i32 @i32_load8_u(ptr noundef nonnull %9, i64 noundef 86654)
  %26 = add nuw nsw i64 %.pre-phi, 208
  tail call void @i32_store8(ptr noundef nonnull %9, i64 noundef %26, i32 noundef %25)
  %27 = add nuw nsw i64 %.pre-phi, 215
  tail call void @i32_store8(ptr noundef nonnull %9, i64 noundef %27, i32 noundef 5)
  %28 = add nuw nsw i64 %.pre-phi, 209
  tail call void @i32_store8(ptr noundef nonnull %9, i64 noundef %28, i32 noundef 0)
  %29 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef 86650)
  %30 = add nuw nsw i64 %.pre-phi, 204
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %30, i32 noundef %29)
  %31 = zext i32 %8 to i64
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %31, i32 noundef %1)
  %32 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef %.pre-phi)
  %33 = add nuw nsw i64 %31, 4
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %33, i64 noundef %32)
  %34 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %.pre-phi1742)
  %35 = add nuw nsw i64 %31, 12
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %35, i32 noundef %34)
  %36 = add nuw nsw i64 %.pre-phi, 212
  %37 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %36)
  %38 = add nuw nsw i64 %31, 24
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %38, i32 noundef %37)
  %39 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef %30)
  %40 = add nuw nsw i64 %31, 16
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %40, i64 noundef %39)
  %41 = add i32 %8, 28
  %42 = tail call i32 @w2c_hermes_0x5F_memset(ptr noundef nonnull %0, i32 noundef %41, i32 noundef 0, i32 noundef 93) #6
  %43 = zext i32 %1 to i64
  %44 = add nuw nsw i64 %43, 4096
  %45 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %44)
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %44, i32 noundef %8)
  %.not = icmp eq i32 %45, 0
  br i1 %.not, label %49, label %46

46:                                               ; preds = %24
  %47 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3ACollectionStats0x3A0x3A0x7ECollectionStats0x280x29(ptr noundef nonnull %0, i32 noundef %45)
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef nonnull %0, i32 noundef %47) #6
  %48 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %44)
  %.pre1743 = zext i32 %48 to i64
  br label %49

49:                                               ; preds = %46, %24
  %.pre-phi1744 = phi i64 [ %.pre1743, %46 ], [ %31, %24 ]
  %50 = add nuw nsw i64 %.pre-phi1744, 56
  %51 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef %50)
  %.not1688 = icmp eq i64 %51, 0
  br i1 %.not1688, label %52, label %545

52:                                               ; preds = %49
  %53 = tail call i64 @w2c_hermes_hermes0x3A0x3Aoscompat0x3A0x3Athread_cpu_time0x280x29(ptr noundef nonnull %0) #6
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %50, i64 noundef %53)
  %54 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %44)
  %55 = zext i32 %54 to i64
  %56 = add nuw nsw i64 %55, 40
  %57 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef %56)
  %.not1689 = icmp eq i64 %57, 0
  br i1 %.not1689, label %58, label %546

58:                                               ; preds = %52
  %59 = tail call i64 @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Achrono0x3A0x3Asteady_clock0x3A0x3Anow0x280x29(ptr noundef nonnull %0) #6
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %56, i64 noundef %59)
  %60 = add nuw nsw i64 %43, 117
  %61 = tail call i32 @i32_load8_u(ptr noundef nonnull %9, i64 noundef %60)
  %.not1690 = icmp eq i32 %61, 0
  br i1 %.not1690, label %62, label %547

62:                                               ; preds = %58
  %63 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef nonnull %0, i32 noundef 16) #6
  %64 = add nuw nsw i64 %.pre-phi, 192
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %64, i32 noundef %63)
  %65 = add nuw nsw i64 %.pre-phi, 196
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %65, i64 noundef -9223371968135299060)
  %66 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef 71162)
  %67 = zext i32 %63 to i64
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %67, i64 noundef %66)
  %68 = add nuw nsw i64 %67, 12
  tail call void @i32_store8(ptr noundef nonnull %9, i64 noundef %68, i32 noundef 0)
  %69 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef 71170)
  %70 = add nuw nsw i64 %67, 8
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %70, i32 noundef %69)
  %71 = add i32 %6, -20
  %72 = add i32 %6, -32
  %73 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCBase0x3A0x3AGCCycle0x3A0x3AGCCycle0x28hermes0x3A0x3Avm0x3A0x3AGCBase0x260x2C0x20std0x3A0x3A_0x5F20x3A0x3Abasic_string0x3Cchar0x2C0x20std0x3A0x3A_0x5F20x3A0x3Achar_traits0x3Cchar0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar0x3E0x3E0x29(ptr noundef nonnull %0, i32 noundef %71, i32 noundef %1, i32 noundef %72)
  %74 = add nuw nsw i64 %.pre-phi, 203
  %75 = tail call i32 @i32_load8_s(ptr noundef nonnull %9, i64 noundef %74)
  %76 = icmp slt i32 %75, 0
  br i1 %76, label %77, label %79

77:                                               ; preds = %62
  %78 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %64)
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef nonnull %0, i32 noundef %78) #6
  br label %79

79:                                               ; preds = %77, %62
  %80 = add nuw nsw i64 %43, 588
  %81 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %80)
  %82 = zext i32 %81 to i64
  %83 = add nuw nsw i64 %82, 16384
  %84 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %83)
  %.not1691 = icmp eq i32 %84, -1
  br i1 %.not1691, label %85, label %.loopexit1726

85:                                               ; preds = %79
  %86 = add i32 %81, 16384
  br label %87

87:                                               ; preds = %87, %85
  %indvars.iv = phi i64 [ %indvars.iv.next, %87 ], [ 0, %85 ]
  %88 = icmp ult i64 %indvars.iv, 16382
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %indvars.iv.next.tr = trunc i64 %indvars.iv.next to i32
  %89 = shl nuw nsw i32 %indvars.iv.next.tr, 2
  %90 = add i32 %86, %89
  %91 = zext i32 %90 to i64
  %92 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %91)
  %93 = icmp eq i32 %92, -1
  %or.cond = select i1 %88, i1 %93, i1 false
  br i1 %or.cond, label %87, label %.loopexit1726.loopexit

.loopexit1726.loopexit:                           ; preds = %87
  %94 = trunc nuw nsw i64 %indvars.iv.next to i32
  br label %.loopexit1726

.loopexit1726:                                    ; preds = %.loopexit1726.loopexit, %79
  %.21668 = phi i32 [ 0, %79 ], [ %94, %.loopexit1726.loopexit ]
  %.01663 = phi i32 [ %84, %79 ], [ %92, %.loopexit1726.loopexit ]
  %95 = xor i32 %.01663, -1
  %96 = tail call range(i32 0, 33) i32 @llvm.cttz.i32(i32 %95, i1 false)
  %97 = shl nuw nsw i32 %.21668, 5
  %98 = add nuw nsw i32 %96, %97
  %.not1693 = icmp eq i32 %98, 524288
  br i1 %.not1693, label %99, label %548

99:                                               ; preds = %.loopexit1726
  %100 = add nuw nsw i64 %43, 596
  %101 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %100)
  %reass.sub = sub i32 %101, %81
  %102 = add i32 %reass.sub, -86016
  %103 = zext i32 %102 to i64
  %104 = add nuw nsw i64 %43, 8
  %105 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef %104)
  %106 = add i64 %105, %103
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %104, i64 noundef %106)
  %107 = add i32 %1, 4456
  %108 = zext i32 %107 to i64
  %109 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %108)
  %110 = add nuw nsw i64 %43, 4440
  %111 = tail call i64 @i64_load32_u(ptr noundef nonnull %9, i64 noundef %110)
  %112 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3ApromoteYoungGenToOldGen0x280x29(ptr noundef %0, i32 noundef %1)
  %.not1694 = icmp eq i32 %112, 0
  br i1 %.not1694, label %147, label %113

113:                                              ; preds = %99
  %114 = add i32 %1, 4464
  %115 = zext i32 %114 to i64
  %116 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %115)
  %117 = add nuw nsw i64 %43, 656
  %118 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %117)
  %119 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %80)
  %120 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %44)
  %121 = zext i32 %120 to i64
  %122 = add nuw nsw i64 %121, 80
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %122, i64 noundef %111)
  %123 = add nuw nsw i64 %121, 72
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %123, i64 noundef %103)
  %124 = icmp ne i32 %119, 0
  %125 = zext i1 %124 to i32
  %126 = icmp ne i32 %116, 0
  %127 = zext i1 %126 to i32
  %128 = add i32 %118, %127
  %129 = add i32 %128, %125
  %130 = shl i32 %129, 22
  %131 = zext i32 %130 to i64
  %132 = add nuw nsw i64 %121, 88
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %132, i64 noundef %131)
  %133 = tail call i32 @i32_load8_u(ptr noundef nonnull %9, i64 noundef 64991)
  %134 = add nuw nsw i64 %.pre-phi, 184
  tail call void @i32_store8(ptr noundef nonnull %9, i64 noundef %134, i32 noundef %133)
  %135 = add nuw nsw i64 %.pre-phi, 187
  tail call void @i32_store8(ptr noundef nonnull %9, i64 noundef %135, i32 noundef 9)
  %136 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef 64983)
  %137 = add nuw nsw i64 %.pre-phi, 176
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %137, i64 noundef %136)
  %138 = add nuw nsw i64 %.pre-phi, 185
  tail call void @i32_store8(ptr noundef nonnull %9, i64 noundef %138, i32 noundef 0)
  %139 = add i32 %6, -48
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3ACollectionStats0x3A0x3AaddCollectionType0x28std0x3A0x3A_0x5F20x3A0x3Abasic_string0x3Cchar0x2C0x20std0x3A0x3A_0x5F20x3A0x3Achar_traits0x3Cchar0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar0x3E0x3E0x29(ptr noundef %0, i32 noundef %120, i32 noundef %139)
  %140 = tail call i32 @i32_load8_s(ptr noundef nonnull %9, i64 noundef %135)
  %141 = icmp slt i32 %140, 0
  br i1 %141, label %142, label %144

142:                                              ; preds = %113
  %143 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %137)
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %0, i32 noundef %143) #6
  br label %144

144:                                              ; preds = %142, %113
  %145 = icmp eq i32 %109, 1
  br i1 %145, label %364, label %146

146:                                              ; preds = %144
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef %0, i32 noundef 191792, i32 noundef 62693, i32 noundef 2466, i32 noundef 66243) #6
  tail call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

147:                                              ; preds = %99
  %148 = add i32 %1, 400
  %149 = add i32 %1, 4464
  %150 = zext i32 %149 to i64
  %151 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %150)
  %.not1695 = icmp eq i32 %151, 0
  %152 = add nuw nsw i64 %.pre-phi, 12
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %152, i32 noundef %1)
  %153 = add nuw nsw i64 %.pre-phi, 4
  %154 = add nuw nsw i64 %43, 60
  %155 = add nuw nsw i64 %.pre-phi, 20
  %156 = add nuw nsw i64 %.pre-phi, 16
  %157 = add nuw nsw i64 %.pre-phi, 32
  %158 = add nuw nsw i64 %.pre-phi, 24
  br i1 %.not1695, label %164, label %159

159:                                              ; preds = %147
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %.pre-phi1742, i32 noundef 277088)
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %153, i32 noundef 277056)
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %.pre-phi, i32 noundef 276996)
  %160 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %154)
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %155, i32 noundef 0)
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %156, i32 noundef %160)
  %161 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCBase0x3A0x3AIDTracker0x3A0x3AisTrackingIDs0x280x29(ptr noundef %0, i32 noundef %148)
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %157, i64 noundef 0)
  tail call void @i32_store8(ptr noundef nonnull %9, i64 noundef %158, i32 noundef %161)
  %162 = icmp ne i32 %109, 1
  %163 = zext i1 %162 to i32
  tail call void @w2c_hermes_void0x20hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AyoungGenEvacuateImpl0x3Chermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AEvacAcceptor0x3Ctrue0x3E0x3E0x28hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AEvacAcceptor0x3Ctrue0x3E0x260x2C0x20bool0x29(ptr noundef %0, i32 noundef %1, i32 noundef %7, i32 noundef %163) #6
  br label %167

164:                                              ; preds = %147
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %.pre-phi1742, i32 noundef 277332)
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %153, i32 noundef 277300)
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %.pre-phi, i32 noundef 277240)
  %165 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %154)
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %155, i32 noundef 0)
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %156, i32 noundef %165)
  %166 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCBase0x3A0x3AIDTracker0x3A0x3AisTrackingIDs0x280x29(ptr noundef %0, i32 noundef %148)
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %157, i64 noundef 0)
  tail call void @i32_store8(ptr noundef nonnull %9, i64 noundef %158, i32 noundef %166)
  tail call void @w2c_hermes_void0x20hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AyoungGenEvacuateImpl0x3Chermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AEvacAcceptor0x3Cfalse0x3E0x3E0x28hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AEvacAcceptor0x3Cfalse0x3E0x260x2C0x20bool0x29(ptr noundef %0, i32 noundef %1, i32 noundef %7, i32 noundef 0) #6
  br label %167

167:                                              ; preds = %164, %159
  %168 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef %157)
  %169 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCBase0x3A0x3AIDTracker0x3A0x3AisTrackingIDs0x280x29(ptr noundef %0, i32 noundef %148)
  %.not1696 = icmp eq i32 %169, 0
  br i1 %.not1696, label %.loopexit1723, label %170

170:                                              ; preds = %167
  %171 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %80)
  %172 = add i32 %171, 86016
  %173 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %100)
  %174 = icmp ult i32 %172, %173
  br i1 %174, label %.preheader1724, label %.loopexit1725

.preheader1724:                                   ; preds = %170, %185
  %.3 = phi i32 [ %188, %185 ], [ %172, %170 ]
  %175 = zext i32 %.3 to i64
  %176 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %175)
  %177 = and i32 %176, 1
  %.not1697 = icmp eq i32 %177, 0
  br i1 %.not1697, label %180, label %178

178:                                              ; preds = %.preheader1724
  %179 = add nsw i32 %176, -1
  %.pre1752 = zext i32 %179 to i64
  br label %185

180:                                              ; preds = %.preheader1724
  %181 = and i32 %176, -16777216
  %182 = icmp eq i32 %181, 33554432
  br i1 %182, label %185, label %183

183:                                              ; preds = %180
  %184 = and i32 %176, 16777214
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCBase0x3A0x3AuntrackObject0x28hermes0x3A0x3Avm0x3A0x3AGCCell0x20const0x2A0x2C0x20unsigned0x20int0x29(ptr noundef %0, i32 noundef %1, i32 noundef %.3, i32 noundef %184)
  br label %185

185:                                              ; preds = %180, %183, %178
  %.pre-phi1753 = phi i64 [ %175, %180 ], [ %175, %183 ], [ %.pre1752, %178 ]
  %186 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %.pre-phi1753)
  %187 = and i32 %186, 16777215
  %188 = add i32 %187, %.3
  %189 = icmp ult i32 %188, %173
  br i1 %189, label %.preheader1724, label %.loopexit1725

.loopexit1725:                                    ; preds = %185, %170
  %190 = icmp eq i32 %109, 1
  br i1 %190, label %.loopexit1723, label %191

191:                                              ; preds = %.loopexit1725
  %192 = add nuw nsw i64 %43, 4464
  %193 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %192)
  %194 = zext i32 %193 to i64
  %195 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %194)
  %196 = add i32 %195, 86016
  %197 = add nuw nsw i64 %194, 8
  %198 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %197)
  %.not1698 = icmp ult i32 %196, %198
  br i1 %.not1698, label %.preheader1722, label %.loopexit1723

.preheader1722:                                   ; preds = %191, %209
  %.4 = phi i32 [ %212, %209 ], [ %196, %191 ]
  %199 = zext i32 %.4 to i64
  %200 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %199)
  %201 = and i32 %200, 1
  %.not1699 = icmp eq i32 %201, 0
  br i1 %.not1699, label %204, label %202

202:                                              ; preds = %.preheader1722
  %203 = add nsw i32 %200, -1
  %.pre1754 = zext i32 %203 to i64
  br label %209

204:                                              ; preds = %.preheader1722
  %205 = and i32 %200, -16777216
  %206 = icmp eq i32 %205, 33554432
  br i1 %206, label %209, label %207

207:                                              ; preds = %204
  %208 = and i32 %200, 16777214
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCBase0x3A0x3AuntrackObject0x28hermes0x3A0x3Avm0x3A0x3AGCCell0x20const0x2A0x2C0x20unsigned0x20int0x29(ptr noundef %0, i32 noundef %1, i32 noundef %.4, i32 noundef %208)
  br label %209

209:                                              ; preds = %204, %207, %202
  %.pre-phi1755 = phi i64 [ %199, %204 ], [ %199, %207 ], [ %.pre1754, %202 ]
  %210 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %.pre-phi1755)
  %211 = and i32 %210, 16777215
  %212 = add i32 %211, %.4
  %213 = icmp ult i32 %212, %198
  br i1 %213, label %.preheader1722, label %.loopexit1723

.loopexit1723:                                    ; preds = %209, %191, %.loopexit1725, %167
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AfinalizeYoungGenObjects0x280x29(ptr noundef %0, i32 noundef %1)
  %214 = tail call i64 @i64_load32_u(ptr noundef nonnull %9, i64 noundef %110)
  %215 = add nuw nsw i64 %43, 4071
  %216 = tail call i32 @i32_load8_u(ptr noundef nonnull %9, i64 noundef %215)
  %.not1700 = icmp eq i32 %216, 0
  br i1 %.not1700, label %223, label %217

217:                                              ; preds = %.loopexit1723
  %218 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %80)
  %219 = add i32 %218, 86016
  %220 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %100)
  %221 = sub i32 %220, %219
  %222 = tail call i32 @w2c_hermes_0x5F_memset(ptr noundef %0, i32 noundef %219, i32 noundef 204, i32 noundef %221) #6
  br label %223

223:                                              ; preds = %217, %.loopexit1723
  %224 = add i32 %1, 588
  tail call void @w2c_hermes_void0x20hermes0x3A0x3Avm0x3A0x3AAlignedHeapSegment0x3A0x3AresetLevel0x3C0x28hermes0x3A0x3Avm0x3A0x3AAdviseUnused0x2900x3E0x280x29(ptr noundef %0, i32 noundef %224) #6
  %225 = zext i32 %224 to i64
  %226 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %225)
  %227 = zext i32 %226 to i64
  %228 = add nuw nsw i64 %227, 16384
  %229 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %228)
  %.not1701 = icmp eq i32 %229, -1
  br i1 %.not1701, label %230, label %.loopexit1721

230:                                              ; preds = %223
  %231 = add i32 %226, 16384
  br label %232

232:                                              ; preds = %232, %230
  %indvars.iv1738 = phi i64 [ %indvars.iv.next1739, %232 ], [ 0, %230 ]
  %233 = icmp ult i64 %indvars.iv1738, 16382
  %indvars.iv.next1739 = add nuw nsw i64 %indvars.iv1738, 1
  %indvars.iv.next1739.tr = trunc i64 %indvars.iv.next1739 to i32
  %234 = shl nuw nsw i32 %indvars.iv.next1739.tr, 2
  %235 = add i32 %231, %234
  %236 = zext i32 %235 to i64
  %237 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %236)
  %238 = icmp eq i32 %237, -1
  %or.cond1716 = select i1 %233, i1 %238, i1 false
  br i1 %or.cond1716, label %232, label %.loopexit1721.loopexit

.loopexit1721.loopexit:                           ; preds = %232
  %239 = trunc nuw nsw i64 %indvars.iv.next1739 to i32
  br label %.loopexit1721

.loopexit1721:                                    ; preds = %.loopexit1721.loopexit, %223
  %.6 = phi i32 [ 0, %223 ], [ %239, %.loopexit1721.loopexit ]
  %.11664 = phi i32 [ %229, %223 ], [ %237, %.loopexit1721.loopexit ]
  %240 = xor i32 %.11664, -1
  %241 = tail call range(i32 0, 33) i32 @llvm.cttz.i32(i32 %240, i1 false)
  %242 = shl nuw nsw i32 %.6, 5
  %243 = add nuw nsw i32 %241, %242
  %.not1703 = icmp eq i32 %243, 524288
  br i1 %.not1703, label %244, label %549

244:                                              ; preds = %.loopexit1721
  %.not1704 = icmp eq i32 %109, 1
  br i1 %.not1704, label %276, label %245

245:                                              ; preds = %244
  %246 = add nuw nsw i64 %43, 4472
  %247 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %246)
  %248 = add i32 %247, 1
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %246, i32 noundef %248)
  %249 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %44)
  %250 = add nuw nsw i64 %.pre-phi, 175
  tail call void @i32_store8(ptr noundef nonnull %9, i64 noundef %250, i32 noundef 7)
  %251 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef 39513)
  %252 = add nuw nsw i64 %.pre-phi, 164
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %252, i32 noundef %251)
  %253 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef 39516)
  %254 = add nuw nsw i64 %.pre-phi, 167
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %254, i32 noundef %253)
  %255 = add nuw nsw i64 %.pre-phi, 171
  tail call void @i32_store8(ptr noundef nonnull %9, i64 noundef %255, i32 noundef 0)
  %256 = add i32 %6, -60
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3ACollectionStats0x3A0x3AaddCollectionType0x28std0x3A0x3A_0x5F20x3A0x3Abasic_string0x3Cchar0x2C0x20std0x3A0x3A_0x5F20x3A0x3Achar_traits0x3Cchar0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar0x3E0x3E0x29(ptr noundef %0, i32 noundef %249, i32 noundef %256)
  %257 = tail call i32 @i32_load8_s(ptr noundef nonnull %9, i64 noundef %250)
  %258 = icmp slt i32 %257, 0
  br i1 %258, label %259, label %261

259:                                              ; preds = %245
  %260 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %252)
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %0, i32 noundef %260) #6
  br label %261

261:                                              ; preds = %259, %245
  %262 = add i32 %1, 680
  %263 = zext i32 %262 to i64
  %264 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef %263)
  %265 = add i32 %1, 688
  %266 = zext i32 %265 to i64
  %267 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef %266)
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AfinalizeCompactee0x280x29(ptr noundef %0, i32 noundef %1)
  %268 = tail call i64 @i64_load32_u(ptr noundef nonnull %9, i64 noundef %110)
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %110, i64 noundef 0)
  %269 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef %266)
  %270 = add i64 %269, %268
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %266, i64 noundef %270)
  %271 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef %263)
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AAlignedHeapSegment0x3A0x3AclearExternalMemoryCharge0x280x29(ptr noundef %0, i32 noundef %224) #6
  %272 = add i64 %267, %111
  %273 = sub i64 %272, %269
  %274 = add i64 %264, %103
  %275 = sub i64 %274, %271
  %.pre1746 = add nuw nsw i64 %43, 624
  br label %307

276:                                              ; preds = %244
  %277 = tail call i64 @i64_load32_u(ptr noundef nonnull %9, i64 noundef %110)
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %110, i64 noundef 0)
  %278 = add i32 %1, 688
  %279 = zext i32 %278 to i64
  %280 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef %279)
  %281 = add i64 %280, %277
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %279, i64 noundef %281)
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AAlignedHeapSegment0x3A0x3AclearExternalMemoryCharge0x280x29(ptr noundef %0, i32 noundef %224) #6
  %282 = add nuw nsw i64 %43, 624
  %283 = tail call double @f64_load(ptr noundef nonnull %9, i64 noundef %282)
  %284 = fcmp ugt double %283, 1.000000e+00
  %285 = fcmp ult double %283, 2.500000e-01
  %or.cond1717 = or i1 %284, %285
  br i1 %or.cond1717, label %550, label %286

286:                                              ; preds = %276
  %287 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %44)
  %288 = tail call i64 @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Achrono0x3A0x3Asteady_clock0x3A0x3Anow0x280x29(ptr noundef %0) #6
  %289 = zext i32 %287 to i64
  %290 = add nuw nsw i64 %289, 40
  %291 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef %290)
  %292 = sub i64 %288, %291
  %293 = icmp slt i64 %292, 10000000
  br i1 %293, label %294, label %299

294:                                              ; preds = %286
  %295 = tail call double @f64_load(ptr noundef nonnull %9, i64 noundef %282)
  %296 = fmul double %295, 1.100000e+00
  %297 = fcmp ogt double %296, 1.000000e+00
  %298 = select i1 %297, double 1.000000e+00, double %296
  br label %306

299:                                              ; preds = %286
  %300 = icmp ult i64 %292, 21000000
  br i1 %300, label %307, label %301

301:                                              ; preds = %299
  %302 = tail call double @f64_load(ptr noundef nonnull %9, i64 noundef %282)
  %303 = fmul double %302, 9.000000e-01
  %304 = fcmp olt double %303, 2.500000e-01
  %305 = select i1 %304, double 2.500000e-01, double %303
  br label %306

306:                                              ; preds = %301, %294
  %.0 = phi double [ %298, %294 ], [ %305, %301 ]
  tail call void @f64_store(ptr noundef nonnull %9, i64 noundef %282, double noundef %.0)
  br label %307

307:                                              ; preds = %299, %306, %261
  %.pre-phi1747 = phi i64 [ %282, %299 ], [ %282, %306 ], [ %.pre1746, %261 ]
  %.01660 = phi i64 [ %103, %299 ], [ %103, %306 ], [ %275, %261 ]
  %.01659 = phi i64 [ %111, %299 ], [ %111, %306 ], [ %273, %261 ]
  %308 = tail call double @f64_load(ptr noundef nonnull %9, i64 noundef %.pre-phi1747)
  %309 = fmul double %308, 0x414F580000000000
  %310 = fcmp olt double %309, 0x41F0000000000000
  %311 = fcmp oge double %309, 0.000000e+00
  %312 = and i1 %310, %311
  br i1 %312, label %313, label %321

313:                                              ; preds = %307
  %314 = fcmp uno double %309, 0.000000e+00
  br i1 %314, label %315, label %316, !prof !15

315:                                              ; preds = %313
  tail call void @wasm_rt_trap(i32 noundef 4) #7
  unreachable

316:                                              ; preds = %313
  %317 = fcmp ogt double %309, -1.000000e+00
  br i1 %317, label %319, label %318, !prof !16

318:                                              ; preds = %316
  tail call void @wasm_rt_trap(i32 noundef 2) #7
  unreachable

319:                                              ; preds = %316
  %320 = fptoui double %309 to i32
  br label %321

321:                                              ; preds = %307, %319
  %.2 = phi i32 [ %320, %319 ], [ 0, %307 ]
  %322 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %80)
  %323 = add i32 %.2, 86016
  %324 = add i32 %323, %322
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AAlignedHeapSegment0x3A0x3AsetEffectiveEnd0x28char0x2A0x29(ptr noundef %0, i32 noundef %224, i32 noundef %324)
  %325 = add nuw nsw i64 %43, 656
  %326 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %325)
  %327 = add nuw nsw i64 %43, 4464
  %328 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %327)
  %329 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %80)
  %330 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %44)
  %331 = sub i64 %.01659, %214
  %332 = zext i32 %330 to i64
  %333 = add nuw nsw i64 %332, 112
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %333, i64 noundef %331)
  %334 = sub i64 %.01660, %168
  %335 = add nuw nsw i64 %332, 104
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %335, i64 noundef %334)
  %336 = add nuw nsw i64 %332, 80
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %336, i64 noundef %.01659)
  %337 = add nuw nsw i64 %332, 72
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %337, i64 noundef %.01660)
  %338 = icmp ne i32 %329, 0
  %339 = zext i1 %338 to i32
  %340 = icmp ne i32 %328, 0
  %341 = zext i1 %340 to i32
  %342 = add i32 %326, %341
  %343 = add i32 %342, %339
  %344 = shl i32 %343, 22
  %345 = zext i32 %344 to i64
  %346 = add nuw nsw i64 %332, 88
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %346, i64 noundef %345)
  %347 = add nuw nsw i64 %332, 96
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %347, i64 noundef %345)
  br i1 %.not1704, label %348, label %364

348:                                              ; preds = %321
  %349 = icmp ult i64 %.01660, %168
  br i1 %349, label %551, label %350

350:                                              ; preds = %348
  %351 = icmp ult i64 %.01659, %214
  br i1 %351, label %552, label %352

352:                                              ; preds = %350
  %353 = add i32 %1, 4432
  %354 = zext i32 %353 to i64
  %355 = tail call double @f64_load(ptr noundef nonnull %9, i64 noundef %354)
  %356 = add nuw nsw i64 %43, 4424
  %357 = tail call double @f64_load(ptr noundef nonnull %9, i64 noundef %356)
  %358 = fsub double 1.000000e+00, %357
  %359 = fmul double %355, %358
  %360 = add i64 %214, %168
  %361 = uitofp i64 %360 to double
  %362 = fmul double %357, %361
  %363 = fadd double %362, %359
  tail call void @f64_store(ptr noundef nonnull %9, i64 noundef %354, double noundef %363)
  br label %364

364:                                              ; preds = %321, %144, %352
  %365 = tail call i32 @i32_load8_u(ptr noundef nonnull %9, i64 noundef %60)
  %.not1705 = icmp eq i32 %365, 0
  br i1 %.not1705, label %553, label %366

366:                                              ; preds = %364
  %367 = add nuw nsw i64 %43, 4052
  %368 = tail call i32 @i32_load8_u(ptr noundef nonnull %9, i64 noundef %367)
  switch i32 %368, label %.preheader1764 [
    i32 0, label %408
    i32 1, label %369
  ]

369:                                              ; preds = %366
  %370 = add nuw nsw i64 %43, 4056
  %371 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %370)
  %372 = add i32 %1, 4432
  %373 = zext i32 %372 to i64
  %374 = tail call double @f64_load(ptr noundef nonnull %9, i64 noundef %373)
  %375 = fmul double %374, 3.000000e+00
  %376 = fcmp olt double %375, 0x43F0000000000000
  %377 = fcmp oge double %375, 0.000000e+00
  %378 = and i1 %376, %377
  br i1 %378, label %379, label %387

379:                                              ; preds = %369
  %380 = fcmp uno double %375, 0.000000e+00
  br i1 %380, label %381, label %382, !prof !15

381:                                              ; preds = %379
  tail call void @wasm_rt_trap(i32 noundef 4) #7
  unreachable

382:                                              ; preds = %379
  %383 = fcmp ogt double %375, -1.000000e+00
  br i1 %383, label %385, label %384, !prof !16

384:                                              ; preds = %382
  tail call void @wasm_rt_trap(i32 noundef 2) #7
  unreachable

385:                                              ; preds = %382
  %386 = fptoui double %375 to i64
  br label %387

387:                                              ; preds = %369, %385
  %.01655 = phi i64 [ %386, %385 ], [ 0, %369 ]
  %388 = tail call i64 @llvm.umax.i64(i64 %.01655, i64 8192)
  %389 = zext i32 %371 to i64
  %390 = add nuw nsw i64 %389, 584
  tail call void @i64_store32(ptr noundef nonnull %9, i64 noundef %390, i64 noundef %388)
  br label %.preheader1764

.preheader1764:                                   ; preds = %366, %387
  br label %391

391:                                              ; preds = %.preheader1764, %393
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AincrementalCollect0x28bool0x29(ptr noundef %0, i32 noundef %1, i32 noundef 0)
  %392 = tail call i32 @i32_load8_u(ptr noundef nonnull %9, i64 noundef %367)
  %.not1707 = icmp eq i32 %392, %368
  br i1 %.not1707, label %393, label %.loopexit

393:                                              ; preds = %391
  %394 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %44)
  %395 = tail call i64 @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Achrono0x3A0x3Asteady_clock0x3A0x3Anow0x280x29(ptr noundef %0) #6
  %396 = zext i32 %394 to i64
  %397 = add nuw nsw i64 %396, 40
  %398 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef %397)
  %399 = sub i64 %395, %398
  %400 = icmp slt i64 %399, 25000000
  br i1 %400, label %391, label %401

401:                                              ; preds = %393
  %402 = tail call i32 @i32_load8_u(ptr noundef nonnull %9, i64 noundef %367)
  br label %.loopexit

.loopexit:                                        ; preds = %391, %401
  %.7 = phi i32 [ %402, %401 ], [ %392, %391 ]
  %403 = and i32 %.7, 255
  %.not1708 = icmp eq i32 %403, 0
  br i1 %.not1708, label %404, label %477

404:                                              ; preds = %.loopexit
  %405 = add nuw nsw i64 %43, 4456
  %406 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %405)
  %407 = icmp eq i32 %406, 1
  br i1 %407, label %411, label %477

408:                                              ; preds = %366
  %409 = add nuw nsw i64 %43, 4456
  %410 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %409)
  %.not1706 = icmp eq i32 %410, 1
  br i1 %.not1706, label %411, label %477

411:                                              ; preds = %408, %404
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AcheckTripwireAndSubmitStats0x280x29(ptr noundef %0, i32 noundef %1)
  %.not1709 = icmp eq i32 %3, 0
  br i1 %.not1709, label %423, label %412

412:                                              ; preds = %411
  %413 = add i32 %2, 8
  %414 = zext i32 %413 to i64
  %415 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %414)
  %416 = add nuw nsw i64 %.pre-phi, 160
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %416, i32 noundef %415)
  %417 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef %10)
  %418 = add nuw nsw i64 %.pre-phi, 152
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %418, i64 noundef %417)
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %10, i64 noundef 0)
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %414, i32 noundef 0)
  %419 = add i32 %6, -72
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AoldGenCollection0x28std0x3A0x3A_0x5F20x3A0x3Abasic_string0x3Cchar0x2C0x20std0x3A0x3A_0x5F20x3A0x3Achar_traits0x3Cchar0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar0x3E0x3E0x2C0x20bool0x29(ptr noundef %0, i32 noundef %1, i32 noundef %419, i32 noundef 1)
  %420 = add nuw nsw i64 %.pre-phi, 163
  %421 = tail call i32 @i32_load8_s(ptr noundef nonnull %9, i64 noundef %420)
  %422 = icmp sgt i32 %421, -1
  br i1 %422, label %477, label %474

423:                                              ; preds = %411
  %424 = add i32 %1, 4088
  %425 = zext i32 %424 to i64
  %426 = tail call double @f64_load(ptr noundef nonnull %9, i64 noundef %425)
  %427 = add nuw nsw i64 %43, 688
  %428 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef %427)
  %429 = add nuw nsw i64 %43, 680
  %430 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef %429)
  %431 = add i64 %430, %428
  %432 = uitofp i64 %431 to double
  %433 = add nuw nsw i64 %43, 672
  %434 = tail call double @f64_load(ptr noundef nonnull %9, i64 noundef %433)
  %435 = fcmp olt double %434, 0x43F0000000000000
  %436 = fcmp oge double %434, 0.000000e+00
  %437 = and i1 %435, %436
  br i1 %437, label %438, label %447

438:                                              ; preds = %423
  %439 = fcmp uno double %434, 0.000000e+00
  br i1 %439, label %440, label %441, !prof !15

440:                                              ; preds = %438
  tail call void @wasm_rt_trap(i32 noundef 4) #7
  unreachable

441:                                              ; preds = %438
  %442 = fcmp ogt double %434, -1.000000e+00
  br i1 %442, label %444, label %443, !prof !16

443:                                              ; preds = %441
  tail call void @wasm_rt_trap(i32 noundef 2) #7
  unreachable

444:                                              ; preds = %441
  %445 = fptoui double %434 to i64
  %446 = uitofp i64 %445 to double
  br label %447

447:                                              ; preds = %423, %444
  %.1 = phi double [ %446, %444 ], [ 0.000000e+00, %423 ]
  %448 = fdiv double %432, %.1
  %449 = fcmp ugt double %426, %448
  br i1 %449, label %477, label %450

450:                                              ; preds = %447
  %451 = tail call i32 @w2c_hermes_strlen(ptr noundef %0, i32 noundef 252368) #6
  %452 = icmp ugt i32 %451, 2147483631
  br i1 %452, label %554, label %453

453:                                              ; preds = %450
  %454 = icmp ugt i32 %451, 10
  br i1 %454, label %455, label %464

455:                                              ; preds = %453
  %456 = or i32 %451, 15
  %457 = add nuw i32 %456, 1
  %458 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %0, i32 noundef %457) #6
  %459 = or i32 %457, -2147483648
  %460 = add nuw nsw i64 %.pre-phi, 148
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %460, i32 noundef %459)
  %461 = add nuw nsw i64 %.pre-phi, 140
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %461, i32 noundef %458)
  %462 = add nuw nsw i64 %.pre-phi, 144
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %462, i32 noundef %451)
  %463 = add i32 %458, %451
  %.pre1756 = add i32 %6, -84
  %.pre1757 = add nuw nsw i64 %.pre-phi, 151
  br label %468

464:                                              ; preds = %453
  %465 = add nuw nsw i64 %.pre-phi, 151
  tail call void @i32_store8(ptr noundef nonnull %9, i64 noundef %465, i32 noundef %451)
  %466 = add i32 %6, -84
  %467 = add i32 %451, %466
  %.not1710 = icmp eq i32 %451, 0
  br i1 %.not1710, label %470, label %468

468:                                              ; preds = %464, %455
  %.pre1750.pre-phi = phi i64 [ %465, %464 ], [ %.pre1757, %455 ]
  %.pre1748.pre-phi = phi i32 [ %466, %464 ], [ %.pre1756, %455 ]
  %.21665 = phi i32 [ %466, %464 ], [ %458, %455 ]
  %.01661 = phi i32 [ %467, %464 ], [ %463, %455 ]
  %469 = tail call i32 @w2c_hermes_0x5F_memcpy(ptr noundef %0, i32 noundef %.21665, i32 noundef 252368, i32 noundef %451) #6
  br label %470

470:                                              ; preds = %464, %468
  %.pre-phi1751 = phi i64 [ %465, %464 ], [ %.pre1750.pre-phi, %468 ]
  %.pre-phi1749 = phi i32 [ %466, %464 ], [ %.pre1748.pre-phi, %468 ]
  %.11662 = phi i32 [ %467, %464 ], [ %.01661, %468 ]
  %471 = zext i32 %.11662 to i64
  tail call void @i32_store8(ptr noundef nonnull %9, i64 noundef %471, i32 noundef 0)
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AoldGenCollection0x28std0x3A0x3A_0x5F20x3A0x3Abasic_string0x3Cchar0x2C0x20std0x3A0x3A_0x5F20x3A0x3Achar_traits0x3Cchar0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cchar0x3E0x3E0x2C0x20bool0x29(ptr noundef %0, i32 noundef %1, i32 noundef %.pre-phi1749, i32 noundef 0)
  %472 = tail call i32 @i32_load8_s(ptr noundef nonnull %9, i64 noundef %.pre-phi1751)
  %473 = icmp sgt i32 %472, -1
  br i1 %473, label %477, label %474

474:                                              ; preds = %470, %412
  %.01658 = phi i32 [ %419, %412 ], [ %.pre-phi1749, %470 ]
  %475 = zext i32 %.01658 to i64
  %476 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %475)
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %0, i32 noundef %476) #6
  br label %477

477:                                              ; preds = %470, %447, %412, %408, %404, %.loopexit, %474
  %478 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %44)
  %479 = zext i32 %478 to i64
  %480 = add nuw nsw i64 %479, 48
  %481 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef %480)
  %.not1711 = icmp eq i64 %481, 0
  br i1 %.not1711, label %482, label %555

482:                                              ; preds = %477
  %483 = tail call i64 @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Achrono0x3A0x3Asteady_clock0x3A0x3Anow0x280x29(ptr noundef %0) #6
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %480, i64 noundef %483)
  %484 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %44)
  %485 = tail call i64 @w2c_hermes_hermes0x3A0x3Aoscompat0x3A0x3Athread_cpu_time0x280x29(ptr noundef %0) #6
  %486 = zext i32 %484 to i64
  %487 = add nuw nsw i64 %486, 56
  %488 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef %487)
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %487, i64 noundef 0)
  %489 = add nuw nsw i64 %486, 64
  %490 = tail call i64 @i64_load(ptr noundef nonnull %9, i64 noundef %489)
  %491 = sub i64 %485, %488
  %492 = add i64 %491, %490
  tail call void @i64_store(ptr noundef nonnull %9, i64 noundef %489, i64 noundef %492)
  %493 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %44)
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3ACollectionStats0x3A0x3AgetEvent0x280x290x200x260x26(ptr noundef %0, i32 noundef %7, i32 noundef %493)
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCBase0x3A0x3ArecordGCStats0x28hermes0x3A0x3Avm0x3A0x3AGCAnalyticsEvent0x20const0x260x2C0x20bool0x29(ptr noundef %0, i32 noundef %1, i32 noundef %7, i32 noundef 1)
  %494 = add i32 %1, 4264
  tail call void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCBase0x3A0x3ArecordGCStats0x28hermes0x3A0x3Avm0x3A0x3AGCAnalyticsEvent0x20const0x260x2C0x20hermes0x3A0x3Avm0x3A0x3AGCBase0x3A0x3ACumulativeHeapStats0x2A0x2C0x20bool0x29(ptr noundef %0, i32 noundef %1, i32 noundef %7, i32 noundef %494, i32 noundef 1)
  %495 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %44)
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %44, i32 noundef 0)
  %.not1712 = icmp eq i32 %495, 0
  br i1 %.not1712, label %498, label %496

496:                                              ; preds = %482
  %497 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3ACollectionStats0x3A0x3A0x7ECollectionStats0x280x29(ptr noundef %0, i32 noundef %495)
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %0, i32 noundef %497) #6
  br label %498

498:                                              ; preds = %496, %482
  %499 = add nuw nsw i64 %.pre-phi, 120
  %500 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %499)
  %.not1713 = icmp eq i32 %500, 0
  br i1 %.not1713, label %516, label %501

501:                                              ; preds = %498
  %502 = add nuw nsw i64 %.pre-phi, 124
  %503 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %502)
  %.not1714 = icmp eq i32 %503, %500
  br i1 %.not1714, label %515, label %.preheader

.preheader:                                       ; preds = %501, %512
  %.8 = phi i32 [ %504, %512 ], [ %503, %501 ]
  %504 = add i32 %.8, -12
  %505 = add i32 %.8, -1
  %506 = zext i32 %505 to i64
  %507 = tail call i32 @i32_load8_s(ptr noundef nonnull %9, i64 noundef %506)
  %508 = icmp slt i32 %507, 0
  br i1 %508, label %509, label %512

509:                                              ; preds = %.preheader
  %510 = zext i32 %504 to i64
  %511 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %510)
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %0, i32 noundef %511) #6
  br label %512

512:                                              ; preds = %509, %.preheader
  %.not1715 = icmp eq i32 %504, %500
  br i1 %.not1715, label %513, label %.preheader

513:                                              ; preds = %512
  %514 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %499)
  br label %515

515:                                              ; preds = %513, %501
  %.01669 = phi i32 [ %514, %513 ], [ %500, %501 ]
  tail call void @i32_store(ptr noundef nonnull %9, i64 noundef %502, i32 noundef %500)
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %0, i32 noundef %.01669) #6
  br label %516

516:                                              ; preds = %515, %498
  %517 = add nuw nsw i64 %.pre-phi, 47
  %518 = tail call i32 @i32_load8_s(ptr noundef nonnull %9, i64 noundef %517)
  %519 = icmp slt i32 %518, 0
  br i1 %519, label %520, label %523

520:                                              ; preds = %516
  %521 = add nuw nsw i64 %.pre-phi, 36
  %522 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %521)
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %0, i32 noundef %522) #6
  br label %523

523:                                              ; preds = %520, %516
  %524 = add nuw nsw i64 %.pre-phi, 35
  %525 = tail call i32 @i32_load8_s(ptr noundef nonnull %9, i64 noundef %524)
  %526 = icmp slt i32 %525, 0
  br i1 %526, label %527, label %530

527:                                              ; preds = %523
  %528 = add nuw nsw i64 %.pre-phi, 24
  %529 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %528)
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %0, i32 noundef %529) #6
  br label %530

530:                                              ; preds = %527, %523
  %531 = add nuw nsw i64 %.pre-phi, 23
  %532 = tail call i32 @i32_load8_s(ptr noundef nonnull %9, i64 noundef %531)
  %533 = icmp slt i32 %532, 0
  br i1 %533, label %534, label %537

534:                                              ; preds = %530
  %535 = add nuw nsw i64 %.pre-phi, 12
  %536 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %535)
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %0, i32 noundef %536) #6
  br label %537

537:                                              ; preds = %534, %530
  %538 = add nuw nsw i64 %.pre-phi, 11
  %539 = tail call i32 @i32_load8_s(ptr noundef nonnull %9, i64 noundef %538)
  %540 = icmp slt i32 %539, 0
  br i1 %540, label %541, label %543

541:                                              ; preds = %537
  %542 = tail call i32 @i32_load(ptr noundef nonnull %9, i64 noundef %.pre-phi)
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %0, i32 noundef %542) #6
  br label %543

543:                                              ; preds = %541, %537
  %544 = tail call i32 @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AGCBase0x3A0x3AGCCycle0x3A0x3A0x7EGCCycle0x280x29(ptr noundef %0, i32 noundef %73)
  store i32 %6, ptr %5, align 8, !tbaa !5
  ret void

545:                                              ; preds = %49
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 148698, i32 noundef 62693, i32 noundef 311, i32 noundef 66279) #6
  tail call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

546:                                              ; preds = %52
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 132476, i32 noundef 62693, i32 noundef 290, i32 noundef 95806) #6
  tail call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

547:                                              ; preds = %58
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef nonnull %0, i32 noundef 206673, i32 noundef 62693, i32 noundef 2437, i32 noundef 66243) #6
  tail call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

548:                                              ; preds = %.loopexit1726
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef %0, i32 noundef 132966, i32 noundef 62693, i32 noundef 2447, i32 noundef 66243) #6
  tail call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

549:                                              ; preds = %.loopexit1721
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef %0, i32 noundef 132842, i32 noundef 62693, i32 noundef 2511, i32 noundef 66243) #6
  tail call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

550:                                              ; preds = %276
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef %0, i32 noundef 197184, i32 noundef 62693, i32 noundef 2693, i32 noundef 47846) #6
  tail call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

551:                                              ; preds = %348
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef %0, i32 noundef 108128, i32 noundef 62693, i32 noundef 327, i32 noundef 44414) #6
  tail call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

552:                                              ; preds = %350
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef %0, i32 noundef 108089, i32 noundef 62693, i32 noundef 332, i32 noundef 44284) #6
  tail call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

553:                                              ; preds = %364
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef %0, i32 noundef 155229, i32 noundef 62693, i32 noundef 3011, i32 noundef 71148) #6
  tail call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

554:                                              ; preds = %450
  tail call void @w2c_hermes_abort(ptr noundef %0) #6
  tail call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

555:                                              ; preds = %477
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef %0, i32 noundef 132538, i32 noundef 62693, i32 noundef 296, i32 noundef 95842) #6
  tail call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable
}

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

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

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

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

declare void @w2c_hermes_void0x20hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AyoungGenEvacuateImpl0x3Chermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AEvacAcceptor0x3Ctrue0x3E0x3E0x28hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AEvacAcceptor0x3Ctrue0x3E0x260x2C0x20bool0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #0

declare void @w2c_hermes_void0x20hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AyoungGenEvacuateImpl0x3Chermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AEvacAcceptor0x3Cfalse0x3E0x3E0x28hermes0x3A0x3Avm0x3A0x3AHadesGC0x3A0x3AEvacAcceptor0x3Cfalse0x3E0x260x2C0x20bool0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #0

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

declare void @w2c_hermes_void0x20hermes0x3A0x3Avm0x3A0x3AAlignedHeapSegment0x3A0x3AresetLevel0x3C0x28hermes0x3A0x3Avm0x3A0x3AAdviseUnused0x2900x3E0x280x29(ptr noundef, i32 noundef) local_unnamed_addr #0

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

declare void @w2c_hermes_hermes0x3A0x3Avm0x3A0x3AAlignedHeapSegment0x3A0x3AclearExternalMemoryCharge0x280x29(ptr noundef, i32 noundef) local_unnamed_addr #0

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

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

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

attributes #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 = { noreturn "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { inlinehint nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #5 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #6 = { nounwind }
attributes #7 = { 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: BDCEPass,CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LoopSimplifyPass,LoopUnrollPass,LowerExpectIntrinsicPass,ReassociatePass,SROAPass,SimplifyCFGPass,TailCallElimPass