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

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

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: nounwind uwtable
declare hidden float @wasm_ceilf(float noundef) #6

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

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

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

70:                                               ; preds = %6
  br label %360

71:                                               ; preds = %6
  %72 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %72, ptr %26, align 4, !tbaa !9
  %73 = load ptr, ptr %7, align 8, !tbaa !5
  %74 = getelementptr inbounds %struct.w2c_hermes, ptr %73, i32 0, i32 6
  %75 = load i32, ptr %26, align 4, !tbaa !9
  %76 = zext i32 %75 to i64
  %77 = call i32 @i32_load(ptr noundef %74, i64 noundef %76)
  store i32 %77, ptr %26, align 4, !tbaa !9
  %78 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %78, ptr %27, align 4, !tbaa !9
  store i32 1, ptr %28, align 4, !tbaa !9
  %79 = load i32, ptr %28, align 4, !tbaa !9
  %80 = load i32, ptr %27, align 4, !tbaa !9
  %81 = sub i32 %80, %79
  store i32 %81, ptr %27, align 4, !tbaa !9
  %82 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %82, ptr %28, align 4, !tbaa !9
  %83 = load i32, ptr %28, align 4, !tbaa !9
  %84 = load i32, ptr %27, align 4, !tbaa !9
  %85 = and i32 %84, %83
  store i32 %85, ptr %27, align 4, !tbaa !9
  %86 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %86, ptr %28, align 4, !tbaa !9
  %87 = load i32, ptr %28, align 4, !tbaa !9
  %88 = call i32 @llvm.ctpop.i32(i32 %87)
  store i32 %88, ptr %28, align 4, !tbaa !9
  %89 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %89, ptr %17, align 4, !tbaa !9
  store i32 1, ptr %29, align 4, !tbaa !9
  %90 = load i32, ptr %28, align 4, !tbaa !9
  %91 = load i32, ptr %29, align 4, !tbaa !9
  %92 = icmp ule i32 %90, %91
  %93 = zext i1 %92 to i32
  store i32 %93, ptr %28, align 4, !tbaa !9
  %94 = load i32, ptr %28, align 4, !tbaa !9
  %95 = icmp ne i32 %94, 0
  br i1 %95, label %96, label %97

96:                                               ; preds = %71
  br label %128

97:                                               ; preds = %71
  %98 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %98, ptr %27, align 4, !tbaa !9
  %99 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %99, ptr %18, align 4, !tbaa !9
  %100 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %100, ptr %28, align 4, !tbaa !9
  %101 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %101, ptr %29, align 4, !tbaa !9
  %102 = load i32, ptr %28, align 4, !tbaa !9
  %103 = load i32, ptr %29, align 4, !tbaa !9
  %104 = icmp ugt i32 %102, %103
  %105 = zext i1 %104 to i32
  store i32 %105, ptr %28, align 4, !tbaa !9
  %106 = load i32, ptr %28, align 4, !tbaa !9
  %107 = icmp ne i32 %106, 0
  br i1 %107, label %108, label %109

108:                                              ; preds = %97
  br label %128

109:                                              ; preds = %97
  %110 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %110, ptr %27, align 4, !tbaa !9
  %111 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %111, ptr %28, align 4, !tbaa !9
  %112 = load i32, ptr %28, align 4, !tbaa !9
  %113 = icmp eq i32 %112, 0
  %114 = xor i1 %113, true
  %115 = xor i1 %114, true
  %116 = zext i1 %115 to i32
  %117 = sext i32 %116 to i64
  %118 = call i64 @llvm.expect.i64(i64 %117, i64 0)
  %119 = icmp ne i64 %118, 0
  br i1 %119, label %120, label %122

120:                                              ; preds = %109
  call void @wasm_rt_trap(i32 noundef 3) #8
  unreachable

121:                                              ; No predecessors!
  br label %126

122:                                              ; preds = %109
  %123 = load i32, ptr %27, align 4, !tbaa !9
  %124 = load i32, ptr %28, align 4, !tbaa !9
  %125 = urem i32 %123, %124
  br label %126

126:                                              ; preds = %122, %121
  %127 = phi i32 [ 0, %121 ], [ %125, %122 ]
  store i32 %127, ptr %27, align 4, !tbaa !9
  br label %128

128:                                              ; preds = %126, %108, %96
  %129 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %129, ptr %18, align 4, !tbaa !9
  store i32 2, ptr %28, align 4, !tbaa !9
  %130 = load i32, ptr %28, align 4, !tbaa !9
  %131 = and i32 %130, 31
  %132 = load i32, ptr %27, align 4, !tbaa !9
  %133 = shl i32 %132, %131
  store i32 %133, ptr %27, align 4, !tbaa !9
  %134 = load i32, ptr %27, align 4, !tbaa !9
  %135 = load i32, ptr %26, align 4, !tbaa !9
  %136 = add i32 %135, %134
  store i32 %136, ptr %26, align 4, !tbaa !9
  %137 = load ptr, ptr %7, 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 = call i32 @i32_load(ptr noundef %138, i64 noundef %140)
  store i32 %141, ptr %26, align 4, !tbaa !9
  %142 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %142, ptr %14, align 4, !tbaa !9
  %143 = load i32, ptr %26, align 4, !tbaa !9
  %144 = icmp ne i32 %143, 0
  %145 = xor i1 %144, true
  %146 = zext i1 %145 to i32
  store i32 %146, ptr %26, align 4, !tbaa !9
  %147 = load i32, ptr %26, align 4, !tbaa !9
  %148 = icmp ne i32 %147, 0
  br i1 %148, label %149, label %150

149:                                              ; preds = %128
  br label %360

150:                                              ; preds = %128
  %151 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %151, ptr %26, align 4, !tbaa !9
  %152 = load ptr, ptr %7, align 8, !tbaa !5
  %153 = getelementptr inbounds %struct.w2c_hermes, ptr %152, i32 0, i32 6
  %154 = load i32, ptr %26, align 4, !tbaa !9
  %155 = zext i32 %154 to i64
  %156 = call i32 @i32_load(ptr noundef %153, i64 noundef %155)
  store i32 %156, ptr %26, align 4, !tbaa !9
  %157 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %157, ptr %15, align 4, !tbaa !9
  %158 = load i32, ptr %26, align 4, !tbaa !9
  %159 = icmp ne i32 %158, 0
  %160 = xor i1 %159, true
  %161 = zext i1 %160 to i32
  store i32 %161, ptr %26, align 4, !tbaa !9
  %162 = load i32, ptr %26, align 4, !tbaa !9
  %163 = icmp ne i32 %162, 0
  br i1 %163, label %164, label %165

164:                                              ; preds = %150
  br label %360

165:                                              ; preds = %150
  %166 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %166, ptr %26, align 4, !tbaa !9
  store i32 1, ptr %27, align 4, !tbaa !9
  %167 = load i32, ptr %27, align 4, !tbaa !9
  %168 = load i32, ptr %26, align 4, !tbaa !9
  %169 = sub i32 %168, %167
  store i32 %169, ptr %26, align 4, !tbaa !9
  %170 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %170, ptr %20, align 4, !tbaa !9
  %171 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %171, ptr %26, align 4, !tbaa !9
  %172 = load ptr, ptr %7, align 8, !tbaa !5
  %173 = getelementptr inbounds %struct.w2c_hermes, ptr %172, i32 0, i32 6
  %174 = load i32, ptr %26, align 4, !tbaa !9
  %175 = zext i32 %174 to i64
  %176 = add i64 %175, 4
  %177 = call i32 @i32_load(ptr noundef %173, i64 noundef %176)
  store i32 %177, ptr %26, align 4, !tbaa !9
  %178 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %178, ptr %27, align 4, !tbaa !9
  %179 = load ptr, ptr %7, align 8, !tbaa !5
  %180 = getelementptr inbounds %struct.w2c_hermes, ptr %179, i32 0, i32 6
  %181 = load i32, ptr %27, align 4, !tbaa !9
  %182 = zext i32 %181 to i64
  %183 = call i32 @i32_load(ptr noundef %180, i64 noundef %182)
  store i32 %183, ptr %27, align 4, !tbaa !9
  %184 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %184, ptr %21, align 4, !tbaa !9
  %185 = load i32, ptr %27, align 4, !tbaa !9
  %186 = load i32, ptr %26, align 4, !tbaa !9
  %187 = sub i32 %186, %185
  store i32 %187, ptr %26, align 4, !tbaa !9
  %188 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %188, ptr %22, align 4, !tbaa !9
  %189 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %189, ptr %26, align 4, !tbaa !9
  store i32 1, ptr %27, align 4, !tbaa !9
  %190 = load i32, ptr %26, align 4, !tbaa !9
  %191 = load i32, ptr %27, align 4, !tbaa !9
  %192 = icmp ugt i32 %190, %191
  %193 = zext i1 %192 to i32
  store i32 %193, ptr %26, align 4, !tbaa !9
  %194 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %194, ptr %23, align 4, !tbaa !9
  br label %195

195:                                              ; preds = %358, %165
  %196 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %196, ptr %26, align 4, !tbaa !9
  %197 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %197, ptr %27, align 4, !tbaa !9
  %198 = load ptr, ptr %7, align 8, !tbaa !5
  %199 = getelementptr inbounds %struct.w2c_hermes, ptr %198, i32 0, i32 6
  %200 = load i32, ptr %27, align 4, !tbaa !9
  %201 = zext i32 %200 to i64
  %202 = add i64 %201, 4
  %203 = call i32 @i32_load(ptr noundef %199, i64 noundef %202)
  store i32 %203, ptr %27, align 4, !tbaa !9
  %204 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %204, ptr %10, align 4, !tbaa !9
  %205 = load i32, ptr %26, align 4, !tbaa !9
  %206 = load i32, ptr %27, align 4, !tbaa !9
  %207 = icmp ne i32 %205, %206
  %208 = zext i1 %207 to i32
  store i32 %208, ptr %26, align 4, !tbaa !9
  %209 = load i32, ptr %26, align 4, !tbaa !9
  %210 = icmp ne i32 %209, 0
  br i1 %210, label %211, label %267

211:                                              ; preds = %195
  %212 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %212, ptr %26, align 4, !tbaa !9
  %213 = load i32, ptr %26, align 4, !tbaa !9
  %214 = icmp ne i32 %213, 0
  %215 = xor i1 %214, true
  %216 = zext i1 %215 to i32
  store i32 %216, ptr %26, align 4, !tbaa !9
  %217 = load i32, ptr %26, align 4, !tbaa !9
  %218 = icmp ne i32 %217, 0
  br i1 %218, label %219, label %226

219:                                              ; preds = %211
  %220 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %220, ptr %26, align 4, !tbaa !9
  %221 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %221, ptr %27, align 4, !tbaa !9
  %222 = load i32, ptr %27, align 4, !tbaa !9
  %223 = load i32, ptr %26, align 4, !tbaa !9
  %224 = and i32 %223, %222
  store i32 %224, ptr %26, align 4, !tbaa !9
  %225 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %225, ptr %10, align 4, !tbaa !9
  br label %256

226:                                              ; preds = %211
  %227 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %227, ptr %26, align 4, !tbaa !9
  %228 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %228, ptr %27, align 4, !tbaa !9
  %229 = load i32, ptr %26, align 4, !tbaa !9
  %230 = load i32, ptr %27, align 4, !tbaa !9
  %231 = icmp ult i32 %229, %230
  %232 = zext i1 %231 to i32
  store i32 %232, ptr %26, align 4, !tbaa !9
  %233 = load i32, ptr %26, align 4, !tbaa !9
  %234 = icmp ne i32 %233, 0
  br i1 %234, label %235, label %236

235:                                              ; preds = %226
  br label %256

236:                                              ; preds = %226
  %237 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %237, ptr %26, align 4, !tbaa !9
  %238 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %238, ptr %27, align 4, !tbaa !9
  %239 = load i32, ptr %27, align 4, !tbaa !9
  %240 = icmp eq i32 %239, 0
  %241 = xor i1 %240, true
  %242 = xor i1 %241, true
  %243 = zext i1 %242 to i32
  %244 = sext i32 %243 to i64
  %245 = call i64 @llvm.expect.i64(i64 %244, i64 0)
  %246 = icmp ne i64 %245, 0
  br i1 %246, label %247, label %249

247:                                              ; preds = %236
  call void @wasm_rt_trap(i32 noundef 3) #8
  unreachable

248:                                              ; No predecessors!
  br label %253

249:                                              ; preds = %236
  %250 = load i32, ptr %26, align 4, !tbaa !9
  %251 = load i32, ptr %27, align 4, !tbaa !9
  %252 = urem i32 %250, %251
  br label %253

253:                                              ; preds = %249, %248
  %254 = phi i32 [ 0, %248 ], [ %252, %249 ]
  store i32 %254, ptr %26, align 4, !tbaa !9
  %255 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %255, ptr %10, align 4, !tbaa !9
  br label %256

256:                                              ; preds = %253, %235, %219
  %257 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %257, ptr %26, align 4, !tbaa !9
  %258 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %258, ptr %27, align 4, !tbaa !9
  %259 = load i32, ptr %26, align 4, !tbaa !9
  %260 = load i32, ptr %27, align 4, !tbaa !9
  %261 = icmp ne i32 %259, %260
  %262 = zext i1 %261 to i32
  store i32 %262, ptr %26, align 4, !tbaa !9
  %263 = load i32, ptr %26, align 4, !tbaa !9
  %264 = icmp ne i32 %263, 0
  br i1 %264, label %265, label %266

265:                                              ; preds = %256
  br label %360

266:                                              ; preds = %256
  br label %267

267:                                              ; preds = %266, %195
  %268 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %268, ptr %26, align 4, !tbaa !9
  %269 = load ptr, ptr %7, align 8, !tbaa !5
  %270 = getelementptr inbounds %struct.w2c_hermes, ptr %269, i32 0, i32 6
  %271 = load i32, ptr %26, align 4, !tbaa !9
  %272 = zext i32 %271 to i64
  %273 = add i64 %272, 12
  %274 = call i32 @i32_load(ptr noundef %270, i64 noundef %273)
  store i32 %274, ptr %26, align 4, !tbaa !9
  %275 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %275, ptr %17, align 4, !tbaa !9
  %276 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %276, ptr %27, align 4, !tbaa !9
  %277 = load ptr, ptr %7, align 8, !tbaa !5
  %278 = getelementptr inbounds %struct.w2c_hermes, ptr %277, i32 0, i32 6
  %279 = load i32, ptr %27, align 4, !tbaa !9
  %280 = zext i32 %279 to i64
  %281 = add i64 %280, 8
  %282 = call i32 @i32_load(ptr noundef %278, i64 noundef %281)
  store i32 %282, ptr %27, align 4, !tbaa !9
  %283 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %283, ptr %10, align 4, !tbaa !9
  %284 = load i32, ptr %27, align 4, !tbaa !9
  %285 = load i32, ptr %26, align 4, !tbaa !9
  %286 = sub i32 %285, %284
  store i32 %286, ptr %26, align 4, !tbaa !9
  %287 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %287, ptr %27, align 4, !tbaa !9
  %288 = load i32, ptr %26, align 4, !tbaa !9
  %289 = load i32, ptr %27, align 4, !tbaa !9
  %290 = icmp ne i32 %288, %289
  %291 = zext i1 %290 to i32
  store i32 %291, ptr %26, align 4, !tbaa !9
  %292 = load i32, ptr %26, align 4, !tbaa !9
  %293 = icmp ne i32 %292, 0
  br i1 %293, label %294, label %295

294:                                              ; preds = %267
  br label %348

295:                                              ; preds = %267
  %296 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %296, ptr %26, align 4, !tbaa !9
  %297 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %297, ptr %14, align 4, !tbaa !9
  %298 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %298, ptr %26, align 4, !tbaa !9
  %299 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %299, ptr %27, align 4, !tbaa !9
  %300 = load i32, ptr %26, align 4, !tbaa !9
  %301 = load i32, ptr %27, align 4, !tbaa !9
  %302 = icmp eq i32 %300, %301
  %303 = zext i1 %302 to i32
  store i32 %303, ptr %26, align 4, !tbaa !9
  %304 = load i32, ptr %26, align 4, !tbaa !9
  %305 = icmp ne i32 %304, 0
  br i1 %305, label %306, label %307

306:                                              ; preds = %295
  br label %1078

307:                                              ; preds = %295
  br label %308

308:                                              ; preds = %346, %307
  %309 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %309, ptr %26, align 4, !tbaa !9
  %310 = load ptr, ptr %7, 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 = call i32 @i32_load(ptr noundef %311, i64 noundef %313)
  store i32 %314, ptr %26, align 4, !tbaa !9
  %315 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %315, ptr %27, align 4, !tbaa !9
  %316 = load ptr, ptr %7, align 8, !tbaa !5
  %317 = getelementptr inbounds %struct.w2c_hermes, ptr %316, i32 0, i32 6
  %318 = load i32, ptr %27, align 4, !tbaa !9
  %319 = zext i32 %318 to i64
  %320 = call i32 @i32_load(ptr noundef %317, i64 noundef %319)
  store i32 %320, ptr %27, align 4, !tbaa !9
  %321 = load i32, ptr %26, align 4, !tbaa !9
  %322 = load i32, ptr %27, align 4, !tbaa !9
  %323 = icmp ne i32 %321, %322
  %324 = zext i1 %323 to i32
  store i32 %324, ptr %26, align 4, !tbaa !9
  %325 = load i32, ptr %26, align 4, !tbaa !9
  %326 = icmp ne i32 %325, 0
  br i1 %326, label %327, label %328

327:                                              ; preds = %308
  br label %348

328:                                              ; preds = %308
  %329 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %329, ptr %26, align 4, !tbaa !9
  store i32 4, ptr %27, align 4, !tbaa !9
  %330 = load i32, ptr %27, align 4, !tbaa !9
  %331 = load i32, ptr %26, align 4, !tbaa !9
  %332 = add i32 %331, %330
  store i32 %332, ptr %26, align 4, !tbaa !9
  %333 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %333, ptr %14, align 4, !tbaa !9
  %334 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %334, ptr %26, align 4, !tbaa !9
  store i32 4, ptr %27, align 4, !tbaa !9
  %335 = load i32, ptr %27, align 4, !tbaa !9
  %336 = load i32, ptr %26, align 4, !tbaa !9
  %337 = add i32 %336, %335
  store i32 %337, ptr %26, align 4, !tbaa !9
  %338 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %338, ptr %10, align 4, !tbaa !9
  %339 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %339, ptr %27, align 4, !tbaa !9
  %340 = load i32, ptr %26, align 4, !tbaa !9
  %341 = load i32, ptr %27, align 4, !tbaa !9
  %342 = icmp ne i32 %340, %341
  %343 = zext i1 %342 to i32
  store i32 %343, ptr %26, align 4, !tbaa !9
  %344 = load i32, ptr %26, align 4, !tbaa !9
  %345 = icmp ne i32 %344, 0
  br i1 %345, label %346, label %347

346:                                              ; preds = %328
  br label %308

347:                                              ; preds = %328
  br label %1078

348:                                              ; preds = %327, %294
  %349 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %349, ptr %26, align 4, !tbaa !9
  %350 = load ptr, ptr %7, align 8, !tbaa !5
  %351 = getelementptr inbounds %struct.w2c_hermes, ptr %350, i32 0, i32 6
  %352 = load i32, ptr %26, align 4, !tbaa !9
  %353 = zext i32 %352 to i64
  %354 = call i32 @i32_load(ptr noundef %351, i64 noundef %353)
  store i32 %354, ptr %26, align 4, !tbaa !9
  %355 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %355, ptr %15, align 4, !tbaa !9
  %356 = load i32, ptr %26, align 4, !tbaa !9
  %357 = icmp ne i32 %356, 0
  br i1 %357, label %358, label %359

358:                                              ; preds = %348
  br label %195

359:                                              ; preds = %348
  br label %360

360:                                              ; preds = %359, %265, %164, %149, %70
  store i32 24, ptr %26, align 4, !tbaa !9
  %361 = load ptr, ptr %7, align 8, !tbaa !5
  %362 = load i32, ptr %26, align 4, !tbaa !9
  %363 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %361, i32 noundef %362)
  store i32 %363, ptr %26, align 4, !tbaa !9
  %364 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %364, ptr %15, align 4, !tbaa !9
  %365 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %365, ptr %27, align 4, !tbaa !9
  %366 = load ptr, ptr %7, align 8, !tbaa !5
  %367 = getelementptr inbounds %struct.w2c_hermes, ptr %366, i32 0, i32 6
  %368 = load i32, ptr %27, align 4, !tbaa !9
  %369 = zext i32 %368 to i64
  %370 = call i32 @i32_load(ptr noundef %367, i64 noundef %369)
  store i32 %370, ptr %27, align 4, !tbaa !9
  %371 = load ptr, ptr %7, align 8, !tbaa !5
  %372 = getelementptr inbounds %struct.w2c_hermes, ptr %371, i32 0, i32 6
  %373 = load i32, ptr %26, align 4, !tbaa !9
  %374 = zext i32 %373 to i64
  %375 = add i64 %374, 8
  %376 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store(ptr noundef %372, i64 noundef %375, i32 noundef %376)
  %377 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %377, ptr %26, align 4, !tbaa !9
  %378 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %378, ptr %27, align 4, !tbaa !9
  %379 = load ptr, ptr %7, align 8, !tbaa !5
  %380 = getelementptr inbounds %struct.w2c_hermes, ptr %379, i32 0, i32 6
  %381 = load i32, ptr %27, align 4, !tbaa !9
  %382 = zext i32 %381 to i64
  %383 = add i64 %382, 4
  %384 = call i32 @i32_load(ptr noundef %380, i64 noundef %383)
  store i32 %384, ptr %27, align 4, !tbaa !9
  %385 = load ptr, ptr %7, align 8, !tbaa !5
  %386 = getelementptr inbounds %struct.w2c_hermes, ptr %385, i32 0, i32 6
  %387 = load i32, ptr %26, align 4, !tbaa !9
  %388 = zext i32 %387 to i64
  %389 = add i64 %388, 12
  %390 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store(ptr noundef %386, i64 noundef %389, i32 noundef %390)
  %391 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %391, ptr %26, align 4, !tbaa !9
  %392 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %392, ptr %27, align 4, !tbaa !9
  %393 = load ptr, ptr %7, align 8, !tbaa !5
  %394 = getelementptr inbounds %struct.w2c_hermes, ptr %393, i32 0, i32 6
  %395 = load i32, ptr %27, align 4, !tbaa !9
  %396 = zext i32 %395 to i64
  %397 = add i64 %396, 8
  %398 = call i32 @i32_load(ptr noundef %394, i64 noundef %397)
  store i32 %398, ptr %27, align 4, !tbaa !9
  %399 = load ptr, ptr %7, align 8, !tbaa !5
  %400 = getelementptr inbounds %struct.w2c_hermes, ptr %399, i32 0, i32 6
  %401 = load i32, ptr %26, align 4, !tbaa !9
  %402 = zext i32 %401 to i64
  %403 = add i64 %402, 16
  %404 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store(ptr noundef %400, i64 noundef %403, i32 noundef %404)
  %405 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %405, ptr %26, align 4, !tbaa !9
  store i32 0, ptr %27, align 4, !tbaa !9
  %406 = load ptr, ptr %7, align 8, !tbaa !5
  %407 = getelementptr inbounds %struct.w2c_hermes, ptr %406, i32 0, i32 6
  %408 = load i32, ptr %26, align 4, !tbaa !9
  %409 = zext i32 %408 to i64
  %410 = add i64 %409, 8
  %411 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store(ptr noundef %407, i64 noundef %410, i32 noundef %411)
  %412 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %412, ptr %26, align 4, !tbaa !9
  store i64 0, ptr %32, align 8, !tbaa !13
  %413 = load ptr, ptr %7, align 8, !tbaa !5
  %414 = getelementptr inbounds %struct.w2c_hermes, ptr %413, i32 0, i32 6
  %415 = load i32, ptr %26, align 4, !tbaa !9
  %416 = zext i32 %415 to i64
  %417 = load i64, ptr %32, align 8, !tbaa !13
  call void @i64_store(ptr noundef %414, i64 noundef %416, i64 noundef %417)
  %418 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %418, ptr %26, align 4, !tbaa !9
  %419 = load ptr, ptr %7, 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 = call i32 @i32_load(ptr noundef %420, i64 noundef %422)
  store i32 %423, ptr %26, align 4, !tbaa !9
  %424 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %424, ptr %10, align 4, !tbaa !9
  %425 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %425, ptr %26, align 4, !tbaa !9
  store i32 0, ptr %27, align 4, !tbaa !9
  %426 = load ptr, ptr %7, 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 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store(ptr noundef %427, i64 noundef %429, i32 noundef %430)
  %431 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %431, ptr %26, align 4, !tbaa !9
  %432 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %432, ptr %27, align 4, !tbaa !9
  %433 = load ptr, ptr %7, align 8, !tbaa !5
  %434 = getelementptr inbounds %struct.w2c_hermes, ptr %433, i32 0, i32 6
  %435 = load i32, ptr %26, align 4, !tbaa !9
  %436 = zext i32 %435 to i64
  %437 = add i64 %436, 4
  %438 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store(ptr noundef %434, i64 noundef %437, i32 noundef %438)
  %439 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %439, ptr %26, align 4, !tbaa !9
  %440 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %440, ptr %27, align 4, !tbaa !9
  %441 = load ptr, ptr %7, align 8, !tbaa !5
  %442 = getelementptr inbounds %struct.w2c_hermes, ptr %441, i32 0, i32 6
  %443 = load i32, ptr %26, align 4, !tbaa !9
  %444 = zext i32 %443 to i64
  %445 = add i64 %444, 20
  %446 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store(ptr noundef %442, i64 noundef %445, i32 noundef %446)
  store i32 0, ptr %26, align 4, !tbaa !9
  %447 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %447, ptr %27, align 4, !tbaa !9
  %448 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %448, ptr %28, align 4, !tbaa !9
  %449 = load ptr, ptr %7, align 8, !tbaa !5
  %450 = getelementptr inbounds %struct.w2c_hermes, ptr %449, i32 0, i32 6
  %451 = load i32, ptr %28, align 4, !tbaa !9
  %452 = zext i32 %451 to i64
  %453 = add i64 %452, 12
  %454 = call i32 @i32_load(ptr noundef %450, i64 noundef %453)
  store i32 %454, ptr %28, align 4, !tbaa !9
  store i32 1, ptr %29, align 4, !tbaa !9
  %455 = load i32, ptr %29, align 4, !tbaa !9
  %456 = load i32, ptr %28, align 4, !tbaa !9
  %457 = add i32 %456, %455
  store i32 %457, ptr %28, align 4, !tbaa !9
  %458 = load i32, ptr %28, align 4, !tbaa !9
  %459 = uitofp i32 %458 to float
  store float %459, ptr %35, align 4, !tbaa !11
  %460 = load float, ptr %35, align 4, !tbaa !11
  store float %460, ptr %25, align 4, !tbaa !11
  %461 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %461, ptr %29, align 4, !tbaa !9
  %462 = load ptr, ptr %7, align 8, !tbaa !5
  %463 = getelementptr inbounds %struct.w2c_hermes, ptr %462, i32 0, i32 6
  %464 = load i32, ptr %29, align 4, !tbaa !9
  %465 = zext i32 %464 to i64
  %466 = add i64 %465, 16
  %467 = call float @f32_load(ptr noundef %463, i64 noundef %466)
  store float %467, ptr %36, align 4, !tbaa !11
  %468 = load float, ptr %36, align 4, !tbaa !11
  store float %468, ptr %24, align 4, !tbaa !11
  %469 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %469, ptr %30, align 4, !tbaa !9
  %470 = load i32, ptr %30, align 4, !tbaa !9
  %471 = uitofp i32 %470 to float
  store float %471, ptr %37, align 4, !tbaa !11
  %472 = load float, ptr %37, align 4, !tbaa !11
  %473 = load float, ptr %36, align 4, !tbaa !11
  %474 = fmul float %473, %472
  store float %474, ptr %36, align 4, !tbaa !11
  %475 = load float, ptr %35, align 4, !tbaa !11
  %476 = load float, ptr %36, align 4, !tbaa !11
  %477 = fcmp ogt float %475, %476
  %478 = zext i1 %477 to i32
  store i32 %478, ptr %28, align 4, !tbaa !9
  %479 = load i32, ptr %28, align 4, !tbaa !9
  %480 = icmp ne i32 %479, 0
  br i1 %480, label %481, label %483

481:                                              ; preds = %360
  %482 = load i32, ptr %26, align 4, !tbaa !9
  br label %485

483:                                              ; preds = %360
  %484 = load i32, ptr %27, align 4, !tbaa !9
  br label %485

485:                                              ; preds = %483, %481
  %486 = phi i32 [ %482, %481 ], [ %484, %483 ]
  store i32 %486, ptr %26, align 4, !tbaa !9
  %487 = load i32, ptr %26, align 4, !tbaa !9
  %488 = icmp ne i32 %487, 0
  br i1 %488, label %489, label %490

489:                                              ; preds = %485
  br label %888

490:                                              ; preds = %485
  store i32 2, ptr %26, align 4, !tbaa !9
  %491 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %491, ptr %10, align 4, !tbaa !9
  %492 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %492, ptr %26, align 4, !tbaa !9
  %493 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %493, ptr %27, align 4, !tbaa !9
  store i32 1, ptr %28, align 4, !tbaa !9
  %494 = load i32, ptr %28, align 4, !tbaa !9
  %495 = load i32, ptr %27, align 4, !tbaa !9
  %496 = sub i32 %495, %494
  store i32 %496, ptr %27, align 4, !tbaa !9
  %497 = load i32, ptr %27, align 4, !tbaa !9
  %498 = load i32, ptr %26, align 4, !tbaa !9
  %499 = and i32 %498, %497
  store i32 %499, ptr %26, align 4, !tbaa !9
  store i32 0, ptr %27, align 4, !tbaa !9
  %500 = load i32, ptr %26, align 4, !tbaa !9
  %501 = load i32, ptr %27, align 4, !tbaa !9
  %502 = icmp ne i32 %500, %501
  %503 = zext i1 %502 to i32
  store i32 %503, ptr %26, align 4, !tbaa !9
  %504 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %504, ptr %27, align 4, !tbaa !9
  store i32 3, ptr %28, align 4, !tbaa !9
  %505 = load i32, ptr %27, align 4, !tbaa !9
  %506 = load i32, ptr %28, align 4, !tbaa !9
  %507 = icmp ult i32 %505, %506
  %508 = zext i1 %507 to i32
  store i32 %508, ptr %27, align 4, !tbaa !9
  %509 = load i32, ptr %27, align 4, !tbaa !9
  %510 = load i32, ptr %26, align 4, !tbaa !9
  %511 = or i32 %510, %509
  store i32 %511, ptr %26, align 4, !tbaa !9
  %512 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %512, ptr %27, align 4, !tbaa !9
  store i32 1, ptr %28, align 4, !tbaa !9
  %513 = load i32, ptr %28, align 4, !tbaa !9
  %514 = and i32 %513, 31
  %515 = load i32, ptr %27, align 4, !tbaa !9
  %516 = shl i32 %515, %514
  store i32 %516, ptr %27, align 4, !tbaa !9
  %517 = load i32, ptr %27, align 4, !tbaa !9
  %518 = load i32, ptr %26, align 4, !tbaa !9
  %519 = or i32 %518, %517
  store i32 %519, ptr %26, align 4, !tbaa !9
  %520 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %520, ptr %14, align 4, !tbaa !9
  %521 = load float, ptr %25, align 4, !tbaa !11
  store float %521, ptr %34, align 4, !tbaa !11
  %522 = load float, ptr %24, align 4, !tbaa !11
  store float %522, ptr %35, align 4, !tbaa !11
  %523 = load float, ptr %35, align 4, !tbaa !11
  %524 = load float, ptr %34, align 4, !tbaa !11
  %525 = fdiv float %524, %523
  store float %525, ptr %34, align 4, !tbaa !11
  %526 = load float, ptr %34, align 4, !tbaa !11
  %527 = call float @wasm_ceilf(float noundef %526)
  store float %527, ptr %34, align 4, !tbaa !11
  %528 = load float, ptr %34, align 4, !tbaa !11
  store float %528, ptr %24, align 4, !tbaa !11
  store float 0x41F0000000000000, ptr %35, align 4, !tbaa !11
  %529 = load float, ptr %34, align 4, !tbaa !11
  %530 = load float, ptr %35, align 4, !tbaa !11
  %531 = fcmp olt float %529, %530
  %532 = zext i1 %531 to i32
  store i32 %532, ptr %27, align 4, !tbaa !9
  %533 = load float, ptr %24, align 4, !tbaa !11
  store float %533, ptr %35, align 4, !tbaa !11
  store float 0.000000e+00, ptr %36, align 4, !tbaa !11
  %534 = load float, ptr %35, align 4, !tbaa !11
  %535 = load float, ptr %36, align 4, !tbaa !11
  %536 = fcmp oge float %534, %535
  %537 = zext i1 %536 to i32
  store i32 %537, ptr %28, align 4, !tbaa !9
  %538 = load i32, ptr %28, align 4, !tbaa !9
  %539 = load i32, ptr %27, align 4, !tbaa !9
  %540 = and i32 %539, %538
  store i32 %540, ptr %27, align 4, !tbaa !9
  %541 = load i32, ptr %27, align 4, !tbaa !9
  %542 = icmp ne i32 %541, 0
  br i1 %542, label %543, label %580

543:                                              ; preds = %490
  %544 = load float, ptr %24, align 4, !tbaa !11
  store float %544, ptr %34, align 4, !tbaa !11
  %545 = load float, ptr %34, align 4, !tbaa !11
  %546 = load float, ptr %34, align 4, !tbaa !11
  %547 = fcmp une float %545, %546
  %548 = xor i1 %547, true
  %549 = xor i1 %548, true
  %550 = zext i1 %549 to i32
  %551 = sext i32 %550 to i64
  %552 = call i64 @llvm.expect.i64(i64 %551, i64 0)
  %553 = icmp ne i64 %552, 0
  br i1 %553, label %554, label %556

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

555:                                              ; No predecessors!
  br label %578

556:                                              ; preds = %543
  %557 = load float, ptr %34, align 4, !tbaa !11
  %558 = fcmp ogt float %557, -1.000000e+00
  br i1 %558, label %559, label %562

559:                                              ; preds = %556
  %560 = load float, ptr %34, align 4, !tbaa !11
  %561 = fcmp olt float %560, 0x41F0000000000000
  br label %562

562:                                              ; preds = %559, %556
  %563 = phi i1 [ false, %556 ], [ %561, %559 ]
  %564 = xor i1 %563, true
  %565 = xor i1 %564, true
  %566 = xor i1 %565, true
  %567 = zext i1 %566 to i32
  %568 = sext i32 %567 to i64
  %569 = call i64 @llvm.expect.i64(i64 %568, i64 0)
  %570 = icmp ne i64 %569, 0
  br i1 %570, label %571, label %573

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

572:                                              ; No predecessors!
  br label %576

573:                                              ; preds = %562
  %574 = load float, ptr %34, align 4, !tbaa !11
  %575 = fptoui float %574 to i32
  br label %576

576:                                              ; preds = %573, %572
  %577 = phi i32 [ 0, %572 ], [ %575, %573 ]
  br label %578

578:                                              ; preds = %576, %555
  %579 = phi i32 [ 0, %555 ], [ %577, %576 ]
  store i32 %579, ptr %27, align 4, !tbaa !9
  br label %581

580:                                              ; preds = %490
  store i32 0, ptr %27, align 4, !tbaa !9
  br label %581

581:                                              ; preds = %580, %578
  %582 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %582, ptr %17, align 4, !tbaa !9
  %583 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %583, ptr %28, align 4, !tbaa !9
  %584 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %584, ptr %29, align 4, !tbaa !9
  %585 = load i32, ptr %28, align 4, !tbaa !9
  %586 = load i32, ptr %29, align 4, !tbaa !9
  %587 = icmp ugt i32 %585, %586
  %588 = zext i1 %587 to i32
  store i32 %588, ptr %28, align 4, !tbaa !9
  %589 = load i32, ptr %28, align 4, !tbaa !9
  %590 = icmp ne i32 %589, 0
  br i1 %590, label %591, label %593

591:                                              ; preds = %581
  %592 = load i32, ptr %26, align 4, !tbaa !9
  br label %595

593:                                              ; preds = %581
  %594 = load i32, ptr %27, align 4, !tbaa !9
  br label %595

595:                                              ; preds = %593, %591
  %596 = phi i32 [ %592, %591 ], [ %594, %593 ]
  store i32 %596, ptr %26, align 4, !tbaa !9
  %597 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %597, ptr %14, align 4, !tbaa !9
  store i32 1, ptr %27, align 4, !tbaa !9
  %598 = load i32, ptr %26, align 4, !tbaa !9
  %599 = load i32, ptr %27, align 4, !tbaa !9
  %600 = icmp eq i32 %598, %599
  %601 = zext i1 %600 to i32
  store i32 %601, ptr %26, align 4, !tbaa !9
  %602 = load i32, ptr %26, align 4, !tbaa !9
  %603 = icmp ne i32 %602, 0
  br i1 %603, label %604, label %605

604:                                              ; preds = %595
  br label %637

605:                                              ; preds = %595
  %606 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %606, ptr %26, align 4, !tbaa !9
  %607 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %607, ptr %27, align 4, !tbaa !9
  store i32 1, ptr %28, align 4, !tbaa !9
  %608 = load i32, ptr %28, align 4, !tbaa !9
  %609 = load i32, ptr %27, align 4, !tbaa !9
  %610 = sub i32 %609, %608
  store i32 %610, ptr %27, align 4, !tbaa !9
  %611 = load i32, ptr %27, align 4, !tbaa !9
  %612 = load i32, ptr %26, align 4, !tbaa !9
  %613 = and i32 %612, %611
  store i32 %613, ptr %26, align 4, !tbaa !9
  %614 = load i32, ptr %26, align 4, !tbaa !9
  %615 = icmp ne i32 %614, 0
  %616 = xor i1 %615, true
  %617 = zext i1 %616 to i32
  store i32 %617, ptr %26, align 4, !tbaa !9
  %618 = load i32, ptr %26, align 4, !tbaa !9
  %619 = icmp ne i32 %618, 0
  br i1 %619, label %620, label %623

620:                                              ; preds = %605
  %621 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %621, ptr %26, align 4, !tbaa !9
  %622 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %622, ptr %10, align 4, !tbaa !9
  br label %637

623:                                              ; preds = %605
  %624 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %624, ptr %26, align 4, !tbaa !9
  %625 = load ptr, ptr %7, align 8, !tbaa !5
  %626 = load i32, ptr %26, align 4, !tbaa !9
  %627 = call i32 @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fnext_prime0x28unsigned0x20long0x29(ptr noundef %625, i32 noundef %626)
  store i32 %627, ptr %26, align 4, !tbaa !9
  %628 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %628, ptr %10, align 4, !tbaa !9
  %629 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %629, ptr %26, align 4, !tbaa !9
  %630 = load ptr, ptr %7, align 8, !tbaa !5
  %631 = getelementptr inbounds %struct.w2c_hermes, ptr %630, i32 0, i32 6
  %632 = load i32, ptr %26, align 4, !tbaa !9
  %633 = zext i32 %632 to i64
  %634 = add i64 %633, 4
  %635 = call i32 @i32_load(ptr noundef %631, i64 noundef %634)
  store i32 %635, ptr %26, align 4, !tbaa !9
  %636 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %636, ptr %13, align 4, !tbaa !9
  br label %637

637:                                              ; preds = %623, %620, %604
  %638 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %638, ptr %26, align 4, !tbaa !9
  %639 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %639, ptr %27, align 4, !tbaa !9
  %640 = load i32, ptr %26, align 4, !tbaa !9
  %641 = load i32, ptr %27, align 4, !tbaa !9
  %642 = icmp ule i32 %640, %641
  %643 = zext i1 %642 to i32
  store i32 %643, ptr %26, align 4, !tbaa !9
  %644 = load i32, ptr %26, align 4, !tbaa !9
  %645 = icmp ne i32 %644, 0
  br i1 %645, label %646, label %820

646:                                              ; preds = %637
  %647 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %647, ptr %26, align 4, !tbaa !9
  %648 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %648, ptr %27, align 4, !tbaa !9
  %649 = load i32, ptr %26, align 4, !tbaa !9
  %650 = load i32, ptr %27, align 4, !tbaa !9
  %651 = icmp uge i32 %649, %650
  %652 = zext i1 %651 to i32
  store i32 %652, ptr %26, align 4, !tbaa !9
  %653 = load i32, ptr %26, align 4, !tbaa !9
  %654 = icmp ne i32 %653, 0
  br i1 %654, label %655, label %656

655:                                              ; preds = %646
  br label %826

656:                                              ; preds = %646
  %657 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %657, ptr %26, align 4, !tbaa !9
  store i32 3, ptr %27, align 4, !tbaa !9
  %658 = load i32, ptr %26, align 4, !tbaa !9
  %659 = load i32, ptr %27, align 4, !tbaa !9
  %660 = icmp ult i32 %658, %659
  %661 = zext i1 %660 to i32
  store i32 %661, ptr %26, align 4, !tbaa !9
  %662 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %662, ptr %17, align 4, !tbaa !9
  %663 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %663, ptr %26, align 4, !tbaa !9
  %664 = load ptr, ptr %7, align 8, !tbaa !5
  %665 = getelementptr inbounds %struct.w2c_hermes, ptr %664, i32 0, i32 6
  %666 = load i32, ptr %26, align 4, !tbaa !9
  %667 = zext i32 %666 to i64
  %668 = add i64 %667, 12
  %669 = call i32 @i32_load(ptr noundef %665, i64 noundef %668)
  store i32 %669, ptr %26, align 4, !tbaa !9
  %670 = load i32, ptr %26, align 4, !tbaa !9
  %671 = uitofp i32 %670 to float
  store float %671, ptr %33, align 4, !tbaa !11
  %672 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %672, ptr %27, align 4, !tbaa !9
  %673 = load ptr, ptr %7, align 8, !tbaa !5
  %674 = getelementptr inbounds %struct.w2c_hermes, ptr %673, i32 0, i32 6
  %675 = load i32, ptr %27, align 4, !tbaa !9
  %676 = zext i32 %675 to i64
  %677 = add i64 %676, 16
  %678 = call float @f32_load(ptr noundef %674, i64 noundef %677)
  store float %678, ptr %34, align 4, !tbaa !11
  %679 = load float, ptr %34, align 4, !tbaa !11
  %680 = load float, ptr %33, align 4, !tbaa !11
  %681 = fdiv float %680, %679
  store float %681, ptr %33, align 4, !tbaa !11
  %682 = load float, ptr %33, align 4, !tbaa !11
  %683 = call float @wasm_ceilf(float noundef %682)
  store float %683, ptr %33, align 4, !tbaa !11
  %684 = load float, ptr %33, align 4, !tbaa !11
  store float %684, ptr %24, align 4, !tbaa !11
  store float 0x41F0000000000000, ptr %34, align 4, !tbaa !11
  %685 = load float, ptr %33, align 4, !tbaa !11
  %686 = load float, ptr %34, align 4, !tbaa !11
  %687 = fcmp olt float %685, %686
  %688 = zext i1 %687 to i32
  store i32 %688, ptr %26, align 4, !tbaa !9
  %689 = load float, ptr %24, align 4, !tbaa !11
  store float %689, ptr %34, align 4, !tbaa !11
  store float 0.000000e+00, ptr %35, align 4, !tbaa !11
  %690 = load float, ptr %34, align 4, !tbaa !11
  %691 = load float, ptr %35, align 4, !tbaa !11
  %692 = fcmp oge float %690, %691
  %693 = zext i1 %692 to i32
  store i32 %693, ptr %27, align 4, !tbaa !9
  %694 = load i32, ptr %27, align 4, !tbaa !9
  %695 = load i32, ptr %26, align 4, !tbaa !9
  %696 = and i32 %695, %694
  store i32 %696, ptr %26, align 4, !tbaa !9
  %697 = load i32, ptr %26, align 4, !tbaa !9
  %698 = icmp ne i32 %697, 0
  br i1 %698, label %699, label %736

699:                                              ; preds = %656
  %700 = load float, ptr %24, align 4, !tbaa !11
  store float %700, ptr %33, align 4, !tbaa !11
  %701 = load float, ptr %33, align 4, !tbaa !11
  %702 = load float, ptr %33, align 4, !tbaa !11
  %703 = fcmp une float %701, %702
  %704 = xor i1 %703, true
  %705 = xor i1 %704, true
  %706 = zext i1 %705 to i32
  %707 = sext i32 %706 to i64
  %708 = call i64 @llvm.expect.i64(i64 %707, i64 0)
  %709 = icmp ne i64 %708, 0
  br i1 %709, label %710, label %712

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

711:                                              ; No predecessors!
  br label %734

712:                                              ; preds = %699
  %713 = load float, ptr %33, align 4, !tbaa !11
  %714 = fcmp ogt float %713, -1.000000e+00
  br i1 %714, label %715, label %718

715:                                              ; preds = %712
  %716 = load float, ptr %33, align 4, !tbaa !11
  %717 = fcmp olt float %716, 0x41F0000000000000
  br label %718

718:                                              ; preds = %715, %712
  %719 = phi i1 [ false, %712 ], [ %717, %715 ]
  %720 = xor i1 %719, true
  %721 = xor i1 %720, true
  %722 = xor i1 %721, true
  %723 = zext i1 %722 to i32
  %724 = sext i32 %723 to i64
  %725 = call i64 @llvm.expect.i64(i64 %724, i64 0)
  %726 = icmp ne i64 %725, 0
  br i1 %726, label %727, label %729

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

728:                                              ; No predecessors!
  br label %732

729:                                              ; preds = %718
  %730 = load float, ptr %33, align 4, !tbaa !11
  %731 = fptoui float %730 to i32
  br label %732

732:                                              ; preds = %729, %728
  %733 = phi i32 [ 0, %728 ], [ %731, %729 ]
  br label %734

734:                                              ; preds = %732, %711
  %735 = phi i32 [ 0, %711 ], [ %733, %732 ]
  store i32 %735, ptr %26, align 4, !tbaa !9
  br label %737

736:                                              ; preds = %656
  store i32 0, ptr %26, align 4, !tbaa !9
  br label %737

737:                                              ; preds = %736, %734
  %738 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %738, ptr %14, align 4, !tbaa !9
  %739 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %739, ptr %26, align 4, !tbaa !9
  %740 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %740, ptr %27, align 4, !tbaa !9
  %741 = load i32, ptr %27, align 4, !tbaa !9
  %742 = icmp ne i32 %741, 0
  br i1 %742, label %743, label %744

743:                                              ; preds = %737
  br label %789

744:                                              ; preds = %737
  %745 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %745, ptr %27, align 4, !tbaa !9
  %746 = load i32, ptr %27, align 4, !tbaa !9
  %747 = call i32 @llvm.ctpop.i32(i32 %746)
  store i32 %747, ptr %27, align 4, !tbaa !9
  store i32 1, ptr %28, align 4, !tbaa !9
  %748 = load i32, ptr %27, align 4, !tbaa !9
  %749 = load i32, ptr %28, align 4, !tbaa !9
  %750 = icmp ugt i32 %748, %749
  %751 = zext i1 %750 to i32
  store i32 %751, ptr %27, align 4, !tbaa !9
  %752 = load i32, ptr %27, align 4, !tbaa !9
  %753 = icmp ne i32 %752, 0
  br i1 %753, label %754, label %755

754:                                              ; preds = %744
  br label %789

755:                                              ; preds = %744
  %756 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %756, ptr %27, align 4, !tbaa !9
  store i32 1, ptr %28, align 4, !tbaa !9
  store i32 32, ptr %29, align 4, !tbaa !9
  %757 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %757, ptr %30, align 4, !tbaa !9
  store i32 1, ptr %31, align 4, !tbaa !9
  %758 = load i32, ptr %31, align 4, !tbaa !9
  %759 = load i32, ptr %30, align 4, !tbaa !9
  %760 = sub i32 %759, %758
  store i32 %760, ptr %30, align 4, !tbaa !9
  %761 = load i32, ptr %30, align 4, !tbaa !9
  %762 = icmp ne i32 %761, 0
  br i1 %762, label %763, label %766

763:                                              ; preds = %755
  %764 = load i32, ptr %30, align 4, !tbaa !9
  %765 = call i32 @llvm.ctlz.i32(i32 %764, i1 true)
  br label %767

766:                                              ; preds = %755
  br label %767

767:                                              ; preds = %766, %763
  %768 = phi i32 [ %765, %763 ], [ 32, %766 ]
  store i32 %768, ptr %30, align 4, !tbaa !9
  %769 = load i32, ptr %30, align 4, !tbaa !9
  %770 = load i32, ptr %29, align 4, !tbaa !9
  %771 = sub i32 %770, %769
  store i32 %771, ptr %29, align 4, !tbaa !9
  %772 = load i32, ptr %29, align 4, !tbaa !9
  %773 = and i32 %772, 31
  %774 = load i32, ptr %28, align 4, !tbaa !9
  %775 = shl i32 %774, %773
  store i32 %775, ptr %28, align 4, !tbaa !9
  %776 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %776, ptr %29, align 4, !tbaa !9
  store i32 2, ptr %30, align 4, !tbaa !9
  %777 = load i32, ptr %29, align 4, !tbaa !9
  %778 = load i32, ptr %30, align 4, !tbaa !9
  %779 = icmp ult i32 %777, %778
  %780 = zext i1 %779 to i32
  store i32 %780, ptr %29, align 4, !tbaa !9
  %781 = load i32, ptr %29, align 4, !tbaa !9
  %782 = icmp ne i32 %781, 0
  br i1 %782, label %783, label %785

783:                                              ; preds = %767
  %784 = load i32, ptr %27, align 4, !tbaa !9
  br label %787

785:                                              ; preds = %767
  %786 = load i32, ptr %28, align 4, !tbaa !9
  br label %787

787:                                              ; preds = %785, %783
  %788 = phi i32 [ %784, %783 ], [ %786, %785 ]
  store i32 %788, ptr %27, align 4, !tbaa !9
  br label %794

789:                                              ; preds = %754, %743
  %790 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %790, ptr %27, align 4, !tbaa !9
  %791 = load ptr, ptr %7, align 8, !tbaa !5
  %792 = load i32, ptr %27, align 4, !tbaa !9
  %793 = call i32 @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fnext_prime0x28unsigned0x20long0x29(ptr noundef %791, i32 noundef %792)
  store i32 %793, ptr %27, align 4, !tbaa !9
  br label %794

794:                                              ; preds = %789, %787
  %795 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %795, ptr %14, align 4, !tbaa !9
  %796 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %796, ptr %28, align 4, !tbaa !9
  %797 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %797, ptr %29, align 4, !tbaa !9
  %798 = load i32, ptr %28, align 4, !tbaa !9
  %799 = load i32, ptr %29, align 4, !tbaa !9
  %800 = icmp ugt i32 %798, %799
  %801 = zext i1 %800 to i32
  store i32 %801, ptr %28, align 4, !tbaa !9
  %802 = load i32, ptr %28, align 4, !tbaa !9
  %803 = icmp ne i32 %802, 0
  br i1 %803, label %804, label %806

804:                                              ; preds = %794
  %805 = load i32, ptr %26, align 4, !tbaa !9
  br label %808

806:                                              ; preds = %794
  %807 = load i32, ptr %27, align 4, !tbaa !9
  br label %808

808:                                              ; preds = %806, %804
  %809 = phi i32 [ %805, %804 ], [ %807, %806 ]
  store i32 %809, ptr %26, align 4, !tbaa !9
  %810 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %810, ptr %10, align 4, !tbaa !9
  %811 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %811, ptr %27, align 4, !tbaa !9
  %812 = load i32, ptr %26, align 4, !tbaa !9
  %813 = load i32, ptr %27, align 4, !tbaa !9
  %814 = icmp uge i32 %812, %813
  %815 = zext i1 %814 to i32
  store i32 %815, ptr %26, align 4, !tbaa !9
  %816 = load i32, ptr %26, align 4, !tbaa !9
  %817 = icmp ne i32 %816, 0
  br i1 %817, label %818, label %819

818:                                              ; preds = %808
  br label %826

819:                                              ; preds = %808
  br label %820

820:                                              ; preds = %819, %637
  %821 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %821, ptr %26, align 4, !tbaa !9
  %822 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %822, ptr %27, align 4, !tbaa !9
  %823 = load ptr, ptr %7, align 8, !tbaa !5
  %824 = load i32, ptr %26, align 4, !tbaa !9
  %825 = load i32, ptr %27, align 4, !tbaa !9
  call void @w2c_hermes_void0x20std0x3A0x3A_0x5F20x3A0x3A_0x5Fhash_table0x3Cstd0x3A0x3A_0x5F20x3A0x3A_0x5Fhash_value_type0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3ALiteralString0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3ALiteralString0x2A0x3E0x3E0x2C0x20unsigned0x20int0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3A_0x5Funordered_map_hasher0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3ALiteralString0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3ALiteralString0x2A0x3E0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3A_0x5Fhash_value_type0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3ALiteralString0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3ALiteralString0x2A0x3E0x3E0x2C0x20unsigned0x20int0x3E0x2C0x20hermes0x3A0x3AModule0x3A0x3AHashRawStrings0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aequal_to0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3ALiteralString0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3ALiteralString0x2A0x3E0x3E0x3E0x2C0x20true0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3A_0x5Funordered_map_equal0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3ALiteralString0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3ALiteralString0x2A0x3E0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3A_0x5Fhash_value_type0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3ALiteralString0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3ALiteralString0x2A0x3E0x3E0x2C0x20unsigned0x20int0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aequal_to0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3ALiteralString0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3ALiteralString0x2A0x3E0x3E0x3E0x2C0x20hermes0x3A0x3AModule0x3A0x3AHashRawStrings0x2C0x20true0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cstd0x3A0x3A_0x5F20x3A0x3A_0x5Fhash_value_type0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3ALiteralString0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3ALiteralString0x2A0x3E0x3E0x2C0x20unsigned0x20int0x3E0x3E0x3E0x3A0x3A_0x5Fdo_rehash0x3Ctrue0x3E0x28unsigned0x20long0x29(ptr noundef %823, i32 noundef %824, i32 noundef %825)
  br label %826

826:                                              ; preds = %820, %818, %655
  %827 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %827, ptr %26, align 4, !tbaa !9
  %828 = load ptr, ptr %7, align 8, !tbaa !5
  %829 = getelementptr inbounds %struct.w2c_hermes, ptr %828, i32 0, i32 6
  %830 = load i32, ptr %26, align 4, !tbaa !9
  %831 = zext i32 %830 to i64
  %832 = add i64 %831, 4
  %833 = call i32 @i32_load(ptr noundef %829, i64 noundef %832)
  store i32 %833, ptr %26, align 4, !tbaa !9
  %834 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %834, ptr %13, align 4, !tbaa !9
  %835 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %835, ptr %27, align 4, !tbaa !9
  store i32 1, ptr %28, align 4, !tbaa !9
  %836 = load i32, ptr %28, align 4, !tbaa !9
  %837 = load i32, ptr %27, align 4, !tbaa !9
  %838 = sub i32 %837, %836
  store i32 %838, ptr %27, align 4, !tbaa !9
  %839 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %839, ptr %10, align 4, !tbaa !9
  %840 = load i32, ptr %27, align 4, !tbaa !9
  %841 = load i32, ptr %26, align 4, !tbaa !9
  %842 = and i32 %841, %840
  store i32 %842, ptr %26, align 4, !tbaa !9
  %843 = load i32, ptr %26, align 4, !tbaa !9
  %844 = icmp ne i32 %843, 0
  %845 = xor i1 %844, true
  %846 = zext i1 %845 to i32
  store i32 %846, ptr %26, align 4, !tbaa !9
  %847 = load i32, ptr %26, align 4, !tbaa !9
  %848 = icmp ne i32 %847, 0
  br i1 %848, label %849, label %856

849:                                              ; preds = %826
  %850 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %850, ptr %26, align 4, !tbaa !9
  %851 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %851, ptr %27, align 4, !tbaa !9
  %852 = load i32, ptr %27, align 4, !tbaa !9
  %853 = load i32, ptr %26, align 4, !tbaa !9
  %854 = and i32 %853, %852
  store i32 %854, ptr %26, align 4, !tbaa !9
  %855 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %855, ptr %18, align 4, !tbaa !9
  br label %888

856:                                              ; preds = %826
  %857 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %857, ptr %26, align 4, !tbaa !9
  %858 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %858, ptr %27, align 4, !tbaa !9
  %859 = load i32, ptr %26, align 4, !tbaa !9
  %860 = load i32, ptr %27, align 4, !tbaa !9
  %861 = icmp ugt i32 %859, %860
  %862 = zext i1 %861 to i32
  store i32 %862, ptr %26, align 4, !tbaa !9
  %863 = load i32, ptr %26, align 4, !tbaa !9
  %864 = icmp ne i32 %863, 0
  br i1 %864, label %865, label %868

865:                                              ; preds = %856
  %866 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %866, ptr %26, align 4, !tbaa !9
  %867 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %867, ptr %18, align 4, !tbaa !9
  br label %888

868:                                              ; preds = %856
  %869 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %869, ptr %26, align 4, !tbaa !9
  %870 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %870, ptr %27, align 4, !tbaa !9
  %871 = load i32, ptr %27, align 4, !tbaa !9
  %872 = icmp eq i32 %871, 0
  %873 = xor i1 %872, true
  %874 = xor i1 %873, true
  %875 = zext i1 %874 to i32
  %876 = sext i32 %875 to i64
  %877 = call i64 @llvm.expect.i64(i64 %876, i64 0)
  %878 = icmp ne i64 %877, 0
  br i1 %878, label %879, label %881

879:                                              ; preds = %868
  call void @wasm_rt_trap(i32 noundef 3) #8
  unreachable

880:                                              ; No predecessors!
  br label %885

881:                                              ; preds = %868
  %882 = load i32, ptr %26, align 4, !tbaa !9
  %883 = load i32, ptr %27, align 4, !tbaa !9
  %884 = urem i32 %882, %883
  br label %885

885:                                              ; preds = %881, %880
  %886 = phi i32 [ 0, %880 ], [ %884, %881 ]
  store i32 %886, ptr %26, align 4, !tbaa !9
  %887 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %887, ptr %18, align 4, !tbaa !9
  br label %888

888:                                              ; preds = %885, %865, %849, %489
  %889 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %889, ptr %26, align 4, !tbaa !9
  %890 = load ptr, ptr %7, align 8, !tbaa !5
  %891 = getelementptr inbounds %struct.w2c_hermes, ptr %890, i32 0, i32 6
  %892 = load i32, ptr %26, align 4, !tbaa !9
  %893 = zext i32 %892 to i64
  %894 = call i32 @i32_load(ptr noundef %891, i64 noundef %893)
  store i32 %894, ptr %26, align 4, !tbaa !9
  %895 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %895, ptr %27, align 4, !tbaa !9
  store i32 2, ptr %28, align 4, !tbaa !9
  %896 = load i32, ptr %28, align 4, !tbaa !9
  %897 = and i32 %896, 31
  %898 = load i32, ptr %27, align 4, !tbaa !9
  %899 = shl i32 %898, %897
  store i32 %899, ptr %27, align 4, !tbaa !9
  %900 = load i32, ptr %27, align 4, !tbaa !9
  %901 = load i32, ptr %26, align 4, !tbaa !9
  %902 = add i32 %901, %900
  store i32 %902, ptr %26, align 4, !tbaa !9
  %903 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %903, ptr %14, align 4, !tbaa !9
  %904 = load ptr, ptr %7, align 8, !tbaa !5
  %905 = getelementptr inbounds %struct.w2c_hermes, ptr %904, i32 0, i32 6
  %906 = load i32, ptr %26, align 4, !tbaa !9
  %907 = zext i32 %906 to i64
  %908 = call i32 @i32_load(ptr noundef %905, i64 noundef %907)
  store i32 %908, ptr %26, align 4, !tbaa !9
  %909 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %909, ptr %10, align 4, !tbaa !9
  %910 = load i32, ptr %26, align 4, !tbaa !9
  %911 = icmp ne i32 %910, 0
  %912 = xor i1 %911, true
  %913 = zext i1 %912 to i32
  store i32 %913, ptr %26, align 4, !tbaa !9
  %914 = load i32, ptr %26, align 4, !tbaa !9
  %915 = icmp ne i32 %914, 0
  br i1 %915, label %916, label %1038

916:                                              ; preds = %888
  %917 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %917, ptr %26, align 4, !tbaa !9
  %918 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %918, ptr %27, align 4, !tbaa !9
  store i32 8, ptr %28, align 4, !tbaa !9
  %919 = load i32, ptr %28, align 4, !tbaa !9
  %920 = load i32, ptr %27, align 4, !tbaa !9
  %921 = add i32 %920, %919
  store i32 %921, ptr %27, align 4, !tbaa !9
  %922 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %922, ptr %10, align 4, !tbaa !9
  %923 = load ptr, ptr %7, align 8, !tbaa !5
  %924 = getelementptr inbounds %struct.w2c_hermes, ptr %923, i32 0, i32 6
  %925 = load i32, ptr %27, align 4, !tbaa !9
  %926 = zext i32 %925 to i64
  %927 = call i32 @i32_load(ptr noundef %924, i64 noundef %926)
  store i32 %927, ptr %27, align 4, !tbaa !9
  %928 = load ptr, ptr %7, align 8, !tbaa !5
  %929 = getelementptr inbounds %struct.w2c_hermes, ptr %928, i32 0, i32 6
  %930 = load i32, ptr %26, align 4, !tbaa !9
  %931 = zext i32 %930 to i64
  %932 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store(ptr noundef %929, i64 noundef %931, i32 noundef %932)
  %933 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %933, ptr %26, align 4, !tbaa !9
  %934 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %934, ptr %27, align 4, !tbaa !9
  %935 = load ptr, ptr %7, align 8, !tbaa !5
  %936 = getelementptr inbounds %struct.w2c_hermes, ptr %935, i32 0, i32 6
  %937 = load i32, ptr %26, align 4, !tbaa !9
  %938 = zext i32 %937 to i64
  %939 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store(ptr noundef %936, i64 noundef %938, i32 noundef %939)
  %940 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %940, ptr %26, align 4, !tbaa !9
  %941 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %941, ptr %27, align 4, !tbaa !9
  %942 = load ptr, ptr %7, 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 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store(ptr noundef %943, i64 noundef %945, i32 noundef %946)
  %947 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %947, ptr %26, align 4, !tbaa !9
  %948 = load ptr, ptr %7, align 8, !tbaa !5
  %949 = getelementptr inbounds %struct.w2c_hermes, ptr %948, i32 0, i32 6
  %950 = load i32, ptr %26, align 4, !tbaa !9
  %951 = zext i32 %950 to i64
  %952 = call i32 @i32_load(ptr noundef %949, i64 noundef %951)
  store i32 %952, ptr %26, align 4, !tbaa !9
  %953 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %953, ptr %10, align 4, !tbaa !9
  %954 = load i32, ptr %26, align 4, !tbaa !9
  %955 = icmp ne i32 %954, 0
  %956 = xor i1 %955, true
  %957 = zext i1 %956 to i32
  store i32 %957, ptr %26, align 4, !tbaa !9
  %958 = load i32, ptr %26, align 4, !tbaa !9
  %959 = icmp ne i32 %958, 0
  br i1 %959, label %960, label %961

960:                                              ; preds = %916
  br label %1059

961:                                              ; preds = %916
  %962 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %962, ptr %26, align 4, !tbaa !9
  %963 = load ptr, ptr %7, align 8, !tbaa !5
  %964 = getelementptr inbounds %struct.w2c_hermes, ptr %963, i32 0, i32 6
  %965 = load i32, ptr %26, align 4, !tbaa !9
  %966 = zext i32 %965 to i64
  %967 = add i64 %966, 4
  %968 = call i32 @i32_load(ptr noundef %964, i64 noundef %967)
  store i32 %968, ptr %26, align 4, !tbaa !9
  %969 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %969, ptr %10, align 4, !tbaa !9
  %970 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %970, ptr %26, align 4, !tbaa !9
  %971 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %971, ptr %27, align 4, !tbaa !9
  store i32 1, ptr %28, align 4, !tbaa !9
  %972 = load i32, ptr %28, align 4, !tbaa !9
  %973 = load i32, ptr %27, align 4, !tbaa !9
  %974 = sub i32 %973, %972
  store i32 %974, ptr %27, align 4, !tbaa !9
  %975 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %975, ptr %14, align 4, !tbaa !9
  %976 = load i32, ptr %27, align 4, !tbaa !9
  %977 = load i32, ptr %26, align 4, !tbaa !9
  %978 = and i32 %977, %976
  store i32 %978, ptr %26, align 4, !tbaa !9
  %979 = load i32, ptr %26, align 4, !tbaa !9
  %980 = icmp ne i32 %979, 0
  %981 = xor i1 %980, true
  %982 = zext i1 %981 to i32
  store i32 %982, ptr %26, align 4, !tbaa !9
  %983 = load i32, ptr %26, align 4, !tbaa !9
  %984 = icmp ne i32 %983, 0
  br i1 %984, label %985, label %992

985:                                              ; preds = %961
  %986 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %986, ptr %26, align 4, !tbaa !9
  %987 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %987, ptr %27, align 4, !tbaa !9
  %988 = load i32, ptr %27, align 4, !tbaa !9
  %989 = load i32, ptr %26, align 4, !tbaa !9
  %990 = and i32 %989, %988
  store i32 %990, ptr %26, align 4, !tbaa !9
  %991 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %991, ptr %10, align 4, !tbaa !9
  br label %1022

992:                                              ; preds = %961
  %993 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %993, ptr %26, align 4, !tbaa !9
  %994 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %994, ptr %27, align 4, !tbaa !9
  %995 = load i32, ptr %26, align 4, !tbaa !9
  %996 = load i32, ptr %27, align 4, !tbaa !9
  %997 = icmp ult i32 %995, %996
  %998 = zext i1 %997 to i32
  store i32 %998, ptr %26, align 4, !tbaa !9
  %999 = load i32, ptr %26, align 4, !tbaa !9
  %1000 = icmp ne i32 %999, 0
  br i1 %1000, label %1001, label %1002

1001:                                             ; preds = %992
  br label %1022

1002:                                             ; preds = %992
  %1003 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1003, ptr %26, align 4, !tbaa !9
  %1004 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1004, ptr %27, align 4, !tbaa !9
  %1005 = load i32, ptr %27, align 4, !tbaa !9
  %1006 = icmp eq i32 %1005, 0
  %1007 = xor i1 %1006, true
  %1008 = xor i1 %1007, true
  %1009 = zext i1 %1008 to i32
  %1010 = sext i32 %1009 to i64
  %1011 = call i64 @llvm.expect.i64(i64 %1010, i64 0)
  %1012 = icmp ne i64 %1011, 0
  br i1 %1012, label %1013, label %1015

1013:                                             ; preds = %1002
  call void @wasm_rt_trap(i32 noundef 3) #8
  unreachable

1014:                                             ; No predecessors!
  br label %1019

1015:                                             ; preds = %1002
  %1016 = load i32, ptr %26, align 4, !tbaa !9
  %1017 = load i32, ptr %27, align 4, !tbaa !9
  %1018 = urem i32 %1016, %1017
  br label %1019

1019:                                             ; preds = %1015, %1014
  %1020 = phi i32 [ 0, %1014 ], [ %1018, %1015 ]
  store i32 %1020, ptr %26, align 4, !tbaa !9
  %1021 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %1021, ptr %10, align 4, !tbaa !9
  br label %1022

1022:                                             ; preds = %1019, %1001, %985
  %1023 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1023, ptr %26, align 4, !tbaa !9
  %1024 = load ptr, ptr %7, align 8, !tbaa !5
  %1025 = getelementptr inbounds %struct.w2c_hermes, ptr %1024, i32 0, i32 6
  %1026 = load i32, ptr %26, align 4, !tbaa !9
  %1027 = zext i32 %1026 to i64
  %1028 = call i32 @i32_load(ptr noundef %1025, i64 noundef %1027)
  store i32 %1028, ptr %26, align 4, !tbaa !9
  %1029 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1029, ptr %27, align 4, !tbaa !9
  store i32 2, ptr %28, align 4, !tbaa !9
  %1030 = load i32, ptr %28, align 4, !tbaa !9
  %1031 = and i32 %1030, 31
  %1032 = load i32, ptr %27, align 4, !tbaa !9
  %1033 = shl i32 %1032, %1031
  store i32 %1033, ptr %27, align 4, !tbaa !9
  %1034 = load i32, ptr %27, align 4, !tbaa !9
  %1035 = load i32, ptr %26, align 4, !tbaa !9
  %1036 = add i32 %1035, %1034
  store i32 %1036, ptr %26, align 4, !tbaa !9
  %1037 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %1037, ptr %10, align 4, !tbaa !9
  br label %1051

1038:                                             ; preds = %888
  %1039 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1039, ptr %26, align 4, !tbaa !9
  %1040 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1040, ptr %27, align 4, !tbaa !9
  %1041 = load ptr, ptr %7, align 8, !tbaa !5
  %1042 = getelementptr inbounds %struct.w2c_hermes, ptr %1041, i32 0, i32 6
  %1043 = load i32, ptr %27, align 4, !tbaa !9
  %1044 = zext i32 %1043 to i64
  %1045 = call i32 @i32_load(ptr noundef %1042, i64 noundef %1044)
  store i32 %1045, ptr %27, align 4, !tbaa !9
  %1046 = load ptr, ptr %7, align 8, !tbaa !5
  %1047 = getelementptr inbounds %struct.w2c_hermes, ptr %1046, i32 0, i32 6
  %1048 = load i32, ptr %26, align 4, !tbaa !9
  %1049 = zext i32 %1048 to i64
  %1050 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1047, i64 noundef %1049, i32 noundef %1050)
  br label %1051

1051:                                             ; preds = %1038, %1022
  %1052 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1052, ptr %26, align 4, !tbaa !9
  %1053 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1053, ptr %27, align 4, !tbaa !9
  %1054 = load ptr, ptr %7, align 8, !tbaa !5
  %1055 = getelementptr inbounds %struct.w2c_hermes, ptr %1054, i32 0, i32 6
  %1056 = load i32, ptr %26, align 4, !tbaa !9
  %1057 = zext i32 %1056 to i64
  %1058 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1055, i64 noundef %1057, i32 noundef %1058)
  br label %1059

1059:                                             ; preds = %1051, %960
  store i32 1, ptr %26, align 4, !tbaa !9
  %1060 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %1060, ptr %19, align 4, !tbaa !9
  %1061 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1061, ptr %26, align 4, !tbaa !9
  %1062 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1062, ptr %27, align 4, !tbaa !9
  %1063 = load ptr, ptr %7, align 8, !tbaa !5
  %1064 = getelementptr inbounds %struct.w2c_hermes, ptr %1063, i32 0, i32 6
  %1065 = load i32, ptr %27, align 4, !tbaa !9
  %1066 = zext i32 %1065 to i64
  %1067 = add i64 %1066, 12
  %1068 = call i32 @i32_load(ptr noundef %1064, i64 noundef %1067)
  store i32 %1068, ptr %27, align 4, !tbaa !9
  store i32 1, ptr %28, align 4, !tbaa !9
  %1069 = load i32, ptr %28, align 4, !tbaa !9
  %1070 = load i32, ptr %27, align 4, !tbaa !9
  %1071 = add i32 %1070, %1069
  store i32 %1071, ptr %27, align 4, !tbaa !9
  %1072 = load ptr, ptr %7, align 8, !tbaa !5
  %1073 = getelementptr inbounds %struct.w2c_hermes, ptr %1072, i32 0, i32 6
  %1074 = load i32, ptr %26, align 4, !tbaa !9
  %1075 = zext i32 %1074 to i64
  %1076 = add i64 %1075, 12
  %1077 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1073, i64 noundef %1076, i32 noundef %1077)
  br label %1078

1078:                                             ; preds = %1059, %347, %306
  %1079 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1079, ptr %26, align 4, !tbaa !9
  %1080 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1080, ptr %27, align 4, !tbaa !9
  %1081 = load ptr, ptr %7, align 8, !tbaa !5
  %1082 = getelementptr inbounds %struct.w2c_hermes, ptr %1081, i32 0, i32 6
  %1083 = load i32, ptr %26, align 4, !tbaa !9
  %1084 = zext i32 %1083 to i64
  %1085 = add i64 %1084, 4
  %1086 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %1082, i64 noundef %1085, i32 noundef %1086)
  %1087 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1087, ptr %26, align 4, !tbaa !9
  %1088 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1088, ptr %27, align 4, !tbaa !9
  %1089 = load ptr, ptr %7, align 8, !tbaa !5
  %1090 = getelementptr inbounds %struct.w2c_hermes, ptr %1089, i32 0, i32 6
  %1091 = load i32, ptr %26, align 4, !tbaa !9
  %1092 = zext i32 %1091 to i64
  %1093 = load i32, ptr %27, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1090, i64 noundef %1092, i32 noundef %1093)
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #7
  call void @llvm.lifetime.end.p0(i64 4, 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 4, ptr %25) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #7
  call void @llvm.lifetime.end.p0(i64 4, 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
  ret void
}

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

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

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


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

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

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

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

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

; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i32 @llvm.ctpop.i32(i32) #3

; Function Attrs: inlinehint nounwind uwtable
declare hidden float @f32_load(ptr noundef, i64 noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden float @wasm_ceilf(float noundef) local_unnamed_addr #4

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

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

; Function Attrs: nounwind uwtable
define dso_local void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Apair0x3Cstd0x3A0x3A_0x5F20x3A0x3A_0x5Fhash_iterator0x3Cstd0x3A0x3A_0x5F20x3A0x3A_0x5Fhash_node0x3Cstd0x3A0x3A_0x5F20x3A0x3A_0x5Fhash_value_type0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3ALiteralString0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3ALiteralString0x2A0x3E0x3E0x2C0x20unsigned0x20int0x3E0x2C0x20void0x2A0x3E0x2A0x3E0x2C0x20bool0x3E0x20std0x3A0x3A_0x5F20x3A0x3A_0x5Fhash_table0x3Cstd0x3A0x3A_0x5F20x3A0x3A_0x5Fhash_value_type0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3ALiteralString0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3ALiteralString0x2A0x3E0x3E0x2C0x20unsigned0x20int0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3A_0x5Funordered_map_hasher0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3ALiteralString0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3ALiteralString0x2A0x3E0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3A_0x5Fhash_value_type0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3ALiteralString0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3ALiteralString0x2A0x3E0x3E0x2C0x20unsigned0x20int0x3E0x2C0x20hermes0x3A0x3AModule0x3A0x3AHashRawStrings0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aequal_to0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3ALiteralString0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3ALiteralString0x2A0x3E0x3E0x3E0x2C0x20true0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3A_0x5Funordered_map_equal0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3ALiteralString0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3ALiteralString0x2A0x3E0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3A_0x5Fhash_value_type0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3ALiteralString0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3ALiteralString0x2A0x3E0x3E0x2C0x20unsigned0x20int0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aequal_to0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3ALiteralString0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3ALiteralString0x2A0x3E0x3E0x3E0x2C0x20hermes0x3A0x3AModule0x3A0x3AHashRawStrings0x2C0x20true0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cstd0x3A0x3A_0x5F20x3A0x3A_0x5Fhash_value_type0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3ALiteralString0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3ALiteralString0x2A0x3E0x3E0x2C0x20unsigned0x20int0x3E0x3E0x3E0x3A0x3A_0x5Femplace_unique_key_args0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3ALiteralString0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3ALiteralString0x2A0x3E0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3ALiteralString0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3ALiteralString0x2A0x3E0x3E0x2C0x20int0x3E0x28std0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3ALiteralString0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3ALiteralString0x2A0x3E0x3E0x20const0x260x2C0x20std0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3ALiteralString0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3ALiteralString0x2A0x3E0x3E0x260x260x2C0x20int0x260x260x29(ptr noundef %0, i32 noundef %1, i32 noundef %2, i32 noundef %3, i32 noundef %4, i32 noundef %5) local_unnamed_addr #4 {
  %7 = getelementptr inbounds i8, ptr %0, i64 40
  %8 = zext i32 %3 to i64
  %9 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %8)
  %10 = add nuw nsw i64 %8, 4
  %11 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %10)
  %12 = tail call i32 @w2c_hermes_llvh0x3A0x3Ahash_code0x20llvh0x3A0x3Ahashing0x3A0x3Adetail0x3A0x3Ahash_combine_range_impl0x3Cstd0x3A0x3A_0x5F20x3A0x3A_0x5Fwrap_iter0x3Chermes0x3A0x3ALiteralString0x2A0x20const0x2A0x3E0x3E0x28std0x3A0x3A_0x5F20x3A0x3A_0x5Fwrap_iter0x3Chermes0x3A0x3ALiteralString0x2A0x20const0x2A0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3A_0x5Fwrap_iter0x3Chermes0x3A0x3ALiteralString0x2A0x20const0x2A0x3E0x29(ptr noundef %0, i32 noundef %9, i32 noundef %11) #6
  %13 = zext i32 %2 to i64
  %14 = add nuw nsw i64 %13, 4
  %15 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %14)
  %.not = icmp eq i32 %15, 0
  br i1 %.not, label %.loopexit570, label %16

16:                                               ; preds = %6
  %17 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %13)
  %18 = add i32 %15, -1
  %19 = and i32 %18, %12
  %20 = tail call range(i32 0, 33) i32 @llvm.ctpop.i32(i32 %15)
  %21 = icmp ult i32 %20, 2
  br i1 %21, label %26, label %22

22:                                               ; preds = %16
  %23 = icmp ugt i32 %15, %12
  br i1 %23, label %26, label %24

24:                                               ; preds = %22
  %25 = urem i32 %12, %15
  br label %26

26:                                               ; preds = %22, %16, %24
  %.0524 = phi i32 [ %19, %16 ], [ %12, %22 ], [ %25, %24 ]
  %27 = shl i32 %.0524, 2
  %28 = add i32 %27, %17
  %29 = zext i32 %28 to i64
  %30 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %29)
  %.not549 = icmp eq i32 %30, 0
  br i1 %.not549, label %.loopexit570, label %31

31:                                               ; preds = %26
  %32 = zext i32 %30 to i64
  %33 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %32)
  %.not550 = icmp eq i32 %33, 0
  br i1 %.not550, label %.loopexit570, label %34

34:                                               ; preds = %31
  %35 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %10)
  %36 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %8)
  %37 = sub i32 %35, %36
  br i1 %21, label %.split.us, label %.split

.split.us:                                        ; preds = %34, %.loopexit.us
  %.0531.us = phi i32 [ %54, %.loopexit.us ], [ %33, %34 ]
  %38 = zext i32 %.0531.us to i64
  %39 = add nuw nsw i64 %38, 4
  %40 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %39)
  %.not551.us = icmp eq i32 %12, %40
  %41 = and i32 %40, %18
  %.not552.us = icmp eq i32 %41, %.0524
  %or.cond575 = or i1 %.not551.us, %.not552.us
  br i1 %or.cond575, label %42, label %.loopexit570

42:                                               ; preds = %.split.us
  %43 = add nuw nsw i64 %38, 12
  %44 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %43)
  %45 = add nuw nsw i64 %38, 8
  %46 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %45)
  %47 = sub i32 %44, %46
  %.not553.us = icmp eq i32 %47, %37
  br i1 %.not553.us, label %48, label %.loopexit.us

48:                                               ; preds = %42
  %49 = icmp eq i32 %46, %44
  br i1 %49, label %.loopexit569, label %.preheader.us

.preheader.us:                                    ; preds = %48, %55
  %.0523.us = phi i32 [ %56, %55 ], [ %36, %48 ]
  %.1.us = phi i32 [ %57, %55 ], [ %46, %48 ]
  %50 = zext i32 %.1.us to i64
  %51 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %50)
  %52 = zext i32 %.0523.us to i64
  %53 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %52)
  %.not554.us = icmp eq i32 %51, %53
  br i1 %.not554.us, label %55, label %.loopexit.us

.loopexit.us:                                     ; preds = %.preheader.us, %42
  %54 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %38)
  %.not556.us = icmp eq i32 %54, 0
  br i1 %.not556.us, label %.loopexit570, label %.split.us

55:                                               ; preds = %.preheader.us
  %56 = add i32 %.0523.us, 4
  %57 = add i32 %.1.us, 4
  %.not555.us = icmp eq i32 %57, %44
  br i1 %.not555.us, label %.loopexit569, label %.preheader.us

.split:                                           ; preds = %34, %.loopexit
  %.0531 = phi i32 [ %81, %.loopexit ], [ %33, %34 ]
  %58 = zext i32 %.0531 to i64
  %59 = add nuw nsw i64 %58, 4
  %60 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %59)
  %.not551 = icmp eq i32 %12, %60
  br i1 %.not551, label %66, label %61

61:                                               ; preds = %.split
  %62 = icmp ult i32 %60, %15
  br i1 %62, label %65, label %63

63:                                               ; preds = %61
  %64 = urem i32 %60, %15
  br label %65

65:                                               ; preds = %61, %63
  %.0 = phi i32 [ %60, %61 ], [ %64, %63 ]
  %.not552 = icmp eq i32 %.0, %.0524
  br i1 %.not552, label %66, label %.loopexit570

66:                                               ; preds = %65, %.split
  %67 = add nuw nsw i64 %58, 12
  %68 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %67)
  %69 = add nuw nsw i64 %58, 8
  %70 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %69)
  %71 = sub i32 %68, %70
  %.not553 = icmp eq i32 %71, %37
  br i1 %.not553, label %72, label %.loopexit

72:                                               ; preds = %66
  %73 = icmp eq i32 %70, %68
  br i1 %73, label %.loopexit569, label %.preheader

.preheader:                                       ; preds = %72, %78
  %.0523 = phi i32 [ %79, %78 ], [ %36, %72 ]
  %.1 = phi i32 [ %80, %78 ], [ %70, %72 ]
  %74 = zext i32 %.1 to i64
  %75 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %74)
  %76 = zext i32 %.0523 to i64
  %77 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %76)
  %.not554 = icmp eq i32 %75, %77
  br i1 %.not554, label %78, label %.loopexit

78:                                               ; preds = %.preheader
  %79 = add i32 %.0523, 4
  %80 = add i32 %.1, 4
  %.not555 = icmp eq i32 %80, %68
  br i1 %.not555, label %.loopexit569, label %.preheader

.loopexit:                                        ; preds = %.preheader, %66
  %81 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %58)
  %.not556 = icmp eq i32 %81, 0
  br i1 %.not556, label %.loopexit570, label %.split

.loopexit570:                                     ; preds = %65, %.loopexit, %.split.us, %.loopexit.us, %31, %26, %6
  %.0529 = phi i32 [ 0, %6 ], [ %.0524, %26 ], [ %.0524, %31 ], [ %.0524, %.loopexit.us ], [ %.0524, %.split.us ], [ %.0524, %.loopexit ], [ %.0524, %65 ]
  %82 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %0, i32 noundef 24) #6
  %83 = zext i32 %4 to i64
  %84 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %83)
  %85 = zext i32 %82 to i64
  %86 = add nuw nsw i64 %85, 8
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %86, i32 noundef %84)
  %87 = add nuw nsw i64 %83, 4
  %88 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %87)
  %89 = add nuw nsw i64 %85, 12
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %89, i32 noundef %88)
  %90 = add nuw nsw i64 %83, 8
  %91 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %90)
  %92 = add nuw nsw i64 %85, 16
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %92, i32 noundef %91)
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %90, i32 noundef 0)
  tail call void @i64_store(ptr noundef nonnull %7, i64 noundef %83, i64 noundef 0)
  %93 = zext i32 %5 to i64
  %94 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %93)
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %85, i32 noundef 0)
  %95 = add nuw nsw i64 %85, 4
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %95, i32 noundef %12)
  %96 = add nuw nsw i64 %85, 20
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %96, i32 noundef %94)
  %97 = add nuw nsw i64 %13, 12
  %98 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %97)
  %99 = add i32 %98, 1
  %100 = uitofp i32 %99 to float
  %101 = add nuw nsw i64 %13, 16
  %102 = tail call float @f32_load(ptr noundef nonnull %7, i64 noundef %101)
  %103 = uitofp i32 %15 to float
  %104 = fmul float %102, %103
  %105 = fcmp olt float %104, %100
  %.not557 = or i1 %.not, %105
  br i1 %.not557, label %106, label %184

106:                                              ; preds = %.loopexit570
  %107 = tail call range(i32 0, 33) i32 @llvm.ctpop.i32(i32 %15)
  %108 = icmp ugt i32 %107, 1
  %109 = icmp ult i32 %15, 3
  %110 = or i1 %109, %108
  %111 = zext i1 %110 to i32
  %112 = shl i32 %15, 1
  %113 = or disjoint i32 %112, %111
  %114 = fdiv float %100, %102
  %115 = tail call float @wasm_ceilf(float noundef %114)
  %116 = fcmp olt float %115, 0x41F0000000000000
  %117 = fcmp oge float %115, 0.000000e+00
  %118 = and i1 %116, %117
  br i1 %118, label %119, label %127

119:                                              ; preds = %106
  %120 = fcmp uno float %115, 0.000000e+00
  br i1 %120, label %121, label %122, !prof !5

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

122:                                              ; preds = %119
  %123 = fcmp ogt float %115, -1.000000e+00
  br i1 %123, label %125, label %124, !prof !6

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

125:                                              ; preds = %122
  %126 = fptoui float %115 to i32
  br label %127

127:                                              ; preds = %106, %125
  %.1525 = phi i32 [ %126, %125 ], [ 0, %106 ]
  %128 = tail call i32 @llvm.umax.i32(i32 %113, i32 %.1525)
  %129 = icmp eq i32 %128, 1
  br i1 %129, label %135, label %130

130:                                              ; preds = %127
  %131 = tail call range(i32 0, 33) i32 @llvm.ctpop.i32(i32 %128)
  %.not559 = icmp ult i32 %131, 2
  br i1 %.not559, label %135, label %132

132:                                              ; preds = %130
  %133 = tail call i32 @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fnext_prime0x28unsigned0x20long0x29(ptr noundef %0, i32 noundef %128) #6
  %134 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %14)
  br label %135

135:                                              ; preds = %130, %127, %132
  %.0521 = phi i32 [ %15, %127 ], [ %134, %132 ], [ %15, %130 ]
  %.2 = phi i32 [ 2, %127 ], [ %133, %132 ], [ %128, %130 ]
  %.not560 = icmp ugt i32 %.2, %.0521
  br i1 %.not560, label %170, label %136

136:                                              ; preds = %135
  %.not561 = icmp ult i32 %.2, %.0521
  br i1 %.not561, label %137, label %171

137:                                              ; preds = %136
  %138 = icmp ult i32 %.0521, 3
  %139 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %97)
  %140 = uitofp i32 %139 to float
  %141 = tail call float @f32_load(ptr noundef nonnull %7, i64 noundef %101)
  %142 = fdiv float %140, %141
  %143 = tail call float @wasm_ceilf(float noundef %142)
  %144 = fcmp olt float %143, 0x41F0000000000000
  %145 = fcmp oge float %143, 0.000000e+00
  %146 = and i1 %144, %145
  br i1 %146, label %147, label %155

147:                                              ; preds = %137
  %148 = fcmp uno float %143, 0.000000e+00
  br i1 %148, label %149, label %150, !prof !5

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

150:                                              ; preds = %147
  %151 = fcmp ogt float %143, -1.000000e+00
  br i1 %151, label %153, label %152, !prof !6

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

153:                                              ; preds = %150
  %154 = fptoui float %143 to i32
  br label %155

155:                                              ; preds = %137, %153
  %.0527 = phi i32 [ %154, %153 ], [ 0, %137 ]
  %156 = tail call range(i32 0, 33) i32 @llvm.ctpop.i32(i32 %.0521)
  %157 = icmp ugt i32 %156, 1
  %or.cond = select i1 %138, i1 true, i1 %157
  br i1 %or.cond, label %166, label %158

158:                                              ; preds = %155
  %159 = add i32 %.0527, -1
  %160 = tail call range(i32 0, 33) i32 @llvm.ctlz.i32(i32 %159, i1 false)
  %161 = sub nsw i32 0, %160
  %162 = and i32 %161, 31
  %163 = shl nuw i32 1, %162
  %164 = icmp ult i32 %.0527, 2
  %165 = select i1 %164, i32 %.0527, i32 %163
  br label %168

166:                                              ; preds = %155
  %167 = tail call i32 @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fnext_prime0x28unsigned0x20long0x29(ptr noundef %0, i32 noundef %.0527) #6
  br label %168

168:                                              ; preds = %166, %158
  %.2526 = phi i32 [ %167, %166 ], [ %165, %158 ]
  %169 = tail call i32 @llvm.umax.i32(i32 %.2, i32 %.2526)
  %.not563 = icmp ult i32 %169, %.0521
  br i1 %.not563, label %170, label %171

170:                                              ; preds = %168, %135
  %.3 = phi i32 [ %169, %168 ], [ %.2, %135 ]
  tail call void @w2c_hermes_void0x20std0x3A0x3A_0x5F20x3A0x3A_0x5Fhash_table0x3Cstd0x3A0x3A_0x5F20x3A0x3A_0x5Fhash_value_type0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3ALiteralString0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3ALiteralString0x2A0x3E0x3E0x2C0x20unsigned0x20int0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3A_0x5Funordered_map_hasher0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3ALiteralString0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3ALiteralString0x2A0x3E0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3A_0x5Fhash_value_type0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3ALiteralString0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3ALiteralString0x2A0x3E0x3E0x2C0x20unsigned0x20int0x3E0x2C0x20hermes0x3A0x3AModule0x3A0x3AHashRawStrings0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aequal_to0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3ALiteralString0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3ALiteralString0x2A0x3E0x3E0x3E0x2C0x20true0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3A_0x5Funordered_map_equal0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3ALiteralString0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3ALiteralString0x2A0x3E0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3A_0x5Fhash_value_type0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3ALiteralString0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3ALiteralString0x2A0x3E0x3E0x2C0x20unsigned0x20int0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aequal_to0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3ALiteralString0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3ALiteralString0x2A0x3E0x3E0x3E0x2C0x20hermes0x3A0x3AModule0x3A0x3AHashRawStrings0x2C0x20true0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Cstd0x3A0x3A_0x5F20x3A0x3A_0x5Fhash_value_type0x3Cstd0x3A0x3A_0x5F20x3A0x3Avector0x3Chermes0x3A0x3ALiteralString0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aallocator0x3Chermes0x3A0x3ALiteralString0x2A0x3E0x3E0x2C0x20unsigned0x20int0x3E0x3E0x3E0x3A0x3A_0x5Fdo_rehash0x3Ctrue0x3E0x28unsigned0x20long0x29(ptr noundef %0, i32 noundef %2, i32 noundef %.3)
  br label %171

171:                                              ; preds = %168, %136, %170
  %172 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %14)
  %173 = tail call range(i32 0, 33) i32 @llvm.ctpop.i32(i32 %172)
  %.not564 = icmp ult i32 %173, 2
  br i1 %.not564, label %174, label %177

174:                                              ; preds = %171
  %175 = add i32 %172, -1
  %176 = and i32 %175, %12
  br label %184

177:                                              ; preds = %171
  %178 = icmp ugt i32 %172, %12
  br i1 %178, label %184, label %179

179:                                              ; preds = %177
  %180 = icmp eq i32 %172, 0
  br i1 %180, label %181, label %182, !prof !5

181:                                              ; preds = %179
  tail call void @wasm_rt_trap(i32 noundef 3) #7
  unreachable

182:                                              ; preds = %179
  %183 = urem i32 %12, %172
  br label %184

184:                                              ; preds = %177, %.loopexit570, %182, %174
  %.1530 = phi i32 [ %.0529, %.loopexit570 ], [ %176, %174 ], [ %183, %182 ], [ %12, %177 ]
  %.1522 = phi i32 [ %15, %.loopexit570 ], [ %172, %174 ], [ %172, %182 ], [ %172, %177 ]
  %185 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %13)
  %186 = shl i32 %.1530, 2
  %187 = add i32 %185, %186
  %188 = zext i32 %187 to i64
  %189 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %188)
  %.not565 = icmp eq i32 %189, 0
  br i1 %.not565, label %190, label %214

190:                                              ; preds = %184
  %191 = add i32 %2, 8
  %192 = zext i32 %191 to i64
  %193 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %192)
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %85, i32 noundef %193)
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %192, i32 noundef %82)
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %188, i32 noundef %191)
  %194 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %85)
  %.not566 = icmp eq i32 %194, 0
  br i1 %.not566, label %218, label %195

195:                                              ; preds = %190
  %196 = zext i32 %194 to i64
  %197 = add nuw nsw i64 %196, 4
  %198 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %197)
  %199 = tail call range(i32 0, 33) i32 @llvm.ctpop.i32(i32 %.1522)
  %.not567 = icmp ult i32 %199, 2
  br i1 %.not567, label %200, label %203

200:                                              ; preds = %195
  %201 = add i32 %.1522, -1
  %202 = and i32 %198, %201
  br label %210

203:                                              ; preds = %195
  %204 = icmp ult i32 %198, %.1522
  br i1 %204, label %210, label %205

205:                                              ; preds = %203
  %206 = icmp eq i32 %.1522, 0
  br i1 %206, label %207, label %208, !prof !5

207:                                              ; preds = %205
  tail call void @wasm_rt_trap(i32 noundef 3) #7
  unreachable

208:                                              ; preds = %205
  %209 = urem i32 %198, %.1522
  br label %210

210:                                              ; preds = %203, %208, %200
  %.4 = phi i32 [ %202, %200 ], [ %198, %203 ], [ %209, %208 ]
  %211 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %13)
  %212 = shl i32 %.4, 2
  %213 = add i32 %211, %212
  %.pre = zext i32 %213 to i64
  br label %217

214:                                              ; preds = %184
  %215 = zext i32 %189 to i64
  %216 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %215)
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %85, i32 noundef %216)
  br label %217

217:                                              ; preds = %214, %210
  %.pre-phi = phi i64 [ %215, %214 ], [ %.pre, %210 ]
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %.pre-phi, i32 noundef %82)
  br label %218

218:                                              ; preds = %190, %217
  %219 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %97)
  %220 = add i32 %219, 1
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %97, i32 noundef %220)
  br label %.loopexit569

.loopexit569:                                     ; preds = %72, %78, %48, %55, %218
  %.1532 = phi i32 [ %82, %218 ], [ %.0531.us, %55 ], [ %.0531.us, %48 ], [ %.0531, %78 ], [ %.0531, %72 ]
  %.0528 = phi i32 [ 1, %218 ], [ 0, %55 ], [ 0, %48 ], [ 0, %78 ], [ 0, %72 ]
  %221 = zext i32 %1 to i64
  %222 = add nuw nsw i64 %221, 4
  tail call void @i32_store8(ptr noundef nonnull %7, i64 noundef %222, i32 noundef %.0528)
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %221, i32 noundef %.1532)
  ret void
}

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

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

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

attributes #0 = { 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 #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 = { "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 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #4 = { 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 #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 = !{!"branch_weights", !"expected", i32 1, i32 2000}
!6 = !{!"branch_weights", !"expected", i32 2000, i32 1}


; Effective O3 passes: BDCEPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LoopInstSimplifyPass,LoopSimplifyCFGPass,LoopSimplifyPass,LoopUnrollPass,LowerExpectIntrinsicPass,ReassociatePass,SROAPass,SimplifyCFGPass,TailCallElimPass