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

; 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: nounwind uwtable
declare dso_local void @w2c_hermes_dlfree(ptr noundef, i32 noundef) #0

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: nounwind uwtable
declare dso_local void @w2c_hermes_abort(ptr noundef) #0

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

declare void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fthrow_out_of_range0x5Babi0x3Av150070x5D0x28char0x20const0x2A0x29(ptr noundef) #1

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

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

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

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

; Function Attrs: nounwind uwtable
define dso_local i32 @w2c_hermes_hermes0x3A0x3ADominanceInfo0x3A0x3ADominanceInfo0x28hermes0x3A0x3AFunction0x2A0x29(ptr noundef %0, i32 noundef %1, i32 noundef %2) #0 {
  %4 = alloca ptr, align 8
  %5 = alloca i32, align 4
  %6 = alloca i32, align 4
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca i32, align 4
  %10 = alloca i32, align 4
  %11 = alloca i32, align 4
  %12 = alloca i32, align 4
  %13 = alloca i32, align 4
  %14 = alloca i32, align 4
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca i32, align 4
  %18 = alloca i32, align 4
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca i32, align 4
  %31 = alloca i32, align 4
  %32 = alloca i32, align 4
  %33 = alloca i32, align 4
  %34 = alloca i32, align 4
  %35 = alloca i32, align 4
  %36 = alloca i64, align 8
  %37 = alloca i32, align 4
  %38 = alloca i32, align 4
  %39 = alloca i32, align 4
  %40 = alloca i32, align 4
  %41 = alloca i32, align 4
  %42 = alloca i32, align 4
  %43 = alloca i32, align 4
  %44 = alloca i64, align 8
  %45 = alloca i64, align 8
  %46 = alloca i64, align 8
  store ptr %0, ptr %4, align 8, !tbaa !5
  store i32 %1, ptr %5, align 4, !tbaa !9
  store i32 %2, ptr %6, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #7
  store i32 0, ptr %7, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #7
  store i32 0, ptr %8, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #7
  store i32 0, ptr %9, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %10) #7
  store i32 0, ptr %10, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #7
  store i32 0, ptr %11, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #7
  store i32 0, ptr %12, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #7
  store i32 0, ptr %13, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #7
  store i32 0, ptr %14, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #7
  store i32 0, ptr %15, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #7
  store i32 0, ptr %16, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 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 i32 0, ptr %24, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #7
  store i32 0, ptr %25, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #7
  store i32 0, ptr %26, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #7
  store i32 0, ptr %27, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #7
  store i32 0, ptr %28, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #7
  store i32 0, ptr %29, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #7
  store i32 0, ptr %30, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #7
  store i32 0, ptr %31, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #7
  store i32 0, ptr %32, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #7
  store i32 0, ptr %33, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #7
  store i32 0, ptr %34, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #7
  store i32 0, ptr %35, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #7
  store i64 0, ptr %36, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %43) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %46) #7
  %47 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %47, ptr %37, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %48 = load ptr, ptr %4, align 8, !tbaa !5
  %49 = getelementptr inbounds %struct.w2c_hermes, ptr %48, i32 0, i32 6
  %50 = load i32, ptr %37, align 4, !tbaa !9
  %51 = zext i32 %50 to i64
  %52 = add i64 %51, 16
  %53 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %49, i64 noundef %52, i64 noundef %53)
  %54 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %54, ptr %37, align 4, !tbaa !9
  store i64 4294967296, ptr %44, align 8, !tbaa !11
  %55 = load ptr, ptr %4, align 8, !tbaa !5
  %56 = getelementptr inbounds %struct.w2c_hermes, ptr %55, i32 0, i32 6
  %57 = load i32, ptr %37, align 4, !tbaa !9
  %58 = zext i32 %57 to i64
  %59 = add i64 %58, 4
  %60 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %56, i64 noundef %59, i64 noundef %60)
  %61 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %61, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %62 = load ptr, ptr %4, align 8, !tbaa !5
  %63 = getelementptr inbounds %struct.w2c_hermes, ptr %62, i32 0, i32 6
  %64 = load i32, ptr %37, align 4, !tbaa !9
  %65 = zext i32 %64 to i64
  %66 = add i64 %65, 44
  %67 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %63, i64 noundef %66, i32 noundef %67)
  %68 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %68, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %69 = load ptr, ptr %4, align 8, !tbaa !5
  %70 = getelementptr inbounds %struct.w2c_hermes, ptr %69, i32 0, i32 6
  %71 = load i32, ptr %37, align 4, !tbaa !9
  %72 = zext i32 %71 to i64
  %73 = add i64 %72, 40
  %74 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %70, i64 noundef %73, i32 noundef %74)
  %75 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %75, ptr %37, align 4, !tbaa !9
  %76 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %76, ptr %38, align 4, !tbaa !9
  %77 = load ptr, ptr %4, align 8, !tbaa !5
  %78 = getelementptr inbounds %struct.w2c_hermes, ptr %77, i32 0, i32 6
  %79 = load i32, ptr %37, align 4, !tbaa !9
  %80 = zext i32 %79 to i64
  %81 = add i64 %80, 36
  %82 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %78, i64 noundef %81, i32 noundef %82)
  %83 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %83, ptr %37, align 4, !tbaa !9
  %84 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %84, ptr %38, align 4, !tbaa !9
  store i32 12, ptr %39, align 4, !tbaa !9
  %85 = load i32, ptr %39, align 4, !tbaa !9
  %86 = load i32, ptr %38, align 4, !tbaa !9
  %87 = add i32 %86, %85
  store i32 %87, ptr %38, align 4, !tbaa !9
  %88 = load ptr, ptr %4, align 8, !tbaa !5
  %89 = getelementptr inbounds %struct.w2c_hermes, ptr %88, i32 0, i32 6
  %90 = load i32, ptr %37, align 4, !tbaa !9
  %91 = zext i32 %90 to i64
  %92 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %89, i64 noundef %91, i32 noundef %92)
  %93 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %93, ptr %37, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %94 = load ptr, ptr %4, align 8, !tbaa !5
  %95 = getelementptr inbounds %struct.w2c_hermes, ptr %94, i32 0, i32 6
  %96 = load i32, ptr %37, align 4, !tbaa !9
  %97 = zext i32 %96 to i64
  %98 = add i64 %97, 24
  %99 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %95, i64 noundef %98, i64 noundef %99)
  %100 = load ptr, ptr %4, align 8, !tbaa !5
  %101 = getelementptr inbounds %struct.w2c_hermes, ptr %100, i32 0, i32 3
  %102 = load i32, ptr %101, align 8, !tbaa !13
  store i32 %102, ptr %37, align 4, !tbaa !9
  store i32 48, ptr %38, align 4, !tbaa !9
  %103 = load i32, ptr %38, align 4, !tbaa !9
  %104 = load i32, ptr %37, align 4, !tbaa !9
  %105 = sub i32 %104, %103
  store i32 %105, ptr %37, align 4, !tbaa !9
  %106 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %106, ptr %21, align 4, !tbaa !9
  %107 = load i32, ptr %37, align 4, !tbaa !9
  %108 = load ptr, ptr %4, align 8, !tbaa !5
  %109 = getelementptr inbounds %struct.w2c_hermes, ptr %108, i32 0, i32 3
  store i32 %107, ptr %109, align 8, !tbaa !13
  %110 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %110, ptr %37, align 4, !tbaa !9
  %111 = load ptr, ptr %4, align 8, !tbaa !5
  %112 = getelementptr inbounds %struct.w2c_hermes, ptr %111, i32 0, i32 6
  %113 = load i32, ptr %37, align 4, !tbaa !9
  %114 = zext i32 %113 to i64
  %115 = add i64 %114, 36
  %116 = call i32 @i32_load(ptr noundef %112, i64 noundef %115)
  store i32 %116, ptr %37, align 4, !tbaa !9
  %117 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %117, ptr %11, align 4, !tbaa !9
  %118 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %118, ptr %37, align 4, !tbaa !9
  store i32 16, ptr %38, align 4, !tbaa !9
  %119 = load i32, ptr %38, align 4, !tbaa !9
  %120 = load i32, ptr %37, align 4, !tbaa !9
  %121 = add i32 %120, %119
  store i32 %121, ptr %37, align 4, !tbaa !9
  %122 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %122, ptr %34, align 4, !tbaa !9
  %123 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %123, ptr %8, align 4, !tbaa !9
  %124 = load ptr, ptr %4, align 8, !tbaa !5
  %125 = getelementptr inbounds %struct.w2c_hermes, ptr %124, i32 0, i32 6
  %126 = load i32, ptr %37, align 4, !tbaa !9
  %127 = zext i32 %126 to i64
  %128 = add i64 %127, 4
  %129 = call i32 @i32_load(ptr noundef %125, i64 noundef %128)
  store i32 %129, ptr %37, align 4, !tbaa !9
  %130 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %130, ptr %7, align 4, !tbaa !9
  %131 = load i32, ptr %37, align 4, !tbaa !9
  %132 = icmp ne i32 %131, 0
  %133 = xor i1 %132, true
  %134 = zext i1 %133 to i32
  store i32 %134, ptr %37, align 4, !tbaa !9
  %135 = load i32, ptr %37, align 4, !tbaa !9
  %136 = icmp ne i32 %135, 0
  br i1 %136, label %137, label %153

137:                                              ; preds = %3
  %138 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %138, ptr %37, align 4, !tbaa !9
  %139 = load ptr, ptr %4, align 8, !tbaa !5
  %140 = getelementptr inbounds %struct.w2c_hermes, ptr %139, i32 0, i32 6
  %141 = load i32, ptr %37, align 4, !tbaa !9
  %142 = zext i32 %141 to i64
  %143 = add i64 %142, 8
  %144 = call i32 @i32_load(ptr noundef %140, i64 noundef %143)
  store i32 %144, ptr %37, align 4, !tbaa !9
  %145 = load i32, ptr %37, align 4, !tbaa !9
  %146 = icmp ne i32 %145, 0
  %147 = xor i1 %146, true
  %148 = zext i1 %147 to i32
  store i32 %148, ptr %37, align 4, !tbaa !9
  %149 = load i32, ptr %37, align 4, !tbaa !9
  %150 = icmp ne i32 %149, 0
  br i1 %150, label %151, label %152

151:                                              ; preds = %137
  br label %915

152:                                              ; preds = %137
  br label %153

153:                                              ; preds = %152, %3
  %154 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %154, ptr %37, align 4, !tbaa !9
  %155 = load ptr, ptr %4, align 8, !tbaa !5
  %156 = getelementptr inbounds %struct.w2c_hermes, ptr %155, i32 0, i32 6
  %157 = load i32, ptr %37, align 4, !tbaa !9
  %158 = zext i32 %157 to i64
  %159 = add i64 %158, 12
  %160 = call i32 @i32_load(ptr noundef %156, i64 noundef %159)
  store i32 %160, ptr %37, align 4, !tbaa !9
  %161 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %161, ptr %6, align 4, !tbaa !9
  %162 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %162, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %163 = load i32, ptr %39, align 4, !tbaa !9
  %164 = and i32 %163, 31
  %165 = load i32, ptr %38, align 4, !tbaa !9
  %166 = shl i32 %165, %164
  store i32 %166, ptr %38, align 4, !tbaa !9
  %167 = load i32, ptr %37, align 4, !tbaa !9
  %168 = load i32, ptr %38, align 4, !tbaa !9
  %169 = icmp ule i32 %167, %168
  %170 = zext i1 %169 to i32
  store i32 %170, ptr %37, align 4, !tbaa !9
  %171 = load i32, ptr %37, align 4, !tbaa !9
  %172 = icmp ne i32 %171, 0
  br i1 %172, label %173, label %174

173:                                              ; preds = %153
  br label %796

174:                                              ; preds = %153
  %175 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %175, ptr %37, align 4, !tbaa !9
  store i32 65, ptr %38, align 4, !tbaa !9
  %176 = load i32, ptr %37, align 4, !tbaa !9
  %177 = load i32, ptr %38, align 4, !tbaa !9
  %178 = icmp ult i32 %176, %177
  %179 = zext i1 %178 to i32
  store i32 %179, ptr %37, align 4, !tbaa !9
  %180 = load i32, ptr %37, align 4, !tbaa !9
  %181 = icmp ne i32 %180, 0
  br i1 %181, label %182, label %183

182:                                              ; preds = %174
  br label %796

183:                                              ; preds = %174
  %184 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %184, ptr %37, align 4, !tbaa !9
  %185 = load ptr, ptr %4, align 8, !tbaa !5
  %186 = getelementptr inbounds %struct.w2c_hermes, ptr %185, i32 0, i32 6
  %187 = load i32, ptr %37, align 4, !tbaa !9
  %188 = zext i32 %187 to i64
  %189 = add i64 %188, 4
  %190 = call i32 @i32_load(ptr noundef %186, i64 noundef %189)
  store i32 %190, ptr %37, align 4, !tbaa !9
  %191 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %191, ptr %10, align 4, !tbaa !9
  %192 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %192, ptr %37, align 4, !tbaa !9
  %193 = load ptr, ptr %4, align 8, !tbaa !5
  %194 = getelementptr inbounds %struct.w2c_hermes, ptr %193, i32 0, i32 6
  %195 = load i32, ptr %37, align 4, !tbaa !9
  %196 = zext i32 %195 to i64
  %197 = add i64 %196, 12
  %198 = call i32 @i32_load(ptr noundef %194, i64 noundef %197)
  store i32 %198, ptr %37, align 4, !tbaa !9
  %199 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %199, ptr %7, align 4, !tbaa !9
  %200 = load i32, ptr %37, align 4, !tbaa !9
  %201 = icmp ne i32 %200, 0
  br i1 %201, label %202, label %302

202:                                              ; preds = %183
  %203 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %203, ptr %37, align 4, !tbaa !9
  %204 = load ptr, ptr %4, align 8, !tbaa !5
  %205 = getelementptr inbounds %struct.w2c_hermes, ptr %204, i32 0, i32 6
  %206 = load i32, ptr %37, align 4, !tbaa !9
  %207 = zext i32 %206 to i64
  %208 = call i32 @i32_load(ptr noundef %205, i64 noundef %207)
  store i32 %208, ptr %37, align 4, !tbaa !9
  %209 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %209, ptr %6, align 4, !tbaa !9
  %210 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %210, ptr %38, align 4, !tbaa !9
  store i32 3, ptr %39, align 4, !tbaa !9
  %211 = load i32, ptr %39, align 4, !tbaa !9
  %212 = and i32 %211, 31
  %213 = load i32, ptr %38, align 4, !tbaa !9
  %214 = shl i32 %213, %212
  store i32 %214, ptr %38, align 4, !tbaa !9
  %215 = load i32, ptr %38, align 4, !tbaa !9
  %216 = load i32, ptr %37, align 4, !tbaa !9
  %217 = add i32 %216, %215
  store i32 %217, ptr %37, align 4, !tbaa !9
  %218 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %218, ptr %13, align 4, !tbaa !9
  br label %219

219:                                              ; preds = %300, %202
  %220 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %220, ptr %37, align 4, !tbaa !9
  %221 = load ptr, ptr %4, align 8, !tbaa !5
  %222 = getelementptr inbounds %struct.w2c_hermes, ptr %221, i32 0, i32 6
  %223 = load i32, ptr %37, align 4, !tbaa !9
  %224 = zext i32 %223 to i64
  %225 = call i32 @i32_load(ptr noundef %222, i64 noundef %224)
  store i32 %225, ptr %37, align 4, !tbaa !9
  store i32 8, ptr %38, align 4, !tbaa !9
  %226 = load i32, ptr %38, align 4, !tbaa !9
  %227 = load i32, ptr %37, align 4, !tbaa !9
  %228 = add i32 %227, %226
  store i32 %228, ptr %37, align 4, !tbaa !9
  %229 = load i32, ptr %37, align 4, !tbaa !9
  switch i32 %229, label %235 [
    i32 0, label %230
    i32 1, label %231
    i32 2, label %232
    i32 3, label %233
    i32 4, label %234
  ]

230:                                              ; preds = %219
  br label %287

231:                                              ; preds = %219
  br label %236

232:                                              ; preds = %219
  br label %236

233:                                              ; preds = %219
  br label %236

234:                                              ; preds = %219
  br label %287

235:                                              ; preds = %219
  br label %236

236:                                              ; preds = %235, %233, %232, %231
  %237 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %237, ptr %37, align 4, !tbaa !9
  %238 = load ptr, ptr %4, align 8, !tbaa !5
  %239 = getelementptr inbounds %struct.w2c_hermes, ptr %238, i32 0, i32 6
  %240 = load i32, ptr %37, align 4, !tbaa !9
  %241 = zext i32 %240 to i64
  %242 = add i64 %241, 4
  %243 = call i32 @i32_load(ptr noundef %239, i64 noundef %242)
  store i32 %243, ptr %37, align 4, !tbaa !9
  %244 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %244, ptr %7, align 4, !tbaa !9
  %245 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %245, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %246 = load ptr, ptr %4, align 8, !tbaa !5
  %247 = getelementptr inbounds %struct.w2c_hermes, ptr %246, i32 0, i32 6
  %248 = load i32, ptr %37, align 4, !tbaa !9
  %249 = zext i32 %248 to i64
  %250 = add i64 %249, 4
  %251 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %247, i64 noundef %250, i32 noundef %251)
  %252 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %252, ptr %37, align 4, !tbaa !9
  %253 = load i32, ptr %37, align 4, !tbaa !9
  %254 = icmp ne i32 %253, 0
  %255 = xor i1 %254, true
  %256 = zext i1 %255 to i32
  store i32 %256, ptr %37, align 4, !tbaa !9
  %257 = load i32, ptr %37, align 4, !tbaa !9
  %258 = icmp ne i32 %257, 0
  br i1 %258, label %259, label %260

259:                                              ; preds = %236
  br label %287

260:                                              ; preds = %236
  %261 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %261, ptr %37, align 4, !tbaa !9
  %262 = load ptr, ptr %4, align 8, !tbaa !5
  %263 = getelementptr inbounds %struct.w2c_hermes, ptr %262, i32 0, i32 6
  %264 = load i32, ptr %37, align 4, !tbaa !9
  %265 = zext i32 %264 to i64
  %266 = add i64 %265, 12
  %267 = call i32 @i32_load(ptr noundef %263, i64 noundef %266)
  store i32 %267, ptr %37, align 4, !tbaa !9
  %268 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %268, ptr %9, align 4, !tbaa !9
  %269 = load i32, ptr %37, align 4, !tbaa !9
  %270 = icmp ne i32 %269, 0
  br i1 %270, label %271, label %283

271:                                              ; preds = %260
  %272 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %272, ptr %37, align 4, !tbaa !9
  %273 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %273, ptr %38, align 4, !tbaa !9
  %274 = load ptr, ptr %4, align 8, !tbaa !5
  %275 = getelementptr inbounds %struct.w2c_hermes, ptr %274, i32 0, i32 6
  %276 = load i32, ptr %37, align 4, !tbaa !9
  %277 = zext i32 %276 to i64
  %278 = add i64 %277, 16
  %279 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %275, i64 noundef %278, i32 noundef %279)
  %280 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %280, ptr %37, align 4, !tbaa !9
  %281 = load ptr, ptr %4, align 8, !tbaa !5
  %282 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %281, i32 noundef %282)
  br label %283

283:                                              ; preds = %271, %260
  %284 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %284, ptr %37, align 4, !tbaa !9
  %285 = load ptr, ptr %4, align 8, !tbaa !5
  %286 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %285, i32 noundef %286)
  br label %287

287:                                              ; preds = %283, %259, %234, %230
  %288 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %288, ptr %37, align 4, !tbaa !9
  store i32 8, ptr %38, align 4, !tbaa !9
  %289 = load i32, ptr %38, align 4, !tbaa !9
  %290 = load i32, ptr %37, align 4, !tbaa !9
  %291 = add i32 %290, %289
  store i32 %291, ptr %37, align 4, !tbaa !9
  %292 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %292, ptr %6, align 4, !tbaa !9
  %293 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %293, ptr %38, align 4, !tbaa !9
  %294 = load i32, ptr %37, align 4, !tbaa !9
  %295 = load i32, ptr %38, align 4, !tbaa !9
  %296 = icmp ne i32 %294, %295
  %297 = zext i1 %296 to i32
  store i32 %297, ptr %37, align 4, !tbaa !9
  %298 = load i32, ptr %37, align 4, !tbaa !9
  %299 = icmp ne i32 %298, 0
  br i1 %299, label %300, label %301

300:                                              ; preds = %287
  br label %219

301:                                              ; preds = %287
  br label %302

302:                                              ; preds = %301, %183
  %303 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %303, ptr %37, align 4, !tbaa !9
  %304 = load i32, ptr %37, align 4, !tbaa !9
  %305 = icmp ne i32 %304, 0
  br i1 %305, label %306, label %340

306:                                              ; preds = %302
  store i32 64, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  store i32 33, ptr %39, align 4, !tbaa !9
  %307 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %307, ptr %40, align 4, !tbaa !9
  store i32 1, ptr %41, align 4, !tbaa !9
  %308 = load i32, ptr %41, align 4, !tbaa !9
  %309 = load i32, ptr %40, align 4, !tbaa !9
  %310 = sub i32 %309, %308
  store i32 %310, ptr %40, align 4, !tbaa !9
  %311 = load i32, ptr %40, align 4, !tbaa !9
  %312 = icmp ne i32 %311, 0
  br i1 %312, label %313, label %316

313:                                              ; preds = %306
  %314 = load i32, ptr %40, align 4, !tbaa !9
  %315 = call i32 @llvm.ctlz.i32(i32 %314, i1 true)
  br label %317

316:                                              ; preds = %306
  br label %317

317:                                              ; preds = %316, %313
  %318 = phi i32 [ %315, %313 ], [ 32, %316 ]
  store i32 %318, ptr %40, align 4, !tbaa !9
  %319 = load i32, ptr %40, align 4, !tbaa !9
  %320 = load i32, ptr %39, align 4, !tbaa !9
  %321 = sub i32 %320, %319
  store i32 %321, ptr %39, align 4, !tbaa !9
  %322 = load i32, ptr %39, align 4, !tbaa !9
  %323 = and i32 %322, 31
  %324 = load i32, ptr %38, align 4, !tbaa !9
  %325 = shl i32 %324, %323
  store i32 %325, ptr %38, align 4, !tbaa !9
  %326 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %326, ptr %6, align 4, !tbaa !9
  %327 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %327, ptr %39, align 4, !tbaa !9
  store i32 64, ptr %40, align 4, !tbaa !9
  %328 = load i32, ptr %39, align 4, !tbaa !9
  %329 = load i32, ptr %40, align 4, !tbaa !9
  %330 = icmp sle i32 %328, %329
  %331 = zext i1 %330 to i32
  store i32 %331, ptr %39, align 4, !tbaa !9
  %332 = load i32, ptr %39, align 4, !tbaa !9
  %333 = icmp ne i32 %332, 0
  br i1 %333, label %334, label %336

334:                                              ; preds = %317
  %335 = load i32, ptr %37, align 4, !tbaa !9
  br label %338

336:                                              ; preds = %317
  %337 = load i32, ptr %38, align 4, !tbaa !9
  br label %338

338:                                              ; preds = %336, %334
  %339 = phi i32 [ %335, %334 ], [ %337, %336 ]
  store i32 %339, ptr %37, align 4, !tbaa !9
  br label %341

340:                                              ; preds = %302
  store i32 0, ptr %37, align 4, !tbaa !9
  br label %341

341:                                              ; preds = %340, %338
  %342 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %342, ptr %7, align 4, !tbaa !9
  %343 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %343, ptr %38, align 4, !tbaa !9
  %344 = load ptr, ptr %4, align 8, !tbaa !5
  %345 = getelementptr inbounds %struct.w2c_hermes, ptr %344, i32 0, i32 6
  %346 = load i32, ptr %38, align 4, !tbaa !9
  %347 = zext i32 %346 to i64
  %348 = add i64 %347, 12
  %349 = call i32 @i32_load(ptr noundef %345, i64 noundef %348)
  store i32 %349, ptr %38, align 4, !tbaa !9
  %350 = load i32, ptr %37, align 4, !tbaa !9
  %351 = load i32, ptr %38, align 4, !tbaa !9
  %352 = icmp eq i32 %350, %351
  %353 = zext i1 %352 to i32
  store i32 %353, ptr %37, align 4, !tbaa !9
  %354 = load i32, ptr %37, align 4, !tbaa !9
  %355 = icmp ne i32 %354, 0
  br i1 %355, label %356, label %512

356:                                              ; preds = %341
  %357 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %357, ptr %37, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %358 = load ptr, ptr %4, align 8, !tbaa !5
  %359 = getelementptr inbounds %struct.w2c_hermes, ptr %358, i32 0, i32 6
  %360 = load i32, ptr %37, align 4, !tbaa !9
  %361 = zext i32 %360 to i64
  %362 = add i64 %361, 4
  %363 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %359, i64 noundef %362, i64 noundef %363)
  %364 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %364, ptr %37, align 4, !tbaa !9
  %365 = load i32, ptr %37, align 4, !tbaa !9
  %366 = icmp ne i32 %365, 0
  %367 = xor i1 %366, true
  %368 = zext i1 %367 to i32
  store i32 %368, ptr %37, align 4, !tbaa !9
  %369 = load i32, ptr %37, align 4, !tbaa !9
  %370 = icmp ne i32 %369, 0
  br i1 %370, label %371, label %372

371:                                              ; preds = %356
  br label %795

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

388:                                              ; preds = %372
  store i32 0, ptr %37, align 4, !tbaa !9
  %389 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %389, ptr %10, align 4, !tbaa !9
  br label %390

390:                                              ; preds = %414, %388
  %391 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %391, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %392 = load ptr, ptr %4, align 8, !tbaa !5
  %393 = getelementptr inbounds %struct.w2c_hermes, ptr %392, i32 0, i32 6
  %394 = load i32, ptr %37, align 4, !tbaa !9
  %395 = zext i32 %394 to i64
  %396 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %393, i64 noundef %395, i32 noundef %396)
  %397 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %397, ptr %37, align 4, !tbaa !9
  store i32 8, ptr %38, align 4, !tbaa !9
  %398 = load i32, ptr %38, align 4, !tbaa !9
  %399 = load i32, ptr %37, align 4, !tbaa !9
  %400 = add i32 %399, %398
  store i32 %400, ptr %37, align 4, !tbaa !9
  %401 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %401, ptr %6, align 4, !tbaa !9
  %402 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %402, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %403 = load i32, ptr %38, align 4, !tbaa !9
  %404 = load i32, ptr %37, align 4, !tbaa !9
  %405 = add i32 %404, %403
  store i32 %405, ptr %37, align 4, !tbaa !9
  %406 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %406, ptr %10, align 4, !tbaa !9
  %407 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %407, ptr %38, align 4, !tbaa !9
  %408 = load i32, ptr %37, align 4, !tbaa !9
  %409 = load i32, ptr %38, align 4, !tbaa !9
  %410 = icmp ne i32 %408, %409
  %411 = zext i1 %410 to i32
  store i32 %411, ptr %37, align 4, !tbaa !9
  %412 = load i32, ptr %37, align 4, !tbaa !9
  %413 = icmp ne i32 %412, 0
  br i1 %413, label %414, label %415

414:                                              ; preds = %390
  br label %390

415:                                              ; preds = %390
  br label %416

416:                                              ; preds = %415, %372
  %417 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %417, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %418 = load i32, ptr %38, align 4, !tbaa !9
  %419 = load i32, ptr %37, align 4, !tbaa !9
  %420 = sub i32 %419, %418
  store i32 %420, ptr %37, align 4, !tbaa !9
  store i32 536870911, ptr %38, align 4, !tbaa !9
  %421 = load i32, ptr %38, align 4, !tbaa !9
  %422 = load i32, ptr %37, align 4, !tbaa !9
  %423 = and i32 %422, %421
  store i32 %423, ptr %37, align 4, !tbaa !9
  store i32 7, ptr %38, align 4, !tbaa !9
  %424 = load i32, ptr %37, align 4, !tbaa !9
  %425 = load i32, ptr %38, align 4, !tbaa !9
  %426 = icmp ult i32 %424, %425
  %427 = zext i1 %426 to i32
  store i32 %427, ptr %37, align 4, !tbaa !9
  %428 = load i32, ptr %37, align 4, !tbaa !9
  %429 = icmp ne i32 %428, 0
  br i1 %429, label %430, label %431

430:                                              ; preds = %416
  br label %795

431:                                              ; preds = %416
  %432 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %432, ptr %37, align 4, !tbaa !9
  %433 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %433, ptr %38, align 4, !tbaa !9
  store i32 3, ptr %39, align 4, !tbaa !9
  %434 = load i32, ptr %39, align 4, !tbaa !9
  %435 = and i32 %434, 31
  %436 = load i32, ptr %38, align 4, !tbaa !9
  %437 = shl i32 %436, %435
  store i32 %437, ptr %38, align 4, !tbaa !9
  %438 = load i32, ptr %38, align 4, !tbaa !9
  %439 = load i32, ptr %37, align 4, !tbaa !9
  %440 = add i32 %439, %438
  store i32 %440, ptr %37, align 4, !tbaa !9
  %441 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %441, ptr %7, align 4, !tbaa !9
  br label %442

442:                                              ; preds = %510, %431
  %443 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %443, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %444 = load ptr, ptr %4, align 8, !tbaa !5
  %445 = getelementptr inbounds %struct.w2c_hermes, ptr %444, i32 0, i32 6
  %446 = load i32, ptr %37, align 4, !tbaa !9
  %447 = zext i32 %446 to i64
  %448 = add i64 %447, 56
  %449 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %445, i64 noundef %448, i32 noundef %449)
  %450 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %450, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %451 = load ptr, ptr %4, align 8, !tbaa !5
  %452 = getelementptr inbounds %struct.w2c_hermes, ptr %451, i32 0, i32 6
  %453 = load i32, ptr %37, align 4, !tbaa !9
  %454 = zext i32 %453 to i64
  %455 = add i64 %454, 48
  %456 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %452, i64 noundef %455, i32 noundef %456)
  %457 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %457, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %458 = load ptr, ptr %4, align 8, !tbaa !5
  %459 = getelementptr inbounds %struct.w2c_hermes, ptr %458, i32 0, i32 6
  %460 = load i32, ptr %37, align 4, !tbaa !9
  %461 = zext i32 %460 to i64
  %462 = add i64 %461, 40
  %463 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %459, i64 noundef %462, i32 noundef %463)
  %464 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %464, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %465 = load ptr, ptr %4, align 8, !tbaa !5
  %466 = getelementptr inbounds %struct.w2c_hermes, ptr %465, i32 0, i32 6
  %467 = load i32, ptr %37, align 4, !tbaa !9
  %468 = zext i32 %467 to i64
  %469 = add i64 %468, 32
  %470 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %466, i64 noundef %469, i32 noundef %470)
  %471 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %471, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %472 = load ptr, ptr %4, align 8, !tbaa !5
  %473 = getelementptr inbounds %struct.w2c_hermes, ptr %472, i32 0, i32 6
  %474 = load i32, ptr %37, align 4, !tbaa !9
  %475 = zext i32 %474 to i64
  %476 = add i64 %475, 24
  %477 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %473, i64 noundef %476, i32 noundef %477)
  %478 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %478, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %479 = load ptr, ptr %4, align 8, !tbaa !5
  %480 = getelementptr inbounds %struct.w2c_hermes, ptr %479, i32 0, i32 6
  %481 = load i32, ptr %37, align 4, !tbaa !9
  %482 = zext i32 %481 to i64
  %483 = add i64 %482, 16
  %484 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %480, i64 noundef %483, i32 noundef %484)
  %485 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %485, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %486 = load ptr, ptr %4, align 8, !tbaa !5
  %487 = getelementptr inbounds %struct.w2c_hermes, ptr %486, i32 0, i32 6
  %488 = load i32, ptr %37, align 4, !tbaa !9
  %489 = zext i32 %488 to i64
  %490 = add i64 %489, 8
  %491 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %487, i64 noundef %490, i32 noundef %491)
  %492 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %492, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %493 = load ptr, ptr %4, align 8, !tbaa !5
  %494 = getelementptr inbounds %struct.w2c_hermes, ptr %493, i32 0, i32 6
  %495 = load i32, ptr %37, align 4, !tbaa !9
  %496 = zext i32 %495 to i64
  %497 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %494, i64 noundef %496, i32 noundef %497)
  %498 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %498, ptr %37, align 4, !tbaa !9
  store i32 -64, ptr %38, align 4, !tbaa !9
  %499 = load i32, ptr %38, align 4, !tbaa !9
  %500 = load i32, ptr %37, align 4, !tbaa !9
  %501 = sub i32 %500, %499
  store i32 %501, ptr %37, align 4, !tbaa !9
  %502 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %502, ptr %6, align 4, !tbaa !9
  %503 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %503, ptr %38, align 4, !tbaa !9
  %504 = load i32, ptr %37, align 4, !tbaa !9
  %505 = load i32, ptr %38, align 4, !tbaa !9
  %506 = icmp ne i32 %504, %505
  %507 = zext i1 %506 to i32
  store i32 %507, ptr %37, align 4, !tbaa !9
  %508 = load i32, ptr %37, align 4, !tbaa !9
  %509 = icmp ne i32 %508, 0
  br i1 %509, label %510, label %511

510:                                              ; preds = %442
  br label %442

511:                                              ; preds = %442
  br label %795

512:                                              ; preds = %341
  %513 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %513, ptr %37, align 4, !tbaa !9
  %514 = load ptr, ptr %4, align 8, !tbaa !5
  %515 = getelementptr inbounds %struct.w2c_hermes, ptr %514, i32 0, i32 6
  %516 = load i32, ptr %37, align 4, !tbaa !9
  %517 = zext i32 %516 to i64
  %518 = call i32 @i32_load(ptr noundef %515, i64 noundef %517)
  store i32 %518, ptr %37, align 4, !tbaa !9
  %519 = load ptr, ptr %4, align 8, !tbaa !5
  %520 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %519, i32 noundef %520)
  %521 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %521, ptr %37, align 4, !tbaa !9
  %522 = load i32, ptr %37, align 4, !tbaa !9
  %523 = icmp ne i32 %522, 0
  br i1 %523, label %524, label %781

524:                                              ; preds = %512
  %525 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %525, ptr %37, align 4, !tbaa !9
  %526 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %526, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %527 = load i32, ptr %39, align 4, !tbaa !9
  %528 = and i32 %527, 31
  %529 = load i32, ptr %38, align 4, !tbaa !9
  %530 = shl i32 %529, %528
  store i32 %530, ptr %38, align 4, !tbaa !9
  store i32 3, ptr %39, align 4, !tbaa !9
  %531 = load i32, ptr %39, align 4, !tbaa !9
  %532 = icmp eq i32 %531, 0
  %533 = xor i1 %532, true
  %534 = xor i1 %533, true
  %535 = zext i1 %534 to i32
  %536 = sext i32 %535 to i64
  %537 = call i64 @llvm.expect.i64(i64 %536, i64 0)
  %538 = icmp ne i64 %537, 0
  br i1 %538, label %539, label %541

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

540:                                              ; No predecessors!
  br label %545

541:                                              ; preds = %524
  %542 = load i32, ptr %38, align 4, !tbaa !9
  %543 = load i32, ptr %39, align 4, !tbaa !9
  %544 = udiv i32 %542, %543
  br label %545

545:                                              ; preds = %541, %540
  %546 = phi i32 [ 0, %540 ], [ %544, %541 ]
  store i32 %546, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %547 = load i32, ptr %39, align 4, !tbaa !9
  %548 = load i32, ptr %38, align 4, !tbaa !9
  %549 = add i32 %548, %547
  store i32 %549, ptr %38, align 4, !tbaa !9
  %550 = load i32, ptr %38, align 4, !tbaa !9
  %551 = zext i32 %550 to i64
  store i64 %551, ptr %44, align 8, !tbaa !11
  %552 = load i64, ptr %44, align 8, !tbaa !11
  store i64 %552, ptr %36, align 8, !tbaa !11
  store i64 1, ptr %45, align 8, !tbaa !11
  %553 = load i64, ptr %45, align 8, !tbaa !11
  %554 = and i64 %553, 63
  %555 = load i64, ptr %44, align 8, !tbaa !11
  %556 = lshr i64 %555, %554
  store i64 %556, ptr %44, align 8, !tbaa !11
  %557 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %557, ptr %45, align 8, !tbaa !11
  %558 = load i64, ptr %45, align 8, !tbaa !11
  %559 = load i64, ptr %44, align 8, !tbaa !11
  %560 = or i64 %559, %558
  store i64 %560, ptr %44, align 8, !tbaa !11
  %561 = load i64, ptr %44, align 8, !tbaa !11
  store i64 %561, ptr %36, align 8, !tbaa !11
  store i64 2, ptr %45, align 8, !tbaa !11
  %562 = load i64, ptr %45, align 8, !tbaa !11
  %563 = and i64 %562, 63
  %564 = load i64, ptr %44, align 8, !tbaa !11
  %565 = lshr i64 %564, %563
  store i64 %565, ptr %44, align 8, !tbaa !11
  %566 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %566, ptr %45, align 8, !tbaa !11
  %567 = load i64, ptr %45, align 8, !tbaa !11
  %568 = load i64, ptr %44, align 8, !tbaa !11
  %569 = or i64 %568, %567
  store i64 %569, ptr %44, align 8, !tbaa !11
  %570 = load i64, ptr %44, align 8, !tbaa !11
  store i64 %570, ptr %36, align 8, !tbaa !11
  store i64 4, ptr %45, align 8, !tbaa !11
  %571 = load i64, ptr %45, align 8, !tbaa !11
  %572 = and i64 %571, 63
  %573 = load i64, ptr %44, align 8, !tbaa !11
  %574 = lshr i64 %573, %572
  store i64 %574, ptr %44, align 8, !tbaa !11
  %575 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %575, ptr %45, align 8, !tbaa !11
  %576 = load i64, ptr %45, align 8, !tbaa !11
  %577 = load i64, ptr %44, align 8, !tbaa !11
  %578 = or i64 %577, %576
  store i64 %578, ptr %44, align 8, !tbaa !11
  %579 = load i64, ptr %44, align 8, !tbaa !11
  store i64 %579, ptr %36, align 8, !tbaa !11
  store i64 8, ptr %45, align 8, !tbaa !11
  %580 = load i64, ptr %45, align 8, !tbaa !11
  %581 = and i64 %580, 63
  %582 = load i64, ptr %44, align 8, !tbaa !11
  %583 = lshr i64 %582, %581
  store i64 %583, ptr %44, align 8, !tbaa !11
  %584 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %584, ptr %45, align 8, !tbaa !11
  %585 = load i64, ptr %45, align 8, !tbaa !11
  %586 = load i64, ptr %44, align 8, !tbaa !11
  %587 = or i64 %586, %585
  store i64 %587, ptr %44, align 8, !tbaa !11
  %588 = load i64, ptr %44, align 8, !tbaa !11
  store i64 %588, ptr %36, align 8, !tbaa !11
  store i64 16, ptr %45, align 8, !tbaa !11
  %589 = load i64, ptr %45, align 8, !tbaa !11
  %590 = and i64 %589, 63
  %591 = load i64, ptr %44, align 8, !tbaa !11
  %592 = lshr i64 %591, %590
  store i64 %592, ptr %44, align 8, !tbaa !11
  %593 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %593, ptr %45, align 8, !tbaa !11
  %594 = load i64, ptr %45, align 8, !tbaa !11
  %595 = load i64, ptr %44, align 8, !tbaa !11
  %596 = or i64 %595, %594
  store i64 %596, ptr %44, align 8, !tbaa !11
  %597 = load i64, ptr %44, align 8, !tbaa !11
  %598 = trunc i64 %597 to i32
  store i32 %598, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %599 = load i32, ptr %39, align 4, !tbaa !9
  %600 = load i32, ptr %38, align 4, !tbaa !9
  %601 = add i32 %600, %599
  store i32 %601, ptr %38, align 4, !tbaa !9
  %602 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %602, ptr %6, align 4, !tbaa !9
  %603 = load ptr, ptr %4, align 8, !tbaa !5
  %604 = getelementptr inbounds %struct.w2c_hermes, ptr %603, i32 0, i32 6
  %605 = load i32, ptr %37, align 4, !tbaa !9
  %606 = zext i32 %605 to i64
  %607 = add i64 %606, 12
  %608 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %604, i64 noundef %607, i32 noundef %608)
  %609 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %609, ptr %37, align 4, !tbaa !9
  store i32 3, ptr %38, align 4, !tbaa !9
  %610 = load i32, ptr %38, align 4, !tbaa !9
  %611 = and i32 %610, 31
  %612 = load i32, ptr %37, align 4, !tbaa !9
  %613 = shl i32 %612, %611
  store i32 %613, ptr %37, align 4, !tbaa !9
  %614 = load ptr, ptr %4, align 8, !tbaa !5
  %615 = load i32, ptr %37, align 4, !tbaa !9
  %616 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %614, i32 noundef %615)
  store i32 %616, ptr %37, align 4, !tbaa !9
  %617 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %617, ptr %7, align 4, !tbaa !9
  %618 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %618, ptr %37, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %619 = load ptr, ptr %4, align 8, !tbaa !5
  %620 = getelementptr inbounds %struct.w2c_hermes, ptr %619, i32 0, i32 6
  %621 = load i32, ptr %37, align 4, !tbaa !9
  %622 = zext i32 %621 to i64
  %623 = add i64 %622, 4
  %624 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %620, i64 noundef %623, i64 noundef %624)
  %625 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %625, ptr %37, align 4, !tbaa !9
  %626 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %626, ptr %38, align 4, !tbaa !9
  %627 = load ptr, ptr %4, align 8, !tbaa !5
  %628 = getelementptr inbounds %struct.w2c_hermes, ptr %627, i32 0, i32 6
  %629 = load i32, ptr %37, align 4, !tbaa !9
  %630 = zext i32 %629 to i64
  %631 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %628, i64 noundef %630, i32 noundef %631)
  %632 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %632, ptr %37, align 4, !tbaa !9
  %633 = load ptr, ptr %4, align 8, !tbaa !5
  %634 = getelementptr inbounds %struct.w2c_hermes, ptr %633, i32 0, i32 6
  %635 = load i32, ptr %37, align 4, !tbaa !9
  %636 = zext i32 %635 to i64
  %637 = add i64 %636, 12
  %638 = call i32 @i32_load(ptr noundef %634, i64 noundef %637)
  store i32 %638, ptr %37, align 4, !tbaa !9
  %639 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %639, ptr %8, align 4, !tbaa !9
  %640 = load i32, ptr %37, align 4, !tbaa !9
  %641 = icmp ne i32 %640, 0
  %642 = xor i1 %641, true
  %643 = zext i1 %642 to i32
  store i32 %643, ptr %37, align 4, !tbaa !9
  %644 = load i32, ptr %37, align 4, !tbaa !9
  %645 = icmp ne i32 %644, 0
  br i1 %645, label %646, label %647

646:                                              ; preds = %545
  br label %795

647:                                              ; preds = %545
  %648 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %648, ptr %37, align 4, !tbaa !9
  %649 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %649, ptr %6, align 4, !tbaa !9
  %650 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %650, ptr %37, align 4, !tbaa !9
  store i32 7, ptr %38, align 4, !tbaa !9
  %651 = load i32, ptr %38, align 4, !tbaa !9
  %652 = load i32, ptr %37, align 4, !tbaa !9
  %653 = and i32 %652, %651
  store i32 %653, ptr %37, align 4, !tbaa !9
  %654 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %654, ptr %9, align 4, !tbaa !9
  %655 = load i32, ptr %37, align 4, !tbaa !9
  %656 = icmp ne i32 %655, 0
  br i1 %656, label %657, label %685

657:                                              ; preds = %647
  store i32 0, ptr %37, align 4, !tbaa !9
  %658 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %658, ptr %10, align 4, !tbaa !9
  br label %659

659:                                              ; preds = %683, %657
  %660 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %660, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %661 = load ptr, ptr %4, align 8, !tbaa !5
  %662 = getelementptr inbounds %struct.w2c_hermes, ptr %661, i32 0, i32 6
  %663 = load i32, ptr %37, align 4, !tbaa !9
  %664 = zext i32 %663 to i64
  %665 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %662, i64 noundef %664, i32 noundef %665)
  %666 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %666, ptr %37, align 4, !tbaa !9
  store i32 8, ptr %38, align 4, !tbaa !9
  %667 = load i32, ptr %38, align 4, !tbaa !9
  %668 = load i32, ptr %37, align 4, !tbaa !9
  %669 = add i32 %668, %667
  store i32 %669, ptr %37, align 4, !tbaa !9
  %670 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %670, ptr %6, align 4, !tbaa !9
  %671 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %671, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %672 = load i32, ptr %38, align 4, !tbaa !9
  %673 = load i32, ptr %37, align 4, !tbaa !9
  %674 = add i32 %673, %672
  store i32 %674, ptr %37, align 4, !tbaa !9
  %675 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %675, ptr %10, align 4, !tbaa !9
  %676 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %676, ptr %38, align 4, !tbaa !9
  %677 = load i32, ptr %37, align 4, !tbaa !9
  %678 = load i32, ptr %38, align 4, !tbaa !9
  %679 = icmp ne i32 %677, %678
  %680 = zext i1 %679 to i32
  store i32 %680, ptr %37, align 4, !tbaa !9
  %681 = load i32, ptr %37, align 4, !tbaa !9
  %682 = icmp ne i32 %681, 0
  br i1 %682, label %683, label %684

683:                                              ; preds = %659
  br label %659

684:                                              ; preds = %659
  br label %685

685:                                              ; preds = %684, %647
  %686 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %686, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %687 = load i32, ptr %38, align 4, !tbaa !9
  %688 = load i32, ptr %37, align 4, !tbaa !9
  %689 = sub i32 %688, %687
  store i32 %689, ptr %37, align 4, !tbaa !9
  store i32 536870911, ptr %38, align 4, !tbaa !9
  %690 = load i32, ptr %38, align 4, !tbaa !9
  %691 = load i32, ptr %37, align 4, !tbaa !9
  %692 = and i32 %691, %690
  store i32 %692, ptr %37, align 4, !tbaa !9
  store i32 7, ptr %38, align 4, !tbaa !9
  %693 = load i32, ptr %37, align 4, !tbaa !9
  %694 = load i32, ptr %38, align 4, !tbaa !9
  %695 = icmp ult i32 %693, %694
  %696 = zext i1 %695 to i32
  store i32 %696, ptr %37, align 4, !tbaa !9
  %697 = load i32, ptr %37, align 4, !tbaa !9
  %698 = icmp ne i32 %697, 0
  br i1 %698, label %699, label %700

699:                                              ; preds = %685
  br label %795

700:                                              ; preds = %685
  %701 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %701, ptr %37, align 4, !tbaa !9
  %702 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %702, ptr %38, align 4, !tbaa !9
  store i32 3, ptr %39, align 4, !tbaa !9
  %703 = load i32, ptr %39, align 4, !tbaa !9
  %704 = and i32 %703, 31
  %705 = load i32, ptr %38, align 4, !tbaa !9
  %706 = shl i32 %705, %704
  store i32 %706, ptr %38, align 4, !tbaa !9
  %707 = load i32, ptr %38, align 4, !tbaa !9
  %708 = load i32, ptr %37, align 4, !tbaa !9
  %709 = add i32 %708, %707
  store i32 %709, ptr %37, align 4, !tbaa !9
  %710 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %710, ptr %7, align 4, !tbaa !9
  br label %711

711:                                              ; preds = %779, %700
  %712 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %712, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %713 = load ptr, ptr %4, align 8, !tbaa !5
  %714 = getelementptr inbounds %struct.w2c_hermes, ptr %713, i32 0, i32 6
  %715 = load i32, ptr %37, align 4, !tbaa !9
  %716 = zext i32 %715 to i64
  %717 = add i64 %716, 56
  %718 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %714, i64 noundef %717, i32 noundef %718)
  %719 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %719, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %720 = load ptr, ptr %4, align 8, !tbaa !5
  %721 = getelementptr inbounds %struct.w2c_hermes, ptr %720, i32 0, i32 6
  %722 = load i32, ptr %37, align 4, !tbaa !9
  %723 = zext i32 %722 to i64
  %724 = add i64 %723, 48
  %725 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %721, i64 noundef %724, i32 noundef %725)
  %726 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %726, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %727 = load ptr, ptr %4, align 8, !tbaa !5
  %728 = getelementptr inbounds %struct.w2c_hermes, ptr %727, i32 0, i32 6
  %729 = load i32, ptr %37, align 4, !tbaa !9
  %730 = zext i32 %729 to i64
  %731 = add i64 %730, 40
  %732 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %728, i64 noundef %731, i32 noundef %732)
  %733 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %733, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %734 = load ptr, ptr %4, align 8, !tbaa !5
  %735 = getelementptr inbounds %struct.w2c_hermes, ptr %734, i32 0, i32 6
  %736 = load i32, ptr %37, align 4, !tbaa !9
  %737 = zext i32 %736 to i64
  %738 = add i64 %737, 32
  %739 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %735, i64 noundef %738, i32 noundef %739)
  %740 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %740, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %741 = load ptr, ptr %4, align 8, !tbaa !5
  %742 = getelementptr inbounds %struct.w2c_hermes, ptr %741, i32 0, i32 6
  %743 = load i32, ptr %37, align 4, !tbaa !9
  %744 = zext i32 %743 to i64
  %745 = add i64 %744, 24
  %746 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %742, i64 noundef %745, i32 noundef %746)
  %747 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %747, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %748 = load ptr, ptr %4, align 8, !tbaa !5
  %749 = getelementptr inbounds %struct.w2c_hermes, ptr %748, i32 0, i32 6
  %750 = load i32, ptr %37, align 4, !tbaa !9
  %751 = zext i32 %750 to i64
  %752 = add i64 %751, 16
  %753 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %749, i64 noundef %752, i32 noundef %753)
  %754 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %754, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %755 = load ptr, ptr %4, align 8, !tbaa !5
  %756 = getelementptr inbounds %struct.w2c_hermes, ptr %755, i32 0, i32 6
  %757 = load i32, ptr %37, align 4, !tbaa !9
  %758 = zext i32 %757 to i64
  %759 = add i64 %758, 8
  %760 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %756, i64 noundef %759, i32 noundef %760)
  %761 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %761, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %762 = load ptr, ptr %4, align 8, !tbaa !5
  %763 = getelementptr inbounds %struct.w2c_hermes, ptr %762, i32 0, i32 6
  %764 = load i32, ptr %37, align 4, !tbaa !9
  %765 = zext i32 %764 to i64
  %766 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %763, i64 noundef %765, i32 noundef %766)
  %767 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %767, ptr %37, align 4, !tbaa !9
  store i32 -64, ptr %38, align 4, !tbaa !9
  %768 = load i32, ptr %38, align 4, !tbaa !9
  %769 = load i32, ptr %37, align 4, !tbaa !9
  %770 = sub i32 %769, %768
  store i32 %770, ptr %37, align 4, !tbaa !9
  %771 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %771, ptr %6, align 4, !tbaa !9
  %772 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %772, ptr %38, align 4, !tbaa !9
  %773 = load i32, ptr %37, align 4, !tbaa !9
  %774 = load i32, ptr %38, align 4, !tbaa !9
  %775 = icmp ne i32 %773, %774
  %776 = zext i1 %775 to i32
  store i32 %776, ptr %37, align 4, !tbaa !9
  %777 = load i32, ptr %37, align 4, !tbaa !9
  %778 = icmp ne i32 %777, 0
  br i1 %778, label %779, label %780

779:                                              ; preds = %711
  br label %711

780:                                              ; preds = %711
  br label %795

781:                                              ; preds = %512
  %782 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %782, ptr %37, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %783 = load ptr, ptr %4, align 8, !tbaa !5
  %784 = getelementptr inbounds %struct.w2c_hermes, ptr %783, i32 0, i32 6
  %785 = load i32, ptr %37, align 4, !tbaa !9
  %786 = zext i32 %785 to i64
  %787 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %784, i64 noundef %786, i64 noundef %787)
  %788 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %788, ptr %37, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %789 = load ptr, ptr %4, align 8, !tbaa !5
  %790 = getelementptr inbounds %struct.w2c_hermes, ptr %789, i32 0, i32 6
  %791 = load i32, ptr %37, align 4, !tbaa !9
  %792 = zext i32 %791 to i64
  %793 = add i64 %792, 8
  %794 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %790, i64 noundef %793, i64 noundef %794)
  br label %795

795:                                              ; preds = %781, %780, %699, %646, %511, %430, %371
  br label %915

796:                                              ; preds = %182, %173
  %797 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %797, ptr %37, align 4, !tbaa !9
  %798 = load i32, ptr %37, align 4, !tbaa !9
  %799 = icmp ne i32 %798, 0
  br i1 %799, label %800, label %907

800:                                              ; preds = %796
  %801 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %801, ptr %37, align 4, !tbaa !9
  %802 = load ptr, ptr %4, align 8, !tbaa !5
  %803 = getelementptr inbounds %struct.w2c_hermes, ptr %802, i32 0, i32 6
  %804 = load i32, ptr %37, align 4, !tbaa !9
  %805 = zext i32 %804 to i64
  %806 = call i32 @i32_load(ptr noundef %803, i64 noundef %805)
  store i32 %806, ptr %37, align 4, !tbaa !9
  %807 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %807, ptr %10, align 4, !tbaa !9
  %808 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %808, ptr %38, align 4, !tbaa !9
  store i32 3, ptr %39, align 4, !tbaa !9
  %809 = load i32, ptr %39, align 4, !tbaa !9
  %810 = and i32 %809, 31
  %811 = load i32, ptr %38, align 4, !tbaa !9
  %812 = shl i32 %811, %810
  store i32 %812, ptr %38, align 4, !tbaa !9
  %813 = load i32, ptr %38, align 4, !tbaa !9
  %814 = load i32, ptr %37, align 4, !tbaa !9
  %815 = add i32 %814, %813
  store i32 %815, ptr %37, align 4, !tbaa !9
  %816 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %816, ptr %9, align 4, !tbaa !9
  br label %817

817:                                              ; preds = %905, %800
  %818 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %818, ptr %37, align 4, !tbaa !9
  %819 = load ptr, ptr %4, align 8, !tbaa !5
  %820 = getelementptr inbounds %struct.w2c_hermes, ptr %819, i32 0, i32 6
  %821 = load i32, ptr %37, align 4, !tbaa !9
  %822 = zext i32 %821 to i64
  %823 = call i32 @i32_load(ptr noundef %820, i64 noundef %822)
  store i32 %823, ptr %37, align 4, !tbaa !9
  store i32 8, ptr %38, align 4, !tbaa !9
  %824 = load i32, ptr %38, align 4, !tbaa !9
  %825 = load i32, ptr %37, align 4, !tbaa !9
  %826 = add i32 %825, %824
  store i32 %826, ptr %37, align 4, !tbaa !9
  %827 = load i32, ptr %37, align 4, !tbaa !9
  switch i32 %827, label %833 [
    i32 0, label %828
    i32 1, label %829
    i32 2, label %830
    i32 3, label %831
    i32 4, label %832
  ]

828:                                              ; preds = %817
  br label %885

829:                                              ; preds = %817
  br label %834

830:                                              ; preds = %817
  br label %834

831:                                              ; preds = %817
  br label %834

832:                                              ; preds = %817
  br label %892

833:                                              ; preds = %817
  br label %834

834:                                              ; preds = %833, %831, %830, %829
  %835 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %835, ptr %37, align 4, !tbaa !9
  %836 = load ptr, ptr %4, align 8, !tbaa !5
  %837 = getelementptr inbounds %struct.w2c_hermes, ptr %836, i32 0, i32 6
  %838 = load i32, ptr %37, align 4, !tbaa !9
  %839 = zext i32 %838 to i64
  %840 = add i64 %839, 4
  %841 = call i32 @i32_load(ptr noundef %837, i64 noundef %840)
  store i32 %841, ptr %37, align 4, !tbaa !9
  %842 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %842, ptr %6, align 4, !tbaa !9
  %843 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %843, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %844 = load ptr, ptr %4, align 8, !tbaa !5
  %845 = getelementptr inbounds %struct.w2c_hermes, ptr %844, i32 0, i32 6
  %846 = load i32, ptr %37, align 4, !tbaa !9
  %847 = zext i32 %846 to i64
  %848 = add i64 %847, 4
  %849 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %845, i64 noundef %848, i32 noundef %849)
  %850 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %850, ptr %37, align 4, !tbaa !9
  %851 = load i32, ptr %37, align 4, !tbaa !9
  %852 = icmp ne i32 %851, 0
  %853 = xor i1 %852, true
  %854 = zext i1 %853 to i32
  store i32 %854, ptr %37, align 4, !tbaa !9
  %855 = load i32, ptr %37, align 4, !tbaa !9
  %856 = icmp ne i32 %855, 0
  br i1 %856, label %857, label %858

857:                                              ; preds = %834
  br label %885

858:                                              ; preds = %834
  %859 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %859, ptr %37, align 4, !tbaa !9
  %860 = load ptr, ptr %4, align 8, !tbaa !5
  %861 = getelementptr inbounds %struct.w2c_hermes, ptr %860, i32 0, i32 6
  %862 = load i32, ptr %37, align 4, !tbaa !9
  %863 = zext i32 %862 to i64
  %864 = add i64 %863, 12
  %865 = call i32 @i32_load(ptr noundef %861, i64 noundef %864)
  store i32 %865, ptr %37, align 4, !tbaa !9
  %866 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %866, ptr %7, align 4, !tbaa !9
  %867 = load i32, ptr %37, align 4, !tbaa !9
  %868 = icmp ne i32 %867, 0
  br i1 %868, label %869, label %881

869:                                              ; preds = %858
  %870 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %870, ptr %37, align 4, !tbaa !9
  %871 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %871, ptr %38, align 4, !tbaa !9
  %872 = load ptr, ptr %4, align 8, !tbaa !5
  %873 = getelementptr inbounds %struct.w2c_hermes, ptr %872, i32 0, i32 6
  %874 = load i32, ptr %37, align 4, !tbaa !9
  %875 = zext i32 %874 to i64
  %876 = add i64 %875, 16
  %877 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %873, i64 noundef %876, i32 noundef %877)
  %878 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %878, ptr %37, align 4, !tbaa !9
  %879 = load ptr, ptr %4, align 8, !tbaa !5
  %880 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %879, i32 noundef %880)
  br label %881

881:                                              ; preds = %869, %858
  %882 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %882, ptr %37, align 4, !tbaa !9
  %883 = load ptr, ptr %4, align 8, !tbaa !5
  %884 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %883, i32 noundef %884)
  br label %885

885:                                              ; preds = %881, %857, %828
  %886 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %886, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %887 = load ptr, ptr %4, align 8, !tbaa !5
  %888 = getelementptr inbounds %struct.w2c_hermes, ptr %887, i32 0, i32 6
  %889 = load i32, ptr %37, align 4, !tbaa !9
  %890 = zext i32 %889 to i64
  %891 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %888, i64 noundef %890, i32 noundef %891)
  br label %892

892:                                              ; preds = %885, %832
  %893 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %893, ptr %37, align 4, !tbaa !9
  store i32 8, ptr %38, align 4, !tbaa !9
  %894 = load i32, ptr %38, align 4, !tbaa !9
  %895 = load i32, ptr %37, align 4, !tbaa !9
  %896 = add i32 %895, %894
  store i32 %896, ptr %37, align 4, !tbaa !9
  %897 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %897, ptr %10, align 4, !tbaa !9
  %898 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %898, ptr %38, align 4, !tbaa !9
  %899 = load i32, ptr %37, align 4, !tbaa !9
  %900 = load i32, ptr %38, align 4, !tbaa !9
  %901 = icmp ne i32 %899, %900
  %902 = zext i1 %901 to i32
  store i32 %902, ptr %37, align 4, !tbaa !9
  %903 = load i32, ptr %37, align 4, !tbaa !9
  %904 = icmp ne i32 %903, 0
  br i1 %904, label %905, label %906

905:                                              ; preds = %892
  br label %817

906:                                              ; preds = %892
  br label %907

907:                                              ; preds = %906, %796
  %908 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %908, ptr %37, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %909 = load ptr, ptr %4, align 8, !tbaa !5
  %910 = getelementptr inbounds %struct.w2c_hermes, ptr %909, i32 0, i32 6
  %911 = load i32, ptr %37, align 4, !tbaa !9
  %912 = zext i32 %911 to i64
  %913 = add i64 %912, 4
  %914 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %910, i64 noundef %913, i64 noundef %914)
  br label %915

915:                                              ; preds = %907, %795, %151
  %916 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %916, ptr %37, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %917 = load ptr, ptr %4, align 8, !tbaa !5
  %918 = getelementptr inbounds %struct.w2c_hermes, ptr %917, i32 0, i32 6
  %919 = load i32, ptr %37, align 4, !tbaa !9
  %920 = zext i32 %919 to i64
  %921 = add i64 %920, 32
  %922 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %918, i64 noundef %921, i64 noundef %922)
  %923 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %923, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %924 = load ptr, ptr %4, align 8, !tbaa !5
  %925 = getelementptr inbounds %struct.w2c_hermes, ptr %924, i32 0, i32 6
  %926 = load i32, ptr %37, align 4, !tbaa !9
  %927 = zext i32 %926 to i64
  %928 = add i64 %927, 44
  %929 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %925, i64 noundef %928, i32 noundef %929)
  %930 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %930, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %931 = load ptr, ptr %4, align 8, !tbaa !5
  %932 = getelementptr inbounds %struct.w2c_hermes, ptr %931, i32 0, i32 6
  %933 = load i32, ptr %37, align 4, !tbaa !9
  %934 = zext i32 %933 to i64
  %935 = add i64 %934, 4
  %936 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %932, i64 noundef %935, i32 noundef %936)
  %937 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %937, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %938 = load ptr, ptr %4, align 8, !tbaa !5
  %939 = getelementptr inbounds %struct.w2c_hermes, ptr %938, i32 0, i32 6
  %940 = load i32, ptr %37, align 4, !tbaa !9
  %941 = zext i32 %940 to i64
  %942 = add i64 %941, 40
  %943 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %939, i64 noundef %942, i32 noundef %943)
  %944 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %944, ptr %37, align 4, !tbaa !9
  %945 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %945, ptr %38, align 4, !tbaa !9
  %946 = load ptr, ptr %4, align 8, !tbaa !5
  %947 = getelementptr inbounds %struct.w2c_hermes, ptr %946, i32 0, i32 6
  %948 = load i32, ptr %37, align 4, !tbaa !9
  %949 = zext i32 %948 to i64
  %950 = add i64 %949, 36
  %951 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %947, i64 noundef %950, i32 noundef %951)
  %952 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %952, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %953 = load ptr, ptr %4, align 8, !tbaa !5
  %954 = load i32, ptr %38, align 4, !tbaa !9
  %955 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %953, i32 noundef %954)
  store i32 %955, ptr %38, align 4, !tbaa !9
  %956 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %956, ptr %6, align 4, !tbaa !9
  %957 = load ptr, ptr %4, align 8, !tbaa !5
  %958 = getelementptr inbounds %struct.w2c_hermes, ptr %957, i32 0, i32 6
  %959 = load i32, ptr %37, align 4, !tbaa !9
  %960 = zext i32 %959 to i64
  %961 = add i64 %960, 16
  %962 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %958, i64 noundef %961, i32 noundef %962)
  %963 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %963, ptr %37, align 4, !tbaa !9
  %964 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %964, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %965 = load i32, ptr %39, align 4, !tbaa !9
  %966 = load i32, ptr %38, align 4, !tbaa !9
  %967 = add i32 %966, %965
  store i32 %967, ptr %38, align 4, !tbaa !9
  %968 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %968, ptr %7, align 4, !tbaa !9
  %969 = load ptr, ptr %4, align 8, !tbaa !5
  %970 = getelementptr inbounds %struct.w2c_hermes, ptr %969, i32 0, i32 6
  %971 = load i32, ptr %37, align 4, !tbaa !9
  %972 = zext i32 %971 to i64
  %973 = add i64 %972, 24
  %974 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %970, i64 noundef %973, i32 noundef %974)
  %975 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %975, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %976 = load ptr, ptr %4, align 8, !tbaa !5
  %977 = getelementptr inbounds %struct.w2c_hermes, ptr %976, i32 0, i32 6
  %978 = load i32, ptr %37, align 4, !tbaa !9
  %979 = zext i32 %978 to i64
  %980 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %977, i64 noundef %979, i32 noundef %980)
  %981 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %981, ptr %37, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %982 = load ptr, ptr %4, align 8, !tbaa !5
  %983 = getelementptr inbounds %struct.w2c_hermes, ptr %982, i32 0, i32 6
  %984 = load i32, ptr %37, align 4, !tbaa !9
  %985 = zext i32 %984 to i64
  %986 = add i64 %985, 36
  %987 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %983, i64 noundef %986, i64 noundef %987)
  %988 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %988, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %989 = load ptr, ptr %4, align 8, !tbaa !5
  %990 = getelementptr inbounds %struct.w2c_hermes, ptr %989, i32 0, i32 6
  %991 = load i32, ptr %37, align 4, !tbaa !9
  %992 = zext i32 %991 to i64
  %993 = add i64 %992, 44
  %994 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %990, i64 noundef %993, i32 noundef %994)
  %995 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %995, ptr %37, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %996 = load ptr, ptr %4, align 8, !tbaa !5
  %997 = getelementptr inbounds %struct.w2c_hermes, ptr %996, i32 0, i32 6
  %998 = load i32, ptr %37, align 4, !tbaa !9
  %999 = zext i32 %998 to i64
  %1000 = add i64 %999, 28
  %1001 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %997, i64 noundef %1000, i64 noundef %1001)
  %1002 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %1002, ptr %37, align 4, !tbaa !9
  %1003 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1003, ptr %38, align 4, !tbaa !9
  %1004 = load ptr, ptr %4, align 8, !tbaa !5
  %1005 = getelementptr inbounds %struct.w2c_hermes, ptr %1004, i32 0, i32 6
  %1006 = load i32, ptr %37, align 4, !tbaa !9
  %1007 = zext i32 %1006 to i64
  %1008 = add i64 %1007, 20
  %1009 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1005, i64 noundef %1008, i32 noundef %1009)
  store i32 1, ptr %37, align 4, !tbaa !9
  %1010 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1010, ptr %6, align 4, !tbaa !9
  %1011 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %1011, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %1012 = load ptr, ptr %4, align 8, !tbaa !5
  %1013 = getelementptr inbounds %struct.w2c_hermes, ptr %1012, i32 0, i32 6
  %1014 = load i32, ptr %37, align 4, !tbaa !9
  %1015 = zext i32 %1014 to i64
  %1016 = add i64 %1015, 8
  %1017 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1013, i64 noundef %1016, i32 noundef %1017)
  %1018 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %1018, ptr %37, align 4, !tbaa !9
  %1019 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %1019, ptr %38, align 4, !tbaa !9
  store i32 12, ptr %39, align 4, !tbaa !9
  %1020 = load i32, ptr %39, align 4, !tbaa !9
  %1021 = load i32, ptr %38, align 4, !tbaa !9
  %1022 = add i32 %1021, %1020
  store i32 %1022, ptr %38, align 4, !tbaa !9
  %1023 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %1023, ptr %7, align 4, !tbaa !9
  %1024 = load ptr, ptr %4, align 8, !tbaa !5
  %1025 = getelementptr inbounds %struct.w2c_hermes, ptr %1024, i32 0, i32 6
  %1026 = load i32, ptr %37, align 4, !tbaa !9
  %1027 = zext i32 %1026 to i64
  %1028 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1025, i64 noundef %1027, i32 noundef %1028)
  %1029 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1029, ptr %37, align 4, !tbaa !9
  %1030 = load ptr, ptr %4, align 8, !tbaa !5
  %1031 = getelementptr inbounds %struct.w2c_hermes, ptr %1030, i32 0, i32 6
  %1032 = load i32, ptr %37, align 4, !tbaa !9
  %1033 = zext i32 %1032 to i64
  %1034 = add i64 %1033, 52
  %1035 = call i32 @i32_load(ptr noundef %1031, i64 noundef %1034)
  store i32 %1035, ptr %37, align 4, !tbaa !9
  %1036 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1036, ptr %8, align 4, !tbaa !9
  %1037 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %1037, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %1038 = load ptr, ptr %4, align 8, !tbaa !5
  %1039 = getelementptr inbounds %struct.w2c_hermes, ptr %1038, i32 0, i32 6
  %1040 = load i32, ptr %37, align 4, !tbaa !9
  %1041 = zext i32 %1040 to i64
  %1042 = add i64 %1041, 4
  %1043 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1039, i64 noundef %1042, i32 noundef %1043)
  %1044 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %1044, ptr %37, align 4, !tbaa !9
  %1045 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1045, ptr %38, align 4, !tbaa !9
  %1046 = load ptr, ptr %4, align 8, !tbaa !5
  %1047 = getelementptr inbounds %struct.w2c_hermes, ptr %1046, i32 0, i32 6
  %1048 = load i32, ptr %37, align 4, !tbaa !9
  %1049 = zext i32 %1048 to i64
  %1050 = add i64 %1049, 12
  %1051 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1047, i64 noundef %1050, i32 noundef %1051)
  %1052 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %1052, ptr %37, align 4, !tbaa !9
  %1053 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %1053, ptr %38, align 4, !tbaa !9
  %1054 = load i32, ptr %37, align 4, !tbaa !9
  %1055 = load i32, ptr %38, align 4, !tbaa !9
  %1056 = icmp eq i32 %1054, %1055
  %1057 = zext i1 %1056 to i32
  store i32 %1057, ptr %37, align 4, !tbaa !9
  %1058 = load i32, ptr %37, align 4, !tbaa !9
  %1059 = icmp ne i32 %1058, 0
  br i1 %1059, label %1060, label %1061

1060:                                             ; preds = %915
  br label %1166

1061:                                             ; preds = %915
  %1062 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %1062, ptr %37, align 4, !tbaa !9
  %1063 = load ptr, ptr %4, align 8, !tbaa !5
  %1064 = getelementptr inbounds %struct.w2c_hermes, ptr %1063, i32 0, i32 6
  %1065 = load i32, ptr %37, align 4, !tbaa !9
  %1066 = zext i32 %1065 to i64
  %1067 = add i64 %1066, 8
  %1068 = call i32 @i32_load(ptr noundef %1064, i64 noundef %1067)
  store i32 %1068, ptr %37, align 4, !tbaa !9
  %1069 = load i32, ptr %37, align 4, !tbaa !9
  %1070 = icmp ne i32 %1069, 0
  %1071 = xor i1 %1070, true
  %1072 = zext i1 %1071 to i32
  store i32 %1072, ptr %37, align 4, !tbaa !9
  %1073 = load i32, ptr %37, align 4, !tbaa !9
  %1074 = icmp ne i32 %1073, 0
  br i1 %1074, label %1075, label %1109

1075:                                             ; preds = %1061
  %1076 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %1076, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %1077 = load ptr, ptr %4, align 8, !tbaa !5
  %1078 = getelementptr inbounds %struct.w2c_hermes, ptr %1077, i32 0, i32 6
  %1079 = load i32, ptr %37, align 4, !tbaa !9
  %1080 = zext i32 %1079 to i64
  %1081 = add i64 %1080, 4
  %1082 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1078, i64 noundef %1081, i32 noundef %1082)
  %1083 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %1083, ptr %37, align 4, !tbaa !9
  %1084 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %1084, ptr %38, align 4, !tbaa !9
  store i32 12, ptr %39, align 4, !tbaa !9
  %1085 = load i32, ptr %39, align 4, !tbaa !9
  %1086 = load i32, ptr %38, align 4, !tbaa !9
  %1087 = add i32 %1086, %1085
  store i32 %1087, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  store i32 4, ptr %40, align 4, !tbaa !9
  %1088 = load ptr, ptr %4, align 8, !tbaa !5
  %1089 = load i32, ptr %37, align 4, !tbaa !9
  %1090 = load i32, ptr %38, align 4, !tbaa !9
  %1091 = load i32, ptr %39, align 4, !tbaa !9
  %1092 = load i32, ptr %40, align 4, !tbaa !9
  call void @w2c_hermes_llvh0x3A0x3ASmallVectorBase0x3A0x3Agrow_pod0x28void0x2A0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef %1088, i32 noundef %1089, i32 noundef %1090, i32 noundef %1091, i32 noundef %1092)
  %1093 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %1093, ptr %37, align 4, !tbaa !9
  %1094 = load ptr, ptr %4, align 8, !tbaa !5
  %1095 = getelementptr inbounds %struct.w2c_hermes, ptr %1094, i32 0, i32 6
  %1096 = load i32, ptr %37, align 4, !tbaa !9
  %1097 = zext i32 %1096 to i64
  %1098 = add i64 %1097, 4
  %1099 = call i32 @i32_load(ptr noundef %1095, i64 noundef %1098)
  store i32 %1099, ptr %37, align 4, !tbaa !9
  %1100 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1100, ptr %6, align 4, !tbaa !9
  %1101 = load i32, ptr %37, align 4, !tbaa !9
  %1102 = icmp ne i32 %1101, 0
  %1103 = xor i1 %1102, true
  %1104 = zext i1 %1103 to i32
  store i32 %1104, ptr %37, align 4, !tbaa !9
  %1105 = load i32, ptr %37, align 4, !tbaa !9
  %1106 = icmp ne i32 %1105, 0
  br i1 %1106, label %1107, label %1108

1107:                                             ; preds = %1075
  br label %1132

1108:                                             ; preds = %1075
  br label %1109

1109:                                             ; preds = %1108, %1061
  %1110 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %1110, ptr %37, align 4, !tbaa !9
  %1111 = load ptr, ptr %4, align 8, !tbaa !5
  %1112 = getelementptr inbounds %struct.w2c_hermes, ptr %1111, i32 0, i32 6
  %1113 = load i32, ptr %37, align 4, !tbaa !9
  %1114 = zext i32 %1113 to i64
  %1115 = call i32 @i32_load(ptr noundef %1112, i64 noundef %1114)
  store i32 %1115, ptr %37, align 4, !tbaa !9
  %1116 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %1116, ptr %38, align 4, !tbaa !9
  %1117 = load ptr, ptr %4, align 8, !tbaa !5
  %1118 = getelementptr inbounds %struct.w2c_hermes, ptr %1117, i32 0, i32 6
  %1119 = load i32, ptr %38, align 4, !tbaa !9
  %1120 = zext i32 %1119 to i64
  %1121 = call i32 @i32_load(ptr noundef %1118, i64 noundef %1120)
  store i32 %1121, ptr %38, align 4, !tbaa !9
  %1122 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1122, ptr %39, align 4, !tbaa !9
  store i32 2, ptr %40, align 4, !tbaa !9
  %1123 = load i32, ptr %40, align 4, !tbaa !9
  %1124 = and i32 %1123, 31
  %1125 = load i32, ptr %39, align 4, !tbaa !9
  %1126 = shl i32 %1125, %1124
  store i32 %1126, ptr %39, align 4, !tbaa !9
  %1127 = load ptr, ptr %4, align 8, !tbaa !5
  %1128 = load i32, ptr %37, align 4, !tbaa !9
  %1129 = load i32, ptr %38, align 4, !tbaa !9
  %1130 = load i32, ptr %39, align 4, !tbaa !9
  %1131 = call i32 @w2c_hermes_0x5F_memcpy(ptr noundef %1127, i32 noundef %1128, i32 noundef %1129, i32 noundef %1130)
  store i32 %1131, ptr %37, align 4, !tbaa !9
  br label %1132

1132:                                             ; preds = %1109, %1107
  %1133 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %1133, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %1134 = load ptr, ptr %4, align 8, !tbaa !5
  %1135 = getelementptr inbounds %struct.w2c_hermes, ptr %1134, i32 0, i32 6
  %1136 = load i32, ptr %37, align 4, !tbaa !9
  %1137 = zext i32 %1136 to i64
  %1138 = add i64 %1137, 4
  %1139 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1135, i64 noundef %1138, i32 noundef %1139)
  %1140 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %1140, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %1141 = load ptr, ptr %4, align 8, !tbaa !5
  %1142 = getelementptr inbounds %struct.w2c_hermes, ptr %1141, i32 0, i32 6
  %1143 = load i32, ptr %37, align 4, !tbaa !9
  %1144 = zext i32 %1143 to i64
  %1145 = add i64 %1144, 4
  %1146 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1142, i64 noundef %1145, i32 noundef %1146)
  %1147 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %1147, ptr %37, align 4, !tbaa !9
  %1148 = load ptr, ptr %4, align 8, !tbaa !5
  %1149 = getelementptr inbounds %struct.w2c_hermes, ptr %1148, i32 0, i32 6
  %1150 = load i32, ptr %37, align 4, !tbaa !9
  %1151 = zext i32 %1150 to i64
  %1152 = call i32 @i32_load(ptr noundef %1149, i64 noundef %1151)
  store i32 %1152, ptr %37, align 4, !tbaa !9
  %1153 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1153, ptr %6, align 4, !tbaa !9
  %1154 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1154, ptr %38, align 4, !tbaa !9
  %1155 = load i32, ptr %37, align 4, !tbaa !9
  %1156 = load i32, ptr %38, align 4, !tbaa !9
  %1157 = icmp eq i32 %1155, %1156
  %1158 = zext i1 %1157 to i32
  store i32 %1158, ptr %37, align 4, !tbaa !9
  %1159 = load i32, ptr %37, align 4, !tbaa !9
  %1160 = icmp ne i32 %1159, 0
  br i1 %1160, label %1161, label %1162

1161:                                             ; preds = %1132
  br label %1166

1162:                                             ; preds = %1132
  %1163 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1163, ptr %37, align 4, !tbaa !9
  %1164 = load ptr, ptr %4, align 8, !tbaa !5
  %1165 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %1164, i32 noundef %1165)
  br label %1166

1166:                                             ; preds = %1162, %1161, %1060
  %1167 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %1167, ptr %37, align 4, !tbaa !9
  %1168 = load ptr, ptr %4, align 8, !tbaa !5
  %1169 = getelementptr inbounds %struct.w2c_hermes, ptr %1168, i32 0, i32 6
  %1170 = load i32, ptr %37, align 4, !tbaa !9
  %1171 = zext i32 %1170 to i64
  %1172 = call i32 @i32_load(ptr noundef %1169, i64 noundef %1171)
  store i32 %1172, ptr %37, align 4, !tbaa !9
  %1173 = load ptr, ptr %4, align 8, !tbaa !5
  %1174 = getelementptr inbounds %struct.w2c_hermes, ptr %1173, i32 0, i32 6
  %1175 = load i32, ptr %37, align 4, !tbaa !9
  %1176 = zext i32 %1175 to i64
  %1177 = call i32 @i32_load(ptr noundef %1174, i64 noundef %1176)
  store i32 %1177, ptr %37, align 4, !tbaa !9
  %1178 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1178, ptr %17, align 4, !tbaa !9
  %1179 = load ptr, ptr %4, align 8, !tbaa !5
  %1180 = getelementptr inbounds %struct.w2c_hermes, ptr %1179, i32 0, i32 3
  %1181 = load i32, ptr %1180, align 8, !tbaa !13
  store i32 %1181, ptr %37, align 4, !tbaa !9
  store i32 336, ptr %38, align 4, !tbaa !9
  %1182 = load i32, ptr %38, align 4, !tbaa !9
  %1183 = load i32, ptr %37, align 4, !tbaa !9
  %1184 = sub i32 %1183, %1182
  store i32 %1184, ptr %37, align 4, !tbaa !9
  %1185 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1185, ptr %10, align 4, !tbaa !9
  %1186 = load i32, ptr %37, align 4, !tbaa !9
  %1187 = load ptr, ptr %4, align 8, !tbaa !5
  %1188 = getelementptr inbounds %struct.w2c_hermes, ptr %1187, i32 0, i32 3
  store i32 %1186, ptr %1188, align 8, !tbaa !13
  %1189 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1189, ptr %37, align 4, !tbaa !9
  %1190 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1190, ptr %38, align 4, !tbaa !9
  %1191 = load ptr, ptr %4, align 8, !tbaa !5
  %1192 = getelementptr inbounds %struct.w2c_hermes, ptr %1191, i32 0, i32 6
  %1193 = load i32, ptr %37, align 4, !tbaa !9
  %1194 = zext i32 %1193 to i64
  %1195 = add i64 %1194, 332
  %1196 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1192, i64 noundef %1195, i32 noundef %1196)
  %1197 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1197, ptr %37, align 4, !tbaa !9
  %1198 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1198, ptr %38, align 4, !tbaa !9
  %1199 = load ptr, ptr %4, align 8, !tbaa !5
  %1200 = getelementptr inbounds %struct.w2c_hermes, ptr %1199, i32 0, i32 6
  %1201 = load i32, ptr %37, align 4, !tbaa !9
  %1202 = zext i32 %1201 to i64
  %1203 = add i64 %1202, 76
  %1204 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1200, i64 noundef %1203, i32 noundef %1204)
  %1205 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1205, ptr %37, align 4, !tbaa !9
  %1206 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1206, ptr %38, align 4, !tbaa !9
  store i32 76, ptr %39, align 4, !tbaa !9
  %1207 = load i32, ptr %39, align 4, !tbaa !9
  %1208 = load i32, ptr %38, align 4, !tbaa !9
  %1209 = add i32 %1208, %1207
  store i32 %1209, ptr %38, align 4, !tbaa !9
  %1210 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %1210, ptr %16, align 4, !tbaa !9
  %1211 = load ptr, ptr %4, align 8, !tbaa !5
  %1212 = getelementptr inbounds %struct.w2c_hermes, ptr %1211, i32 0, i32 6
  %1213 = load i32, ptr %37, align 4, !tbaa !9
  %1214 = zext i32 %1213 to i64
  %1215 = add i64 %1214, 64
  %1216 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1212, i64 noundef %1215, i32 noundef %1216)
  %1217 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1217, ptr %37, align 4, !tbaa !9
  store i64 274877906945, ptr %44, align 8, !tbaa !11
  %1218 = load ptr, ptr %4, align 8, !tbaa !5
  %1219 = getelementptr inbounds %struct.w2c_hermes, ptr %1218, i32 0, i32 6
  %1220 = load i32, ptr %37, align 4, !tbaa !9
  %1221 = zext i32 %1220 to i64
  %1222 = add i64 %1221, 68
  %1223 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1219, i64 noundef %1222, i64 noundef %1223)
  %1224 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %1224, ptr %37, align 4, !tbaa !9
  store i32 16, ptr %38, align 4, !tbaa !9
  %1225 = load i32, ptr %38, align 4, !tbaa !9
  %1226 = load i32, ptr %37, align 4, !tbaa !9
  %1227 = add i32 %1226, %1225
  store i32 %1227, ptr %37, align 4, !tbaa !9
  %1228 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1228, ptr %14, align 4, !tbaa !9
  store i32 12, ptr %38, align 4, !tbaa !9
  %1229 = load i32, ptr %38, align 4, !tbaa !9
  %1230 = load i32, ptr %37, align 4, !tbaa !9
  %1231 = add i32 %1230, %1229
  store i32 %1231, ptr %37, align 4, !tbaa !9
  %1232 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1232, ptr %18, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %1233 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1233, ptr %9, align 4, !tbaa !9
  %1234 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1234, ptr %37, align 4, !tbaa !9
  %1235 = load ptr, ptr %4, align 8, !tbaa !5
  %1236 = getelementptr inbounds %struct.w2c_hermes, ptr %1235, i32 0, i32 6
  %1237 = load i32, ptr %37, align 4, !tbaa !9
  %1238 = zext i32 %1237 to i64
  %1239 = add i64 %1238, 24
  %1240 = call i32 @i32_load(ptr noundef %1236, i64 noundef %1239)
  store i32 %1240, ptr %37, align 4, !tbaa !9
  %1241 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1241, ptr %6, align 4, !tbaa !9
  %1242 = load i32, ptr %37, align 4, !tbaa !9
  %1243 = icmp ne i32 %1242, 0
  %1244 = xor i1 %1243, true
  %1245 = zext i1 %1244 to i32
  store i32 %1245, ptr %37, align 4, !tbaa !9
  %1246 = load i32, ptr %37, align 4, !tbaa !9
  %1247 = icmp ne i32 %1246, 0
  br i1 %1247, label %1248, label %1249

1248:                                             ; preds = %1166
  br label %1503

1249:                                             ; preds = %1166
  %1250 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1250, ptr %37, align 4, !tbaa !9
  %1251 = load ptr, ptr %4, align 8, !tbaa !5
  %1252 = getelementptr inbounds %struct.w2c_hermes, ptr %1251, i32 0, i32 6
  %1253 = load i32, ptr %37, align 4, !tbaa !9
  %1254 = zext i32 %1253 to i64
  %1255 = add i64 %1254, 12
  %1256 = call i32 @i32_load(ptr noundef %1252, i64 noundef %1255)
  store i32 %1256, ptr %37, align 4, !tbaa !9
  %1257 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1257, ptr %20, align 4, !tbaa !9
  %1258 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1258, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %1259 = load i32, ptr %39, align 4, !tbaa !9
  %1260 = load i32, ptr %38, align 4, !tbaa !9
  %1261 = sub i32 %1260, %1259
  store i32 %1261, ptr %38, align 4, !tbaa !9
  %1262 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %1262, ptr %19, align 4, !tbaa !9
  %1263 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1263, ptr %39, align 4, !tbaa !9
  store i32 4, ptr %40, align 4, !tbaa !9
  %1264 = load i32, ptr %40, align 4, !tbaa !9
  %1265 = and i32 %1264, 31
  %1266 = load i32, ptr %39, align 4, !tbaa !9
  %1267 = lshr i32 %1266, %1265
  store i32 %1267, ptr %39, align 4, !tbaa !9
  %1268 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1268, ptr %40, align 4, !tbaa !9
  store i32 9, ptr %41, align 4, !tbaa !9
  %1269 = load i32, ptr %41, align 4, !tbaa !9
  %1270 = and i32 %1269, 31
  %1271 = load i32, ptr %40, align 4, !tbaa !9
  %1272 = lshr i32 %1271, %1270
  store i32 %1272, ptr %40, align 4, !tbaa !9
  %1273 = load i32, ptr %40, align 4, !tbaa !9
  %1274 = load i32, ptr %39, align 4, !tbaa !9
  %1275 = xor i32 %1274, %1273
  store i32 %1275, ptr %39, align 4, !tbaa !9
  %1276 = load i32, ptr %39, align 4, !tbaa !9
  %1277 = load i32, ptr %38, align 4, !tbaa !9
  %1278 = and i32 %1277, %1276
  store i32 %1278, ptr %38, align 4, !tbaa !9
  %1279 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %1279, ptr %7, align 4, !tbaa !9
  store i32 44, ptr %39, align 4, !tbaa !9
  %1280 = load i32, ptr %39, align 4, !tbaa !9
  %1281 = load i32, ptr %38, align 4, !tbaa !9
  %1282 = mul i32 %1281, %1280
  store i32 %1282, ptr %38, align 4, !tbaa !9
  %1283 = load i32, ptr %38, align 4, !tbaa !9
  %1284 = load i32, ptr %37, align 4, !tbaa !9
  %1285 = add i32 %1284, %1283
  store i32 %1285, ptr %37, align 4, !tbaa !9
  %1286 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1286, ptr %12, align 4, !tbaa !9
  %1287 = load ptr, ptr %4, align 8, !tbaa !5
  %1288 = getelementptr inbounds %struct.w2c_hermes, ptr %1287, i32 0, i32 6
  %1289 = load i32, ptr %37, align 4, !tbaa !9
  %1290 = zext i32 %1289 to i64
  %1291 = call i32 @i32_load(ptr noundef %1288, i64 noundef %1290)
  store i32 %1291, ptr %37, align 4, !tbaa !9
  %1292 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1292, ptr %6, align 4, !tbaa !9
  %1293 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1293, ptr %38, align 4, !tbaa !9
  %1294 = load i32, ptr %37, align 4, !tbaa !9
  %1295 = load i32, ptr %38, align 4, !tbaa !9
  %1296 = icmp eq i32 %1294, %1295
  %1297 = zext i1 %1296 to i32
  store i32 %1297, ptr %37, align 4, !tbaa !9
  %1298 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1298, ptr %22, align 4, !tbaa !9
  %1299 = load i32, ptr %37, align 4, !tbaa !9
  %1300 = icmp ne i32 %1299, 0
  br i1 %1300, label %1301, label %1302

1301:                                             ; preds = %1249
  br label %1440

1302:                                             ; preds = %1249
  store i32 1, ptr %37, align 4, !tbaa !9
  %1303 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1303, ptr %8, align 4, !tbaa !9
  %1304 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1304, ptr %37, align 4, !tbaa !9
  %1305 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1305, ptr %11, align 4, !tbaa !9
  %1306 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1306, ptr %37, align 4, !tbaa !9
  %1307 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1307, ptr %13, align 4, !tbaa !9
  br label %1308

1308:                                             ; preds = %1355, %1302
  %1309 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1309, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %1310 = load i32, ptr %37, align 4, !tbaa !9
  %1311 = load i32, ptr %38, align 4, !tbaa !9
  %1312 = icmp eq i32 %1310, %1311
  %1313 = zext i1 %1312 to i32
  store i32 %1313, ptr %37, align 4, !tbaa !9
  %1314 = load i32, ptr %37, align 4, !tbaa !9
  %1315 = icmp ne i32 %1314, 0
  br i1 %1315, label %1316, label %1317

1316:                                             ; preds = %1308
  br label %1503

1317:                                             ; preds = %1308
  %1318 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1318, ptr %37, align 4, !tbaa !9
  %1319 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1319, ptr %38, align 4, !tbaa !9
  %1320 = load i32, ptr %38, align 4, !tbaa !9
  %1321 = load i32, ptr %37, align 4, !tbaa !9
  %1322 = add i32 %1321, %1320
  store i32 %1322, ptr %37, align 4, !tbaa !9
  %1323 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1323, ptr %11, align 4, !tbaa !9
  %1324 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1324, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %1325 = load i32, ptr %38, align 4, !tbaa !9
  %1326 = load i32, ptr %37, align 4, !tbaa !9
  %1327 = add i32 %1326, %1325
  store i32 %1327, ptr %37, align 4, !tbaa !9
  %1328 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1328, ptr %8, align 4, !tbaa !9
  %1329 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %1329, ptr %37, align 4, !tbaa !9
  %1330 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1330, ptr %38, align 4, !tbaa !9
  %1331 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1331, ptr %39, align 4, !tbaa !9
  %1332 = load i32, ptr %39, align 4, !tbaa !9
  %1333 = load i32, ptr %38, align 4, !tbaa !9
  %1334 = and i32 %1333, %1332
  store i32 %1334, ptr %38, align 4, !tbaa !9
  %1335 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %1335, ptr %13, align 4, !tbaa !9
  store i32 44, ptr %39, align 4, !tbaa !9
  %1336 = load i32, ptr %39, align 4, !tbaa !9
  %1337 = load i32, ptr %38, align 4, !tbaa !9
  %1338 = mul i32 %1337, %1336
  store i32 %1338, ptr %38, align 4, !tbaa !9
  %1339 = load i32, ptr %38, align 4, !tbaa !9
  %1340 = load i32, ptr %37, align 4, !tbaa !9
  %1341 = add i32 %1340, %1339
  store i32 %1341, ptr %37, align 4, !tbaa !9
  %1342 = load ptr, ptr %4, align 8, !tbaa !5
  %1343 = getelementptr inbounds %struct.w2c_hermes, ptr %1342, i32 0, i32 6
  %1344 = load i32, ptr %37, align 4, !tbaa !9
  %1345 = zext i32 %1344 to i64
  %1346 = call i32 @i32_load(ptr noundef %1343, i64 noundef %1345)
  store i32 %1346, ptr %37, align 4, !tbaa !9
  %1347 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1347, ptr %11, align 4, !tbaa !9
  %1348 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1348, ptr %38, align 4, !tbaa !9
  %1349 = load i32, ptr %37, align 4, !tbaa !9
  %1350 = load i32, ptr %38, align 4, !tbaa !9
  %1351 = icmp ne i32 %1349, %1350
  %1352 = zext i1 %1351 to i32
  store i32 %1352, ptr %37, align 4, !tbaa !9
  %1353 = load i32, ptr %37, align 4, !tbaa !9
  %1354 = icmp ne i32 %1353, 0
  br i1 %1354, label %1355, label %1356

1355:                                             ; preds = %1317
  br label %1308

1356:                                             ; preds = %1317
  %1357 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1357, ptr %37, align 4, !tbaa !9
  %1358 = load i32, ptr %37, align 4, !tbaa !9
  %1359 = icmp ne i32 %1358, 0
  br i1 %1359, label %1360, label %1361

1360:                                             ; preds = %1356
  br label %1440

1361:                                             ; preds = %1356
  store i32 0, ptr %37, align 4, !tbaa !9
  %1362 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1362, ptr %9, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %1363 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1363, ptr %11, align 4, !tbaa !9
  br label %1364

1364:                                             ; preds = %1438, %1361
  %1365 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1365, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %1366 = load i32, ptr %37, align 4, !tbaa !9
  %1367 = load i32, ptr %38, align 4, !tbaa !9
  %1368 = icmp eq i32 %1366, %1367
  %1369 = zext i1 %1368 to i32
  store i32 %1369, ptr %37, align 4, !tbaa !9
  %1370 = load i32, ptr %37, align 4, !tbaa !9
  %1371 = icmp ne i32 %1370, 0
  br i1 %1371, label %1372, label %1373

1372:                                             ; preds = %1364
  br label %1456

1373:                                             ; preds = %1364
  %1374 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1374, ptr %37, align 4, !tbaa !9
  %1375 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1375, ptr %38, align 4, !tbaa !9
  %1376 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1376, ptr %39, align 4, !tbaa !9
  %1377 = load i32, ptr %39, align 4, !tbaa !9
  %1378 = icmp ne i32 %1377, 0
  br i1 %1378, label %1379, label %1381

1379:                                             ; preds = %1373
  %1380 = load i32, ptr %37, align 4, !tbaa !9
  br label %1383

1381:                                             ; preds = %1373
  %1382 = load i32, ptr %38, align 4, !tbaa !9
  br label %1383

1383:                                             ; preds = %1381, %1379
  %1384 = phi i32 [ %1380, %1379 ], [ %1382, %1381 ]
  store i32 %1384, ptr %37, align 4, !tbaa !9
  %1385 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1385, ptr %38, align 4, !tbaa !9
  %1386 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1386, ptr %39, align 4, !tbaa !9
  store i32 -8, ptr %40, align 4, !tbaa !9
  %1387 = load i32, ptr %39, align 4, !tbaa !9
  %1388 = load i32, ptr %40, align 4, !tbaa !9
  %1389 = icmp eq i32 %1387, %1388
  %1390 = zext i1 %1389 to i32
  store i32 %1390, ptr %39, align 4, !tbaa !9
  %1391 = load i32, ptr %39, align 4, !tbaa !9
  %1392 = icmp ne i32 %1391, 0
  br i1 %1392, label %1393, label %1395

1393:                                             ; preds = %1383
  %1394 = load i32, ptr %37, align 4, !tbaa !9
  br label %1397

1395:                                             ; preds = %1383
  %1396 = load i32, ptr %38, align 4, !tbaa !9
  br label %1397

1397:                                             ; preds = %1395, %1393
  %1398 = phi i32 [ %1394, %1393 ], [ %1396, %1395 ]
  store i32 %1398, ptr %37, align 4, !tbaa !9
  %1399 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1399, ptr %9, align 4, !tbaa !9
  %1400 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1400, ptr %37, align 4, !tbaa !9
  %1401 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1401, ptr %38, align 4, !tbaa !9
  %1402 = load i32, ptr %38, align 4, !tbaa !9
  %1403 = load i32, ptr %37, align 4, !tbaa !9
  %1404 = add i32 %1403, %1402
  store i32 %1404, ptr %37, align 4, !tbaa !9
  %1405 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1405, ptr %6, align 4, !tbaa !9
  %1406 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1406, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %1407 = load i32, ptr %38, align 4, !tbaa !9
  %1408 = load i32, ptr %37, align 4, !tbaa !9
  %1409 = add i32 %1408, %1407
  store i32 %1409, ptr %37, align 4, !tbaa !9
  %1410 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1410, ptr %11, align 4, !tbaa !9
  %1411 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %1411, ptr %37, align 4, !tbaa !9
  %1412 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1412, ptr %38, align 4, !tbaa !9
  %1413 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1413, ptr %39, align 4, !tbaa !9
  %1414 = load i32, ptr %39, align 4, !tbaa !9
  %1415 = load i32, ptr %38, align 4, !tbaa !9
  %1416 = and i32 %1415, %1414
  store i32 %1416, ptr %38, align 4, !tbaa !9
  %1417 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %1417, ptr %7, align 4, !tbaa !9
  store i32 44, ptr %39, align 4, !tbaa !9
  %1418 = load i32, ptr %39, align 4, !tbaa !9
  %1419 = load i32, ptr %38, align 4, !tbaa !9
  %1420 = mul i32 %1419, %1418
  store i32 %1420, ptr %38, align 4, !tbaa !9
  %1421 = load i32, ptr %38, align 4, !tbaa !9
  %1422 = load i32, ptr %37, align 4, !tbaa !9
  %1423 = add i32 %1422, %1421
  store i32 %1423, ptr %37, align 4, !tbaa !9
  %1424 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1424, ptr %12, align 4, !tbaa !9
  %1425 = load ptr, ptr %4, align 8, !tbaa !5
  %1426 = getelementptr inbounds %struct.w2c_hermes, ptr %1425, i32 0, i32 6
  %1427 = load i32, ptr %37, align 4, !tbaa !9
  %1428 = zext i32 %1427 to i64
  %1429 = call i32 @i32_load(ptr noundef %1426, i64 noundef %1428)
  store i32 %1429, ptr %37, align 4, !tbaa !9
  %1430 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1430, ptr %6, align 4, !tbaa !9
  %1431 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1431, ptr %38, align 4, !tbaa !9
  %1432 = load i32, ptr %37, align 4, !tbaa !9
  %1433 = load i32, ptr %38, align 4, !tbaa !9
  %1434 = icmp ne i32 %1432, %1433
  %1435 = zext i1 %1434 to i32
  store i32 %1435, ptr %37, align 4, !tbaa !9
  %1436 = load i32, ptr %37, align 4, !tbaa !9
  %1437 = icmp ne i32 %1436, 0
  br i1 %1437, label %1438, label %1439

1438:                                             ; preds = %1397
  br label %1364

1439:                                             ; preds = %1397
  br label %1440

1440:                                             ; preds = %1439, %1360, %1301
  %1441 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %1441, ptr %37, align 4, !tbaa !9
  %1442 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1442, ptr %38, align 4, !tbaa !9
  store i32 44, ptr %39, align 4, !tbaa !9
  %1443 = load i32, ptr %39, align 4, !tbaa !9
  %1444 = load i32, ptr %38, align 4, !tbaa !9
  %1445 = mul i32 %1444, %1443
  store i32 %1445, ptr %38, align 4, !tbaa !9
  %1446 = load i32, ptr %38, align 4, !tbaa !9
  %1447 = load i32, ptr %37, align 4, !tbaa !9
  %1448 = add i32 %1447, %1446
  store i32 %1448, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %1449 = load ptr, ptr %4, align 8, !tbaa !5
  %1450 = getelementptr inbounds %struct.w2c_hermes, ptr %1449, i32 0, i32 6
  %1451 = load i32, ptr %37, align 4, !tbaa !9
  %1452 = zext i32 %1451 to i64
  %1453 = add i64 %1452, 8
  %1454 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1450, i64 noundef %1453, i32 noundef %1454)
  store i32 1, ptr %37, align 4, !tbaa !9
  %1455 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1455, ptr %9, align 4, !tbaa !9
  br label %1503

1456:                                             ; preds = %1372
  %1457 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1457, ptr %37, align 4, !tbaa !9
  %1458 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1458, ptr %38, align 4, !tbaa !9
  %1459 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1459, ptr %39, align 4, !tbaa !9
  %1460 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1460, ptr %40, align 4, !tbaa !9
  %1461 = load i32, ptr %40, align 4, !tbaa !9
  %1462 = icmp ne i32 %1461, 0
  br i1 %1462, label %1463, label %1465

1463:                                             ; preds = %1456
  %1464 = load i32, ptr %38, align 4, !tbaa !9
  br label %1467

1465:                                             ; preds = %1456
  %1466 = load i32, ptr %39, align 4, !tbaa !9
  br label %1467

1467:                                             ; preds = %1465, %1463
  %1468 = phi i32 [ %1464, %1463 ], [ %1466, %1465 ]
  store i32 %1468, ptr %38, align 4, !tbaa !9
  %1469 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1469, ptr %39, align 4, !tbaa !9
  store i32 332, ptr %40, align 4, !tbaa !9
  %1470 = load i32, ptr %40, align 4, !tbaa !9
  %1471 = load i32, ptr %39, align 4, !tbaa !9
  %1472 = add i32 %1471, %1470
  store i32 %1472, ptr %39, align 4, !tbaa !9
  %1473 = load ptr, ptr %4, align 8, !tbaa !5
  %1474 = load i32, ptr %37, align 4, !tbaa !9
  %1475 = load i32, ptr %38, align 4, !tbaa !9
  %1476 = load i32, ptr %39, align 4, !tbaa !9
  %1477 = call i32 @w2c_hermes_llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x3A0x3AInsertIntoBucket0x3Chermes0x3A0x3ABasicBlock0x2A0x20const0x260x3E0x28llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x20const0x260x29(ptr noundef %1473, i32 noundef %1474, i32 noundef %1475, i32 noundef %1476)
  store i32 %1477, ptr %37, align 4, !tbaa !9
  %1478 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1478, ptr %6, align 4, !tbaa !9
  %1479 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1479, ptr %37, align 4, !tbaa !9
  %1480 = load ptr, ptr %4, align 8, !tbaa !5
  %1481 = getelementptr inbounds %struct.w2c_hermes, ptr %1480, i32 0, i32 6
  %1482 = load i32, ptr %37, align 4, !tbaa !9
  %1483 = zext i32 %1482 to i64
  %1484 = add i64 %1483, 68
  %1485 = call i32 @i32_load(ptr noundef %1481, i64 noundef %1484)
  store i32 %1485, ptr %37, align 4, !tbaa !9
  %1486 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1486, ptr %9, align 4, !tbaa !9
  %1487 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1487, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %1488 = load ptr, ptr %4, align 8, !tbaa !5
  %1489 = getelementptr inbounds %struct.w2c_hermes, ptr %1488, i32 0, i32 6
  %1490 = load i32, ptr %37, align 4, !tbaa !9
  %1491 = zext i32 %1490 to i64
  %1492 = add i64 %1491, 8
  %1493 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1489, i64 noundef %1492, i32 noundef %1493)
  %1494 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1494, ptr %37, align 4, !tbaa !9
  %1495 = load i32, ptr %37, align 4, !tbaa !9
  %1496 = icmp ne i32 %1495, 0
  %1497 = xor i1 %1496, true
  %1498 = zext i1 %1497 to i32
  store i32 %1498, ptr %37, align 4, !tbaa !9
  %1499 = load i32, ptr %37, align 4, !tbaa !9
  %1500 = icmp ne i32 %1499, 0
  br i1 %1500, label %1501, label %1502

1501:                                             ; preds = %1467
  br label %3359

1502:                                             ; preds = %1467
  br label %1503

1503:                                             ; preds = %1502, %1440, %1316, %1248
  %1504 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1504, ptr %37, align 4, !tbaa !9
  store i32 28, ptr %38, align 4, !tbaa !9
  %1505 = load i32, ptr %38, align 4, !tbaa !9
  %1506 = load i32, ptr %37, align 4, !tbaa !9
  %1507 = add i32 %1506, %1505
  store i32 %1507, ptr %37, align 4, !tbaa !9
  %1508 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1508, ptr %20, align 4, !tbaa !9
  br label %1509

1509:                                             ; preds = %3357, %1503
  %1510 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1510, ptr %37, align 4, !tbaa !9
  %1511 = load ptr, ptr %4, align 8, !tbaa !5
  %1512 = getelementptr inbounds %struct.w2c_hermes, ptr %1511, i32 0, i32 6
  %1513 = load i32, ptr %37, align 4, !tbaa !9
  %1514 = zext i32 %1513 to i64
  %1515 = add i64 %1514, 64
  %1516 = call i32 @i32_load(ptr noundef %1512, i64 noundef %1515)
  store i32 %1516, ptr %37, align 4, !tbaa !9
  %1517 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1517, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %1518 = load i32, ptr %39, align 4, !tbaa !9
  %1519 = and i32 %1518, 31
  %1520 = load i32, ptr %38, align 4, !tbaa !9
  %1521 = shl i32 %1520, %1519
  store i32 %1521, ptr %38, align 4, !tbaa !9
  %1522 = load i32, ptr %38, align 4, !tbaa !9
  %1523 = load i32, ptr %37, align 4, !tbaa !9
  %1524 = add i32 %1523, %1522
  store i32 %1524, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %1525 = load i32, ptr %38, align 4, !tbaa !9
  %1526 = load i32, ptr %37, align 4, !tbaa !9
  %1527 = sub i32 %1526, %1525
  store i32 %1527, ptr %37, align 4, !tbaa !9
  %1528 = load ptr, ptr %4, align 8, !tbaa !5
  %1529 = getelementptr inbounds %struct.w2c_hermes, ptr %1528, i32 0, i32 6
  %1530 = load i32, ptr %37, align 4, !tbaa !9
  %1531 = zext i32 %1530 to i64
  %1532 = call i32 @i32_load(ptr noundef %1529, i64 noundef %1531)
  store i32 %1532, ptr %37, align 4, !tbaa !9
  %1533 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1533, ptr %8, align 4, !tbaa !9
  %1534 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1534, ptr %37, align 4, !tbaa !9
  %1535 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1535, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %1536 = load i32, ptr %39, align 4, !tbaa !9
  %1537 = load i32, ptr %38, align 4, !tbaa !9
  %1538 = sub i32 %1537, %1536
  store i32 %1538, ptr %38, align 4, !tbaa !9
  %1539 = load ptr, ptr %4, align 8, !tbaa !5
  %1540 = getelementptr inbounds %struct.w2c_hermes, ptr %1539, i32 0, i32 6
  %1541 = load i32, ptr %37, align 4, !tbaa !9
  %1542 = zext i32 %1541 to i64
  %1543 = add i64 %1542, 68
  %1544 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1540, i64 noundef %1543, i32 noundef %1544)
  %1545 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1545, ptr %37, align 4, !tbaa !9
  %1546 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1546, ptr %38, align 4, !tbaa !9
  %1547 = load ptr, ptr %4, align 8, !tbaa !5
  %1548 = getelementptr inbounds %struct.w2c_hermes, ptr %1547, i32 0, i32 6
  %1549 = load i32, ptr %37, align 4, !tbaa !9
  %1550 = zext i32 %1549 to i64
  %1551 = add i64 %1550, 60
  %1552 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1548, i64 noundef %1551, i32 noundef %1552)
  store i32 0, ptr %37, align 4, !tbaa !9
  %1553 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1553, ptr %7, align 4, !tbaa !9
  %1554 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1554, ptr %37, align 4, !tbaa !9
  %1555 = load ptr, ptr %4, align 8, !tbaa !5
  %1556 = getelementptr inbounds %struct.w2c_hermes, ptr %1555, i32 0, i32 6
  %1557 = load i32, ptr %37, align 4, !tbaa !9
  %1558 = zext i32 %1557 to i64
  %1559 = add i64 %1558, 24
  %1560 = call i32 @i32_load(ptr noundef %1556, i64 noundef %1559)
  store i32 %1560, ptr %37, align 4, !tbaa !9
  %1561 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1561, ptr %6, align 4, !tbaa !9
  %1562 = load i32, ptr %37, align 4, !tbaa !9
  %1563 = icmp ne i32 %1562, 0
  %1564 = xor i1 %1563, true
  %1565 = zext i1 %1564 to i32
  store i32 %1565, ptr %37, align 4, !tbaa !9
  %1566 = load i32, ptr %37, align 4, !tbaa !9
  %1567 = icmp ne i32 %1566, 0
  br i1 %1567, label %1568, label %1569

1568:                                             ; preds = %1509
  br label %1712

1569:                                             ; preds = %1509
  %1570 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1570, ptr %37, align 4, !tbaa !9
  %1571 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1571, ptr %38, align 4, !tbaa !9
  %1572 = load ptr, ptr %4, align 8, !tbaa !5
  %1573 = getelementptr inbounds %struct.w2c_hermes, ptr %1572, i32 0, i32 6
  %1574 = load i32, ptr %38, align 4, !tbaa !9
  %1575 = zext i32 %1574 to i64
  %1576 = add i64 %1575, 12
  %1577 = call i32 @i32_load(ptr noundef %1573, i64 noundef %1576)
  store i32 %1577, ptr %38, align 4, !tbaa !9
  %1578 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %1578, ptr %11, align 4, !tbaa !9
  %1579 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1579, ptr %39, align 4, !tbaa !9
  store i32 1, ptr %40, align 4, !tbaa !9
  %1580 = load i32, ptr %40, align 4, !tbaa !9
  %1581 = load i32, ptr %39, align 4, !tbaa !9
  %1582 = sub i32 %1581, %1580
  store i32 %1582, ptr %39, align 4, !tbaa !9
  %1583 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %1583, ptr %17, align 4, !tbaa !9
  %1584 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1584, ptr %40, align 4, !tbaa !9
  store i32 4, ptr %41, align 4, !tbaa !9
  %1585 = load i32, ptr %41, align 4, !tbaa !9
  %1586 = and i32 %1585, 31
  %1587 = load i32, ptr %40, align 4, !tbaa !9
  %1588 = lshr i32 %1587, %1586
  store i32 %1588, ptr %40, align 4, !tbaa !9
  %1589 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1589, ptr %41, align 4, !tbaa !9
  store i32 9, ptr %42, align 4, !tbaa !9
  %1590 = load i32, ptr %42, align 4, !tbaa !9
  %1591 = and i32 %1590, 31
  %1592 = load i32, ptr %41, align 4, !tbaa !9
  %1593 = lshr i32 %1592, %1591
  store i32 %1593, ptr %41, align 4, !tbaa !9
  %1594 = load i32, ptr %41, align 4, !tbaa !9
  %1595 = load i32, ptr %40, align 4, !tbaa !9
  %1596 = xor i32 %1595, %1594
  store i32 %1596, ptr %40, align 4, !tbaa !9
  %1597 = load i32, ptr %40, align 4, !tbaa !9
  %1598 = load i32, ptr %39, align 4, !tbaa !9
  %1599 = and i32 %1598, %1597
  store i32 %1599, ptr %39, align 4, !tbaa !9
  %1600 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %1600, ptr %13, align 4, !tbaa !9
  store i32 44, ptr %40, align 4, !tbaa !9
  %1601 = load i32, ptr %40, align 4, !tbaa !9
  %1602 = load i32, ptr %39, align 4, !tbaa !9
  %1603 = mul i32 %1602, %1601
  store i32 %1603, ptr %39, align 4, !tbaa !9
  %1604 = load i32, ptr %39, align 4, !tbaa !9
  %1605 = load i32, ptr %38, align 4, !tbaa !9
  %1606 = add i32 %1605, %1604
  store i32 %1606, ptr %38, align 4, !tbaa !9
  %1607 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %1607, ptr %9, align 4, !tbaa !9
  %1608 = load ptr, ptr %4, align 8, !tbaa !5
  %1609 = getelementptr inbounds %struct.w2c_hermes, ptr %1608, i32 0, i32 6
  %1610 = load i32, ptr %38, align 4, !tbaa !9
  %1611 = zext i32 %1610 to i64
  %1612 = call i32 @i32_load(ptr noundef %1609, i64 noundef %1611)
  store i32 %1612, ptr %38, align 4, !tbaa !9
  %1613 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %1613, ptr %7, align 4, !tbaa !9
  %1614 = load i32, ptr %37, align 4, !tbaa !9
  %1615 = load i32, ptr %38, align 4, !tbaa !9
  %1616 = icmp eq i32 %1614, %1615
  %1617 = zext i1 %1616 to i32
  store i32 %1617, ptr %37, align 4, !tbaa !9
  %1618 = load i32, ptr %37, align 4, !tbaa !9
  %1619 = icmp ne i32 %1618, 0
  br i1 %1619, label %1620, label %1621

1620:                                             ; preds = %1569
  br label %1725

1621:                                             ; preds = %1569
  store i32 0, ptr %37, align 4, !tbaa !9
  %1622 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1622, ptr %6, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %1623 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1623, ptr %12, align 4, !tbaa !9
  br label %1624

1624:                                             ; preds = %1710, %1621
  %1625 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1625, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %1626 = load i32, ptr %37, align 4, !tbaa !9
  %1627 = load i32, ptr %38, align 4, !tbaa !9
  %1628 = icmp eq i32 %1626, %1627
  %1629 = zext i1 %1628 to i32
  store i32 %1629, ptr %37, align 4, !tbaa !9
  %1630 = load i32, ptr %37, align 4, !tbaa !9
  %1631 = icmp ne i32 %1630, 0
  br i1 %1631, label %1632, label %1645

1632:                                             ; preds = %1624
  %1633 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1633, ptr %37, align 4, !tbaa !9
  %1634 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1634, ptr %38, align 4, !tbaa !9
  %1635 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1635, ptr %39, align 4, !tbaa !9
  %1636 = load i32, ptr %39, align 4, !tbaa !9
  %1637 = icmp ne i32 %1636, 0
  br i1 %1637, label %1638, label %1640

1638:                                             ; preds = %1632
  %1639 = load i32, ptr %37, align 4, !tbaa !9
  br label %1642

1640:                                             ; preds = %1632
  %1641 = load i32, ptr %38, align 4, !tbaa !9
  br label %1642

1642:                                             ; preds = %1640, %1638
  %1643 = phi i32 [ %1639, %1638 ], [ %1641, %1640 ]
  store i32 %1643, ptr %37, align 4, !tbaa !9
  %1644 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1644, ptr %7, align 4, !tbaa !9
  br label %1712

1645:                                             ; preds = %1624
  %1646 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1646, ptr %37, align 4, !tbaa !9
  %1647 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1647, ptr %38, align 4, !tbaa !9
  %1648 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1648, ptr %39, align 4, !tbaa !9
  %1649 = load i32, ptr %39, align 4, !tbaa !9
  %1650 = icmp ne i32 %1649, 0
  br i1 %1650, label %1651, label %1653

1651:                                             ; preds = %1645
  %1652 = load i32, ptr %37, align 4, !tbaa !9
  br label %1655

1653:                                             ; preds = %1645
  %1654 = load i32, ptr %38, align 4, !tbaa !9
  br label %1655

1655:                                             ; preds = %1653, %1651
  %1656 = phi i32 [ %1652, %1651 ], [ %1654, %1653 ]
  store i32 %1656, ptr %37, align 4, !tbaa !9
  %1657 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1657, ptr %38, align 4, !tbaa !9
  %1658 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1658, ptr %39, align 4, !tbaa !9
  store i32 -8, ptr %40, align 4, !tbaa !9
  %1659 = load i32, ptr %39, align 4, !tbaa !9
  %1660 = load i32, ptr %40, align 4, !tbaa !9
  %1661 = icmp eq i32 %1659, %1660
  %1662 = zext i1 %1661 to i32
  store i32 %1662, ptr %39, align 4, !tbaa !9
  %1663 = load i32, ptr %39, align 4, !tbaa !9
  %1664 = icmp ne i32 %1663, 0
  br i1 %1664, label %1665, label %1667

1665:                                             ; preds = %1655
  %1666 = load i32, ptr %37, align 4, !tbaa !9
  br label %1669

1667:                                             ; preds = %1655
  %1668 = load i32, ptr %38, align 4, !tbaa !9
  br label %1669

1669:                                             ; preds = %1667, %1665
  %1670 = phi i32 [ %1666, %1665 ], [ %1668, %1667 ]
  store i32 %1670, ptr %37, align 4, !tbaa !9
  %1671 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1671, ptr %6, align 4, !tbaa !9
  %1672 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1672, ptr %37, align 4, !tbaa !9
  %1673 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1673, ptr %38, align 4, !tbaa !9
  %1674 = load i32, ptr %38, align 4, !tbaa !9
  %1675 = load i32, ptr %37, align 4, !tbaa !9
  %1676 = add i32 %1675, %1674
  store i32 %1676, ptr %37, align 4, !tbaa !9
  %1677 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1677, ptr %7, align 4, !tbaa !9
  %1678 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1678, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %1679 = load i32, ptr %38, align 4, !tbaa !9
  %1680 = load i32, ptr %37, align 4, !tbaa !9
  %1681 = add i32 %1680, %1679
  store i32 %1681, ptr %37, align 4, !tbaa !9
  %1682 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1682, ptr %12, align 4, !tbaa !9
  %1683 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1683, ptr %37, align 4, !tbaa !9
  %1684 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1684, ptr %38, align 4, !tbaa !9
  %1685 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1685, ptr %39, align 4, !tbaa !9
  %1686 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1686, ptr %40, align 4, !tbaa !9
  %1687 = load i32, ptr %40, align 4, !tbaa !9
  %1688 = load i32, ptr %39, align 4, !tbaa !9
  %1689 = and i32 %1688, %1687
  store i32 %1689, ptr %39, align 4, !tbaa !9
  %1690 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %1690, ptr %13, align 4, !tbaa !9
  store i32 44, ptr %40, align 4, !tbaa !9
  %1691 = load i32, ptr %40, align 4, !tbaa !9
  %1692 = load i32, ptr %39, align 4, !tbaa !9
  %1693 = mul i32 %1692, %1691
  store i32 %1693, ptr %39, align 4, !tbaa !9
  %1694 = load i32, ptr %39, align 4, !tbaa !9
  %1695 = load i32, ptr %38, align 4, !tbaa !9
  %1696 = add i32 %1695, %1694
  store i32 %1696, ptr %38, align 4, !tbaa !9
  %1697 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %1697, ptr %9, align 4, !tbaa !9
  %1698 = load ptr, ptr %4, align 8, !tbaa !5
  %1699 = getelementptr inbounds %struct.w2c_hermes, ptr %1698, i32 0, i32 6
  %1700 = load i32, ptr %38, align 4, !tbaa !9
  %1701 = zext i32 %1700 to i64
  %1702 = call i32 @i32_load(ptr noundef %1699, i64 noundef %1701)
  store i32 %1702, ptr %38, align 4, !tbaa !9
  %1703 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %1703, ptr %7, align 4, !tbaa !9
  %1704 = load i32, ptr %37, align 4, !tbaa !9
  %1705 = load i32, ptr %38, align 4, !tbaa !9
  %1706 = icmp ne i32 %1704, %1705
  %1707 = zext i1 %1706 to i32
  store i32 %1707, ptr %37, align 4, !tbaa !9
  %1708 = load i32, ptr %37, align 4, !tbaa !9
  %1709 = icmp ne i32 %1708, 0
  br i1 %1709, label %1710, label %1711

1710:                                             ; preds = %1669
  br label %1624

1711:                                             ; preds = %1669
  br label %1725

1712:                                             ; preds = %1642, %1568
  %1713 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1713, ptr %37, align 4, !tbaa !9
  %1714 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1714, ptr %38, align 4, !tbaa !9
  %1715 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1715, ptr %39, align 4, !tbaa !9
  store i32 60, ptr %40, align 4, !tbaa !9
  %1716 = load i32, ptr %40, align 4, !tbaa !9
  %1717 = load i32, ptr %39, align 4, !tbaa !9
  %1718 = add i32 %1717, %1716
  store i32 %1718, ptr %39, align 4, !tbaa !9
  %1719 = load ptr, ptr %4, align 8, !tbaa !5
  %1720 = load i32, ptr %37, align 4, !tbaa !9
  %1721 = load i32, ptr %38, align 4, !tbaa !9
  %1722 = load i32, ptr %39, align 4, !tbaa !9
  %1723 = call i32 @w2c_hermes_llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x3A0x3AInsertIntoBucket0x3Chermes0x3A0x3ABasicBlock0x2A0x20const0x260x3E0x28llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x20const0x260x29(ptr noundef %1719, i32 noundef %1720, i32 noundef %1721, i32 noundef %1722)
  store i32 %1723, ptr %37, align 4, !tbaa !9
  %1724 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1724, ptr %9, align 4, !tbaa !9
  br label %1725

1725:                                             ; preds = %1712, %1711, %1620
  %1726 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1726, ptr %37, align 4, !tbaa !9
  %1727 = load ptr, ptr %4, align 8, !tbaa !5
  %1728 = getelementptr inbounds %struct.w2c_hermes, ptr %1727, i32 0, i32 6
  %1729 = load i32, ptr %37, align 4, !tbaa !9
  %1730 = zext i32 %1729 to i64
  %1731 = add i64 %1730, 4
  %1732 = call i32 @i32_load(ptr noundef %1728, i64 noundef %1731)
  store i32 %1732, ptr %37, align 4, !tbaa !9
  %1733 = load i32, ptr %37, align 4, !tbaa !9
  %1734 = icmp ne i32 %1733, 0
  br i1 %1734, label %1735, label %1736

1735:                                             ; preds = %1725
  br label %3346

1736:                                             ; preds = %1725
  %1737 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1737, ptr %37, align 4, !tbaa !9
  %1738 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1738, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %1739 = load i32, ptr %39, align 4, !tbaa !9
  %1740 = load i32, ptr %38, align 4, !tbaa !9
  %1741 = add i32 %1740, %1739
  store i32 %1741, ptr %38, align 4, !tbaa !9
  %1742 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %1742, ptr %15, align 4, !tbaa !9
  %1743 = load ptr, ptr %4, align 8, !tbaa !5
  %1744 = getelementptr inbounds %struct.w2c_hermes, ptr %1743, i32 0, i32 6
  %1745 = load i32, ptr %37, align 4, !tbaa !9
  %1746 = zext i32 %1745 to i64
  %1747 = add i64 %1746, 4
  %1748 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1744, i64 noundef %1747, i32 noundef %1748)
  %1749 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1749, ptr %37, align 4, !tbaa !9
  %1750 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1750, ptr %38, align 4, !tbaa !9
  %1751 = load ptr, ptr %4, align 8, !tbaa !5
  %1752 = getelementptr inbounds %struct.w2c_hermes, ptr %1751, i32 0, i32 6
  %1753 = load i32, ptr %37, align 4, !tbaa !9
  %1754 = zext i32 %1753 to i64
  %1755 = add i64 %1754, 12
  %1756 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1752, i64 noundef %1755, i32 noundef %1756)
  %1757 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1757, ptr %37, align 4, !tbaa !9
  %1758 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1758, ptr %38, align 4, !tbaa !9
  %1759 = load ptr, ptr %4, align 8, !tbaa !5
  %1760 = getelementptr inbounds %struct.w2c_hermes, ptr %1759, i32 0, i32 6
  %1761 = load i32, ptr %38, align 4, !tbaa !9
  %1762 = zext i32 %1761 to i64
  %1763 = add i64 %1762, 60
  %1764 = call i32 @i32_load(ptr noundef %1760, i64 noundef %1763)
  store i32 %1764, ptr %38, align 4, !tbaa !9
  %1765 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %1765, ptr %11, align 4, !tbaa !9
  %1766 = load ptr, ptr %4, align 8, !tbaa !5
  %1767 = getelementptr inbounds %struct.w2c_hermes, ptr %1766, i32 0, i32 6
  %1768 = load i32, ptr %37, align 4, !tbaa !9
  %1769 = zext i32 %1768 to i64
  %1770 = add i64 %1769, 16
  %1771 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1767, i64 noundef %1770, i32 noundef %1771)
  %1772 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %1772, ptr %37, align 4, !tbaa !9
  %1773 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1773, ptr %38, align 4, !tbaa !9
  %1774 = load ptr, ptr %4, align 8, !tbaa !5
  %1775 = getelementptr inbounds %struct.w2c_hermes, ptr %1774, i32 0, i32 6
  %1776 = load i32, ptr %38, align 4, !tbaa !9
  %1777 = zext i32 %1776 to i64
  %1778 = add i64 %1777, 4
  %1779 = call i32 @i32_load(ptr noundef %1775, i64 noundef %1778)
  store i32 %1779, ptr %38, align 4, !tbaa !9
  %1780 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %1780, ptr %6, align 4, !tbaa !9
  %1781 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1781, ptr %39, align 4, !tbaa !9
  %1782 = load ptr, ptr %4, align 8, !tbaa !5
  %1783 = getelementptr inbounds %struct.w2c_hermes, ptr %1782, i32 0, i32 6
  %1784 = load i32, ptr %39, align 4, !tbaa !9
  %1785 = zext i32 %1784 to i64
  %1786 = add i64 %1785, 8
  %1787 = call i32 @i32_load(ptr noundef %1783, i64 noundef %1786)
  store i32 %1787, ptr %39, align 4, !tbaa !9
  %1788 = load i32, ptr %38, align 4, !tbaa !9
  %1789 = load i32, ptr %39, align 4, !tbaa !9
  %1790 = icmp ne i32 %1788, %1789
  %1791 = zext i1 %1790 to i32
  store i32 %1791, ptr %38, align 4, !tbaa !9
  %1792 = load i32, ptr %38, align 4, !tbaa !9
  %1793 = icmp ne i32 %1792, 0
  br i1 %1793, label %1794, label %1813

1794:                                             ; preds = %1736
  %1795 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1795, ptr %38, align 4, !tbaa !9
  %1796 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1796, ptr %39, align 4, !tbaa !9
  %1797 = load ptr, ptr %4, align 8, !tbaa !5
  %1798 = getelementptr inbounds %struct.w2c_hermes, ptr %1797, i32 0, i32 6
  %1799 = load i32, ptr %38, align 4, !tbaa !9
  %1800 = zext i32 %1799 to i64
  %1801 = load i32, ptr %39, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1798, i64 noundef %1800, i32 noundef %1801)
  %1802 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1802, ptr %38, align 4, !tbaa !9
  %1803 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1803, ptr %39, align 4, !tbaa !9
  store i32 4, ptr %40, align 4, !tbaa !9
  %1804 = load i32, ptr %40, align 4, !tbaa !9
  %1805 = load i32, ptr %39, align 4, !tbaa !9
  %1806 = add i32 %1805, %1804
  store i32 %1806, ptr %39, align 4, !tbaa !9
  %1807 = load ptr, ptr %4, align 8, !tbaa !5
  %1808 = getelementptr inbounds %struct.w2c_hermes, ptr %1807, i32 0, i32 6
  %1809 = load i32, ptr %38, align 4, !tbaa !9
  %1810 = zext i32 %1809 to i64
  %1811 = add i64 %1810, 4
  %1812 = load i32, ptr %39, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1808, i64 noundef %1811, i32 noundef %1812)
  br label %1970

1813:                                             ; preds = %1736
  %1814 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1814, ptr %38, align 4, !tbaa !9
  %1815 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1815, ptr %39, align 4, !tbaa !9
  %1816 = load ptr, ptr %4, align 8, !tbaa !5
  %1817 = getelementptr inbounds %struct.w2c_hermes, ptr %1816, i32 0, i32 6
  %1818 = load i32, ptr %39, align 4, !tbaa !9
  %1819 = zext i32 %1818 to i64
  %1820 = call i32 @i32_load(ptr noundef %1817, i64 noundef %1819)
  store i32 %1820, ptr %39, align 4, !tbaa !9
  %1821 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %1821, ptr %6, align 4, !tbaa !9
  %1822 = load i32, ptr %39, align 4, !tbaa !9
  %1823 = load i32, ptr %38, align 4, !tbaa !9
  %1824 = sub i32 %1823, %1822
  store i32 %1824, ptr %38, align 4, !tbaa !9
  %1825 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %1825, ptr %7, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %1826 = load i32, ptr %38, align 4, !tbaa !9
  %1827 = load i32, ptr %39, align 4, !tbaa !9
  %1828 = and i32 %1827, 31
  %1829 = ashr i32 %1826, %1828
  store i32 %1829, ptr %38, align 4, !tbaa !9
  %1830 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %1830, ptr %9, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %1831 = load i32, ptr %39, align 4, !tbaa !9
  %1832 = load i32, ptr %38, align 4, !tbaa !9
  %1833 = add i32 %1832, %1831
  store i32 %1833, ptr %38, align 4, !tbaa !9
  %1834 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %1834, ptr %8, align 4, !tbaa !9
  store i32 1073741824, ptr %39, align 4, !tbaa !9
  %1835 = load i32, ptr %38, align 4, !tbaa !9
  %1836 = load i32, ptr %39, align 4, !tbaa !9
  %1837 = icmp uge i32 %1835, %1836
  %1838 = zext i1 %1837 to i32
  store i32 %1838, ptr %38, align 4, !tbaa !9
  %1839 = load i32, ptr %38, align 4, !tbaa !9
  %1840 = icmp ne i32 %1839, 0
  br i1 %1840, label %1841, label %1842

1841:                                             ; preds = %1813
  br label %3323

1842:                                             ; preds = %1813
  store i32 1073741823, ptr %38, align 4, !tbaa !9
  %1843 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1843, ptr %39, align 4, !tbaa !9
  store i32 1, ptr %40, align 4, !tbaa !9
  %1844 = load i32, ptr %39, align 4, !tbaa !9
  %1845 = load i32, ptr %40, align 4, !tbaa !9
  %1846 = and i32 %1845, 31
  %1847 = ashr i32 %1844, %1846
  store i32 %1847, ptr %39, align 4, !tbaa !9
  %1848 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %1848, ptr %13, align 4, !tbaa !9
  %1849 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1849, ptr %40, align 4, !tbaa !9
  %1850 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1850, ptr %41, align 4, !tbaa !9
  %1851 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1851, ptr %42, align 4, !tbaa !9
  %1852 = load i32, ptr %41, align 4, !tbaa !9
  %1853 = load i32, ptr %42, align 4, !tbaa !9
  %1854 = icmp ult i32 %1852, %1853
  %1855 = zext i1 %1854 to i32
  store i32 %1855, ptr %41, align 4, !tbaa !9
  %1856 = load i32, ptr %41, align 4, !tbaa !9
  %1857 = icmp ne i32 %1856, 0
  br i1 %1857, label %1858, label %1860

1858:                                             ; preds = %1842
  %1859 = load i32, ptr %39, align 4, !tbaa !9
  br label %1862

1860:                                             ; preds = %1842
  %1861 = load i32, ptr %40, align 4, !tbaa !9
  br label %1862

1862:                                             ; preds = %1860, %1858
  %1863 = phi i32 [ %1859, %1858 ], [ %1861, %1860 ]
  store i32 %1863, ptr %39, align 4, !tbaa !9
  %1864 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1864, ptr %40, align 4, !tbaa !9
  store i32 2147483644, ptr %41, align 4, !tbaa !9
  %1865 = load i32, ptr %40, align 4, !tbaa !9
  %1866 = load i32, ptr %41, align 4, !tbaa !9
  %1867 = icmp uge i32 %1865, %1866
  %1868 = zext i1 %1867 to i32
  store i32 %1868, ptr %40, align 4, !tbaa !9
  %1869 = load i32, ptr %40, align 4, !tbaa !9
  %1870 = icmp ne i32 %1869, 0
  br i1 %1870, label %1871, label %1873

1871:                                             ; preds = %1862
  %1872 = load i32, ptr %38, align 4, !tbaa !9
  br label %1875

1873:                                             ; preds = %1862
  %1874 = load i32, ptr %39, align 4, !tbaa !9
  br label %1875

1875:                                             ; preds = %1873, %1871
  %1876 = phi i32 [ %1872, %1871 ], [ %1874, %1873 ]
  store i32 %1876, ptr %38, align 4, !tbaa !9
  %1877 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %1877, ptr %8, align 4, !tbaa !9
  %1878 = load i32, ptr %38, align 4, !tbaa !9
  %1879 = icmp ne i32 %1878, 0
  br i1 %1879, label %1880, label %1898

1880:                                             ; preds = %1875
  %1881 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1881, ptr %38, align 4, !tbaa !9
  store i32 1073741824, ptr %39, align 4, !tbaa !9
  %1882 = load i32, ptr %38, align 4, !tbaa !9
  %1883 = load i32, ptr %39, align 4, !tbaa !9
  %1884 = icmp uge i32 %1882, %1883
  %1885 = zext i1 %1884 to i32
  store i32 %1885, ptr %38, align 4, !tbaa !9
  %1886 = load i32, ptr %38, align 4, !tbaa !9
  %1887 = icmp ne i32 %1886, 0
  br i1 %1887, label %1888, label %1889

1888:                                             ; preds = %1880
  br label %3321

1889:                                             ; preds = %1880
  %1890 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1890, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %1891 = load i32, ptr %39, align 4, !tbaa !9
  %1892 = and i32 %1891, 31
  %1893 = load i32, ptr %38, align 4, !tbaa !9
  %1894 = shl i32 %1893, %1892
  store i32 %1894, ptr %38, align 4, !tbaa !9
  %1895 = load ptr, ptr %4, align 8, !tbaa !5
  %1896 = load i32, ptr %38, align 4, !tbaa !9
  %1897 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %1895, i32 noundef %1896)
  store i32 %1897, ptr %38, align 4, !tbaa !9
  br label %1899

1898:                                             ; preds = %1875
  store i32 0, ptr %38, align 4, !tbaa !9
  br label %1899

1899:                                             ; preds = %1898, %1889
  %1900 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %1900, ptr %13, align 4, !tbaa !9
  %1901 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1901, ptr %39, align 4, !tbaa !9
  store i32 2, ptr %40, align 4, !tbaa !9
  %1902 = load i32, ptr %40, align 4, !tbaa !9
  %1903 = and i32 %1902, 31
  %1904 = load i32, ptr %39, align 4, !tbaa !9
  %1905 = shl i32 %1904, %1903
  store i32 %1905, ptr %39, align 4, !tbaa !9
  %1906 = load i32, ptr %39, align 4, !tbaa !9
  %1907 = load i32, ptr %38, align 4, !tbaa !9
  %1908 = add i32 %1907, %1906
  store i32 %1908, ptr %38, align 4, !tbaa !9
  %1909 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %1909, ptr %9, align 4, !tbaa !9
  %1910 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1910, ptr %39, align 4, !tbaa !9
  %1911 = load ptr, ptr %4, align 8, !tbaa !5
  %1912 = getelementptr inbounds %struct.w2c_hermes, ptr %1911, i32 0, i32 6
  %1913 = load i32, ptr %38, align 4, !tbaa !9
  %1914 = zext i32 %1913 to i64
  %1915 = load i32, ptr %39, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1912, i64 noundef %1914, i32 noundef %1915)
  %1916 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1916, ptr %38, align 4, !tbaa !9
  %1917 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1917, ptr %39, align 4, !tbaa !9
  %1918 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1918, ptr %40, align 4, !tbaa !9
  %1919 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1919, ptr %41, align 4, !tbaa !9
  %1920 = load ptr, ptr %4, align 8, !tbaa !5
  %1921 = load i32, ptr %39, align 4, !tbaa !9
  %1922 = load i32, ptr %40, align 4, !tbaa !9
  %1923 = load i32, ptr %41, align 4, !tbaa !9
  %1924 = call i32 @w2c_hermes_memmove(ptr noundef %1920, i32 noundef %1921, i32 noundef %1922, i32 noundef %1923)
  store i32 %1924, ptr %39, align 4, !tbaa !9
  %1925 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %1925, ptr %7, align 4, !tbaa !9
  %1926 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1926, ptr %40, align 4, !tbaa !9
  store i32 2, ptr %41, align 4, !tbaa !9
  %1927 = load i32, ptr %41, align 4, !tbaa !9
  %1928 = and i32 %1927, 31
  %1929 = load i32, ptr %40, align 4, !tbaa !9
  %1930 = shl i32 %1929, %1928
  store i32 %1930, ptr %40, align 4, !tbaa !9
  %1931 = load i32, ptr %40, align 4, !tbaa !9
  %1932 = load i32, ptr %39, align 4, !tbaa !9
  %1933 = add i32 %1932, %1931
  store i32 %1933, ptr %39, align 4, !tbaa !9
  %1934 = load ptr, ptr %4, align 8, !tbaa !5
  %1935 = getelementptr inbounds %struct.w2c_hermes, ptr %1934, i32 0, i32 6
  %1936 = load i32, ptr %38, align 4, !tbaa !9
  %1937 = zext i32 %1936 to i64
  %1938 = add i64 %1937, 8
  %1939 = load i32, ptr %39, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1935, i64 noundef %1938, i32 noundef %1939)
  %1940 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1940, ptr %38, align 4, !tbaa !9
  %1941 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1941, ptr %39, align 4, !tbaa !9
  store i32 4, ptr %40, align 4, !tbaa !9
  %1942 = load i32, ptr %40, align 4, !tbaa !9
  %1943 = load i32, ptr %39, align 4, !tbaa !9
  %1944 = add i32 %1943, %1942
  store i32 %1944, ptr %39, align 4, !tbaa !9
  %1945 = load ptr, ptr %4, align 8, !tbaa !5
  %1946 = getelementptr inbounds %struct.w2c_hermes, ptr %1945, i32 0, i32 6
  %1947 = load i32, ptr %38, align 4, !tbaa !9
  %1948 = zext i32 %1947 to i64
  %1949 = add i64 %1948, 4
  %1950 = load i32, ptr %39, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1946, i64 noundef %1949, i32 noundef %1950)
  %1951 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1951, ptr %38, align 4, !tbaa !9
  %1952 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1952, ptr %39, align 4, !tbaa !9
  %1953 = load ptr, ptr %4, align 8, !tbaa !5
  %1954 = getelementptr inbounds %struct.w2c_hermes, ptr %1953, i32 0, i32 6
  %1955 = load i32, ptr %38, align 4, !tbaa !9
  %1956 = zext i32 %1955 to i64
  %1957 = load i32, ptr %39, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1954, i64 noundef %1956, i32 noundef %1957)
  %1958 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1958, ptr %38, align 4, !tbaa !9
  %1959 = load i32, ptr %38, align 4, !tbaa !9
  %1960 = icmp ne i32 %1959, 0
  %1961 = xor i1 %1960, true
  %1962 = zext i1 %1961 to i32
  store i32 %1962, ptr %38, align 4, !tbaa !9
  %1963 = load i32, ptr %38, align 4, !tbaa !9
  %1964 = icmp ne i32 %1963, 0
  br i1 %1964, label %1965, label %1966

1965:                                             ; preds = %1899
  br label %1970

1966:                                             ; preds = %1899
  %1967 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1967, ptr %38, align 4, !tbaa !9
  %1968 = load ptr, ptr %4, align 8, !tbaa !5
  %1969 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %1968, i32 noundef %1969)
  br label %1970

1970:                                             ; preds = %1966, %1965, %1794
  %1971 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1971, ptr %38, align 4, !tbaa !9
  store i32 16, ptr %39, align 4, !tbaa !9
  %1972 = load i32, ptr %39, align 4, !tbaa !9
  %1973 = load i32, ptr %38, align 4, !tbaa !9
  %1974 = add i32 %1973, %1972
  store i32 %1974, ptr %38, align 4, !tbaa !9
  %1975 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %1975, ptr %11, align 4, !tbaa !9
  %1976 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1976, ptr %38, align 4, !tbaa !9
  %1977 = load ptr, ptr %4, align 8, !tbaa !5
  %1978 = getelementptr inbounds %struct.w2c_hermes, ptr %1977, i32 0, i32 6
  %1979 = load i32, ptr %38, align 4, !tbaa !9
  %1980 = zext i32 %1979 to i64
  %1981 = add i64 %1980, 28
  %1982 = call i32 @i32_load(ptr noundef %1978, i64 noundef %1981)
  store i32 %1982, ptr %38, align 4, !tbaa !9
  %1983 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %1983, ptr %17, align 4, !tbaa !9
  %1984 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1984, ptr %38, align 4, !tbaa !9
  %1985 = load ptr, ptr %4, align 8, !tbaa !5
  %1986 = getelementptr inbounds %struct.w2c_hermes, ptr %1985, i32 0, i32 6
  %1987 = load i32, ptr %38, align 4, !tbaa !9
  %1988 = zext i32 %1987 to i64
  %1989 = add i64 %1988, 60
  %1990 = call i32 @i32_load(ptr noundef %1986, i64 noundef %1989)
  store i32 %1990, ptr %38, align 4, !tbaa !9
  %1991 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %1991, ptr %13, align 4, !tbaa !9
  %1992 = load ptr, ptr %4, align 8, !tbaa !5
  %1993 = load i32, ptr %38, align 4, !tbaa !9
  %1994 = call i32 @w2c_hermes_hermes0x3A0x3ABasicBlock0x3A0x3AgetTerminator0x280x29(ptr noundef %1992, i32 noundef %1993)
  store i32 %1994, ptr %38, align 4, !tbaa !9
  %1995 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1995, ptr %38, align 4, !tbaa !9
  %1996 = load ptr, ptr %4, align 8, !tbaa !5
  %1997 = load i32, ptr %38, align 4, !tbaa !9
  %1998 = call i32 @w2c_hermes_hermes0x3A0x3ABasicBlock0x3A0x3AgetTerminator0x280x29(ptr noundef %1996, i32 noundef %1997)
  store i32 %1998, ptr %38, align 4, !tbaa !9
  %1999 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %1999, ptr %12, align 4, !tbaa !9
  %2000 = load i32, ptr %38, align 4, !tbaa !9
  %2001 = icmp ne i32 %2000, 0
  %2002 = xor i1 %2001, true
  %2003 = zext i1 %2002 to i32
  store i32 %2003, ptr %38, align 4, !tbaa !9
  %2004 = load i32, ptr %38, align 4, !tbaa !9
  %2005 = icmp ne i32 %2004, 0
  br i1 %2005, label %2006, label %2029

2006:                                             ; preds = %1970
  %2007 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2007, ptr %38, align 4, !tbaa !9
  store i64 34359738368, ptr %45, align 8, !tbaa !11
  %2008 = load ptr, ptr %4, align 8, !tbaa !5
  %2009 = getelementptr inbounds %struct.w2c_hermes, ptr %2008, i32 0, i32 6
  %2010 = load i32, ptr %38, align 4, !tbaa !9
  %2011 = zext i32 %2010 to i64
  %2012 = add i64 %2011, 4
  %2013 = load i64, ptr %45, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2009, i64 noundef %2012, i64 noundef %2013)
  %2014 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2014, ptr %38, align 4, !tbaa !9
  %2015 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2015, ptr %39, align 4, !tbaa !9
  store i32 12, ptr %40, align 4, !tbaa !9
  %2016 = load i32, ptr %40, align 4, !tbaa !9
  %2017 = load i32, ptr %39, align 4, !tbaa !9
  %2018 = add i32 %2017, %2016
  store i32 %2018, ptr %39, align 4, !tbaa !9
  %2019 = load ptr, ptr %4, align 8, !tbaa !5
  %2020 = getelementptr inbounds %struct.w2c_hermes, ptr %2019, i32 0, i32 6
  %2021 = load i32, ptr %38, align 4, !tbaa !9
  %2022 = zext i32 %2021 to i64
  %2023 = load i32, ptr %39, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2020, i64 noundef %2022, i32 noundef %2023)
  %2024 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2024, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %2025 = load i32, ptr %39, align 4, !tbaa !9
  %2026 = load i32, ptr %38, align 4, !tbaa !9
  %2027 = add i32 %2026, %2025
  store i32 %2027, ptr %38, align 4, !tbaa !9
  %2028 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2028, ptr %9, align 4, !tbaa !9
  br label %2080

2029:                                             ; preds = %1970
  %2030 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2030, ptr %38, align 4, !tbaa !9
  %2031 = load ptr, ptr %4, align 8, !tbaa !5
  %2032 = load i32, ptr %38, align 4, !tbaa !9
  %2033 = call i32 @w2c_hermes_hermes0x3A0x3ATerminatorInst0x3A0x3AgetNumSuccessors0x280x290x20const(ptr noundef %2031, i32 noundef %2032)
  store i32 %2033, ptr %38, align 4, !tbaa !9
  %2034 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2034, ptr %7, align 4, !tbaa !9
  %2035 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2035, ptr %38, align 4, !tbaa !9
  store i64 34359738368, ptr %45, align 8, !tbaa !11
  %2036 = load ptr, ptr %4, align 8, !tbaa !5
  %2037 = getelementptr inbounds %struct.w2c_hermes, ptr %2036, i32 0, i32 6
  %2038 = load i32, ptr %38, align 4, !tbaa !9
  %2039 = zext i32 %2038 to i64
  %2040 = add i64 %2039, 4
  %2041 = load i64, ptr %45, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2037, i64 noundef %2040, i64 noundef %2041)
  %2042 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2042, ptr %38, align 4, !tbaa !9
  %2043 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2043, ptr %39, align 4, !tbaa !9
  store i32 12, ptr %40, align 4, !tbaa !9
  %2044 = load i32, ptr %40, align 4, !tbaa !9
  %2045 = load i32, ptr %39, align 4, !tbaa !9
  %2046 = add i32 %2045, %2044
  store i32 %2046, ptr %39, align 4, !tbaa !9
  %2047 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %2047, ptr %6, align 4, !tbaa !9
  %2048 = load ptr, ptr %4, align 8, !tbaa !5
  %2049 = getelementptr inbounds %struct.w2c_hermes, ptr %2048, i32 0, i32 6
  %2050 = load i32, ptr %38, align 4, !tbaa !9
  %2051 = zext i32 %2050 to i64
  %2052 = load i32, ptr %39, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2049, i64 noundef %2051, i32 noundef %2052)
  %2053 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2053, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %2054 = load i32, ptr %39, align 4, !tbaa !9
  %2055 = load i32, ptr %38, align 4, !tbaa !9
  %2056 = add i32 %2055, %2054
  store i32 %2056, ptr %38, align 4, !tbaa !9
  %2057 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2057, ptr %9, align 4, !tbaa !9
  %2058 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2058, ptr %38, align 4, !tbaa !9
  store i32 9, ptr %39, align 4, !tbaa !9
  %2059 = load i32, ptr %38, align 4, !tbaa !9
  %2060 = load i32, ptr %39, align 4, !tbaa !9
  %2061 = icmp uge i32 %2059, %2060
  %2062 = zext i1 %2061 to i32
  store i32 %2062, ptr %38, align 4, !tbaa !9
  %2063 = load i32, ptr %38, align 4, !tbaa !9
  %2064 = icmp ne i32 %2063, 0
  br i1 %2064, label %2065, label %2074

2065:                                             ; preds = %2029
  %2066 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2066, ptr %38, align 4, !tbaa !9
  %2067 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2067, ptr %39, align 4, !tbaa !9
  %2068 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2068, ptr %40, align 4, !tbaa !9
  store i32 4, ptr %41, align 4, !tbaa !9
  %2069 = load ptr, ptr %4, align 8, !tbaa !5
  %2070 = load i32, ptr %38, align 4, !tbaa !9
  %2071 = load i32, ptr %39, align 4, !tbaa !9
  %2072 = load i32, ptr %40, align 4, !tbaa !9
  %2073 = load i32, ptr %41, align 4, !tbaa !9
  call void @w2c_hermes_llvh0x3A0x3ASmallVectorBase0x3A0x3Agrow_pod0x28void0x2A0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef %2069, i32 noundef %2070, i32 noundef %2071, i32 noundef %2072, i32 noundef %2073)
  br label %2082

2074:                                             ; preds = %2029
  %2075 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2075, ptr %38, align 4, !tbaa !9
  %2076 = load i32, ptr %38, align 4, !tbaa !9
  %2077 = icmp ne i32 %2076, 0
  br i1 %2077, label %2078, label %2079

2078:                                             ; preds = %2074
  br label %2082

2079:                                             ; preds = %2074
  br label %2080

2080:                                             ; preds = %2079, %2006
  store i32 0, ptr %38, align 4, !tbaa !9
  %2081 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2081, ptr %7, align 4, !tbaa !9
  br label %2133

2082:                                             ; preds = %2078, %2065
  %2083 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2083, ptr %38, align 4, !tbaa !9
  %2084 = load ptr, ptr %4, align 8, !tbaa !5
  %2085 = getelementptr inbounds %struct.w2c_hermes, ptr %2084, i32 0, i32 6
  %2086 = load i32, ptr %38, align 4, !tbaa !9
  %2087 = zext i32 %2086 to i64
  %2088 = call i32 @i32_load(ptr noundef %2085, i64 noundef %2087)
  store i32 %2088, ptr %38, align 4, !tbaa !9
  %2089 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2089, ptr %39, align 4, !tbaa !9
  %2090 = load ptr, ptr %4, align 8, !tbaa !5
  %2091 = getelementptr inbounds %struct.w2c_hermes, ptr %2090, i32 0, i32 6
  %2092 = load i32, ptr %39, align 4, !tbaa !9
  %2093 = zext i32 %2092 to i64
  %2094 = add i64 %2093, 4
  %2095 = call i32 @i32_load(ptr noundef %2091, i64 noundef %2094)
  store i32 %2095, ptr %39, align 4, !tbaa !9
  store i32 2, ptr %40, align 4, !tbaa !9
  %2096 = load i32, ptr %40, align 4, !tbaa !9
  %2097 = and i32 %2096, 31
  %2098 = load i32, ptr %39, align 4, !tbaa !9
  %2099 = shl i32 %2098, %2097
  store i32 %2099, ptr %39, align 4, !tbaa !9
  %2100 = load i32, ptr %39, align 4, !tbaa !9
  %2101 = load i32, ptr %38, align 4, !tbaa !9
  %2102 = add i32 %2101, %2100
  store i32 %2102, ptr %38, align 4, !tbaa !9
  %2103 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2103, ptr %8, align 4, !tbaa !9
  %2104 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2104, ptr %38, align 4, !tbaa !9
  %2105 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2105, ptr %6, align 4, !tbaa !9
  br label %2106

2106:                                             ; preds = %2131, %2082
  %2107 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2107, ptr %38, align 4, !tbaa !9
  %2108 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2108, ptr %39, align 4, !tbaa !9
  %2109 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2109, ptr %40, align 4, !tbaa !9
  store i32 1, ptr %41, align 4, !tbaa !9
  %2110 = load i32, ptr %41, align 4, !tbaa !9
  %2111 = load i32, ptr %40, align 4, !tbaa !9
  %2112 = sub i32 %2111, %2110
  store i32 %2112, ptr %40, align 4, !tbaa !9
  %2113 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %2113, ptr %6, align 4, !tbaa !9
  %2114 = load ptr, ptr %4, align 8, !tbaa !5
  %2115 = load i32, ptr %39, align 4, !tbaa !9
  %2116 = load i32, ptr %40, align 4, !tbaa !9
  %2117 = call i32 @w2c_hermes_hermes0x3A0x3ATerminatorInst0x3A0x3AgetSuccessor0x28unsigned0x20int0x290x20const(ptr noundef %2114, i32 noundef %2115, i32 noundef %2116)
  store i32 %2117, ptr %39, align 4, !tbaa !9
  %2118 = load ptr, ptr %4, align 8, !tbaa !5
  %2119 = getelementptr inbounds %struct.w2c_hermes, ptr %2118, i32 0, i32 6
  %2120 = load i32, ptr %38, align 4, !tbaa !9
  %2121 = zext i32 %2120 to i64
  %2122 = load i32, ptr %39, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2119, i64 noundef %2121, i32 noundef %2122)
  %2123 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2123, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %2124 = load i32, ptr %39, align 4, !tbaa !9
  %2125 = load i32, ptr %38, align 4, !tbaa !9
  %2126 = add i32 %2125, %2124
  store i32 %2126, ptr %38, align 4, !tbaa !9
  %2127 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2127, ptr %8, align 4, !tbaa !9
  %2128 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2128, ptr %38, align 4, !tbaa !9
  %2129 = load i32, ptr %38, align 4, !tbaa !9
  %2130 = icmp ne i32 %2129, 0
  br i1 %2130, label %2131, label %2132

2131:                                             ; preds = %2106
  br label %2106

2132:                                             ; preds = %2106
  br label %2133

2133:                                             ; preds = %2132, %2080
  %2134 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2134, ptr %38, align 4, !tbaa !9
  %2135 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2135, ptr %39, align 4, !tbaa !9
  %2136 = load ptr, ptr %4, align 8, !tbaa !5
  %2137 = getelementptr inbounds %struct.w2c_hermes, ptr %2136, i32 0, i32 6
  %2138 = load i32, ptr %39, align 4, !tbaa !9
  %2139 = zext i32 %2138 to i64
  %2140 = call i32 @i32_load(ptr noundef %2137, i64 noundef %2139)
  store i32 %2140, ptr %39, align 4, !tbaa !9
  %2141 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2141, ptr %40, align 4, !tbaa !9
  %2142 = load i32, ptr %40, align 4, !tbaa !9
  %2143 = load i32, ptr %39, align 4, !tbaa !9
  %2144 = add i32 %2143, %2142
  store i32 %2144, ptr %39, align 4, !tbaa !9
  %2145 = load ptr, ptr %4, align 8, !tbaa !5
  %2146 = getelementptr inbounds %struct.w2c_hermes, ptr %2145, i32 0, i32 6
  %2147 = load i32, ptr %38, align 4, !tbaa !9
  %2148 = zext i32 %2147 to i64
  %2149 = load i32, ptr %39, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2146, i64 noundef %2148, i32 noundef %2149)
  %2150 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2150, ptr %38, align 4, !tbaa !9
  %2151 = load i32, ptr %38, align 4, !tbaa !9
  %2152 = icmp ne i32 %2151, 0
  %2153 = xor i1 %2152, true
  %2154 = zext i1 %2153 to i32
  store i32 %2154, ptr %38, align 4, !tbaa !9
  %2155 = load i32, ptr %38, align 4, !tbaa !9
  %2156 = icmp ne i32 %2155, 0
  br i1 %2156, label %2157, label %2158

2157:                                             ; preds = %2133
  br label %2614

2158:                                             ; preds = %2133
  %2159 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2159, ptr %38, align 4, !tbaa !9
  %2160 = load ptr, ptr %4, align 8, !tbaa !5
  %2161 = getelementptr inbounds %struct.w2c_hermes, ptr %2160, i32 0, i32 6
  %2162 = load i32, ptr %38, align 4, !tbaa !9
  %2163 = zext i32 %2162 to i64
  %2164 = add i64 %2163, 44
  %2165 = call i32 @i32_load(ptr noundef %2161, i64 noundef %2164)
  store i32 %2165, ptr %38, align 4, !tbaa !9
  %2166 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2166, ptr %8, align 4, !tbaa !9
  %2167 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2167, ptr %38, align 4, !tbaa !9
  %2168 = load ptr, ptr %4, align 8, !tbaa !5
  %2169 = getelementptr inbounds %struct.w2c_hermes, ptr %2168, i32 0, i32 6
  %2170 = load i32, ptr %38, align 4, !tbaa !9
  %2171 = zext i32 %2170 to i64
  %2172 = add i64 %2171, 56
  %2173 = call i32 @i32_load(ptr noundef %2169, i64 noundef %2172)
  store i32 %2173, ptr %38, align 4, !tbaa !9
  %2174 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2174, ptr %17, align 4, !tbaa !9
  %2175 = load i32, ptr %38, align 4, !tbaa !9
  %2176 = icmp ne i32 %2175, 0
  %2177 = xor i1 %2176, true
  %2178 = zext i1 %2177 to i32
  store i32 %2178, ptr %38, align 4, !tbaa !9
  %2179 = load i32, ptr %38, align 4, !tbaa !9
  %2180 = icmp ne i32 %2179, 0
  br i1 %2180, label %2181, label %2182

2181:                                             ; preds = %2158
  br label %2281

2182:                                             ; preds = %2158
  %2183 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2183, ptr %38, align 4, !tbaa !9
  %2184 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2184, ptr %39, align 4, !tbaa !9
  store i32 1, ptr %40, align 4, !tbaa !9
  %2185 = load i32, ptr %40, align 4, !tbaa !9
  %2186 = load i32, ptr %39, align 4, !tbaa !9
  %2187 = sub i32 %2186, %2185
  store i32 %2187, ptr %39, align 4, !tbaa !9
  %2188 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %2188, ptr %19, align 4, !tbaa !9
  %2189 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2189, ptr %40, align 4, !tbaa !9
  store i32 4, ptr %41, align 4, !tbaa !9
  %2190 = load i32, ptr %41, align 4, !tbaa !9
  %2191 = and i32 %2190, 31
  %2192 = load i32, ptr %40, align 4, !tbaa !9
  %2193 = lshr i32 %2192, %2191
  store i32 %2193, ptr %40, align 4, !tbaa !9
  %2194 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2194, ptr %41, align 4, !tbaa !9
  store i32 9, ptr %42, align 4, !tbaa !9
  %2195 = load i32, ptr %42, align 4, !tbaa !9
  %2196 = and i32 %2195, 31
  %2197 = load i32, ptr %41, align 4, !tbaa !9
  %2198 = lshr i32 %2197, %2196
  store i32 %2198, ptr %41, align 4, !tbaa !9
  %2199 = load i32, ptr %41, align 4, !tbaa !9
  %2200 = load i32, ptr %40, align 4, !tbaa !9
  %2201 = xor i32 %2200, %2199
  store i32 %2201, ptr %40, align 4, !tbaa !9
  %2202 = load i32, ptr %40, align 4, !tbaa !9
  %2203 = load i32, ptr %39, align 4, !tbaa !9
  %2204 = and i32 %2203, %2202
  store i32 %2204, ptr %39, align 4, !tbaa !9
  %2205 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %2205, ptr %9, align 4, !tbaa !9
  store i32 5, ptr %40, align 4, !tbaa !9
  %2206 = load i32, ptr %40, align 4, !tbaa !9
  %2207 = and i32 %2206, 31
  %2208 = load i32, ptr %39, align 4, !tbaa !9
  %2209 = shl i32 %2208, %2207
  store i32 %2209, ptr %39, align 4, !tbaa !9
  %2210 = load i32, ptr %39, align 4, !tbaa !9
  %2211 = load i32, ptr %38, align 4, !tbaa !9
  %2212 = add i32 %2211, %2210
  store i32 %2212, ptr %38, align 4, !tbaa !9
  %2213 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2213, ptr %6, align 4, !tbaa !9
  %2214 = load ptr, ptr %4, align 8, !tbaa !5
  %2215 = getelementptr inbounds %struct.w2c_hermes, ptr %2214, i32 0, i32 6
  %2216 = load i32, ptr %38, align 4, !tbaa !9
  %2217 = zext i32 %2216 to i64
  %2218 = call i32 @i32_load(ptr noundef %2215, i64 noundef %2217)
  store i32 %2218, ptr %38, align 4, !tbaa !9
  %2219 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2219, ptr %7, align 4, !tbaa !9
  %2220 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2220, ptr %39, align 4, !tbaa !9
  %2221 = load i32, ptr %38, align 4, !tbaa !9
  %2222 = load i32, ptr %39, align 4, !tbaa !9
  %2223 = icmp eq i32 %2221, %2222
  %2224 = zext i1 %2223 to i32
  store i32 %2224, ptr %38, align 4, !tbaa !9
  %2225 = load i32, ptr %38, align 4, !tbaa !9
  %2226 = icmp ne i32 %2225, 0
  br i1 %2226, label %2227, label %2228

2227:                                             ; preds = %2182
  br label %2292

2228:                                             ; preds = %2182
  store i32 1, ptr %38, align 4, !tbaa !9
  %2229 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2229, ptr %12, align 4, !tbaa !9
  br label %2230

2230:                                             ; preds = %2279, %2228
  %2231 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2231, ptr %38, align 4, !tbaa !9
  store i32 -4, ptr %39, align 4, !tbaa !9
  %2232 = load i32, ptr %38, align 4, !tbaa !9
  %2233 = load i32, ptr %39, align 4, !tbaa !9
  %2234 = icmp eq i32 %2232, %2233
  %2235 = zext i1 %2234 to i32
  store i32 %2235, ptr %38, align 4, !tbaa !9
  %2236 = load i32, ptr %38, align 4, !tbaa !9
  %2237 = icmp ne i32 %2236, 0
  br i1 %2237, label %2238, label %2239

2238:                                             ; preds = %2230
  br label %2281

2239:                                             ; preds = %2230
  %2240 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2240, ptr %38, align 4, !tbaa !9
  %2241 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2241, ptr %39, align 4, !tbaa !9
  %2242 = load i32, ptr %39, align 4, !tbaa !9
  %2243 = load i32, ptr %38, align 4, !tbaa !9
  %2244 = add i32 %2243, %2242
  store i32 %2244, ptr %38, align 4, !tbaa !9
  %2245 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2245, ptr %6, align 4, !tbaa !9
  %2246 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2246, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %2247 = load i32, ptr %39, align 4, !tbaa !9
  %2248 = load i32, ptr %38, align 4, !tbaa !9
  %2249 = add i32 %2248, %2247
  store i32 %2249, ptr %38, align 4, !tbaa !9
  %2250 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2250, ptr %12, align 4, !tbaa !9
  %2251 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2251, ptr %38, align 4, !tbaa !9
  %2252 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2252, ptr %39, align 4, !tbaa !9
  %2253 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2253, ptr %40, align 4, !tbaa !9
  %2254 = load i32, ptr %40, align 4, !tbaa !9
  %2255 = load i32, ptr %39, align 4, !tbaa !9
  %2256 = and i32 %2255, %2254
  store i32 %2256, ptr %39, align 4, !tbaa !9
  %2257 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %2257, ptr %9, align 4, !tbaa !9
  store i32 5, ptr %40, align 4, !tbaa !9
  %2258 = load i32, ptr %40, align 4, !tbaa !9
  %2259 = and i32 %2258, 31
  %2260 = load i32, ptr %39, align 4, !tbaa !9
  %2261 = shl i32 %2260, %2259
  store i32 %2261, ptr %39, align 4, !tbaa !9
  %2262 = load i32, ptr %39, align 4, !tbaa !9
  %2263 = load i32, ptr %38, align 4, !tbaa !9
  %2264 = add i32 %2263, %2262
  store i32 %2264, ptr %38, align 4, !tbaa !9
  %2265 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2265, ptr %6, align 4, !tbaa !9
  %2266 = load ptr, ptr %4, align 8, !tbaa !5
  %2267 = getelementptr inbounds %struct.w2c_hermes, ptr %2266, i32 0, i32 6
  %2268 = load i32, ptr %38, align 4, !tbaa !9
  %2269 = zext i32 %2268 to i64
  %2270 = call i32 @i32_load(ptr noundef %2267, i64 noundef %2269)
  store i32 %2270, ptr %38, align 4, !tbaa !9
  %2271 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2271, ptr %7, align 4, !tbaa !9
  %2272 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2272, ptr %39, align 4, !tbaa !9
  %2273 = load i32, ptr %38, align 4, !tbaa !9
  %2274 = load i32, ptr %39, align 4, !tbaa !9
  %2275 = icmp ne i32 %2273, %2274
  %2276 = zext i1 %2275 to i32
  store i32 %2276, ptr %38, align 4, !tbaa !9
  %2277 = load i32, ptr %38, align 4, !tbaa !9
  %2278 = icmp ne i32 %2277, 0
  br i1 %2278, label %2279, label %2280

2279:                                             ; preds = %2239
  br label %2230

2280:                                             ; preds = %2239
  br label %2292

2281:                                             ; preds = %2238, %2181
  %2282 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2282, ptr %38, align 4, !tbaa !9
  %2283 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2283, ptr %39, align 4, !tbaa !9
  store i32 5, ptr %40, align 4, !tbaa !9
  %2284 = load i32, ptr %40, align 4, !tbaa !9
  %2285 = and i32 %2284, 31
  %2286 = load i32, ptr %39, align 4, !tbaa !9
  %2287 = shl i32 %2286, %2285
  store i32 %2287, ptr %39, align 4, !tbaa !9
  %2288 = load i32, ptr %39, align 4, !tbaa !9
  %2289 = load i32, ptr %38, align 4, !tbaa !9
  %2290 = add i32 %2289, %2288
  store i32 %2290, ptr %38, align 4, !tbaa !9
  %2291 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2291, ptr %6, align 4, !tbaa !9
  br label %2292

2292:                                             ; preds = %2281, %2280, %2227
  %2293 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2293, ptr %38, align 4, !tbaa !9
  %2294 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2294, ptr %39, align 4, !tbaa !9
  %2295 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2295, ptr %40, align 4, !tbaa !9
  store i32 5, ptr %41, align 4, !tbaa !9
  %2296 = load i32, ptr %41, align 4, !tbaa !9
  %2297 = and i32 %2296, 31
  %2298 = load i32, ptr %40, align 4, !tbaa !9
  %2299 = shl i32 %2298, %2297
  store i32 %2299, ptr %40, align 4, !tbaa !9
  %2300 = load i32, ptr %40, align 4, !tbaa !9
  %2301 = load i32, ptr %39, align 4, !tbaa !9
  %2302 = add i32 %2301, %2300
  store i32 %2302, ptr %39, align 4, !tbaa !9
  %2303 = load i32, ptr %38, align 4, !tbaa !9
  %2304 = load i32, ptr %39, align 4, !tbaa !9
  %2305 = icmp eq i32 %2303, %2304
  %2306 = zext i1 %2305 to i32
  store i32 %2306, ptr %38, align 4, !tbaa !9
  %2307 = load i32, ptr %38, align 4, !tbaa !9
  %2308 = icmp ne i32 %2307, 0
  br i1 %2308, label %2309, label %2310

2309:                                             ; preds = %2292
  br label %2614

2310:                                             ; preds = %2292
  %2311 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2311, ptr %38, align 4, !tbaa !9
  %2312 = load ptr, ptr %4, align 8, !tbaa !5
  %2313 = getelementptr inbounds %struct.w2c_hermes, ptr %2312, i32 0, i32 6
  %2314 = load i32, ptr %38, align 4, !tbaa !9
  %2315 = zext i32 %2314 to i64
  %2316 = add i64 %2315, 8
  %2317 = call i32 @i32_load(ptr noundef %2313, i64 noundef %2316)
  store i32 %2317, ptr %38, align 4, !tbaa !9
  %2318 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2318, ptr %7, align 4, !tbaa !9
  %2319 = load i32, ptr %38, align 4, !tbaa !9
  %2320 = icmp ne i32 %2319, 0
  %2321 = xor i1 %2320, true
  %2322 = zext i1 %2321 to i32
  store i32 %2322, ptr %38, align 4, !tbaa !9
  %2323 = load i32, ptr %38, align 4, !tbaa !9
  %2324 = icmp ne i32 %2323, 0
  br i1 %2324, label %2325, label %2326

2325:                                             ; preds = %2310
  br label %2614

2326:                                             ; preds = %2310
  %2327 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2327, ptr %38, align 4, !tbaa !9
  %2328 = load ptr, ptr %4, align 8, !tbaa !5
  %2329 = getelementptr inbounds %struct.w2c_hermes, ptr %2328, i32 0, i32 6
  %2330 = load i32, ptr %38, align 4, !tbaa !9
  %2331 = zext i32 %2330 to i64
  %2332 = add i64 %2331, 4
  %2333 = call i32 @i32_load(ptr noundef %2329, i64 noundef %2332)
  store i32 %2333, ptr %38, align 4, !tbaa !9
  %2334 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2334, ptr %9, align 4, !tbaa !9
  %2335 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2335, ptr %39, align 4, !tbaa !9
  store i32 2, ptr %40, align 4, !tbaa !9
  %2336 = load i32, ptr %40, align 4, !tbaa !9
  %2337 = and i32 %2336, 31
  %2338 = load i32, ptr %39, align 4, !tbaa !9
  %2339 = shl i32 %2338, %2337
  store i32 %2339, ptr %39, align 4, !tbaa !9
  %2340 = load i32, ptr %39, align 4, !tbaa !9
  %2341 = load i32, ptr %38, align 4, !tbaa !9
  %2342 = add i32 %2341, %2340
  store i32 %2342, ptr %38, align 4, !tbaa !9
  %2343 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2343, ptr %12, align 4, !tbaa !9
  %2344 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2344, ptr %38, align 4, !tbaa !9
  store i32 12, ptr %39, align 4, !tbaa !9
  %2345 = load i32, ptr %39, align 4, !tbaa !9
  %2346 = load i32, ptr %38, align 4, !tbaa !9
  %2347 = add i32 %2346, %2345
  store i32 %2347, ptr %38, align 4, !tbaa !9
  %2348 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2348, ptr %19, align 4, !tbaa !9
  br label %2349

2349:                                             ; preds = %2612, %2326
  %2350 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2350, ptr %38, align 4, !tbaa !9
  %2351 = load ptr, ptr %4, align 8, !tbaa !5
  %2352 = getelementptr inbounds %struct.w2c_hermes, ptr %2351, i32 0, i32 6
  %2353 = load i32, ptr %38, align 4, !tbaa !9
  %2354 = zext i32 %2353 to i64
  %2355 = call i32 @i32_load(ptr noundef %2352, i64 noundef %2354)
  store i32 %2355, ptr %38, align 4, !tbaa !9
  %2356 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2356, ptr %6, align 4, !tbaa !9
  store i32 -4, ptr %39, align 4, !tbaa !9
  %2357 = load i32, ptr %39, align 4, !tbaa !9
  %2358 = load i32, ptr %38, align 4, !tbaa !9
  %2359 = and i32 %2358, %2357
  store i32 %2359, ptr %38, align 4, !tbaa !9
  %2360 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2360, ptr %13, align 4, !tbaa !9
  %2361 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2361, ptr %38, align 4, !tbaa !9
  %2362 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2362, ptr %39, align 4, !tbaa !9
  store i32 2, ptr %40, align 4, !tbaa !9
  %2363 = load i32, ptr %40, align 4, !tbaa !9
  %2364 = load i32, ptr %39, align 4, !tbaa !9
  %2365 = and i32 %2364, %2363
  store i32 %2365, ptr %39, align 4, !tbaa !9
  %2366 = load i32, ptr %39, align 4, !tbaa !9
  %2367 = icmp ne i32 %2366, 0
  %2368 = xor i1 %2367, true
  %2369 = zext i1 %2368 to i32
  store i32 %2369, ptr %39, align 4, !tbaa !9
  %2370 = load i32, ptr %39, align 4, !tbaa !9
  %2371 = icmp ne i32 %2370, 0
  br i1 %2371, label %2372, label %2524

2372:                                             ; preds = %2349
  %2373 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2373, ptr %39, align 4, !tbaa !9
  %2374 = load ptr, ptr %4, align 8, !tbaa !5
  %2375 = getelementptr inbounds %struct.w2c_hermes, ptr %2374, i32 0, i32 6
  %2376 = load i32, ptr %39, align 4, !tbaa !9
  %2377 = zext i32 %2376 to i64
  %2378 = call i32 @i32_load(ptr noundef %2375, i64 noundef %2377)
  store i32 %2378, ptr %39, align 4, !tbaa !9
  %2379 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %2379, ptr %7, align 4, !tbaa !9
  %2380 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2380, ptr %40, align 4, !tbaa !9
  %2381 = load ptr, ptr %4, align 8, !tbaa !5
  %2382 = getelementptr inbounds %struct.w2c_hermes, ptr %2381, i32 0, i32 6
  %2383 = load i32, ptr %40, align 4, !tbaa !9
  %2384 = zext i32 %2383 to i64
  %2385 = add i64 %2384, 4
  %2386 = call i32 @i32_load(ptr noundef %2382, i64 noundef %2385)
  store i32 %2386, ptr %40, align 4, !tbaa !9
  %2387 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %2387, ptr %17, align 4, !tbaa !9
  store i32 2, ptr %41, align 4, !tbaa !9
  %2388 = load i32, ptr %41, align 4, !tbaa !9
  %2389 = and i32 %2388, 31
  %2390 = load i32, ptr %40, align 4, !tbaa !9
  %2391 = shl i32 %2390, %2389
  store i32 %2391, ptr %40, align 4, !tbaa !9
  %2392 = load i32, ptr %40, align 4, !tbaa !9
  %2393 = load i32, ptr %39, align 4, !tbaa !9
  %2394 = add i32 %2393, %2392
  store i32 %2394, ptr %39, align 4, !tbaa !9
  %2395 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %2395, ptr %8, align 4, !tbaa !9
  %2396 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2396, ptr %39, align 4, !tbaa !9
  %2397 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %2397, ptr %6, align 4, !tbaa !9
  %2398 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2398, ptr %39, align 4, !tbaa !9
  %2399 = load i32, ptr %39, align 4, !tbaa !9
  %2400 = icmp ne i32 %2399, 0
  %2401 = xor i1 %2400, true
  %2402 = zext i1 %2401 to i32
  store i32 %2402, ptr %39, align 4, !tbaa !9
  %2403 = load i32, ptr %39, align 4, !tbaa !9
  %2404 = icmp ne i32 %2403, 0
  br i1 %2404, label %2405, label %2406

2405:                                             ; preds = %2372
  br label %2439

2406:                                             ; preds = %2372
  br label %2407

2407:                                             ; preds = %2435, %2406
  %2408 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2408, ptr %39, align 4, !tbaa !9
  %2409 = load ptr, ptr %4, align 8, !tbaa !5
  %2410 = getelementptr inbounds %struct.w2c_hermes, ptr %2409, i32 0, i32 6
  %2411 = load i32, ptr %39, align 4, !tbaa !9
  %2412 = zext i32 %2411 to i64
  %2413 = call i32 @i32_load(ptr noundef %2410, i64 noundef %2412)
  store i32 %2413, ptr %39, align 4, !tbaa !9
  %2414 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2414, ptr %40, align 4, !tbaa !9
  %2415 = load i32, ptr %39, align 4, !tbaa !9
  %2416 = load i32, ptr %40, align 4, !tbaa !9
  %2417 = icmp eq i32 %2415, %2416
  %2418 = zext i1 %2417 to i32
  store i32 %2418, ptr %39, align 4, !tbaa !9
  %2419 = load i32, ptr %39, align 4, !tbaa !9
  %2420 = icmp ne i32 %2419, 0
  br i1 %2420, label %2421, label %2422

2421:                                             ; preds = %2407
  br label %2439

2422:                                             ; preds = %2407
  %2423 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2423, ptr %39, align 4, !tbaa !9
  store i32 4, ptr %40, align 4, !tbaa !9
  %2424 = load i32, ptr %40, align 4, !tbaa !9
  %2425 = load i32, ptr %39, align 4, !tbaa !9
  %2426 = add i32 %2425, %2424
  store i32 %2426, ptr %39, align 4, !tbaa !9
  %2427 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %2427, ptr %6, align 4, !tbaa !9
  %2428 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2428, ptr %40, align 4, !tbaa !9
  %2429 = load i32, ptr %39, align 4, !tbaa !9
  %2430 = load i32, ptr %40, align 4, !tbaa !9
  %2431 = icmp ne i32 %2429, %2430
  %2432 = zext i1 %2431 to i32
  store i32 %2432, ptr %39, align 4, !tbaa !9
  %2433 = load i32, ptr %39, align 4, !tbaa !9
  %2434 = icmp ne i32 %2433, 0
  br i1 %2434, label %2435, label %2436

2435:                                             ; preds = %2422
  br label %2407

2436:                                             ; preds = %2422
  %2437 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2437, ptr %39, align 4, !tbaa !9
  %2438 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %2438, ptr %6, align 4, !tbaa !9
  br label %2514

2439:                                             ; preds = %2421, %2405
  %2440 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2440, ptr %39, align 4, !tbaa !9
  %2441 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2441, ptr %40, align 4, !tbaa !9
  %2442 = load i32, ptr %39, align 4, !tbaa !9
  %2443 = load i32, ptr %40, align 4, !tbaa !9
  %2444 = icmp eq i32 %2442, %2443
  %2445 = zext i1 %2444 to i32
  store i32 %2445, ptr %39, align 4, !tbaa !9
  %2446 = load i32, ptr %39, align 4, !tbaa !9
  %2447 = icmp ne i32 %2446, 0
  br i1 %2447, label %2448, label %2449

2448:                                             ; preds = %2439
  br label %2514

2449:                                             ; preds = %2439
  %2450 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2450, ptr %39, align 4, !tbaa !9
  store i32 4, ptr %40, align 4, !tbaa !9
  %2451 = load i32, ptr %40, align 4, !tbaa !9
  %2452 = load i32, ptr %39, align 4, !tbaa !9
  %2453 = add i32 %2452, %2451
  store i32 %2453, ptr %39, align 4, !tbaa !9
  %2454 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %2454, ptr %17, align 4, !tbaa !9
  %2455 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2455, ptr %40, align 4, !tbaa !9
  %2456 = load i32, ptr %39, align 4, !tbaa !9
  %2457 = load i32, ptr %40, align 4, !tbaa !9
  %2458 = icmp eq i32 %2456, %2457
  %2459 = zext i1 %2458 to i32
  store i32 %2459, ptr %39, align 4, !tbaa !9
  %2460 = load i32, ptr %39, align 4, !tbaa !9
  %2461 = icmp ne i32 %2460, 0
  br i1 %2461, label %2462, label %2463

2462:                                             ; preds = %2449
  br label %2514

2463:                                             ; preds = %2449
  br label %2464

2464:                                             ; preds = %2505, %2463
  %2465 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2465, ptr %39, align 4, !tbaa !9
  %2466 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2466, ptr %40, align 4, !tbaa !9
  %2467 = load ptr, ptr %4, align 8, !tbaa !5
  %2468 = getelementptr inbounds %struct.w2c_hermes, ptr %2467, i32 0, i32 6
  %2469 = load i32, ptr %40, align 4, !tbaa !9
  %2470 = zext i32 %2469 to i64
  %2471 = call i32 @i32_load(ptr noundef %2468, i64 noundef %2470)
  store i32 %2471, ptr %40, align 4, !tbaa !9
  %2472 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %2472, ptr %7, align 4, !tbaa !9
  %2473 = load i32, ptr %39, align 4, !tbaa !9
  %2474 = load i32, ptr %40, align 4, !tbaa !9
  %2475 = icmp ne i32 %2473, %2474
  %2476 = zext i1 %2475 to i32
  store i32 %2476, ptr %39, align 4, !tbaa !9
  %2477 = load i32, ptr %39, align 4, !tbaa !9
  %2478 = icmp ne i32 %2477, 0
  br i1 %2478, label %2479, label %2492

2479:                                             ; preds = %2464
  %2480 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2480, ptr %39, align 4, !tbaa !9
  %2481 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2481, ptr %40, align 4, !tbaa !9
  %2482 = load ptr, ptr %4, align 8, !tbaa !5
  %2483 = getelementptr inbounds %struct.w2c_hermes, ptr %2482, i32 0, i32 6
  %2484 = load i32, ptr %39, align 4, !tbaa !9
  %2485 = zext i32 %2484 to i64
  %2486 = load i32, ptr %40, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2483, i64 noundef %2485, i32 noundef %2486)
  %2487 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2487, ptr %39, align 4, !tbaa !9
  store i32 4, ptr %40, align 4, !tbaa !9
  %2488 = load i32, ptr %40, align 4, !tbaa !9
  %2489 = load i32, ptr %39, align 4, !tbaa !9
  %2490 = add i32 %2489, %2488
  store i32 %2490, ptr %39, align 4, !tbaa !9
  %2491 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %2491, ptr %6, align 4, !tbaa !9
  br label %2492

2492:                                             ; preds = %2479, %2464
  %2493 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2493, ptr %39, align 4, !tbaa !9
  store i32 4, ptr %40, align 4, !tbaa !9
  %2494 = load i32, ptr %40, align 4, !tbaa !9
  %2495 = load i32, ptr %39, align 4, !tbaa !9
  %2496 = add i32 %2495, %2494
  store i32 %2496, ptr %39, align 4, !tbaa !9
  %2497 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %2497, ptr %17, align 4, !tbaa !9
  %2498 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2498, ptr %40, align 4, !tbaa !9
  %2499 = load i32, ptr %39, align 4, !tbaa !9
  %2500 = load i32, ptr %40, align 4, !tbaa !9
  %2501 = icmp ne i32 %2499, %2500
  %2502 = zext i1 %2501 to i32
  store i32 %2502, ptr %39, align 4, !tbaa !9
  %2503 = load i32, ptr %39, align 4, !tbaa !9
  %2504 = icmp ne i32 %2503, 0
  br i1 %2504, label %2505, label %2506

2505:                                             ; preds = %2492
  br label %2464

2506:                                             ; preds = %2492
  %2507 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2507, ptr %39, align 4, !tbaa !9
  %2508 = load ptr, ptr %4, align 8, !tbaa !5
  %2509 = getelementptr inbounds %struct.w2c_hermes, ptr %2508, i32 0, i32 6
  %2510 = load i32, ptr %39, align 4, !tbaa !9
  %2511 = zext i32 %2510 to i64
  %2512 = call i32 @i32_load(ptr noundef %2509, i64 noundef %2511)
  store i32 %2512, ptr %39, align 4, !tbaa !9
  %2513 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %2513, ptr %7, align 4, !tbaa !9
  br label %2514

2514:                                             ; preds = %2506, %2462, %2448, %2436
  %2515 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2515, ptr %39, align 4, !tbaa !9
  %2516 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2516, ptr %40, align 4, !tbaa !9
  %2517 = load i32, ptr %40, align 4, !tbaa !9
  %2518 = load i32, ptr %39, align 4, !tbaa !9
  %2519 = sub i32 %2518, %2517
  store i32 %2519, ptr %39, align 4, !tbaa !9
  store i32 2, ptr %40, align 4, !tbaa !9
  %2520 = load i32, ptr %39, align 4, !tbaa !9
  %2521 = load i32, ptr %40, align 4, !tbaa !9
  %2522 = and i32 %2521, 31
  %2523 = ashr i32 %2520, %2522
  store i32 %2523, ptr %39, align 4, !tbaa !9
  br label %2593

2524:                                             ; preds = %2349
  %2525 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2525, ptr %39, align 4, !tbaa !9
  %2526 = load ptr, ptr %4, align 8, !tbaa !5
  %2527 = getelementptr inbounds %struct.w2c_hermes, ptr %2526, i32 0, i32 6
  %2528 = load i32, ptr %39, align 4, !tbaa !9
  %2529 = zext i32 %2528 to i64
  %2530 = add i64 %2529, 4
  %2531 = call i32 @i32_load(ptr noundef %2527, i64 noundef %2530)
  store i32 %2531, ptr %39, align 4, !tbaa !9
  %2532 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %2532, ptr %6, align 4, !tbaa !9
  %2533 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2533, ptr %40, align 4, !tbaa !9
  %2534 = load ptr, ptr %4, align 8, !tbaa !5
  %2535 = getelementptr inbounds %struct.w2c_hermes, ptr %2534, i32 0, i32 6
  %2536 = load i32, ptr %40, align 4, !tbaa !9
  %2537 = zext i32 %2536 to i64
  %2538 = add i64 %2537, 8
  %2539 = call i32 @i32_load(ptr noundef %2535, i64 noundef %2538)
  store i32 %2539, ptr %40, align 4, !tbaa !9
  %2540 = load i32, ptr %39, align 4, !tbaa !9
  %2541 = load i32, ptr %40, align 4, !tbaa !9
  %2542 = icmp uge i32 %2540, %2541
  %2543 = zext i1 %2542 to i32
  store i32 %2543, ptr %39, align 4, !tbaa !9
  %2544 = load i32, ptr %39, align 4, !tbaa !9
  %2545 = icmp ne i32 %2544, 0
  br i1 %2545, label %2546, label %2562

2546:                                             ; preds = %2524
  %2547 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2547, ptr %39, align 4, !tbaa !9
  %2548 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %2548, ptr %40, align 4, !tbaa !9
  store i32 0, ptr %41, align 4, !tbaa !9
  store i32 4, ptr %42, align 4, !tbaa !9
  %2549 = load ptr, ptr %4, align 8, !tbaa !5
  %2550 = load i32, ptr %39, align 4, !tbaa !9
  %2551 = load i32, ptr %40, align 4, !tbaa !9
  %2552 = load i32, ptr %41, align 4, !tbaa !9
  %2553 = load i32, ptr %42, align 4, !tbaa !9
  call void @w2c_hermes_llvh0x3A0x3ASmallVectorBase0x3A0x3Agrow_pod0x28void0x2A0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef %2549, i32 noundef %2550, i32 noundef %2551, i32 noundef %2552, i32 noundef %2553)
  %2554 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2554, ptr %39, align 4, !tbaa !9
  %2555 = load ptr, ptr %4, align 8, !tbaa !5
  %2556 = getelementptr inbounds %struct.w2c_hermes, ptr %2555, i32 0, i32 6
  %2557 = load i32, ptr %39, align 4, !tbaa !9
  %2558 = zext i32 %2557 to i64
  %2559 = add i64 %2558, 4
  %2560 = call i32 @i32_load(ptr noundef %2556, i64 noundef %2559)
  store i32 %2560, ptr %39, align 4, !tbaa !9
  %2561 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %2561, ptr %6, align 4, !tbaa !9
  br label %2562

2562:                                             ; preds = %2546, %2524
  %2563 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2563, ptr %39, align 4, !tbaa !9
  %2564 = load ptr, ptr %4, align 8, !tbaa !5
  %2565 = getelementptr inbounds %struct.w2c_hermes, ptr %2564, i32 0, i32 6
  %2566 = load i32, ptr %39, align 4, !tbaa !9
  %2567 = zext i32 %2566 to i64
  %2568 = call i32 @i32_load(ptr noundef %2565, i64 noundef %2567)
  store i32 %2568, ptr %39, align 4, !tbaa !9
  %2569 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2569, ptr %40, align 4, !tbaa !9
  store i32 2, ptr %41, align 4, !tbaa !9
  %2570 = load i32, ptr %41, align 4, !tbaa !9
  %2571 = and i32 %2570, 31
  %2572 = load i32, ptr %40, align 4, !tbaa !9
  %2573 = shl i32 %2572, %2571
  store i32 %2573, ptr %40, align 4, !tbaa !9
  %2574 = load i32, ptr %40, align 4, !tbaa !9
  %2575 = load i32, ptr %39, align 4, !tbaa !9
  %2576 = add i32 %2575, %2574
  store i32 %2576, ptr %39, align 4, !tbaa !9
  %2577 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2577, ptr %40, align 4, !tbaa !9
  %2578 = load ptr, ptr %4, align 8, !tbaa !5
  %2579 = getelementptr inbounds %struct.w2c_hermes, ptr %2578, i32 0, i32 6
  %2580 = load i32, ptr %39, align 4, !tbaa !9
  %2581 = zext i32 %2580 to i64
  %2582 = load i32, ptr %40, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2579, i64 noundef %2581, i32 noundef %2582)
  %2583 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2583, ptr %39, align 4, !tbaa !9
  %2584 = load ptr, ptr %4, align 8, !tbaa !5
  %2585 = getelementptr inbounds %struct.w2c_hermes, ptr %2584, i32 0, i32 6
  %2586 = load i32, ptr %39, align 4, !tbaa !9
  %2587 = zext i32 %2586 to i64
  %2588 = add i64 %2587, 4
  %2589 = call i32 @i32_load(ptr noundef %2585, i64 noundef %2588)
  store i32 %2589, ptr %39, align 4, !tbaa !9
  store i32 1, ptr %40, align 4, !tbaa !9
  %2590 = load i32, ptr %40, align 4, !tbaa !9
  %2591 = load i32, ptr %39, align 4, !tbaa !9
  %2592 = add i32 %2591, %2590
  store i32 %2592, ptr %39, align 4, !tbaa !9
  br label %2593

2593:                                             ; preds = %2562, %2514
  %2594 = load ptr, ptr %4, align 8, !tbaa !5
  %2595 = getelementptr inbounds %struct.w2c_hermes, ptr %2594, i32 0, i32 6
  %2596 = load i32, ptr %38, align 4, !tbaa !9
  %2597 = zext i32 %2596 to i64
  %2598 = add i64 %2597, 4
  %2599 = load i32, ptr %39, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2595, i64 noundef %2598, i32 noundef %2599)
  %2600 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2600, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %2601 = load i32, ptr %39, align 4, !tbaa !9
  %2602 = load i32, ptr %38, align 4, !tbaa !9
  %2603 = add i32 %2602, %2601
  store i32 %2603, ptr %38, align 4, !tbaa !9
  %2604 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2604, ptr %9, align 4, !tbaa !9
  %2605 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2605, ptr %39, align 4, !tbaa !9
  %2606 = load i32, ptr %38, align 4, !tbaa !9
  %2607 = load i32, ptr %39, align 4, !tbaa !9
  %2608 = icmp ne i32 %2606, %2607
  %2609 = zext i1 %2608 to i32
  store i32 %2609, ptr %38, align 4, !tbaa !9
  %2610 = load i32, ptr %38, align 4, !tbaa !9
  %2611 = icmp ne i32 %2610, 0
  br i1 %2611, label %2612, label %2613

2612:                                             ; preds = %2593
  br label %2349

2613:                                             ; preds = %2593
  br label %2614

2614:                                             ; preds = %2613, %2325, %2309, %2157
  %2615 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2615, ptr %38, align 4, !tbaa !9
  %2616 = load ptr, ptr %4, align 8, !tbaa !5
  %2617 = getelementptr inbounds %struct.w2c_hermes, ptr %2616, i32 0, i32 6
  %2618 = load i32, ptr %38, align 4, !tbaa !9
  %2619 = zext i32 %2618 to i64
  %2620 = add i64 %2619, 16
  %2621 = call i32 @i32_load(ptr noundef %2617, i64 noundef %2620)
  store i32 %2621, ptr %38, align 4, !tbaa !9
  %2622 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2622, ptr %7, align 4, !tbaa !9
  %2623 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2623, ptr %39, align 4, !tbaa !9
  %2624 = load ptr, ptr %4, align 8, !tbaa !5
  %2625 = getelementptr inbounds %struct.w2c_hermes, ptr %2624, i32 0, i32 6
  %2626 = load i32, ptr %39, align 4, !tbaa !9
  %2627 = zext i32 %2626 to i64
  %2628 = add i64 %2627, 20
  %2629 = call i32 @i32_load(ptr noundef %2625, i64 noundef %2628)
  store i32 %2629, ptr %39, align 4, !tbaa !9
  %2630 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %2630, ptr %6, align 4, !tbaa !9
  %2631 = load i32, ptr %39, align 4, !tbaa !9
  %2632 = icmp ne i32 %2631, 0
  %2633 = xor i1 %2632, true
  %2634 = zext i1 %2633 to i32
  store i32 %2634, ptr %39, align 4, !tbaa !9
  %2635 = load i32, ptr %39, align 4, !tbaa !9
  %2636 = icmp ne i32 %2635, 0
  br i1 %2636, label %2637, label %2638

2637:                                             ; preds = %2614
  br label %3333

2638:                                             ; preds = %2614
  %2639 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2639, ptr %38, align 4, !tbaa !9
  %2640 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2640, ptr %39, align 4, !tbaa !9
  store i32 2, ptr %40, align 4, !tbaa !9
  %2641 = load i32, ptr %40, align 4, !tbaa !9
  %2642 = and i32 %2641, 31
  %2643 = load i32, ptr %39, align 4, !tbaa !9
  %2644 = shl i32 %2643, %2642
  store i32 %2644, ptr %39, align 4, !tbaa !9
  %2645 = load i32, ptr %39, align 4, !tbaa !9
  %2646 = load i32, ptr %38, align 4, !tbaa !9
  %2647 = add i32 %2646, %2645
  store i32 %2647, ptr %38, align 4, !tbaa !9
  %2648 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2648, ptr %19, align 4, !tbaa !9
  br label %2649

2649:                                             ; preds = %3319, %2638
  %2650 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2650, ptr %38, align 4, !tbaa !9
  %2651 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2651, ptr %39, align 4, !tbaa !9
  %2652 = load ptr, ptr %4, align 8, !tbaa !5
  %2653 = getelementptr inbounds %struct.w2c_hermes, ptr %2652, i32 0, i32 6
  %2654 = load i32, ptr %39, align 4, !tbaa !9
  %2655 = zext i32 %2654 to i64
  %2656 = call i32 @i32_load(ptr noundef %2653, i64 noundef %2655)
  store i32 %2656, ptr %39, align 4, !tbaa !9
  %2657 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %2657, ptr %11, align 4, !tbaa !9
  %2658 = load ptr, ptr %4, align 8, !tbaa !5
  %2659 = getelementptr inbounds %struct.w2c_hermes, ptr %2658, i32 0, i32 6
  %2660 = load i32, ptr %38, align 4, !tbaa !9
  %2661 = zext i32 %2660 to i64
  %2662 = add i64 %2661, 12
  %2663 = load i32, ptr %39, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2659, i64 noundef %2662, i32 noundef %2663)
  %2664 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2664, ptr %38, align 4, !tbaa !9
  %2665 = load ptr, ptr %4, align 8, !tbaa !5
  %2666 = getelementptr inbounds %struct.w2c_hermes, ptr %2665, i32 0, i32 6
  %2667 = load i32, ptr %38, align 4, !tbaa !9
  %2668 = zext i32 %2667 to i64
  %2669 = add i64 %2668, 12
  %2670 = call i32 @i32_load(ptr noundef %2666, i64 noundef %2669)
  store i32 %2670, ptr %38, align 4, !tbaa !9
  %2671 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2671, ptr %13, align 4, !tbaa !9
  %2672 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2672, ptr %38, align 4, !tbaa !9
  %2673 = load ptr, ptr %4, align 8, !tbaa !5
  %2674 = getelementptr inbounds %struct.w2c_hermes, ptr %2673, i32 0, i32 6
  %2675 = load i32, ptr %38, align 4, !tbaa !9
  %2676 = zext i32 %2675 to i64
  %2677 = add i64 %2676, 24
  %2678 = call i32 @i32_load(ptr noundef %2674, i64 noundef %2677)
  store i32 %2678, ptr %38, align 4, !tbaa !9
  %2679 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2679, ptr %17, align 4, !tbaa !9
  %2680 = load i32, ptr %38, align 4, !tbaa !9
  %2681 = icmp ne i32 %2680, 0
  %2682 = xor i1 %2681, true
  %2683 = zext i1 %2682 to i32
  store i32 %2683, ptr %38, align 4, !tbaa !9
  %2684 = load i32, ptr %38, align 4, !tbaa !9
  %2685 = icmp ne i32 %2684, 0
  br i1 %2685, label %2686, label %2687

2686:                                             ; preds = %2649
  br label %2784

2687:                                             ; preds = %2649
  %2688 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2688, ptr %38, align 4, !tbaa !9
  %2689 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2689, ptr %39, align 4, !tbaa !9
  store i32 1, ptr %40, align 4, !tbaa !9
  %2690 = load i32, ptr %40, align 4, !tbaa !9
  %2691 = load i32, ptr %39, align 4, !tbaa !9
  %2692 = sub i32 %2691, %2690
  store i32 %2692, ptr %39, align 4, !tbaa !9
  %2693 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %2693, ptr %22, align 4, !tbaa !9
  %2694 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2694, ptr %40, align 4, !tbaa !9
  store i32 4, ptr %41, align 4, !tbaa !9
  %2695 = load i32, ptr %41, align 4, !tbaa !9
  %2696 = and i32 %2695, 31
  %2697 = load i32, ptr %40, align 4, !tbaa !9
  %2698 = lshr i32 %2697, %2696
  store i32 %2698, ptr %40, align 4, !tbaa !9
  %2699 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2699, ptr %41, align 4, !tbaa !9
  store i32 9, ptr %42, align 4, !tbaa !9
  %2700 = load i32, ptr %42, align 4, !tbaa !9
  %2701 = and i32 %2700, 31
  %2702 = load i32, ptr %41, align 4, !tbaa !9
  %2703 = lshr i32 %2702, %2701
  store i32 %2703, ptr %41, align 4, !tbaa !9
  %2704 = load i32, ptr %41, align 4, !tbaa !9
  %2705 = load i32, ptr %40, align 4, !tbaa !9
  %2706 = xor i32 %2705, %2704
  store i32 %2706, ptr %40, align 4, !tbaa !9
  %2707 = load i32, ptr %40, align 4, !tbaa !9
  %2708 = load i32, ptr %39, align 4, !tbaa !9
  %2709 = and i32 %2708, %2707
  store i32 %2709, ptr %39, align 4, !tbaa !9
  %2710 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %2710, ptr %12, align 4, !tbaa !9
  store i32 44, ptr %40, align 4, !tbaa !9
  %2711 = load i32, ptr %40, align 4, !tbaa !9
  %2712 = load i32, ptr %39, align 4, !tbaa !9
  %2713 = mul i32 %2712, %2711
  store i32 %2713, ptr %39, align 4, !tbaa !9
  %2714 = load i32, ptr %39, align 4, !tbaa !9
  %2715 = load i32, ptr %38, align 4, !tbaa !9
  %2716 = add i32 %2715, %2714
  store i32 %2716, ptr %38, align 4, !tbaa !9
  %2717 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2717, ptr %9, align 4, !tbaa !9
  %2718 = load ptr, ptr %4, align 8, !tbaa !5
  %2719 = getelementptr inbounds %struct.w2c_hermes, ptr %2718, i32 0, i32 6
  %2720 = load i32, ptr %38, align 4, !tbaa !9
  %2721 = zext i32 %2720 to i64
  %2722 = call i32 @i32_load(ptr noundef %2719, i64 noundef %2721)
  store i32 %2722, ptr %38, align 4, !tbaa !9
  %2723 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2723, ptr %6, align 4, !tbaa !9
  %2724 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2724, ptr %39, align 4, !tbaa !9
  %2725 = load i32, ptr %38, align 4, !tbaa !9
  %2726 = load i32, ptr %39, align 4, !tbaa !9
  %2727 = icmp eq i32 %2725, %2726
  %2728 = zext i1 %2727 to i32
  store i32 %2728, ptr %38, align 4, !tbaa !9
  %2729 = load i32, ptr %38, align 4, !tbaa !9
  %2730 = icmp ne i32 %2729, 0
  br i1 %2730, label %2731, label %2732

2731:                                             ; preds = %2687
  br label %2794

2732:                                             ; preds = %2687
  store i32 1, ptr %38, align 4, !tbaa !9
  %2733 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2733, ptr %8, align 4, !tbaa !9
  br label %2734

2734:                                             ; preds = %2782, %2732
  %2735 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2735, ptr %38, align 4, !tbaa !9
  store i32 -4, ptr %39, align 4, !tbaa !9
  %2736 = load i32, ptr %38, align 4, !tbaa !9
  %2737 = load i32, ptr %39, align 4, !tbaa !9
  %2738 = icmp eq i32 %2736, %2737
  %2739 = zext i1 %2738 to i32
  store i32 %2739, ptr %38, align 4, !tbaa !9
  %2740 = load i32, ptr %38, align 4, !tbaa !9
  %2741 = icmp ne i32 %2740, 0
  br i1 %2741, label %2742, label %2743

2742:                                             ; preds = %2734
  br label %2784

2743:                                             ; preds = %2734
  %2744 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2744, ptr %38, align 4, !tbaa !9
  %2745 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2745, ptr %39, align 4, !tbaa !9
  %2746 = load i32, ptr %39, align 4, !tbaa !9
  %2747 = load i32, ptr %38, align 4, !tbaa !9
  %2748 = add i32 %2747, %2746
  store i32 %2748, ptr %38, align 4, !tbaa !9
  %2749 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2749, ptr %6, align 4, !tbaa !9
  %2750 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2750, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %2751 = load i32, ptr %39, align 4, !tbaa !9
  %2752 = load i32, ptr %38, align 4, !tbaa !9
  %2753 = add i32 %2752, %2751
  store i32 %2753, ptr %38, align 4, !tbaa !9
  %2754 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2754, ptr %8, align 4, !tbaa !9
  %2755 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2755, ptr %38, align 4, !tbaa !9
  %2756 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2756, ptr %39, align 4, !tbaa !9
  %2757 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %2757, ptr %40, align 4, !tbaa !9
  %2758 = load i32, ptr %40, align 4, !tbaa !9
  %2759 = load i32, ptr %39, align 4, !tbaa !9
  %2760 = and i32 %2759, %2758
  store i32 %2760, ptr %39, align 4, !tbaa !9
  %2761 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %2761, ptr %12, align 4, !tbaa !9
  store i32 44, ptr %40, align 4, !tbaa !9
  %2762 = load i32, ptr %40, align 4, !tbaa !9
  %2763 = load i32, ptr %39, align 4, !tbaa !9
  %2764 = mul i32 %2763, %2762
  store i32 %2764, ptr %39, align 4, !tbaa !9
  %2765 = load i32, ptr %39, align 4, !tbaa !9
  %2766 = load i32, ptr %38, align 4, !tbaa !9
  %2767 = add i32 %2766, %2765
  store i32 %2767, ptr %38, align 4, !tbaa !9
  %2768 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2768, ptr %9, align 4, !tbaa !9
  %2769 = load ptr, ptr %4, align 8, !tbaa !5
  %2770 = getelementptr inbounds %struct.w2c_hermes, ptr %2769, i32 0, i32 6
  %2771 = load i32, ptr %38, align 4, !tbaa !9
  %2772 = zext i32 %2771 to i64
  %2773 = call i32 @i32_load(ptr noundef %2770, i64 noundef %2772)
  store i32 %2773, ptr %38, align 4, !tbaa !9
  %2774 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2774, ptr %6, align 4, !tbaa !9
  %2775 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2775, ptr %39, align 4, !tbaa !9
  %2776 = load i32, ptr %38, align 4, !tbaa !9
  %2777 = load i32, ptr %39, align 4, !tbaa !9
  %2778 = icmp ne i32 %2776, %2777
  %2779 = zext i1 %2778 to i32
  store i32 %2779, ptr %38, align 4, !tbaa !9
  %2780 = load i32, ptr %38, align 4, !tbaa !9
  %2781 = icmp ne i32 %2780, 0
  br i1 %2781, label %2782, label %2783

2782:                                             ; preds = %2743
  br label %2734

2783:                                             ; preds = %2743
  br label %2794

2784:                                             ; preds = %2742, %2686
  %2785 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2785, ptr %38, align 4, !tbaa !9
  %2786 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2786, ptr %39, align 4, !tbaa !9
  store i32 44, ptr %40, align 4, !tbaa !9
  %2787 = load i32, ptr %40, align 4, !tbaa !9
  %2788 = load i32, ptr %39, align 4, !tbaa !9
  %2789 = mul i32 %2788, %2787
  store i32 %2789, ptr %39, align 4, !tbaa !9
  %2790 = load i32, ptr %39, align 4, !tbaa !9
  %2791 = load i32, ptr %38, align 4, !tbaa !9
  %2792 = add i32 %2791, %2790
  store i32 %2792, ptr %38, align 4, !tbaa !9
  %2793 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2793, ptr %9, align 4, !tbaa !9
  br label %2794

2794:                                             ; preds = %2784, %2783, %2731
  %2795 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2795, ptr %38, align 4, !tbaa !9
  %2796 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2796, ptr %39, align 4, !tbaa !9
  %2797 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2797, ptr %40, align 4, !tbaa !9
  store i32 44, ptr %41, align 4, !tbaa !9
  %2798 = load i32, ptr %41, align 4, !tbaa !9
  %2799 = load i32, ptr %40, align 4, !tbaa !9
  %2800 = mul i32 %2799, %2798
  store i32 %2800, ptr %40, align 4, !tbaa !9
  %2801 = load i32, ptr %40, align 4, !tbaa !9
  %2802 = load i32, ptr %39, align 4, !tbaa !9
  %2803 = add i32 %2802, %2801
  store i32 %2803, ptr %39, align 4, !tbaa !9
  %2804 = load i32, ptr %38, align 4, !tbaa !9
  %2805 = load i32, ptr %39, align 4, !tbaa !9
  %2806 = icmp eq i32 %2804, %2805
  %2807 = zext i1 %2806 to i32
  store i32 %2807, ptr %38, align 4, !tbaa !9
  %2808 = load i32, ptr %38, align 4, !tbaa !9
  %2809 = icmp ne i32 %2808, 0
  br i1 %2809, label %2810, label %2811

2810:                                             ; preds = %2794
  br label %2921

2811:                                             ; preds = %2794
  %2812 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2812, ptr %38, align 4, !tbaa !9
  %2813 = load ptr, ptr %4, align 8, !tbaa !5
  %2814 = getelementptr inbounds %struct.w2c_hermes, ptr %2813, i32 0, i32 6
  %2815 = load i32, ptr %38, align 4, !tbaa !9
  %2816 = zext i32 %2815 to i64
  %2817 = add i64 %2816, 4
  %2818 = call i32 @i32_load(ptr noundef %2814, i64 noundef %2817)
  store i32 %2818, ptr %38, align 4, !tbaa !9
  %2819 = load i32, ptr %38, align 4, !tbaa !9
  %2820 = icmp ne i32 %2819, 0
  %2821 = xor i1 %2820, true
  %2822 = zext i1 %2821 to i32
  store i32 %2822, ptr %38, align 4, !tbaa !9
  %2823 = load i32, ptr %38, align 4, !tbaa !9
  %2824 = icmp ne i32 %2823, 0
  br i1 %2824, label %2825, label %2826

2825:                                             ; preds = %2811
  br label %2921

2826:                                             ; preds = %2811
  %2827 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2827, ptr %38, align 4, !tbaa !9
  %2828 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2828, ptr %39, align 4, !tbaa !9
  %2829 = load ptr, ptr %4, align 8, !tbaa !5
  %2830 = getelementptr inbounds %struct.w2c_hermes, ptr %2829, i32 0, i32 6
  %2831 = load i32, ptr %39, align 4, !tbaa !9
  %2832 = zext i32 %2831 to i64
  %2833 = add i64 %2832, 60
  %2834 = call i32 @i32_load(ptr noundef %2830, i64 noundef %2833)
  store i32 %2834, ptr %39, align 4, !tbaa !9
  %2835 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %2835, ptr %13, align 4, !tbaa !9
  %2836 = load i32, ptr %38, align 4, !tbaa !9
  %2837 = load i32, ptr %39, align 4, !tbaa !9
  %2838 = icmp eq i32 %2836, %2837
  %2839 = zext i1 %2838 to i32
  store i32 %2839, ptr %38, align 4, !tbaa !9
  %2840 = load i32, ptr %38, align 4, !tbaa !9
  %2841 = icmp ne i32 %2840, 0
  br i1 %2841, label %2842, label %2843

2842:                                             ; preds = %2826
  br label %3306

2843:                                             ; preds = %2826
  %2844 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2844, ptr %38, align 4, !tbaa !9
  store i32 24, ptr %39, align 4, !tbaa !9
  %2845 = load i32, ptr %39, align 4, !tbaa !9
  %2846 = load i32, ptr %38, align 4, !tbaa !9
  %2847 = add i32 %2846, %2845
  store i32 %2847, ptr %38, align 4, !tbaa !9
  %2848 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2848, ptr %8, align 4, !tbaa !9
  %2849 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2849, ptr %38, align 4, !tbaa !9
  store i32 28, ptr %39, align 4, !tbaa !9
  %2850 = load i32, ptr %39, align 4, !tbaa !9
  %2851 = load i32, ptr %38, align 4, !tbaa !9
  %2852 = add i32 %2851, %2850
  store i32 %2852, ptr %38, align 4, !tbaa !9
  %2853 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2853, ptr %11, align 4, !tbaa !9
  %2854 = load ptr, ptr %4, align 8, !tbaa !5
  %2855 = getelementptr inbounds %struct.w2c_hermes, ptr %2854, i32 0, i32 6
  %2856 = load i32, ptr %38, align 4, !tbaa !9
  %2857 = zext i32 %2856 to i64
  %2858 = call i32 @i32_load(ptr noundef %2855, i64 noundef %2857)
  store i32 %2858, ptr %38, align 4, !tbaa !9
  %2859 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2859, ptr %6, align 4, !tbaa !9
  %2860 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2860, ptr %39, align 4, !tbaa !9
  %2861 = load ptr, ptr %4, align 8, !tbaa !5
  %2862 = getelementptr inbounds %struct.w2c_hermes, ptr %2861, i32 0, i32 6
  %2863 = load i32, ptr %39, align 4, !tbaa !9
  %2864 = zext i32 %2863 to i64
  %2865 = add i64 %2864, 32
  %2866 = call i32 @i32_load(ptr noundef %2862, i64 noundef %2865)
  store i32 %2866, ptr %39, align 4, !tbaa !9
  %2867 = load i32, ptr %38, align 4, !tbaa !9
  %2868 = load i32, ptr %39, align 4, !tbaa !9
  %2869 = icmp uge i32 %2867, %2868
  %2870 = zext i1 %2869 to i32
  store i32 %2870, ptr %38, align 4, !tbaa !9
  %2871 = load i32, ptr %38, align 4, !tbaa !9
  %2872 = icmp ne i32 %2871, 0
  br i1 %2872, label %2873, label %2900

2873:                                             ; preds = %2843
  %2874 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2874, ptr %38, align 4, !tbaa !9
  %2875 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2875, ptr %39, align 4, !tbaa !9
  store i32 36, ptr %40, align 4, !tbaa !9
  %2876 = load i32, ptr %40, align 4, !tbaa !9
  %2877 = load i32, ptr %39, align 4, !tbaa !9
  %2878 = add i32 %2877, %2876
  store i32 %2878, ptr %39, align 4, !tbaa !9
  store i32 0, ptr %40, align 4, !tbaa !9
  store i32 4, ptr %41, align 4, !tbaa !9
  %2879 = load ptr, ptr %4, align 8, !tbaa !5
  %2880 = load i32, ptr %38, align 4, !tbaa !9
  %2881 = load i32, ptr %39, align 4, !tbaa !9
  %2882 = load i32, ptr %40, align 4, !tbaa !9
  %2883 = load i32, ptr %41, align 4, !tbaa !9
  call void @w2c_hermes_llvh0x3A0x3ASmallVectorBase0x3A0x3Agrow_pod0x28void0x2A0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef %2879, i32 noundef %2880, i32 noundef %2881, i32 noundef %2882, i32 noundef %2883)
  %2884 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2884, ptr %38, align 4, !tbaa !9
  %2885 = load ptr, ptr %4, align 8, !tbaa !5
  %2886 = getelementptr inbounds %struct.w2c_hermes, ptr %2885, i32 0, i32 6
  %2887 = load i32, ptr %38, align 4, !tbaa !9
  %2888 = zext i32 %2887 to i64
  %2889 = add i64 %2888, 60
  %2890 = call i32 @i32_load(ptr noundef %2886, i64 noundef %2889)
  store i32 %2890, ptr %38, align 4, !tbaa !9
  %2891 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2891, ptr %13, align 4, !tbaa !9
  %2892 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2892, ptr %38, align 4, !tbaa !9
  %2893 = load ptr, ptr %4, align 8, !tbaa !5
  %2894 = getelementptr inbounds %struct.w2c_hermes, ptr %2893, i32 0, i32 6
  %2895 = load i32, ptr %38, align 4, !tbaa !9
  %2896 = zext i32 %2895 to i64
  %2897 = add i64 %2896, 28
  %2898 = call i32 @i32_load(ptr noundef %2894, i64 noundef %2897)
  store i32 %2898, ptr %38, align 4, !tbaa !9
  %2899 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2899, ptr %6, align 4, !tbaa !9
  br label %2900

2900:                                             ; preds = %2873, %2843
  %2901 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2901, ptr %38, align 4, !tbaa !9
  %2902 = load ptr, ptr %4, align 8, !tbaa !5
  %2903 = getelementptr inbounds %struct.w2c_hermes, ptr %2902, i32 0, i32 6
  %2904 = load i32, ptr %38, align 4, !tbaa !9
  %2905 = zext i32 %2904 to i64
  %2906 = call i32 @i32_load(ptr noundef %2903, i64 noundef %2905)
  store i32 %2906, ptr %38, align 4, !tbaa !9
  %2907 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2907, ptr %39, align 4, !tbaa !9
  store i32 2, ptr %40, align 4, !tbaa !9
  %2908 = load i32, ptr %40, align 4, !tbaa !9
  %2909 = and i32 %2908, 31
  %2910 = load i32, ptr %39, align 4, !tbaa !9
  %2911 = shl i32 %2910, %2909
  store i32 %2911, ptr %39, align 4, !tbaa !9
  %2912 = load i32, ptr %39, align 4, !tbaa !9
  %2913 = load i32, ptr %38, align 4, !tbaa !9
  %2914 = add i32 %2913, %2912
  store i32 %2914, ptr %38, align 4, !tbaa !9
  %2915 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2915, ptr %39, align 4, !tbaa !9
  %2916 = load ptr, ptr %4, align 8, !tbaa !5
  %2917 = getelementptr inbounds %struct.w2c_hermes, ptr %2916, i32 0, i32 6
  %2918 = load i32, ptr %38, align 4, !tbaa !9
  %2919 = zext i32 %2918 to i64
  %2920 = load i32, ptr %39, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2917, i64 noundef %2919, i32 noundef %2920)
  br label %3290

2921:                                             ; preds = %2825, %2810
  %2922 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2922, ptr %38, align 4, !tbaa !9
  %2923 = load ptr, ptr %4, align 8, !tbaa !5
  %2924 = getelementptr inbounds %struct.w2c_hermes, ptr %2923, i32 0, i32 6
  %2925 = load i32, ptr %38, align 4, !tbaa !9
  %2926 = zext i32 %2925 to i64
  %2927 = add i64 %2926, 60
  %2928 = call i32 @i32_load(ptr noundef %2924, i64 noundef %2927)
  store i32 %2928, ptr %38, align 4, !tbaa !9
  %2929 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2929, ptr %39, align 4, !tbaa !9
  %2930 = load ptr, ptr %4, align 8, !tbaa !5
  %2931 = load i32, ptr %38, align 4, !tbaa !9
  %2932 = load i32, ptr %39, align 4, !tbaa !9
  %2933 = call i32 @w2c_hermes_llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AAlwaysDescend0x28hermes0x3A0x3ABasicBlock0x2A0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x29(ptr noundef %2930, i32 noundef %2931, i32 noundef %2932)
  store i32 %2933, ptr %38, align 4, !tbaa !9
  %2934 = load i32, ptr %38, align 4, !tbaa !9
  %2935 = icmp ne i32 %2934, 0
  %2936 = xor i1 %2935, true
  %2937 = zext i1 %2936 to i32
  store i32 %2937, ptr %38, align 4, !tbaa !9
  %2938 = load i32, ptr %38, align 4, !tbaa !9
  %2939 = icmp ne i32 %2938, 0
  br i1 %2939, label %2940, label %2941

2940:                                             ; preds = %2921
  br label %3306

2941:                                             ; preds = %2921
  %2942 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2942, ptr %38, align 4, !tbaa !9
  %2943 = load ptr, ptr %4, align 8, !tbaa !5
  %2944 = getelementptr inbounds %struct.w2c_hermes, ptr %2943, i32 0, i32 6
  %2945 = load i32, ptr %38, align 4, !tbaa !9
  %2946 = zext i32 %2945 to i64
  %2947 = add i64 %2946, 24
  %2948 = call i32 @i32_load(ptr noundef %2944, i64 noundef %2947)
  store i32 %2948, ptr %38, align 4, !tbaa !9
  %2949 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2949, ptr %6, align 4, !tbaa !9
  %2950 = load i32, ptr %38, align 4, !tbaa !9
  %2951 = icmp ne i32 %2950, 0
  %2952 = xor i1 %2951, true
  %2953 = zext i1 %2952 to i32
  store i32 %2953, ptr %38, align 4, !tbaa !9
  %2954 = load i32, ptr %38, align 4, !tbaa !9
  %2955 = icmp ne i32 %2954, 0
  br i1 %2955, label %2956, label %2958

2956:                                             ; preds = %2941
  store i32 0, ptr %38, align 4, !tbaa !9
  %2957 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2957, ptr %11, align 4, !tbaa !9
  br label %3108

2958:                                             ; preds = %2941
  %2959 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2959, ptr %38, align 4, !tbaa !9
  %2960 = load ptr, ptr %4, align 8, !tbaa !5
  %2961 = getelementptr inbounds %struct.w2c_hermes, ptr %2960, i32 0, i32 6
  %2962 = load i32, ptr %38, align 4, !tbaa !9
  %2963 = zext i32 %2962 to i64
  %2964 = add i64 %2963, 12
  %2965 = call i32 @i32_load(ptr noundef %2961, i64 noundef %2964)
  store i32 %2965, ptr %38, align 4, !tbaa !9
  %2966 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2966, ptr %17, align 4, !tbaa !9
  %2967 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2967, ptr %39, align 4, !tbaa !9
  %2968 = load ptr, ptr %4, align 8, !tbaa !5
  %2969 = getelementptr inbounds %struct.w2c_hermes, ptr %2968, i32 0, i32 6
  %2970 = load i32, ptr %39, align 4, !tbaa !9
  %2971 = zext i32 %2970 to i64
  %2972 = add i64 %2971, 12
  %2973 = call i32 @i32_load(ptr noundef %2969, i64 noundef %2972)
  store i32 %2973, ptr %39, align 4, !tbaa !9
  %2974 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %2974, ptr %12, align 4, !tbaa !9
  %2975 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2975, ptr %40, align 4, !tbaa !9
  store i32 1, ptr %41, align 4, !tbaa !9
  %2976 = load i32, ptr %41, align 4, !tbaa !9
  %2977 = load i32, ptr %40, align 4, !tbaa !9
  %2978 = sub i32 %2977, %2976
  store i32 %2978, ptr %40, align 4, !tbaa !9
  %2979 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %2979, ptr %22, align 4, !tbaa !9
  %2980 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2980, ptr %41, align 4, !tbaa !9
  store i32 4, ptr %42, align 4, !tbaa !9
  %2981 = load i32, ptr %42, align 4, !tbaa !9
  %2982 = and i32 %2981, 31
  %2983 = load i32, ptr %41, align 4, !tbaa !9
  %2984 = lshr i32 %2983, %2982
  store i32 %2984, ptr %41, align 4, !tbaa !9
  %2985 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2985, ptr %42, align 4, !tbaa !9
  store i32 9, ptr %43, align 4, !tbaa !9
  %2986 = load i32, ptr %43, align 4, !tbaa !9
  %2987 = and i32 %2986, 31
  %2988 = load i32, ptr %42, align 4, !tbaa !9
  %2989 = lshr i32 %2988, %2987
  store i32 %2989, ptr %42, align 4, !tbaa !9
  %2990 = load i32, ptr %42, align 4, !tbaa !9
  %2991 = load i32, ptr %41, align 4, !tbaa !9
  %2992 = xor i32 %2991, %2990
  store i32 %2992, ptr %41, align 4, !tbaa !9
  %2993 = load i32, ptr %41, align 4, !tbaa !9
  %2994 = load i32, ptr %40, align 4, !tbaa !9
  %2995 = and i32 %2994, %2993
  store i32 %2995, ptr %40, align 4, !tbaa !9
  %2996 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %2996, ptr %6, align 4, !tbaa !9
  store i32 44, ptr %41, align 4, !tbaa !9
  %2997 = load i32, ptr %41, align 4, !tbaa !9
  %2998 = load i32, ptr %40, align 4, !tbaa !9
  %2999 = mul i32 %2998, %2997
  store i32 %2999, ptr %40, align 4, !tbaa !9
  %3000 = load i32, ptr %40, align 4, !tbaa !9
  %3001 = load i32, ptr %39, align 4, !tbaa !9
  %3002 = add i32 %3001, %3000
  store i32 %3002, ptr %39, align 4, !tbaa !9
  %3003 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %3003, ptr %9, align 4, !tbaa !9
  %3004 = load ptr, ptr %4, align 8, !tbaa !5
  %3005 = getelementptr inbounds %struct.w2c_hermes, ptr %3004, i32 0, i32 6
  %3006 = load i32, ptr %39, align 4, !tbaa !9
  %3007 = zext i32 %3006 to i64
  %3008 = call i32 @i32_load(ptr noundef %3005, i64 noundef %3007)
  store i32 %3008, ptr %39, align 4, !tbaa !9
  %3009 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %3009, ptr %13, align 4, !tbaa !9
  %3010 = load i32, ptr %38, align 4, !tbaa !9
  %3011 = load i32, ptr %39, align 4, !tbaa !9
  %3012 = icmp eq i32 %3010, %3011
  %3013 = zext i1 %3012 to i32
  store i32 %3013, ptr %38, align 4, !tbaa !9
  %3014 = load i32, ptr %38, align 4, !tbaa !9
  %3015 = icmp ne i32 %3014, 0
  br i1 %3015, label %3016, label %3017

3016:                                             ; preds = %2958
  br label %3121

3017:                                             ; preds = %2958
  store i32 0, ptr %38, align 4, !tbaa !9
  %3018 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %3018, ptr %11, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %3019 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %3019, ptr %8, align 4, !tbaa !9
  br label %3020

3020:                                             ; preds = %3106, %3017
  %3021 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %3021, ptr %38, align 4, !tbaa !9
  store i32 -4, ptr %39, align 4, !tbaa !9
  %3022 = load i32, ptr %38, align 4, !tbaa !9
  %3023 = load i32, ptr %39, align 4, !tbaa !9
  %3024 = icmp eq i32 %3022, %3023
  %3025 = zext i1 %3024 to i32
  store i32 %3025, ptr %38, align 4, !tbaa !9
  %3026 = load i32, ptr %38, align 4, !tbaa !9
  %3027 = icmp ne i32 %3026, 0
  br i1 %3027, label %3028, label %3041

3028:                                             ; preds = %3020
  %3029 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3029, ptr %38, align 4, !tbaa !9
  %3030 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %3030, ptr %39, align 4, !tbaa !9
  %3031 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3031, ptr %40, align 4, !tbaa !9
  %3032 = load i32, ptr %40, align 4, !tbaa !9
  %3033 = icmp ne i32 %3032, 0
  br i1 %3033, label %3034, label %3036

3034:                                             ; preds = %3028
  %3035 = load i32, ptr %38, align 4, !tbaa !9
  br label %3038

3036:                                             ; preds = %3028
  %3037 = load i32, ptr %39, align 4, !tbaa !9
  br label %3038

3038:                                             ; preds = %3036, %3034
  %3039 = phi i32 [ %3035, %3034 ], [ %3037, %3036 ]
  store i32 %3039, ptr %38, align 4, !tbaa !9
  %3040 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %3040, ptr %11, align 4, !tbaa !9
  br label %3108

3041:                                             ; preds = %3020
  %3042 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3042, ptr %38, align 4, !tbaa !9
  %3043 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %3043, ptr %39, align 4, !tbaa !9
  %3044 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3044, ptr %40, align 4, !tbaa !9
  %3045 = load i32, ptr %40, align 4, !tbaa !9
  %3046 = icmp ne i32 %3045, 0
  br i1 %3046, label %3047, label %3049

3047:                                             ; preds = %3041
  %3048 = load i32, ptr %38, align 4, !tbaa !9
  br label %3051

3049:                                             ; preds = %3041
  %3050 = load i32, ptr %39, align 4, !tbaa !9
  br label %3051

3051:                                             ; preds = %3049, %3047
  %3052 = phi i32 [ %3048, %3047 ], [ %3050, %3049 ]
  store i32 %3052, ptr %38, align 4, !tbaa !9
  %3053 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3053, ptr %39, align 4, !tbaa !9
  %3054 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %3054, ptr %40, align 4, !tbaa !9
  store i32 -8, ptr %41, align 4, !tbaa !9
  %3055 = load i32, ptr %40, align 4, !tbaa !9
  %3056 = load i32, ptr %41, align 4, !tbaa !9
  %3057 = icmp eq i32 %3055, %3056
  %3058 = zext i1 %3057 to i32
  store i32 %3058, ptr %40, align 4, !tbaa !9
  %3059 = load i32, ptr %40, align 4, !tbaa !9
  %3060 = icmp ne i32 %3059, 0
  br i1 %3060, label %3061, label %3063

3061:                                             ; preds = %3051
  %3062 = load i32, ptr %38, align 4, !tbaa !9
  br label %3065

3063:                                             ; preds = %3051
  %3064 = load i32, ptr %39, align 4, !tbaa !9
  br label %3065

3065:                                             ; preds = %3063, %3061
  %3066 = phi i32 [ %3062, %3061 ], [ %3064, %3063 ]
  store i32 %3066, ptr %38, align 4, !tbaa !9
  %3067 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %3067, ptr %11, align 4, !tbaa !9
  %3068 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %3068, ptr %38, align 4, !tbaa !9
  %3069 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3069, ptr %39, align 4, !tbaa !9
  %3070 = load i32, ptr %39, align 4, !tbaa !9
  %3071 = load i32, ptr %38, align 4, !tbaa !9
  %3072 = add i32 %3071, %3070
  store i32 %3072, ptr %38, align 4, !tbaa !9
  %3073 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %3073, ptr %6, align 4, !tbaa !9
  %3074 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3074, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %3075 = load i32, ptr %39, align 4, !tbaa !9
  %3076 = load i32, ptr %38, align 4, !tbaa !9
  %3077 = add i32 %3076, %3075
  store i32 %3077, ptr %38, align 4, !tbaa !9
  %3078 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %3078, ptr %8, align 4, !tbaa !9
  %3079 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3079, ptr %38, align 4, !tbaa !9
  %3080 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %3080, ptr %39, align 4, !tbaa !9
  %3081 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %3081, ptr %40, align 4, !tbaa !9
  %3082 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %3082, ptr %41, align 4, !tbaa !9
  %3083 = load i32, ptr %41, align 4, !tbaa !9
  %3084 = load i32, ptr %40, align 4, !tbaa !9
  %3085 = and i32 %3084, %3083
  store i32 %3085, ptr %40, align 4, !tbaa !9
  %3086 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %3086, ptr %6, align 4, !tbaa !9
  store i32 44, ptr %41, align 4, !tbaa !9
  %3087 = load i32, ptr %41, align 4, !tbaa !9
  %3088 = load i32, ptr %40, align 4, !tbaa !9
  %3089 = mul i32 %3088, %3087
  store i32 %3089, ptr %40, align 4, !tbaa !9
  %3090 = load i32, ptr %40, align 4, !tbaa !9
  %3091 = load i32, ptr %39, align 4, !tbaa !9
  %3092 = add i32 %3091, %3090
  store i32 %3092, ptr %39, align 4, !tbaa !9
  %3093 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %3093, ptr %9, align 4, !tbaa !9
  %3094 = load ptr, ptr %4, align 8, !tbaa !5
  %3095 = getelementptr inbounds %struct.w2c_hermes, ptr %3094, i32 0, i32 6
  %3096 = load i32, ptr %39, align 4, !tbaa !9
  %3097 = zext i32 %3096 to i64
  %3098 = call i32 @i32_load(ptr noundef %3095, i64 noundef %3097)
  store i32 %3098, ptr %39, align 4, !tbaa !9
  %3099 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %3099, ptr %13, align 4, !tbaa !9
  %3100 = load i32, ptr %38, align 4, !tbaa !9
  %3101 = load i32, ptr %39, align 4, !tbaa !9
  %3102 = icmp ne i32 %3100, %3101
  %3103 = zext i1 %3102 to i32
  store i32 %3103, ptr %38, align 4, !tbaa !9
  %3104 = load i32, ptr %38, align 4, !tbaa !9
  %3105 = icmp ne i32 %3104, 0
  br i1 %3105, label %3106, label %3107

3106:                                             ; preds = %3065
  br label %3020

3107:                                             ; preds = %3065
  br label %3121

3108:                                             ; preds = %3038, %2956
  %3109 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %3109, ptr %38, align 4, !tbaa !9
  %3110 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3110, ptr %39, align 4, !tbaa !9
  %3111 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3111, ptr %40, align 4, !tbaa !9
  store i32 12, ptr %41, align 4, !tbaa !9
  %3112 = load i32, ptr %41, align 4, !tbaa !9
  %3113 = load i32, ptr %40, align 4, !tbaa !9
  %3114 = add i32 %3113, %3112
  store i32 %3114, ptr %40, align 4, !tbaa !9
  %3115 = load ptr, ptr %4, align 8, !tbaa !5
  %3116 = load i32, ptr %38, align 4, !tbaa !9
  %3117 = load i32, ptr %39, align 4, !tbaa !9
  %3118 = load i32, ptr %40, align 4, !tbaa !9
  %3119 = call i32 @w2c_hermes_llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x3A0x3AInsertIntoBucket0x3Chermes0x3A0x3ABasicBlock0x2A0x20const0x260x3E0x28llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x20const0x260x29(ptr noundef %3115, i32 noundef %3116, i32 noundef %3117, i32 noundef %3118)
  store i32 %3119, ptr %38, align 4, !tbaa !9
  %3120 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %3120, ptr %9, align 4, !tbaa !9
  br label %3121

3121:                                             ; preds = %3108, %3107, %3016
  %3122 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3122, ptr %38, align 4, !tbaa !9
  %3123 = load ptr, ptr %4, align 8, !tbaa !5
  %3124 = getelementptr inbounds %struct.w2c_hermes, ptr %3123, i32 0, i32 6
  %3125 = load i32, ptr %38, align 4, !tbaa !9
  %3126 = zext i32 %3125 to i64
  %3127 = add i64 %3126, 68
  %3128 = call i32 @i32_load(ptr noundef %3124, i64 noundef %3127)
  store i32 %3128, ptr %38, align 4, !tbaa !9
  %3129 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %3129, ptr %11, align 4, !tbaa !9
  %3130 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3130, ptr %39, align 4, !tbaa !9
  %3131 = load ptr, ptr %4, align 8, !tbaa !5
  %3132 = getelementptr inbounds %struct.w2c_hermes, ptr %3131, i32 0, i32 6
  %3133 = load i32, ptr %39, align 4, !tbaa !9
  %3134 = zext i32 %3133 to i64
  %3135 = add i64 %3134, 72
  %3136 = call i32 @i32_load(ptr noundef %3132, i64 noundef %3135)
  store i32 %3136, ptr %39, align 4, !tbaa !9
  %3137 = load i32, ptr %38, align 4, !tbaa !9
  %3138 = load i32, ptr %39, align 4, !tbaa !9
  %3139 = icmp uge i32 %3137, %3138
  %3140 = zext i1 %3139 to i32
  store i32 %3140, ptr %38, align 4, !tbaa !9
  %3141 = load i32, ptr %38, align 4, !tbaa !9
  %3142 = icmp ne i32 %3141, 0
  br i1 %3142, label %3143, label %3162

3143:                                             ; preds = %3121
  %3144 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3144, ptr %38, align 4, !tbaa !9
  store i32 -64, ptr %39, align 4, !tbaa !9
  %3145 = load i32, ptr %39, align 4, !tbaa !9
  %3146 = load i32, ptr %38, align 4, !tbaa !9
  %3147 = sub i32 %3146, %3145
  store i32 %3147, ptr %38, align 4, !tbaa !9
  %3148 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %3148, ptr %39, align 4, !tbaa !9
  store i32 0, ptr %40, align 4, !tbaa !9
  store i32 4, ptr %41, align 4, !tbaa !9
  %3149 = load ptr, ptr %4, align 8, !tbaa !5
  %3150 = load i32, ptr %38, align 4, !tbaa !9
  %3151 = load i32, ptr %39, align 4, !tbaa !9
  %3152 = load i32, ptr %40, align 4, !tbaa !9
  %3153 = load i32, ptr %41, align 4, !tbaa !9
  call void @w2c_hermes_llvh0x3A0x3ASmallVectorBase0x3A0x3Agrow_pod0x28void0x2A0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef %3149, i32 noundef %3150, i32 noundef %3151, i32 noundef %3152, i32 noundef %3153)
  %3154 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3154, ptr %38, align 4, !tbaa !9
  %3155 = load ptr, ptr %4, align 8, !tbaa !5
  %3156 = getelementptr inbounds %struct.w2c_hermes, ptr %3155, i32 0, i32 6
  %3157 = load i32, ptr %38, align 4, !tbaa !9
  %3158 = zext i32 %3157 to i64
  %3159 = add i64 %3158, 68
  %3160 = call i32 @i32_load(ptr noundef %3156, i64 noundef %3159)
  store i32 %3160, ptr %38, align 4, !tbaa !9
  %3161 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %3161, ptr %11, align 4, !tbaa !9
  br label %3162

3162:                                             ; preds = %3143, %3121
  %3163 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3163, ptr %38, align 4, !tbaa !9
  %3164 = load ptr, ptr %4, align 8, !tbaa !5
  %3165 = getelementptr inbounds %struct.w2c_hermes, ptr %3164, i32 0, i32 6
  %3166 = load i32, ptr %38, align 4, !tbaa !9
  %3167 = zext i32 %3166 to i64
  %3168 = add i64 %3167, 64
  %3169 = call i32 @i32_load(ptr noundef %3165, i64 noundef %3168)
  store i32 %3169, ptr %38, align 4, !tbaa !9
  %3170 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3170, ptr %39, align 4, !tbaa !9
  store i32 2, ptr %40, align 4, !tbaa !9
  %3171 = load i32, ptr %40, align 4, !tbaa !9
  %3172 = and i32 %3171, 31
  %3173 = load i32, ptr %39, align 4, !tbaa !9
  %3174 = shl i32 %3173, %3172
  store i32 %3174, ptr %39, align 4, !tbaa !9
  %3175 = load i32, ptr %39, align 4, !tbaa !9
  %3176 = load i32, ptr %38, align 4, !tbaa !9
  %3177 = add i32 %3176, %3175
  store i32 %3177, ptr %38, align 4, !tbaa !9
  %3178 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3178, ptr %39, align 4, !tbaa !9
  %3179 = load ptr, ptr %4, align 8, !tbaa !5
  %3180 = getelementptr inbounds %struct.w2c_hermes, ptr %3179, i32 0, i32 6
  %3181 = load i32, ptr %39, align 4, !tbaa !9
  %3182 = zext i32 %3181 to i64
  %3183 = add i64 %3182, 12
  %3184 = call i32 @i32_load(ptr noundef %3180, i64 noundef %3183)
  store i32 %3184, ptr %39, align 4, !tbaa !9
  %3185 = load ptr, ptr %4, align 8, !tbaa !5
  %3186 = getelementptr inbounds %struct.w2c_hermes, ptr %3185, i32 0, i32 6
  %3187 = load i32, ptr %38, align 4, !tbaa !9
  %3188 = zext i32 %3187 to i64
  %3189 = load i32, ptr %39, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3186, i64 noundef %3188, i32 noundef %3189)
  %3190 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3190, ptr %38, align 4, !tbaa !9
  %3191 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3191, ptr %39, align 4, !tbaa !9
  %3192 = load ptr, ptr %4, align 8, !tbaa !5
  %3193 = getelementptr inbounds %struct.w2c_hermes, ptr %3192, i32 0, i32 6
  %3194 = load i32, ptr %39, align 4, !tbaa !9
  %3195 = zext i32 %3194 to i64
  %3196 = add i64 %3195, 68
  %3197 = call i32 @i32_load(ptr noundef %3193, i64 noundef %3196)
  store i32 %3197, ptr %39, align 4, !tbaa !9
  store i32 1, ptr %40, align 4, !tbaa !9
  %3198 = load i32, ptr %40, align 4, !tbaa !9
  %3199 = load i32, ptr %39, align 4, !tbaa !9
  %3200 = add i32 %3199, %3198
  store i32 %3200, ptr %39, align 4, !tbaa !9
  %3201 = load ptr, ptr %4, align 8, !tbaa !5
  %3202 = getelementptr inbounds %struct.w2c_hermes, ptr %3201, i32 0, i32 6
  %3203 = load i32, ptr %38, align 4, !tbaa !9
  %3204 = zext i32 %3203 to i64
  %3205 = add i64 %3204, 68
  %3206 = load i32, ptr %39, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3202, i64 noundef %3205, i32 noundef %3206)
  %3207 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %3207, ptr %38, align 4, !tbaa !9
  %3208 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %3208, ptr %39, align 4, !tbaa !9
  %3209 = load ptr, ptr %4, align 8, !tbaa !5
  %3210 = getelementptr inbounds %struct.w2c_hermes, ptr %3209, i32 0, i32 6
  %3211 = load i32, ptr %38, align 4, !tbaa !9
  %3212 = zext i32 %3211 to i64
  %3213 = add i64 %3212, 8
  %3214 = load i32, ptr %39, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3210, i64 noundef %3213, i32 noundef %3214)
  %3215 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %3215, ptr %38, align 4, !tbaa !9
  store i32 24, ptr %39, align 4, !tbaa !9
  %3216 = load i32, ptr %39, align 4, !tbaa !9
  %3217 = load i32, ptr %38, align 4, !tbaa !9
  %3218 = add i32 %3217, %3216
  store i32 %3218, ptr %38, align 4, !tbaa !9
  %3219 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %3219, ptr %8, align 4, !tbaa !9
  %3220 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %3220, ptr %38, align 4, !tbaa !9
  store i32 28, ptr %39, align 4, !tbaa !9
  %3221 = load i32, ptr %39, align 4, !tbaa !9
  %3222 = load i32, ptr %38, align 4, !tbaa !9
  %3223 = add i32 %3222, %3221
  store i32 %3223, ptr %38, align 4, !tbaa !9
  %3224 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %3224, ptr %11, align 4, !tbaa !9
  %3225 = load ptr, ptr %4, align 8, !tbaa !5
  %3226 = getelementptr inbounds %struct.w2c_hermes, ptr %3225, i32 0, i32 6
  %3227 = load i32, ptr %38, align 4, !tbaa !9
  %3228 = zext i32 %3227 to i64
  %3229 = call i32 @i32_load(ptr noundef %3226, i64 noundef %3228)
  store i32 %3229, ptr %38, align 4, !tbaa !9
  %3230 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %3230, ptr %6, align 4, !tbaa !9
  %3231 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %3231, ptr %39, align 4, !tbaa !9
  %3232 = load ptr, ptr %4, align 8, !tbaa !5
  %3233 = getelementptr inbounds %struct.w2c_hermes, ptr %3232, i32 0, i32 6
  %3234 = load i32, ptr %39, align 4, !tbaa !9
  %3235 = zext i32 %3234 to i64
  %3236 = add i64 %3235, 32
  %3237 = call i32 @i32_load(ptr noundef %3233, i64 noundef %3236)
  store i32 %3237, ptr %39, align 4, !tbaa !9
  %3238 = load i32, ptr %38, align 4, !tbaa !9
  %3239 = load i32, ptr %39, align 4, !tbaa !9
  %3240 = icmp uge i32 %3238, %3239
  %3241 = zext i1 %3240 to i32
  store i32 %3241, ptr %38, align 4, !tbaa !9
  %3242 = load i32, ptr %38, align 4, !tbaa !9
  %3243 = icmp ne i32 %3242, 0
  br i1 %3243, label %3244, label %3263

3244:                                             ; preds = %3162
  %3245 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3245, ptr %38, align 4, !tbaa !9
  %3246 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %3246, ptr %39, align 4, !tbaa !9
  store i32 36, ptr %40, align 4, !tbaa !9
  %3247 = load i32, ptr %40, align 4, !tbaa !9
  %3248 = load i32, ptr %39, align 4, !tbaa !9
  %3249 = add i32 %3248, %3247
  store i32 %3249, ptr %39, align 4, !tbaa !9
  store i32 0, ptr %40, align 4, !tbaa !9
  store i32 4, ptr %41, align 4, !tbaa !9
  %3250 = load ptr, ptr %4, align 8, !tbaa !5
  %3251 = load i32, ptr %38, align 4, !tbaa !9
  %3252 = load i32, ptr %39, align 4, !tbaa !9
  %3253 = load i32, ptr %40, align 4, !tbaa !9
  %3254 = load i32, ptr %41, align 4, !tbaa !9
  call void @w2c_hermes_llvh0x3A0x3ASmallVectorBase0x3A0x3Agrow_pod0x28void0x2A0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef %3250, i32 noundef %3251, i32 noundef %3252, i32 noundef %3253, i32 noundef %3254)
  %3255 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %3255, ptr %38, align 4, !tbaa !9
  %3256 = load ptr, ptr %4, align 8, !tbaa !5
  %3257 = getelementptr inbounds %struct.w2c_hermes, ptr %3256, i32 0, i32 6
  %3258 = load i32, ptr %38, align 4, !tbaa !9
  %3259 = zext i32 %3258 to i64
  %3260 = add i64 %3259, 28
  %3261 = call i32 @i32_load(ptr noundef %3257, i64 noundef %3260)
  store i32 %3261, ptr %38, align 4, !tbaa !9
  %3262 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %3262, ptr %6, align 4, !tbaa !9
  br label %3263

3263:                                             ; preds = %3244, %3162
  %3264 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3264, ptr %38, align 4, !tbaa !9
  %3265 = load ptr, ptr %4, align 8, !tbaa !5
  %3266 = getelementptr inbounds %struct.w2c_hermes, ptr %3265, i32 0, i32 6
  %3267 = load i32, ptr %38, align 4, !tbaa !9
  %3268 = zext i32 %3267 to i64
  %3269 = call i32 @i32_load(ptr noundef %3266, i64 noundef %3268)
  store i32 %3269, ptr %38, align 4, !tbaa !9
  %3270 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %3270, ptr %39, align 4, !tbaa !9
  store i32 2, ptr %40, align 4, !tbaa !9
  %3271 = load i32, ptr %40, align 4, !tbaa !9
  %3272 = and i32 %3271, 31
  %3273 = load i32, ptr %39, align 4, !tbaa !9
  %3274 = shl i32 %3273, %3272
  store i32 %3274, ptr %39, align 4, !tbaa !9
  %3275 = load i32, ptr %39, align 4, !tbaa !9
  %3276 = load i32, ptr %38, align 4, !tbaa !9
  %3277 = add i32 %3276, %3275
  store i32 %3277, ptr %38, align 4, !tbaa !9
  %3278 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3278, ptr %39, align 4, !tbaa !9
  %3279 = load ptr, ptr %4, align 8, !tbaa !5
  %3280 = getelementptr inbounds %struct.w2c_hermes, ptr %3279, i32 0, i32 6
  %3281 = load i32, ptr %39, align 4, !tbaa !9
  %3282 = zext i32 %3281 to i64
  %3283 = add i64 %3282, 60
  %3284 = call i32 @i32_load(ptr noundef %3280, i64 noundef %3283)
  store i32 %3284, ptr %39, align 4, !tbaa !9
  %3285 = load ptr, ptr %4, align 8, !tbaa !5
  %3286 = getelementptr inbounds %struct.w2c_hermes, ptr %3285, i32 0, i32 6
  %3287 = load i32, ptr %38, align 4, !tbaa !9
  %3288 = zext i32 %3287 to i64
  %3289 = load i32, ptr %39, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3286, i64 noundef %3288, i32 noundef %3289)
  br label %3290

3290:                                             ; preds = %3263, %2900
  %3291 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3291, ptr %38, align 4, !tbaa !9
  %3292 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3292, ptr %39, align 4, !tbaa !9
  %3293 = load ptr, ptr %4, align 8, !tbaa !5
  %3294 = getelementptr inbounds %struct.w2c_hermes, ptr %3293, i32 0, i32 6
  %3295 = load i32, ptr %39, align 4, !tbaa !9
  %3296 = zext i32 %3295 to i64
  %3297 = call i32 @i32_load(ptr noundef %3294, i64 noundef %3296)
  store i32 %3297, ptr %39, align 4, !tbaa !9
  store i32 1, ptr %40, align 4, !tbaa !9
  %3298 = load i32, ptr %40, align 4, !tbaa !9
  %3299 = load i32, ptr %39, align 4, !tbaa !9
  %3300 = add i32 %3299, %3298
  store i32 %3300, ptr %39, align 4, !tbaa !9
  %3301 = load ptr, ptr %4, align 8, !tbaa !5
  %3302 = getelementptr inbounds %struct.w2c_hermes, ptr %3301, i32 0, i32 6
  %3303 = load i32, ptr %38, align 4, !tbaa !9
  %3304 = zext i32 %3303 to i64
  %3305 = load i32, ptr %39, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3302, i64 noundef %3304, i32 noundef %3305)
  br label %3306

3306:                                             ; preds = %3290, %2940, %2842
  %3307 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %3307, ptr %38, align 4, !tbaa !9
  %3308 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3308, ptr %39, align 4, !tbaa !9
  store i32 4, ptr %40, align 4, !tbaa !9
  %3309 = load i32, ptr %40, align 4, !tbaa !9
  %3310 = load i32, ptr %39, align 4, !tbaa !9
  %3311 = add i32 %3310, %3309
  store i32 %3311, ptr %39, align 4, !tbaa !9
  %3312 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %3312, ptr %7, align 4, !tbaa !9
  %3313 = load i32, ptr %38, align 4, !tbaa !9
  %3314 = load i32, ptr %39, align 4, !tbaa !9
  %3315 = icmp ne i32 %3313, %3314
  %3316 = zext i1 %3315 to i32
  store i32 %3316, ptr %38, align 4, !tbaa !9
  %3317 = load i32, ptr %38, align 4, !tbaa !9
  %3318 = icmp ne i32 %3317, 0
  br i1 %3318, label %3319, label %3320

3319:                                             ; preds = %3306
  br label %2649

3320:                                             ; preds = %3306
  br label %3325

3321:                                             ; preds = %1888
  %3322 = load ptr, ptr %4, align 8, !tbaa !5
  call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fthrow_out_of_range0x5Babi0x3Av150070x5D0x28char0x20const0x2A0x29(ptr noundef %3322)
  call void @wasm_rt_trap(i32 noundef 5) #8
  unreachable

3323:                                             ; preds = %1841
  %3324 = load ptr, ptr %4, align 8, !tbaa !5
  call void @w2c_hermes_abort(ptr noundef %3324)
  call void @wasm_rt_trap(i32 noundef 5) #8
  unreachable

3325:                                             ; preds = %3320
  %3326 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3326, ptr %38, align 4, !tbaa !9
  %3327 = load ptr, ptr %4, align 8, !tbaa !5
  %3328 = getelementptr inbounds %struct.w2c_hermes, ptr %3327, i32 0, i32 6
  %3329 = load i32, ptr %38, align 4, !tbaa !9
  %3330 = zext i32 %3329 to i64
  %3331 = add i64 %3330, 16
  %3332 = call i32 @i32_load(ptr noundef %3328, i64 noundef %3331)
  store i32 %3332, ptr %38, align 4, !tbaa !9
  br label %3333

3333:                                             ; preds = %3325, %2637
  %3334 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %3334, ptr %6, align 4, !tbaa !9
  %3335 = load i32, ptr %37, align 4, !tbaa !9
  %3336 = load i32, ptr %38, align 4, !tbaa !9
  %3337 = icmp eq i32 %3335, %3336
  %3338 = zext i1 %3337 to i32
  store i32 %3338, ptr %37, align 4, !tbaa !9
  %3339 = load i32, ptr %37, align 4, !tbaa !9
  %3340 = icmp ne i32 %3339, 0
  br i1 %3340, label %3341, label %3342

3341:                                             ; preds = %3333
  br label %3346

3342:                                             ; preds = %3333
  %3343 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %3343, ptr %37, align 4, !tbaa !9
  %3344 = load ptr, ptr %4, align 8, !tbaa !5
  %3345 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %3344, i32 noundef %3345)
  br label %3346

3346:                                             ; preds = %3342, %3341, %1735
  %3347 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3347, ptr %37, align 4, !tbaa !9
  %3348 = load ptr, ptr %4, align 8, !tbaa !5
  %3349 = getelementptr inbounds %struct.w2c_hermes, ptr %3348, i32 0, i32 6
  %3350 = load i32, ptr %37, align 4, !tbaa !9
  %3351 = zext i32 %3350 to i64
  %3352 = add i64 %3351, 68
  %3353 = call i32 @i32_load(ptr noundef %3349, i64 noundef %3352)
  store i32 %3353, ptr %37, align 4, !tbaa !9
  %3354 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3354, ptr %9, align 4, !tbaa !9
  %3355 = load i32, ptr %37, align 4, !tbaa !9
  %3356 = icmp ne i32 %3355, 0
  br i1 %3356, label %3357, label %3358

3357:                                             ; preds = %3346
  br label %1509

3358:                                             ; preds = %3346
  br label %3359

3359:                                             ; preds = %3358, %1501
  %3360 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %3360, ptr %37, align 4, !tbaa !9
  %3361 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3361, ptr %38, align 4, !tbaa !9
  %3362 = load ptr, ptr %4, align 8, !tbaa !5
  %3363 = getelementptr inbounds %struct.w2c_hermes, ptr %3362, i32 0, i32 6
  %3364 = load i32, ptr %38, align 4, !tbaa !9
  %3365 = zext i32 %3364 to i64
  %3366 = add i64 %3365, 64
  %3367 = call i32 @i32_load(ptr noundef %3363, i64 noundef %3366)
  store i32 %3367, ptr %38, align 4, !tbaa !9
  %3368 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %3368, ptr %6, align 4, !tbaa !9
  %3369 = load i32, ptr %37, align 4, !tbaa !9
  %3370 = load i32, ptr %38, align 4, !tbaa !9
  %3371 = icmp ne i32 %3369, %3370
  %3372 = zext i1 %3371 to i32
  store i32 %3372, ptr %37, align 4, !tbaa !9
  %3373 = load i32, ptr %37, align 4, !tbaa !9
  %3374 = icmp ne i32 %3373, 0
  br i1 %3374, label %3375, label %3379

3375:                                             ; preds = %3359
  %3376 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %3376, ptr %37, align 4, !tbaa !9
  %3377 = load ptr, ptr %4, align 8, !tbaa !5
  %3378 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %3377, i32 noundef %3378)
  br label %3379

3379:                                             ; preds = %3375, %3359
  %3380 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3380, ptr %37, align 4, !tbaa !9
  store i32 336, ptr %38, align 4, !tbaa !9
  %3381 = load i32, ptr %38, align 4, !tbaa !9
  %3382 = load i32, ptr %37, align 4, !tbaa !9
  %3383 = add i32 %3382, %3381
  store i32 %3383, ptr %37, align 4, !tbaa !9
  %3384 = load i32, ptr %37, align 4, !tbaa !9
  %3385 = load ptr, ptr %4, align 8, !tbaa !5
  %3386 = getelementptr inbounds %struct.w2c_hermes, ptr %3385, i32 0, i32 3
  store i32 %3384, ptr %3386, align 8, !tbaa !13
  %3387 = load ptr, ptr %4, align 8, !tbaa !5
  %3388 = getelementptr inbounds %struct.w2c_hermes, ptr %3387, i32 0, i32 3
  %3389 = load i32, ptr %3388, align 8, !tbaa !13
  store i32 %3389, ptr %37, align 4, !tbaa !9
  store i32 16, ptr %38, align 4, !tbaa !9
  %3390 = load i32, ptr %38, align 4, !tbaa !9
  %3391 = load i32, ptr %37, align 4, !tbaa !9
  %3392 = sub i32 %3391, %3390
  store i32 %3392, ptr %37, align 4, !tbaa !9
  %3393 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3393, ptr %25, align 4, !tbaa !9
  %3394 = load i32, ptr %37, align 4, !tbaa !9
  %3395 = load ptr, ptr %4, align 8, !tbaa !5
  %3396 = getelementptr inbounds %struct.w2c_hermes, ptr %3395, i32 0, i32 3
  store i32 %3394, ptr %3396, align 8, !tbaa !13
  %3397 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %3397, ptr %37, align 4, !tbaa !9
  %3398 = load ptr, ptr %4, align 8, !tbaa !5
  %3399 = getelementptr inbounds %struct.w2c_hermes, ptr %3398, i32 0, i32 6
  %3400 = load i32, ptr %37, align 4, !tbaa !9
  %3401 = zext i32 %3400 to i64
  %3402 = add i64 %3401, 4
  %3403 = call i32 @i32_load(ptr noundef %3399, i64 noundef %3402)
  store i32 %3403, ptr %37, align 4, !tbaa !9
  %3404 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %3404, ptr %38, align 4, !tbaa !9
  %3405 = load ptr, ptr %4, align 8, !tbaa !5
  %3406 = getelementptr inbounds %struct.w2c_hermes, ptr %3405, i32 0, i32 6
  %3407 = load i32, ptr %38, align 4, !tbaa !9
  %3408 = zext i32 %3407 to i64
  %3409 = call i32 @i32_load(ptr noundef %3406, i64 noundef %3408)
  store i32 %3409, ptr %38, align 4, !tbaa !9
  %3410 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %3410, ptr %12, align 4, !tbaa !9
  %3411 = load i32, ptr %38, align 4, !tbaa !9
  %3412 = load i32, ptr %37, align 4, !tbaa !9
  %3413 = sub i32 %3412, %3411
  store i32 %3413, ptr %37, align 4, !tbaa !9
  %3414 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3414, ptr %32, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %3415 = load i32, ptr %37, align 4, !tbaa !9
  %3416 = load i32, ptr %38, align 4, !tbaa !9
  %3417 = and i32 %3416, 31
  %3418 = ashr i32 %3415, %3417
  store i32 %3418, ptr %37, align 4, !tbaa !9
  %3419 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3419, ptr %18, align 4, !tbaa !9
  %3420 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3420, ptr %37, align 4, !tbaa !9
  store i32 5, ptr %38, align 4, !tbaa !9
  %3421 = load i32, ptr %37, align 4, !tbaa !9
  %3422 = load i32, ptr %38, align 4, !tbaa !9
  %3423 = icmp uge i32 %3421, %3422
  %3424 = zext i1 %3423 to i32
  store i32 %3424, ptr %37, align 4, !tbaa !9
  %3425 = load i32, ptr %37, align 4, !tbaa !9
  %3426 = icmp ne i32 %3425, 0
  br i1 %3426, label %3427, label %3693

3427:                                             ; preds = %3379
  store i32 2, ptr %37, align 4, !tbaa !9
  %3428 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %3428, ptr %38, align 4, !tbaa !9
  %3429 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %3429, ptr %39, align 4, !tbaa !9
  store i32 2, ptr %40, align 4, !tbaa !9
  %3430 = load i32, ptr %39, align 4, !tbaa !9
  %3431 = load i32, ptr %40, align 4, !tbaa !9
  %3432 = icmp ule i32 %3430, %3431
  %3433 = zext i1 %3432 to i32
  store i32 %3433, ptr %39, align 4, !tbaa !9
  %3434 = load i32, ptr %39, align 4, !tbaa !9
  %3435 = icmp ne i32 %3434, 0
  br i1 %3435, label %3436, label %3438

3436:                                             ; preds = %3427
  %3437 = load i32, ptr %37, align 4, !tbaa !9
  br label %3440

3438:                                             ; preds = %3427
  %3439 = load i32, ptr %38, align 4, !tbaa !9
  br label %3440

3440:                                             ; preds = %3438, %3436
  %3441 = phi i32 [ %3437, %3436 ], [ %3439, %3438 ]
  store i32 %3441, ptr %37, align 4, !tbaa !9
  %3442 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3442, ptr %13, align 4, !tbaa !9
  %3443 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %3443, ptr %37, align 4, !tbaa !9
  store i32 12, ptr %38, align 4, !tbaa !9
  %3444 = load i32, ptr %38, align 4, !tbaa !9
  %3445 = load i32, ptr %37, align 4, !tbaa !9
  %3446 = add i32 %3445, %3444
  store i32 %3446, ptr %37, align 4, !tbaa !9
  %3447 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3447, ptr %17, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %3448 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3448, ptr %7, align 4, !tbaa !9
  br label %3449

3449:                                             ; preds = %3691, %3440
  %3450 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %3450, ptr %37, align 4, !tbaa !9
  %3451 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %3451, ptr %38, align 4, !tbaa !9
  %3452 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3452, ptr %39, align 4, !tbaa !9
  store i32 2, ptr %40, align 4, !tbaa !9
  %3453 = load i32, ptr %40, align 4, !tbaa !9
  %3454 = and i32 %3453, 31
  %3455 = load i32, ptr %39, align 4, !tbaa !9
  %3456 = shl i32 %3455, %3454
  store i32 %3456, ptr %39, align 4, !tbaa !9
  %3457 = load i32, ptr %39, align 4, !tbaa !9
  %3458 = load i32, ptr %38, align 4, !tbaa !9
  %3459 = add i32 %3458, %3457
  store i32 %3459, ptr %38, align 4, !tbaa !9
  %3460 = load ptr, ptr %4, align 8, !tbaa !5
  %3461 = getelementptr inbounds %struct.w2c_hermes, ptr %3460, i32 0, i32 6
  %3462 = load i32, ptr %38, align 4, !tbaa !9
  %3463 = zext i32 %3462 to i64
  %3464 = call i32 @i32_load(ptr noundef %3461, i64 noundef %3463)
  store i32 %3464, ptr %38, align 4, !tbaa !9
  %3465 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %3465, ptr %10, align 4, !tbaa !9
  %3466 = load ptr, ptr %4, align 8, !tbaa !5
  %3467 = getelementptr inbounds %struct.w2c_hermes, ptr %3466, i32 0, i32 6
  %3468 = load i32, ptr %37, align 4, !tbaa !9
  %3469 = zext i32 %3468 to i64
  %3470 = add i64 %3469, 12
  %3471 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3467, i64 noundef %3470, i32 noundef %3471)
  %3472 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %3472, ptr %37, align 4, !tbaa !9
  %3473 = load ptr, ptr %4, align 8, !tbaa !5
  %3474 = getelementptr inbounds %struct.w2c_hermes, ptr %3473, i32 0, i32 6
  %3475 = load i32, ptr %37, align 4, !tbaa !9
  %3476 = zext i32 %3475 to i64
  %3477 = add i64 %3476, 24
  %3478 = call i32 @i32_load(ptr noundef %3474, i64 noundef %3477)
  store i32 %3478, ptr %37, align 4, !tbaa !9
  %3479 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3479, ptr %6, align 4, !tbaa !9
  %3480 = load i32, ptr %37, align 4, !tbaa !9
  %3481 = icmp ne i32 %3480, 0
  %3482 = xor i1 %3481, true
  %3483 = zext i1 %3482 to i32
  store i32 %3483, ptr %37, align 4, !tbaa !9
  %3484 = load i32, ptr %37, align 4, !tbaa !9
  %3485 = icmp ne i32 %3484, 0
  br i1 %3485, label %3486, label %3488

3486:                                             ; preds = %3449
  store i32 0, ptr %37, align 4, !tbaa !9
  %3487 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3487, ptr %8, align 4, !tbaa !9
  br label %3631

3488:                                             ; preds = %3449
  %3489 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3489, ptr %37, align 4, !tbaa !9
  %3490 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %3490, ptr %38, align 4, !tbaa !9
  %3491 = load ptr, ptr %4, align 8, !tbaa !5
  %3492 = getelementptr inbounds %struct.w2c_hermes, ptr %3491, i32 0, i32 6
  %3493 = load i32, ptr %38, align 4, !tbaa !9
  %3494 = zext i32 %3493 to i64
  %3495 = add i64 %3494, 12
  %3496 = call i32 @i32_load(ptr noundef %3492, i64 noundef %3495)
  store i32 %3496, ptr %38, align 4, !tbaa !9
  %3497 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %3497, ptr %20, align 4, !tbaa !9
  %3498 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %3498, ptr %39, align 4, !tbaa !9
  store i32 1, ptr %40, align 4, !tbaa !9
  %3499 = load i32, ptr %40, align 4, !tbaa !9
  %3500 = load i32, ptr %39, align 4, !tbaa !9
  %3501 = sub i32 %3500, %3499
  store i32 %3501, ptr %39, align 4, !tbaa !9
  %3502 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %3502, ptr %16, align 4, !tbaa !9
  %3503 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3503, ptr %40, align 4, !tbaa !9
  store i32 4, ptr %41, align 4, !tbaa !9
  %3504 = load i32, ptr %41, align 4, !tbaa !9
  %3505 = and i32 %3504, 31
  %3506 = load i32, ptr %40, align 4, !tbaa !9
  %3507 = lshr i32 %3506, %3505
  store i32 %3507, ptr %40, align 4, !tbaa !9
  %3508 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3508, ptr %41, align 4, !tbaa !9
  store i32 9, ptr %42, align 4, !tbaa !9
  %3509 = load i32, ptr %42, align 4, !tbaa !9
  %3510 = and i32 %3509, 31
  %3511 = load i32, ptr %41, align 4, !tbaa !9
  %3512 = lshr i32 %3511, %3510
  store i32 %3512, ptr %41, align 4, !tbaa !9
  %3513 = load i32, ptr %41, align 4, !tbaa !9
  %3514 = load i32, ptr %40, align 4, !tbaa !9
  %3515 = xor i32 %3514, %3513
  store i32 %3515, ptr %40, align 4, !tbaa !9
  %3516 = load i32, ptr %40, align 4, !tbaa !9
  %3517 = load i32, ptr %39, align 4, !tbaa !9
  %3518 = and i32 %3517, %3516
  store i32 %3518, ptr %39, align 4, !tbaa !9
  %3519 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %3519, ptr %15, align 4, !tbaa !9
  store i32 44, ptr %40, align 4, !tbaa !9
  %3520 = load i32, ptr %40, align 4, !tbaa !9
  %3521 = load i32, ptr %39, align 4, !tbaa !9
  %3522 = mul i32 %3521, %3520
  store i32 %3522, ptr %39, align 4, !tbaa !9
  %3523 = load i32, ptr %39, align 4, !tbaa !9
  %3524 = load i32, ptr %38, align 4, !tbaa !9
  %3525 = add i32 %3524, %3523
  store i32 %3525, ptr %38, align 4, !tbaa !9
  %3526 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %3526, ptr %8, align 4, !tbaa !9
  %3527 = load ptr, ptr %4, align 8, !tbaa !5
  %3528 = getelementptr inbounds %struct.w2c_hermes, ptr %3527, i32 0, i32 6
  %3529 = load i32, ptr %38, align 4, !tbaa !9
  %3530 = zext i32 %3529 to i64
  %3531 = call i32 @i32_load(ptr noundef %3528, i64 noundef %3530)
  store i32 %3531, ptr %38, align 4, !tbaa !9
  %3532 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %3532, ptr %11, align 4, !tbaa !9
  %3533 = load i32, ptr %37, align 4, !tbaa !9
  %3534 = load i32, ptr %38, align 4, !tbaa !9
  %3535 = icmp eq i32 %3533, %3534
  %3536 = zext i1 %3535 to i32
  store i32 %3536, ptr %37, align 4, !tbaa !9
  %3537 = load i32, ptr %37, align 4, !tbaa !9
  %3538 = icmp ne i32 %3537, 0
  br i1 %3538, label %3539, label %3540

3539:                                             ; preds = %3488
  br label %3651

3540:                                             ; preds = %3488
  store i32 0, ptr %37, align 4, !tbaa !9
  %3541 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3541, ptr %6, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %3542 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3542, ptr %9, align 4, !tbaa !9
  br label %3543

3543:                                             ; preds = %3629, %3540
  %3544 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3544, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %3545 = load i32, ptr %37, align 4, !tbaa !9
  %3546 = load i32, ptr %38, align 4, !tbaa !9
  %3547 = icmp eq i32 %3545, %3546
  %3548 = zext i1 %3547 to i32
  store i32 %3548, ptr %37, align 4, !tbaa !9
  %3549 = load i32, ptr %37, align 4, !tbaa !9
  %3550 = icmp ne i32 %3549, 0
  br i1 %3550, label %3551, label %3564

3551:                                             ; preds = %3543
  %3552 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %3552, ptr %37, align 4, !tbaa !9
  %3553 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3553, ptr %38, align 4, !tbaa !9
  %3554 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %3554, ptr %39, align 4, !tbaa !9
  %3555 = load i32, ptr %39, align 4, !tbaa !9
  %3556 = icmp ne i32 %3555, 0
  br i1 %3556, label %3557, label %3559

3557:                                             ; preds = %3551
  %3558 = load i32, ptr %37, align 4, !tbaa !9
  br label %3561

3559:                                             ; preds = %3551
  %3560 = load i32, ptr %38, align 4, !tbaa !9
  br label %3561

3561:                                             ; preds = %3559, %3557
  %3562 = phi i32 [ %3558, %3557 ], [ %3560, %3559 ]
  store i32 %3562, ptr %37, align 4, !tbaa !9
  %3563 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3563, ptr %8, align 4, !tbaa !9
  br label %3631

3564:                                             ; preds = %3543
  %3565 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %3565, ptr %37, align 4, !tbaa !9
  %3566 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3566, ptr %38, align 4, !tbaa !9
  %3567 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %3567, ptr %39, align 4, !tbaa !9
  %3568 = load i32, ptr %39, align 4, !tbaa !9
  %3569 = icmp ne i32 %3568, 0
  br i1 %3569, label %3570, label %3572

3570:                                             ; preds = %3564
  %3571 = load i32, ptr %37, align 4, !tbaa !9
  br label %3574

3572:                                             ; preds = %3564
  %3573 = load i32, ptr %38, align 4, !tbaa !9
  br label %3574

3574:                                             ; preds = %3572, %3570
  %3575 = phi i32 [ %3571, %3570 ], [ %3573, %3572 ]
  store i32 %3575, ptr %37, align 4, !tbaa !9
  %3576 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %3576, ptr %38, align 4, !tbaa !9
  %3577 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3577, ptr %39, align 4, !tbaa !9
  store i32 -8, ptr %40, align 4, !tbaa !9
  %3578 = load i32, ptr %39, align 4, !tbaa !9
  %3579 = load i32, ptr %40, align 4, !tbaa !9
  %3580 = icmp eq i32 %3578, %3579
  %3581 = zext i1 %3580 to i32
  store i32 %3581, ptr %39, align 4, !tbaa !9
  %3582 = load i32, ptr %39, align 4, !tbaa !9
  %3583 = icmp ne i32 %3582, 0
  br i1 %3583, label %3584, label %3586

3584:                                             ; preds = %3574
  %3585 = load i32, ptr %37, align 4, !tbaa !9
  br label %3588

3586:                                             ; preds = %3574
  %3587 = load i32, ptr %38, align 4, !tbaa !9
  br label %3588

3588:                                             ; preds = %3586, %3584
  %3589 = phi i32 [ %3585, %3584 ], [ %3587, %3586 ]
  store i32 %3589, ptr %37, align 4, !tbaa !9
  %3590 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3590, ptr %6, align 4, !tbaa !9
  %3591 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %3591, ptr %37, align 4, !tbaa !9
  %3592 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %3592, ptr %38, align 4, !tbaa !9
  %3593 = load i32, ptr %38, align 4, !tbaa !9
  %3594 = load i32, ptr %37, align 4, !tbaa !9
  %3595 = add i32 %3594, %3593
  store i32 %3595, ptr %37, align 4, !tbaa !9
  %3596 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3596, ptr %8, align 4, !tbaa !9
  %3597 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %3597, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %3598 = load i32, ptr %38, align 4, !tbaa !9
  %3599 = load i32, ptr %37, align 4, !tbaa !9
  %3600 = add i32 %3599, %3598
  store i32 %3600, ptr %37, align 4, !tbaa !9
  %3601 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3601, ptr %9, align 4, !tbaa !9
  %3602 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3602, ptr %37, align 4, !tbaa !9
  %3603 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %3603, ptr %38, align 4, !tbaa !9
  %3604 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3604, ptr %39, align 4, !tbaa !9
  %3605 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %3605, ptr %40, align 4, !tbaa !9
  %3606 = load i32, ptr %40, align 4, !tbaa !9
  %3607 = load i32, ptr %39, align 4, !tbaa !9
  %3608 = and i32 %3607, %3606
  store i32 %3608, ptr %39, align 4, !tbaa !9
  %3609 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %3609, ptr %15, align 4, !tbaa !9
  store i32 44, ptr %40, align 4, !tbaa !9
  %3610 = load i32, ptr %40, align 4, !tbaa !9
  %3611 = load i32, ptr %39, align 4, !tbaa !9
  %3612 = mul i32 %3611, %3610
  store i32 %3612, ptr %39, align 4, !tbaa !9
  %3613 = load i32, ptr %39, align 4, !tbaa !9
  %3614 = load i32, ptr %38, align 4, !tbaa !9
  %3615 = add i32 %3614, %3613
  store i32 %3615, ptr %38, align 4, !tbaa !9
  %3616 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %3616, ptr %8, align 4, !tbaa !9
  %3617 = load ptr, ptr %4, align 8, !tbaa !5
  %3618 = getelementptr inbounds %struct.w2c_hermes, ptr %3617, i32 0, i32 6
  %3619 = load i32, ptr %38, align 4, !tbaa !9
  %3620 = zext i32 %3619 to i64
  %3621 = call i32 @i32_load(ptr noundef %3618, i64 noundef %3620)
  store i32 %3621, ptr %38, align 4, !tbaa !9
  %3622 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %3622, ptr %11, align 4, !tbaa !9
  %3623 = load i32, ptr %37, align 4, !tbaa !9
  %3624 = load i32, ptr %38, align 4, !tbaa !9
  %3625 = icmp ne i32 %3623, %3624
  %3626 = zext i1 %3625 to i32
  store i32 %3626, ptr %37, align 4, !tbaa !9
  %3627 = load i32, ptr %37, align 4, !tbaa !9
  %3628 = icmp ne i32 %3627, 0
  br i1 %3628, label %3629, label %3630

3629:                                             ; preds = %3588
  br label %3543

3630:                                             ; preds = %3588
  br label %3651

3631:                                             ; preds = %3561, %3486
  %3632 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3632, ptr %37, align 4, !tbaa !9
  %3633 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3633, ptr %38, align 4, !tbaa !9
  %3634 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %3634, ptr %39, align 4, !tbaa !9
  store i32 12, ptr %40, align 4, !tbaa !9
  %3635 = load i32, ptr %40, align 4, !tbaa !9
  %3636 = load i32, ptr %39, align 4, !tbaa !9
  %3637 = add i32 %3636, %3635
  store i32 %3637, ptr %39, align 4, !tbaa !9
  %3638 = load ptr, ptr %4, align 8, !tbaa !5
  %3639 = load i32, ptr %37, align 4, !tbaa !9
  %3640 = load i32, ptr %38, align 4, !tbaa !9
  %3641 = load i32, ptr %39, align 4, !tbaa !9
  %3642 = call i32 @w2c_hermes_llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x3A0x3AInsertIntoBucket0x3Chermes0x3A0x3ABasicBlock0x2A0x20const0x260x3E0x28llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x20const0x260x29(ptr noundef %3638, i32 noundef %3639, i32 noundef %3640, i32 noundef %3641)
  store i32 %3642, ptr %37, align 4, !tbaa !9
  %3643 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3643, ptr %8, align 4, !tbaa !9
  %3644 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %3644, ptr %37, align 4, !tbaa !9
  %3645 = load ptr, ptr %4, align 8, !tbaa !5
  %3646 = getelementptr inbounds %struct.w2c_hermes, ptr %3645, i32 0, i32 6
  %3647 = load i32, ptr %37, align 4, !tbaa !9
  %3648 = zext i32 %3647 to i64
  %3649 = call i32 @i32_load(ptr noundef %3646, i64 noundef %3648)
  store i32 %3649, ptr %37, align 4, !tbaa !9
  %3650 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3650, ptr %12, align 4, !tbaa !9
  br label %3651

3651:                                             ; preds = %3631, %3630, %3539
  %3652 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3652, ptr %37, align 4, !tbaa !9
  %3653 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %3653, ptr %38, align 4, !tbaa !9
  %3654 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3654, ptr %39, align 4, !tbaa !9
  %3655 = load ptr, ptr %4, align 8, !tbaa !5
  %3656 = getelementptr inbounds %struct.w2c_hermes, ptr %3655, i32 0, i32 6
  %3657 = load i32, ptr %39, align 4, !tbaa !9
  %3658 = zext i32 %3657 to i64
  %3659 = add i64 %3658, 8
  %3660 = call i32 @i32_load(ptr noundef %3656, i64 noundef %3659)
  store i32 %3660, ptr %39, align 4, !tbaa !9
  store i32 2, ptr %40, align 4, !tbaa !9
  %3661 = load i32, ptr %40, align 4, !tbaa !9
  %3662 = and i32 %3661, 31
  %3663 = load i32, ptr %39, align 4, !tbaa !9
  %3664 = shl i32 %3663, %3662
  store i32 %3664, ptr %39, align 4, !tbaa !9
  %3665 = load i32, ptr %39, align 4, !tbaa !9
  %3666 = load i32, ptr %38, align 4, !tbaa !9
  %3667 = add i32 %3666, %3665
  store i32 %3667, ptr %38, align 4, !tbaa !9
  %3668 = load ptr, ptr %4, align 8, !tbaa !5
  %3669 = getelementptr inbounds %struct.w2c_hermes, ptr %3668, i32 0, i32 6
  %3670 = load i32, ptr %38, align 4, !tbaa !9
  %3671 = zext i32 %3670 to i64
  %3672 = call i32 @i32_load(ptr noundef %3669, i64 noundef %3671)
  store i32 %3672, ptr %38, align 4, !tbaa !9
  %3673 = load ptr, ptr %4, align 8, !tbaa !5
  %3674 = getelementptr inbounds %struct.w2c_hermes, ptr %3673, i32 0, i32 6
  %3675 = load i32, ptr %37, align 4, !tbaa !9
  %3676 = zext i32 %3675 to i64
  %3677 = add i64 %3676, 20
  %3678 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3674, i64 noundef %3677, i32 noundef %3678)
  %3679 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3679, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %3680 = load i32, ptr %38, align 4, !tbaa !9
  %3681 = load i32, ptr %37, align 4, !tbaa !9
  %3682 = add i32 %3681, %3680
  store i32 %3682, ptr %37, align 4, !tbaa !9
  %3683 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3683, ptr %7, align 4, !tbaa !9
  %3684 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %3684, ptr %38, align 4, !tbaa !9
  %3685 = load i32, ptr %37, align 4, !tbaa !9
  %3686 = load i32, ptr %38, align 4, !tbaa !9
  %3687 = icmp ne i32 %3685, %3686
  %3688 = zext i1 %3687 to i32
  store i32 %3688, ptr %37, align 4, !tbaa !9
  %3689 = load i32, ptr %37, align 4, !tbaa !9
  %3690 = icmp ne i32 %3689, 0
  br i1 %3690, label %3691, label %3692

3691:                                             ; preds = %3651
  br label %3449

3692:                                             ; preds = %3651
  br label %3693

3693:                                             ; preds = %3692, %3379
  %3694 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %3694, ptr %37, align 4, !tbaa !9
  %3695 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3695, ptr %17, align 4, !tbaa !9
  %3696 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %3696, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %3697 = load i32, ptr %38, align 4, !tbaa !9
  %3698 = load i32, ptr %37, align 4, !tbaa !9
  %3699 = sub i32 %3698, %3697
  store i32 %3699, ptr %37, align 4, !tbaa !9
  %3700 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3700, ptr %7, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %3701 = load i32, ptr %37, align 4, !tbaa !9
  %3702 = load i32, ptr %38, align 4, !tbaa !9
  %3703 = icmp uge i32 %3701, %3702
  %3704 = zext i1 %3703 to i32
  store i32 %3704, ptr %37, align 4, !tbaa !9
  %3705 = load i32, ptr %37, align 4, !tbaa !9
  %3706 = icmp ne i32 %3705, 0
  br i1 %3706, label %3707, label %6570

3707:                                             ; preds = %3693
  %3708 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %3708, ptr %37, align 4, !tbaa !9
  store i32 12, ptr %38, align 4, !tbaa !9
  %3709 = load i32, ptr %38, align 4, !tbaa !9
  %3710 = load i32, ptr %37, align 4, !tbaa !9
  %3711 = add i32 %3710, %3709
  store i32 %3711, ptr %37, align 4, !tbaa !9
  %3712 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3712, ptr %30, align 4, !tbaa !9
  %3713 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %3713, ptr %37, align 4, !tbaa !9
  %3714 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3714, ptr %6, align 4, !tbaa !9
  br label %3715

3715:                                             ; preds = %6568, %3707
  %3716 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %3716, ptr %37, align 4, !tbaa !9
  %3717 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3717, ptr %20, align 4, !tbaa !9
  %3718 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %3718, ptr %37, align 4, !tbaa !9
  %3719 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %3719, ptr %38, align 4, !tbaa !9
  %3720 = load ptr, ptr %4, align 8, !tbaa !5
  %3721 = getelementptr inbounds %struct.w2c_hermes, ptr %3720, i32 0, i32 6
  %3722 = load i32, ptr %38, align 4, !tbaa !9
  %3723 = zext i32 %3722 to i64
  %3724 = call i32 @i32_load(ptr noundef %3721, i64 noundef %3723)
  store i32 %3724, ptr %38, align 4, !tbaa !9
  %3725 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3725, ptr %39, align 4, !tbaa !9
  %3726 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %3726, ptr %6, align 4, !tbaa !9
  store i32 2, ptr %40, align 4, !tbaa !9
  %3727 = load i32, ptr %40, align 4, !tbaa !9
  %3728 = and i32 %3727, 31
  %3729 = load i32, ptr %39, align 4, !tbaa !9
  %3730 = shl i32 %3729, %3728
  store i32 %3730, ptr %39, align 4, !tbaa !9
  %3731 = load i32, ptr %39, align 4, !tbaa !9
  %3732 = load i32, ptr %38, align 4, !tbaa !9
  %3733 = add i32 %3732, %3731
  store i32 %3733, ptr %38, align 4, !tbaa !9
  %3734 = load ptr, ptr %4, align 8, !tbaa !5
  %3735 = getelementptr inbounds %struct.w2c_hermes, ptr %3734, i32 0, i32 6
  %3736 = load i32, ptr %38, align 4, !tbaa !9
  %3737 = zext i32 %3736 to i64
  %3738 = call i32 @i32_load(ptr noundef %3735, i64 noundef %3737)
  store i32 %3738, ptr %38, align 4, !tbaa !9
  %3739 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %3739, ptr %9, align 4, !tbaa !9
  %3740 = load ptr, ptr %4, align 8, !tbaa !5
  %3741 = getelementptr inbounds %struct.w2c_hermes, ptr %3740, i32 0, i32 6
  %3742 = load i32, ptr %37, align 4, !tbaa !9
  %3743 = zext i32 %3742 to i64
  %3744 = add i64 %3743, 8
  %3745 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3741, i64 noundef %3744, i32 noundef %3745)
  %3746 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %3746, ptr %37, align 4, !tbaa !9
  %3747 = load ptr, ptr %4, align 8, !tbaa !5
  %3748 = getelementptr inbounds %struct.w2c_hermes, ptr %3747, i32 0, i32 6
  %3749 = load i32, ptr %37, align 4, !tbaa !9
  %3750 = zext i32 %3749 to i64
  %3751 = add i64 %3750, 24
  %3752 = call i32 @i32_load(ptr noundef %3748, i64 noundef %3751)
  store i32 %3752, ptr %37, align 4, !tbaa !9
  %3753 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3753, ptr %7, align 4, !tbaa !9
  %3754 = load i32, ptr %37, align 4, !tbaa !9
  %3755 = icmp ne i32 %3754, 0
  %3756 = xor i1 %3755, true
  %3757 = zext i1 %3756 to i32
  store i32 %3757, ptr %37, align 4, !tbaa !9
  %3758 = load i32, ptr %37, align 4, !tbaa !9
  %3759 = icmp ne i32 %3758, 0
  br i1 %3759, label %3760, label %3762

3760:                                             ; preds = %3715
  store i32 0, ptr %37, align 4, !tbaa !9
  %3761 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3761, ptr %7, align 4, !tbaa !9
  br label %3905

3762:                                             ; preds = %3715
  %3763 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %3763, ptr %37, align 4, !tbaa !9
  %3764 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %3764, ptr %38, align 4, !tbaa !9
  %3765 = load ptr, ptr %4, align 8, !tbaa !5
  %3766 = getelementptr inbounds %struct.w2c_hermes, ptr %3765, i32 0, i32 6
  %3767 = load i32, ptr %38, align 4, !tbaa !9
  %3768 = zext i32 %3767 to i64
  %3769 = add i64 %3768, 12
  %3770 = call i32 @i32_load(ptr noundef %3766, i64 noundef %3769)
  store i32 %3770, ptr %38, align 4, !tbaa !9
  %3771 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %3771, ptr %13, align 4, !tbaa !9
  %3772 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3772, ptr %39, align 4, !tbaa !9
  store i32 1, ptr %40, align 4, !tbaa !9
  %3773 = load i32, ptr %40, align 4, !tbaa !9
  %3774 = load i32, ptr %39, align 4, !tbaa !9
  %3775 = sub i32 %3774, %3773
  store i32 %3775, ptr %39, align 4, !tbaa !9
  %3776 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %3776, ptr %12, align 4, !tbaa !9
  %3777 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %3777, ptr %40, align 4, !tbaa !9
  store i32 4, ptr %41, align 4, !tbaa !9
  %3778 = load i32, ptr %41, align 4, !tbaa !9
  %3779 = and i32 %3778, 31
  %3780 = load i32, ptr %40, align 4, !tbaa !9
  %3781 = lshr i32 %3780, %3779
  store i32 %3781, ptr %40, align 4, !tbaa !9
  %3782 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %3782, ptr %41, align 4, !tbaa !9
  store i32 9, ptr %42, align 4, !tbaa !9
  %3783 = load i32, ptr %42, align 4, !tbaa !9
  %3784 = and i32 %3783, 31
  %3785 = load i32, ptr %41, align 4, !tbaa !9
  %3786 = lshr i32 %3785, %3784
  store i32 %3786, ptr %41, align 4, !tbaa !9
  %3787 = load i32, ptr %41, align 4, !tbaa !9
  %3788 = load i32, ptr %40, align 4, !tbaa !9
  %3789 = xor i32 %3788, %3787
  store i32 %3789, ptr %40, align 4, !tbaa !9
  %3790 = load i32, ptr %40, align 4, !tbaa !9
  %3791 = load i32, ptr %39, align 4, !tbaa !9
  %3792 = and i32 %3791, %3790
  store i32 %3792, ptr %39, align 4, !tbaa !9
  %3793 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %3793, ptr %7, align 4, !tbaa !9
  store i32 44, ptr %40, align 4, !tbaa !9
  %3794 = load i32, ptr %40, align 4, !tbaa !9
  %3795 = load i32, ptr %39, align 4, !tbaa !9
  %3796 = mul i32 %3795, %3794
  store i32 %3796, ptr %39, align 4, !tbaa !9
  %3797 = load i32, ptr %39, align 4, !tbaa !9
  %3798 = load i32, ptr %38, align 4, !tbaa !9
  %3799 = add i32 %3798, %3797
  store i32 %3799, ptr %38, align 4, !tbaa !9
  %3800 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %3800, ptr %11, align 4, !tbaa !9
  %3801 = load ptr, ptr %4, align 8, !tbaa !5
  %3802 = getelementptr inbounds %struct.w2c_hermes, ptr %3801, i32 0, i32 6
  %3803 = load i32, ptr %38, align 4, !tbaa !9
  %3804 = zext i32 %3803 to i64
  %3805 = call i32 @i32_load(ptr noundef %3802, i64 noundef %3804)
  store i32 %3805, ptr %38, align 4, !tbaa !9
  %3806 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %3806, ptr %8, align 4, !tbaa !9
  %3807 = load i32, ptr %37, align 4, !tbaa !9
  %3808 = load i32, ptr %38, align 4, !tbaa !9
  %3809 = icmp eq i32 %3807, %3808
  %3810 = zext i1 %3809 to i32
  store i32 %3810, ptr %37, align 4, !tbaa !9
  %3811 = load i32, ptr %37, align 4, !tbaa !9
  %3812 = icmp ne i32 %3811, 0
  br i1 %3812, label %3813, label %3814

3813:                                             ; preds = %3762
  br label %3918

3814:                                             ; preds = %3762
  store i32 0, ptr %37, align 4, !tbaa !9
  %3815 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3815, ptr %15, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %3816 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3816, ptr %10, align 4, !tbaa !9
  br label %3817

3817:                                             ; preds = %3903, %3814
  %3818 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3818, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %3819 = load i32, ptr %37, align 4, !tbaa !9
  %3820 = load i32, ptr %38, align 4, !tbaa !9
  %3821 = icmp eq i32 %3819, %3820
  %3822 = zext i1 %3821 to i32
  store i32 %3822, ptr %37, align 4, !tbaa !9
  %3823 = load i32, ptr %37, align 4, !tbaa !9
  %3824 = icmp ne i32 %3823, 0
  br i1 %3824, label %3825, label %3838

3825:                                             ; preds = %3817
  %3826 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %3826, ptr %37, align 4, !tbaa !9
  %3827 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3827, ptr %38, align 4, !tbaa !9
  %3828 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %3828, ptr %39, align 4, !tbaa !9
  %3829 = load i32, ptr %39, align 4, !tbaa !9
  %3830 = icmp ne i32 %3829, 0
  br i1 %3830, label %3831, label %3833

3831:                                             ; preds = %3825
  %3832 = load i32, ptr %37, align 4, !tbaa !9
  br label %3835

3833:                                             ; preds = %3825
  %3834 = load i32, ptr %38, align 4, !tbaa !9
  br label %3835

3835:                                             ; preds = %3833, %3831
  %3836 = phi i32 [ %3832, %3831 ], [ %3834, %3833 ]
  store i32 %3836, ptr %37, align 4, !tbaa !9
  %3837 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3837, ptr %7, align 4, !tbaa !9
  br label %3905

3838:                                             ; preds = %3817
  %3839 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %3839, ptr %37, align 4, !tbaa !9
  %3840 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3840, ptr %38, align 4, !tbaa !9
  %3841 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %3841, ptr %39, align 4, !tbaa !9
  %3842 = load i32, ptr %39, align 4, !tbaa !9
  %3843 = icmp ne i32 %3842, 0
  br i1 %3843, label %3844, label %3846

3844:                                             ; preds = %3838
  %3845 = load i32, ptr %37, align 4, !tbaa !9
  br label %3848

3846:                                             ; preds = %3838
  %3847 = load i32, ptr %38, align 4, !tbaa !9
  br label %3848

3848:                                             ; preds = %3846, %3844
  %3849 = phi i32 [ %3845, %3844 ], [ %3847, %3846 ]
  store i32 %3849, ptr %37, align 4, !tbaa !9
  %3850 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %3850, ptr %38, align 4, !tbaa !9
  %3851 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3851, ptr %39, align 4, !tbaa !9
  store i32 -8, ptr %40, align 4, !tbaa !9
  %3852 = load i32, ptr %39, align 4, !tbaa !9
  %3853 = load i32, ptr %40, align 4, !tbaa !9
  %3854 = icmp eq i32 %3852, %3853
  %3855 = zext i1 %3854 to i32
  store i32 %3855, ptr %39, align 4, !tbaa !9
  %3856 = load i32, ptr %39, align 4, !tbaa !9
  %3857 = icmp ne i32 %3856, 0
  br i1 %3857, label %3858, label %3860

3858:                                             ; preds = %3848
  %3859 = load i32, ptr %37, align 4, !tbaa !9
  br label %3862

3860:                                             ; preds = %3848
  %3861 = load i32, ptr %38, align 4, !tbaa !9
  br label %3862

3862:                                             ; preds = %3860, %3858
  %3863 = phi i32 [ %3859, %3858 ], [ %3861, %3860 ]
  store i32 %3863, ptr %37, align 4, !tbaa !9
  %3864 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3864, ptr %15, align 4, !tbaa !9
  %3865 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3865, ptr %37, align 4, !tbaa !9
  %3866 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3866, ptr %38, align 4, !tbaa !9
  %3867 = load i32, ptr %38, align 4, !tbaa !9
  %3868 = load i32, ptr %37, align 4, !tbaa !9
  %3869 = add i32 %3868, %3867
  store i32 %3869, ptr %37, align 4, !tbaa !9
  %3870 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3870, ptr %7, align 4, !tbaa !9
  %3871 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3871, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %3872 = load i32, ptr %38, align 4, !tbaa !9
  %3873 = load i32, ptr %37, align 4, !tbaa !9
  %3874 = add i32 %3873, %3872
  store i32 %3874, ptr %37, align 4, !tbaa !9
  %3875 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3875, ptr %10, align 4, !tbaa !9
  %3876 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %3876, ptr %37, align 4, !tbaa !9
  %3877 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %3877, ptr %38, align 4, !tbaa !9
  %3878 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3878, ptr %39, align 4, !tbaa !9
  %3879 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %3879, ptr %40, align 4, !tbaa !9
  %3880 = load i32, ptr %40, align 4, !tbaa !9
  %3881 = load i32, ptr %39, align 4, !tbaa !9
  %3882 = and i32 %3881, %3880
  store i32 %3882, ptr %39, align 4, !tbaa !9
  %3883 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %3883, ptr %7, align 4, !tbaa !9
  store i32 44, ptr %40, align 4, !tbaa !9
  %3884 = load i32, ptr %40, align 4, !tbaa !9
  %3885 = load i32, ptr %39, align 4, !tbaa !9
  %3886 = mul i32 %3885, %3884
  store i32 %3886, ptr %39, align 4, !tbaa !9
  %3887 = load i32, ptr %39, align 4, !tbaa !9
  %3888 = load i32, ptr %38, align 4, !tbaa !9
  %3889 = add i32 %3888, %3887
  store i32 %3889, ptr %38, align 4, !tbaa !9
  %3890 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %3890, ptr %11, align 4, !tbaa !9
  %3891 = load ptr, ptr %4, align 8, !tbaa !5
  %3892 = getelementptr inbounds %struct.w2c_hermes, ptr %3891, i32 0, i32 6
  %3893 = load i32, ptr %38, align 4, !tbaa !9
  %3894 = zext i32 %3893 to i64
  %3895 = call i32 @i32_load(ptr noundef %3892, i64 noundef %3894)
  store i32 %3895, ptr %38, align 4, !tbaa !9
  %3896 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %3896, ptr %8, align 4, !tbaa !9
  %3897 = load i32, ptr %37, align 4, !tbaa !9
  %3898 = load i32, ptr %38, align 4, !tbaa !9
  %3899 = icmp ne i32 %3897, %3898
  %3900 = zext i1 %3899 to i32
  store i32 %3900, ptr %37, align 4, !tbaa !9
  %3901 = load i32, ptr %37, align 4, !tbaa !9
  %3902 = icmp ne i32 %3901, 0
  br i1 %3902, label %3903, label %3904

3903:                                             ; preds = %3862
  br label %3817

3904:                                             ; preds = %3862
  br label %3918

3905:                                             ; preds = %3835, %3760
  %3906 = load i32, ptr %30, align 4, !tbaa !9
  store i32 %3906, ptr %37, align 4, !tbaa !9
  %3907 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3907, ptr %38, align 4, !tbaa !9
  %3908 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %3908, ptr %39, align 4, !tbaa !9
  store i32 8, ptr %40, align 4, !tbaa !9
  %3909 = load i32, ptr %40, align 4, !tbaa !9
  %3910 = load i32, ptr %39, align 4, !tbaa !9
  %3911 = add i32 %3910, %3909
  store i32 %3911, ptr %39, align 4, !tbaa !9
  %3912 = load ptr, ptr %4, align 8, !tbaa !5
  %3913 = load i32, ptr %37, align 4, !tbaa !9
  %3914 = load i32, ptr %38, align 4, !tbaa !9
  %3915 = load i32, ptr %39, align 4, !tbaa !9
  %3916 = call i32 @w2c_hermes_llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x3A0x3AInsertIntoBucket0x3Chermes0x3A0x3ABasicBlock0x2A0x20const0x260x3E0x28llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x20const0x260x29(ptr noundef %3912, i32 noundef %3913, i32 noundef %3914, i32 noundef %3915)
  store i32 %3916, ptr %37, align 4, !tbaa !9
  %3917 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3917, ptr %11, align 4, !tbaa !9
  br label %3918

3918:                                             ; preds = %3905, %3904, %3813
  %3919 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3919, ptr %37, align 4, !tbaa !9
  %3920 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3920, ptr %38, align 4, !tbaa !9
  %3921 = load ptr, ptr %4, align 8, !tbaa !5
  %3922 = getelementptr inbounds %struct.w2c_hermes, ptr %3921, i32 0, i32 6
  %3923 = load i32, ptr %38, align 4, !tbaa !9
  %3924 = zext i32 %3923 to i64
  %3925 = add i64 %3924, 8
  %3926 = call i32 @i32_load(ptr noundef %3922, i64 noundef %3925)
  store i32 %3926, ptr %38, align 4, !tbaa !9
  %3927 = load ptr, ptr %4, align 8, !tbaa !5
  %3928 = getelementptr inbounds %struct.w2c_hermes, ptr %3927, i32 0, i32 6
  %3929 = load i32, ptr %37, align 4, !tbaa !9
  %3930 = zext i32 %3929 to i64
  %3931 = add i64 %3930, 12
  %3932 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3928, i64 noundef %3931, i32 noundef %3932)
  %3933 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3933, ptr %37, align 4, !tbaa !9
  %3934 = load ptr, ptr %4, align 8, !tbaa !5
  %3935 = getelementptr inbounds %struct.w2c_hermes, ptr %3934, i32 0, i32 6
  %3936 = load i32, ptr %37, align 4, !tbaa !9
  %3937 = zext i32 %3936 to i64
  %3938 = add i64 %3937, 28
  %3939 = call i32 @i32_load(ptr noundef %3935, i64 noundef %3938)
  store i32 %3939, ptr %37, align 4, !tbaa !9
  %3940 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3940, ptr %10, align 4, !tbaa !9
  %3941 = load i32, ptr %37, align 4, !tbaa !9
  %3942 = icmp ne i32 %3941, 0
  %3943 = xor i1 %3942, true
  %3944 = zext i1 %3943 to i32
  store i32 %3944, ptr %37, align 4, !tbaa !9
  %3945 = load i32, ptr %37, align 4, !tbaa !9
  %3946 = icmp ne i32 %3945, 0
  br i1 %3946, label %3947, label %3948

3947:                                             ; preds = %3918
  br label %6556

3948:                                             ; preds = %3918
  %3949 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %3949, ptr %37, align 4, !tbaa !9
  %3950 = load ptr, ptr %4, align 8, !tbaa !5
  %3951 = getelementptr inbounds %struct.w2c_hermes, ptr %3950, i32 0, i32 6
  %3952 = load i32, ptr %37, align 4, !tbaa !9
  %3953 = zext i32 %3952 to i64
  %3954 = add i64 %3953, 24
  %3955 = call i32 @i32_load(ptr noundef %3951, i64 noundef %3954)
  store i32 %3955, ptr %37, align 4, !tbaa !9
  %3956 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3956, ptr %7, align 4, !tbaa !9
  %3957 = load i32, ptr %37, align 4, !tbaa !9
  %3958 = icmp ne i32 %3957, 0
  %3959 = xor i1 %3958, true
  %3960 = zext i1 %3959 to i32
  store i32 %3960, ptr %37, align 4, !tbaa !9
  %3961 = load i32, ptr %37, align 4, !tbaa !9
  %3962 = icmp ne i32 %3961, 0
  br i1 %3962, label %3963, label %3964

3963:                                             ; preds = %3948
  br label %6556

3964:                                             ; preds = %3948
  %3965 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3965, ptr %37, align 4, !tbaa !9
  %3966 = load ptr, ptr %4, align 8, !tbaa !5
  %3967 = getelementptr inbounds %struct.w2c_hermes, ptr %3966, i32 0, i32 6
  %3968 = load i32, ptr %37, align 4, !tbaa !9
  %3969 = zext i32 %3968 to i64
  %3970 = add i64 %3969, 24
  %3971 = call i32 @i32_load(ptr noundef %3967, i64 noundef %3970)
  store i32 %3971, ptr %37, align 4, !tbaa !9
  %3972 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3972, ptr %8, align 4, !tbaa !9
  %3973 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3973, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %3974 = load i32, ptr %39, align 4, !tbaa !9
  %3975 = and i32 %3974, 31
  %3976 = load i32, ptr %38, align 4, !tbaa !9
  %3977 = shl i32 %3976, %3975
  store i32 %3977, ptr %38, align 4, !tbaa !9
  %3978 = load i32, ptr %38, align 4, !tbaa !9
  %3979 = load i32, ptr %37, align 4, !tbaa !9
  %3980 = add i32 %3979, %3978
  store i32 %3980, ptr %37, align 4, !tbaa !9
  %3981 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3981, ptr %35, align 4, !tbaa !9
  br label %3982

3982:                                             ; preds = %6547, %3964
  %3983 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3983, ptr %37, align 4, !tbaa !9
  %3984 = load i32, ptr %37, align 4, !tbaa !9
  %3985 = icmp ne i32 %3984, 0
  %3986 = xor i1 %3985, true
  %3987 = zext i1 %3986 to i32
  store i32 %3987, ptr %37, align 4, !tbaa !9
  %3988 = load i32, ptr %37, align 4, !tbaa !9
  %3989 = icmp ne i32 %3988, 0
  br i1 %3989, label %3990, label %3991

3990:                                             ; preds = %3982
  br label %6533

3991:                                             ; preds = %3982
  %3992 = load i32, ptr %30, align 4, !tbaa !9
  store i32 %3992, ptr %37, align 4, !tbaa !9
  %3993 = load ptr, ptr %4, align 8, !tbaa !5
  %3994 = getelementptr inbounds %struct.w2c_hermes, ptr %3993, i32 0, i32 6
  %3995 = load i32, ptr %37, align 4, !tbaa !9
  %3996 = zext i32 %3995 to i64
  %3997 = call i32 @i32_load(ptr noundef %3994, i64 noundef %3996)
  store i32 %3997, ptr %37, align 4, !tbaa !9
  %3998 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3998, ptr %10, align 4, !tbaa !9
  %3999 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3999, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %4000 = load i32, ptr %39, align 4, !tbaa !9
  %4001 = load i32, ptr %38, align 4, !tbaa !9
  %4002 = sub i32 %4001, %4000
  store i32 %4002, ptr %38, align 4, !tbaa !9
  %4003 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %4003, ptr %15, align 4, !tbaa !9
  %4004 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %4004, ptr %39, align 4, !tbaa !9
  %4005 = load ptr, ptr %4, align 8, !tbaa !5
  %4006 = getelementptr inbounds %struct.w2c_hermes, ptr %4005, i32 0, i32 6
  %4007 = load i32, ptr %39, align 4, !tbaa !9
  %4008 = zext i32 %4007 to i64
  %4009 = call i32 @i32_load(ptr noundef %4006, i64 noundef %4008)
  store i32 %4009, ptr %39, align 4, !tbaa !9
  %4010 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %4010, ptr %13, align 4, !tbaa !9
  store i32 4, ptr %40, align 4, !tbaa !9
  %4011 = load i32, ptr %40, align 4, !tbaa !9
  %4012 = and i32 %4011, 31
  %4013 = load i32, ptr %39, align 4, !tbaa !9
  %4014 = lshr i32 %4013, %4012
  store i32 %4014, ptr %39, align 4, !tbaa !9
  %4015 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %4015, ptr %40, align 4, !tbaa !9
  store i32 9, ptr %41, align 4, !tbaa !9
  %4016 = load i32, ptr %41, align 4, !tbaa !9
  %4017 = and i32 %4016, 31
  %4018 = load i32, ptr %40, align 4, !tbaa !9
  %4019 = lshr i32 %4018, %4017
  store i32 %4019, ptr %40, align 4, !tbaa !9
  %4020 = load i32, ptr %40, align 4, !tbaa !9
  %4021 = load i32, ptr %39, align 4, !tbaa !9
  %4022 = xor i32 %4021, %4020
  store i32 %4022, ptr %39, align 4, !tbaa !9
  %4023 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %4023, ptr %16, align 4, !tbaa !9
  %4024 = load i32, ptr %39, align 4, !tbaa !9
  %4025 = load i32, ptr %38, align 4, !tbaa !9
  %4026 = and i32 %4025, %4024
  store i32 %4026, ptr %38, align 4, !tbaa !9
  %4027 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %4027, ptr %12, align 4, !tbaa !9
  store i32 44, ptr %39, align 4, !tbaa !9
  %4028 = load i32, ptr %39, align 4, !tbaa !9
  %4029 = load i32, ptr %38, align 4, !tbaa !9
  %4030 = mul i32 %4029, %4028
  store i32 %4030, ptr %38, align 4, !tbaa !9
  %4031 = load i32, ptr %38, align 4, !tbaa !9
  %4032 = load i32, ptr %37, align 4, !tbaa !9
  %4033 = add i32 %4032, %4031
  store i32 %4033, ptr %37, align 4, !tbaa !9
  %4034 = load ptr, ptr %4, align 8, !tbaa !5
  %4035 = getelementptr inbounds %struct.w2c_hermes, ptr %4034, i32 0, i32 6
  %4036 = load i32, ptr %37, align 4, !tbaa !9
  %4037 = zext i32 %4036 to i64
  %4038 = call i32 @i32_load(ptr noundef %4035, i64 noundef %4037)
  store i32 %4038, ptr %37, align 4, !tbaa !9
  %4039 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4039, ptr %7, align 4, !tbaa !9
  %4040 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %4040, ptr %38, align 4, !tbaa !9
  %4041 = load i32, ptr %37, align 4, !tbaa !9
  %4042 = load i32, ptr %38, align 4, !tbaa !9
  %4043 = icmp ne i32 %4041, %4042
  %4044 = zext i1 %4043 to i32
  store i32 %4044, ptr %37, align 4, !tbaa !9
  %4045 = load i32, ptr %37, align 4, !tbaa !9
  %4046 = icmp ne i32 %4045, 0
  br i1 %4046, label %4047, label %4098

4047:                                             ; preds = %3991
  store i32 1, ptr %37, align 4, !tbaa !9
  %4048 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4048, ptr %9, align 4, !tbaa !9
  br label %4049

4049:                                             ; preds = %4096, %4047
  %4050 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4050, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %4051 = load i32, ptr %37, align 4, !tbaa !9
  %4052 = load i32, ptr %38, align 4, !tbaa !9
  %4053 = icmp eq i32 %4051, %4052
  %4054 = zext i1 %4053 to i32
  store i32 %4054, ptr %37, align 4, !tbaa !9
  %4055 = load i32, ptr %37, align 4, !tbaa !9
  %4056 = icmp ne i32 %4055, 0
  br i1 %4056, label %4057, label %4058

4057:                                             ; preds = %4049
  br label %6533

4058:                                             ; preds = %4049
  %4059 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %4059, ptr %37, align 4, !tbaa !9
  %4060 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %4060, ptr %38, align 4, !tbaa !9
  %4061 = load i32, ptr %38, align 4, !tbaa !9
  %4062 = load i32, ptr %37, align 4, !tbaa !9
  %4063 = add i32 %4062, %4061
  store i32 %4063, ptr %37, align 4, !tbaa !9
  %4064 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4064, ptr %7, align 4, !tbaa !9
  %4065 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %4065, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %4066 = load i32, ptr %38, align 4, !tbaa !9
  %4067 = load i32, ptr %37, align 4, !tbaa !9
  %4068 = add i32 %4067, %4066
  store i32 %4068, ptr %37, align 4, !tbaa !9
  %4069 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4069, ptr %9, align 4, !tbaa !9
  %4070 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4070, ptr %37, align 4, !tbaa !9
  %4071 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4071, ptr %38, align 4, !tbaa !9
  %4072 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %4072, ptr %39, align 4, !tbaa !9
  %4073 = load i32, ptr %39, align 4, !tbaa !9
  %4074 = load i32, ptr %38, align 4, !tbaa !9
  %4075 = and i32 %4074, %4073
  store i32 %4075, ptr %38, align 4, !tbaa !9
  %4076 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %4076, ptr %12, align 4, !tbaa !9
  store i32 44, ptr %39, align 4, !tbaa !9
  %4077 = load i32, ptr %39, align 4, !tbaa !9
  %4078 = load i32, ptr %38, align 4, !tbaa !9
  %4079 = mul i32 %4078, %4077
  store i32 %4079, ptr %38, align 4, !tbaa !9
  %4080 = load i32, ptr %38, align 4, !tbaa !9
  %4081 = load i32, ptr %37, align 4, !tbaa !9
  %4082 = add i32 %4081, %4080
  store i32 %4082, ptr %37, align 4, !tbaa !9
  %4083 = load ptr, ptr %4, align 8, !tbaa !5
  %4084 = getelementptr inbounds %struct.w2c_hermes, ptr %4083, i32 0, i32 6
  %4085 = load i32, ptr %37, align 4, !tbaa !9
  %4086 = zext i32 %4085 to i64
  %4087 = call i32 @i32_load(ptr noundef %4084, i64 noundef %4086)
  store i32 %4087, ptr %37, align 4, !tbaa !9
  %4088 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4088, ptr %7, align 4, !tbaa !9
  %4089 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %4089, ptr %38, align 4, !tbaa !9
  %4090 = load i32, ptr %37, align 4, !tbaa !9
  %4091 = load i32, ptr %38, align 4, !tbaa !9
  %4092 = icmp ne i32 %4090, %4091
  %4093 = zext i1 %4092 to i32
  store i32 %4093, ptr %37, align 4, !tbaa !9
  %4094 = load i32, ptr %37, align 4, !tbaa !9
  %4095 = icmp ne i32 %4094, 0
  br i1 %4095, label %4096, label %4097

4096:                                             ; preds = %4058
  br label %4049

4097:                                             ; preds = %4058
  br label %4098

4098:                                             ; preds = %4097, %3991
  %4099 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %4099, ptr %37, align 4, !tbaa !9
  %4100 = load ptr, ptr %4, align 8, !tbaa !5
  %4101 = getelementptr inbounds %struct.w2c_hermes, ptr %4100, i32 0, i32 6
  %4102 = load i32, ptr %37, align 4, !tbaa !9
  %4103 = zext i32 %4102 to i64
  %4104 = add i64 %4103, 16
  %4105 = call i32 @i32_load(ptr noundef %4101, i64 noundef %4104)
  store i32 %4105, ptr %37, align 4, !tbaa !9
  %4106 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4106, ptr %7, align 4, !tbaa !9
  %4107 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %4107, ptr %37, align 4, !tbaa !9
  %4108 = load ptr, ptr %4, align 8, !tbaa !5
  %4109 = getelementptr inbounds %struct.w2c_hermes, ptr %4108, i32 0, i32 6
  %4110 = load i32, ptr %37, align 4, !tbaa !9
  %4111 = zext i32 %4110 to i64
  %4112 = add i64 %4111, 28
  %4113 = call i32 @i32_load(ptr noundef %4109, i64 noundef %4112)
  store i32 %4113, ptr %37, align 4, !tbaa !9
  %4114 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4114, ptr %12, align 4, !tbaa !9
  %4115 = load i32, ptr %37, align 4, !tbaa !9
  %4116 = icmp ne i32 %4115, 0
  %4117 = xor i1 %4116, true
  %4118 = zext i1 %4117 to i32
  store i32 %4118, ptr %37, align 4, !tbaa !9
  %4119 = load i32, ptr %37, align 4, !tbaa !9
  %4120 = icmp ne i32 %4119, 0
  br i1 %4120, label %4121, label %4122

4121:                                             ; preds = %4098
  br label %4209

4122:                                             ; preds = %4098
  %4123 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4123, ptr %37, align 4, !tbaa !9
  %4124 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %4124, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %4125 = load i32, ptr %39, align 4, !tbaa !9
  %4126 = load i32, ptr %38, align 4, !tbaa !9
  %4127 = sub i32 %4126, %4125
  store i32 %4127, ptr %38, align 4, !tbaa !9
  %4128 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %4128, ptr %19, align 4, !tbaa !9
  %4129 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %4129, ptr %39, align 4, !tbaa !9
  %4130 = load i32, ptr %39, align 4, !tbaa !9
  %4131 = load i32, ptr %38, align 4, !tbaa !9
  %4132 = and i32 %4131, %4130
  store i32 %4132, ptr %38, align 4, !tbaa !9
  %4133 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %4133, ptr %9, align 4, !tbaa !9
  store i32 3, ptr %39, align 4, !tbaa !9
  %4134 = load i32, ptr %39, align 4, !tbaa !9
  %4135 = and i32 %4134, 31
  %4136 = load i32, ptr %38, align 4, !tbaa !9
  %4137 = shl i32 %4136, %4135
  store i32 %4137, ptr %38, align 4, !tbaa !9
  %4138 = load i32, ptr %38, align 4, !tbaa !9
  %4139 = load i32, ptr %37, align 4, !tbaa !9
  %4140 = add i32 %4139, %4138
  store i32 %4140, ptr %37, align 4, !tbaa !9
  %4141 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4141, ptr %16, align 4, !tbaa !9
  %4142 = load ptr, ptr %4, align 8, !tbaa !5
  %4143 = getelementptr inbounds %struct.w2c_hermes, ptr %4142, i32 0, i32 6
  %4144 = load i32, ptr %37, align 4, !tbaa !9
  %4145 = zext i32 %4144 to i64
  %4146 = call i32 @i32_load(ptr noundef %4143, i64 noundef %4145)
  store i32 %4146, ptr %37, align 4, !tbaa !9
  %4147 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4147, ptr %10, align 4, !tbaa !9
  %4148 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %4148, ptr %38, align 4, !tbaa !9
  %4149 = load i32, ptr %37, align 4, !tbaa !9
  %4150 = load i32, ptr %38, align 4, !tbaa !9
  %4151 = icmp eq i32 %4149, %4150
  %4152 = zext i1 %4151 to i32
  store i32 %4152, ptr %37, align 4, !tbaa !9
  %4153 = load i32, ptr %37, align 4, !tbaa !9
  %4154 = icmp ne i32 %4153, 0
  br i1 %4154, label %4155, label %4156

4155:                                             ; preds = %4122
  br label %4220

4156:                                             ; preds = %4122
  store i32 1, ptr %37, align 4, !tbaa !9
  %4157 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4157, ptr %15, align 4, !tbaa !9
  br label %4158

4158:                                             ; preds = %4207, %4156
  %4159 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4159, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %4160 = load i32, ptr %37, align 4, !tbaa !9
  %4161 = load i32, ptr %38, align 4, !tbaa !9
  %4162 = icmp eq i32 %4160, %4161
  %4163 = zext i1 %4162 to i32
  store i32 %4163, ptr %37, align 4, !tbaa !9
  %4164 = load i32, ptr %37, align 4, !tbaa !9
  %4165 = icmp ne i32 %4164, 0
  br i1 %4165, label %4166, label %4167

4166:                                             ; preds = %4158
  br label %4209

4167:                                             ; preds = %4158
  %4168 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %4168, ptr %37, align 4, !tbaa !9
  %4169 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %4169, ptr %38, align 4, !tbaa !9
  %4170 = load i32, ptr %38, align 4, !tbaa !9
  %4171 = load i32, ptr %37, align 4, !tbaa !9
  %4172 = add i32 %4171, %4170
  store i32 %4172, ptr %37, align 4, !tbaa !9
  %4173 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4173, ptr %10, align 4, !tbaa !9
  %4174 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %4174, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %4175 = load i32, ptr %38, align 4, !tbaa !9
  %4176 = load i32, ptr %37, align 4, !tbaa !9
  %4177 = add i32 %4176, %4175
  store i32 %4177, ptr %37, align 4, !tbaa !9
  %4178 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4178, ptr %15, align 4, !tbaa !9
  %4179 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4179, ptr %37, align 4, !tbaa !9
  %4180 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4180, ptr %38, align 4, !tbaa !9
  %4181 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %4181, ptr %39, align 4, !tbaa !9
  %4182 = load i32, ptr %39, align 4, !tbaa !9
  %4183 = load i32, ptr %38, align 4, !tbaa !9
  %4184 = and i32 %4183, %4182
  store i32 %4184, ptr %38, align 4, !tbaa !9
  %4185 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %4185, ptr %9, align 4, !tbaa !9
  store i32 3, ptr %39, align 4, !tbaa !9
  %4186 = load i32, ptr %39, align 4, !tbaa !9
  %4187 = and i32 %4186, 31
  %4188 = load i32, ptr %38, align 4, !tbaa !9
  %4189 = shl i32 %4188, %4187
  store i32 %4189, ptr %38, align 4, !tbaa !9
  %4190 = load i32, ptr %38, align 4, !tbaa !9
  %4191 = load i32, ptr %37, align 4, !tbaa !9
  %4192 = add i32 %4191, %4190
  store i32 %4192, ptr %37, align 4, !tbaa !9
  %4193 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4193, ptr %16, align 4, !tbaa !9
  %4194 = load ptr, ptr %4, align 8, !tbaa !5
  %4195 = getelementptr inbounds %struct.w2c_hermes, ptr %4194, i32 0, i32 6
  %4196 = load i32, ptr %37, align 4, !tbaa !9
  %4197 = zext i32 %4196 to i64
  %4198 = call i32 @i32_load(ptr noundef %4195, i64 noundef %4197)
  store i32 %4198, ptr %37, align 4, !tbaa !9
  %4199 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4199, ptr %10, align 4, !tbaa !9
  %4200 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %4200, ptr %38, align 4, !tbaa !9
  %4201 = load i32, ptr %37, align 4, !tbaa !9
  %4202 = load i32, ptr %38, align 4, !tbaa !9
  %4203 = icmp ne i32 %4201, %4202
  %4204 = zext i1 %4203 to i32
  store i32 %4204, ptr %37, align 4, !tbaa !9
  %4205 = load i32, ptr %37, align 4, !tbaa !9
  %4206 = icmp ne i32 %4205, 0
  br i1 %4206, label %4207, label %4208

4207:                                             ; preds = %4167
  br label %4158

4208:                                             ; preds = %4167
  br label %4220

4209:                                             ; preds = %4166, %4121
  %4210 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4210, ptr %37, align 4, !tbaa !9
  %4211 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %4211, ptr %38, align 4, !tbaa !9
  store i32 3, ptr %39, align 4, !tbaa !9
  %4212 = load i32, ptr %39, align 4, !tbaa !9
  %4213 = and i32 %4212, 31
  %4214 = load i32, ptr %38, align 4, !tbaa !9
  %4215 = shl i32 %4214, %4213
  store i32 %4215, ptr %38, align 4, !tbaa !9
  %4216 = load i32, ptr %38, align 4, !tbaa !9
  %4217 = load i32, ptr %37, align 4, !tbaa !9
  %4218 = add i32 %4217, %4216
  store i32 %4218, ptr %37, align 4, !tbaa !9
  %4219 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4219, ptr %16, align 4, !tbaa !9
  br label %4220

4220:                                             ; preds = %4209, %4208, %4155
  %4221 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %4221, ptr %37, align 4, !tbaa !9
  %4222 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4222, ptr %38, align 4, !tbaa !9
  %4223 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %4223, ptr %39, align 4, !tbaa !9
  store i32 3, ptr %40, align 4, !tbaa !9
  %4224 = load i32, ptr %40, align 4, !tbaa !9
  %4225 = and i32 %4224, 31
  %4226 = load i32, ptr %39, align 4, !tbaa !9
  %4227 = shl i32 %4226, %4225
  store i32 %4227, ptr %39, align 4, !tbaa !9
  %4228 = load i32, ptr %39, align 4, !tbaa !9
  %4229 = load i32, ptr %38, align 4, !tbaa !9
  %4230 = add i32 %4229, %4228
  store i32 %4230, ptr %38, align 4, !tbaa !9
  %4231 = load i32, ptr %37, align 4, !tbaa !9
  %4232 = load i32, ptr %38, align 4, !tbaa !9
  %4233 = icmp eq i32 %4231, %4232
  %4234 = zext i1 %4233 to i32
  store i32 %4234, ptr %37, align 4, !tbaa !9
  %4235 = load i32, ptr %37, align 4, !tbaa !9
  %4236 = icmp ne i32 %4235, 0
  br i1 %4236, label %4237, label %4238

4237:                                             ; preds = %4220
  br label %4270

4238:                                             ; preds = %4220
  %4239 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %4239, ptr %37, align 4, !tbaa !9
  %4240 = load ptr, ptr %4, align 8, !tbaa !5
  %4241 = getelementptr inbounds %struct.w2c_hermes, ptr %4240, i32 0, i32 6
  %4242 = load i32, ptr %37, align 4, !tbaa !9
  %4243 = zext i32 %4242 to i64
  %4244 = add i64 %4243, 4
  %4245 = call i32 @i32_load(ptr noundef %4241, i64 noundef %4244)
  store i32 %4245, ptr %37, align 4, !tbaa !9
  %4246 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4246, ptr %7, align 4, !tbaa !9
  %4247 = load i32, ptr %37, align 4, !tbaa !9
  %4248 = icmp ne i32 %4247, 0
  %4249 = xor i1 %4248, true
  %4250 = zext i1 %4249 to i32
  store i32 %4250, ptr %37, align 4, !tbaa !9
  %4251 = load i32, ptr %37, align 4, !tbaa !9
  %4252 = icmp ne i32 %4251, 0
  br i1 %4252, label %4253, label %4254

4253:                                             ; preds = %4238
  br label %4270

4254:                                             ; preds = %4238
  %4255 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4255, ptr %37, align 4, !tbaa !9
  %4256 = load ptr, ptr %4, align 8, !tbaa !5
  %4257 = getelementptr inbounds %struct.w2c_hermes, ptr %4256, i32 0, i32 6
  %4258 = load i32, ptr %37, align 4, !tbaa !9
  %4259 = zext i32 %4258 to i64
  %4260 = add i64 %4259, 8
  %4261 = call i32 @i32_load(ptr noundef %4257, i64 noundef %4260)
  store i32 %4261, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %4262 = load i32, ptr %37, align 4, !tbaa !9
  %4263 = load i32, ptr %38, align 4, !tbaa !9
  %4264 = icmp ult i32 %4262, %4263
  %4265 = zext i1 %4264 to i32
  store i32 %4265, ptr %37, align 4, !tbaa !9
  %4266 = load i32, ptr %37, align 4, !tbaa !9
  %4267 = icmp ne i32 %4266, 0
  br i1 %4267, label %4268, label %4269

4268:                                             ; preds = %4254
  br label %6533

4269:                                             ; preds = %4254
  br label %4270

4270:                                             ; preds = %4269, %4253, %4237
  store i32 0, ptr %37, align 4, !tbaa !9
  %4271 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4271, ptr %12, align 4, !tbaa !9
  %4272 = load ptr, ptr %4, align 8, !tbaa !5
  %4273 = getelementptr inbounds %struct.w2c_hermes, ptr %4272, i32 0, i32 3
  %4274 = load i32, ptr %4273, align 8, !tbaa !13
  store i32 %4274, ptr %37, align 4, !tbaa !9
  store i32 320, ptr %38, align 4, !tbaa !9
  %4275 = load i32, ptr %38, align 4, !tbaa !9
  %4276 = load i32, ptr %37, align 4, !tbaa !9
  %4277 = sub i32 %4276, %4275
  store i32 %4277, ptr %37, align 4, !tbaa !9
  %4278 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4278, ptr %7, align 4, !tbaa !9
  %4279 = load i32, ptr %37, align 4, !tbaa !9
  %4280 = load ptr, ptr %4, align 8, !tbaa !5
  %4281 = getelementptr inbounds %struct.w2c_hermes, ptr %4280, i32 0, i32 3
  store i32 %4279, ptr %4281, align 8, !tbaa !13
  %4282 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4282, ptr %37, align 4, !tbaa !9
  %4283 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %4283, ptr %38, align 4, !tbaa !9
  %4284 = load ptr, ptr %4, align 8, !tbaa !5
  %4285 = getelementptr inbounds %struct.w2c_hermes, ptr %4284, i32 0, i32 6
  %4286 = load i32, ptr %37, align 4, !tbaa !9
  %4287 = zext i32 %4286 to i64
  %4288 = add i64 %4287, 316
  %4289 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4285, i64 noundef %4288, i32 noundef %4289)
  %4290 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %4290, ptr %37, align 4, !tbaa !9
  store i32 12, ptr %38, align 4, !tbaa !9
  %4291 = load i32, ptr %38, align 4, !tbaa !9
  %4292 = load i32, ptr %37, align 4, !tbaa !9
  %4293 = add i32 %4292, %4291
  store i32 %4293, ptr %37, align 4, !tbaa !9
  %4294 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4294, ptr %29, align 4, !tbaa !9
  %4295 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %4295, ptr %37, align 4, !tbaa !9
  %4296 = load ptr, ptr %4, align 8, !tbaa !5
  %4297 = getelementptr inbounds %struct.w2c_hermes, ptr %4296, i32 0, i32 6
  %4298 = load i32, ptr %37, align 4, !tbaa !9
  %4299 = zext i32 %4298 to i64
  %4300 = add i64 %4299, 24
  %4301 = call i32 @i32_load(ptr noundef %4297, i64 noundef %4300)
  store i32 %4301, ptr %37, align 4, !tbaa !9
  %4302 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4302, ptr %10, align 4, !tbaa !9
  %4303 = load i32, ptr %37, align 4, !tbaa !9
  %4304 = icmp ne i32 %4303, 0
  %4305 = xor i1 %4304, true
  %4306 = zext i1 %4305 to i32
  store i32 %4306, ptr %37, align 4, !tbaa !9
  %4307 = load i32, ptr %37, align 4, !tbaa !9
  %4308 = icmp ne i32 %4307, 0
  br i1 %4308, label %4309, label %4311

4309:                                             ; preds = %4270
  store i32 0, ptr %37, align 4, !tbaa !9
  %4310 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4310, ptr %10, align 4, !tbaa !9
  br label %4453

4311:                                             ; preds = %4270
  %4312 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %4312, ptr %37, align 4, !tbaa !9
  %4313 = load ptr, ptr %4, align 8, !tbaa !5
  %4314 = getelementptr inbounds %struct.w2c_hermes, ptr %4313, i32 0, i32 6
  %4315 = load i32, ptr %37, align 4, !tbaa !9
  %4316 = zext i32 %4315 to i64
  %4317 = add i64 %4316, 12
  %4318 = call i32 @i32_load(ptr noundef %4314, i64 noundef %4317)
  store i32 %4318, ptr %37, align 4, !tbaa !9
  %4319 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4319, ptr %19, align 4, !tbaa !9
  %4320 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4320, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %4321 = load i32, ptr %39, align 4, !tbaa !9
  %4322 = load i32, ptr %38, align 4, !tbaa !9
  %4323 = sub i32 %4322, %4321
  store i32 %4323, ptr %38, align 4, !tbaa !9
  %4324 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %4324, ptr %10, align 4, !tbaa !9
  %4325 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %4325, ptr %39, align 4, !tbaa !9
  store i32 4, ptr %40, align 4, !tbaa !9
  %4326 = load i32, ptr %40, align 4, !tbaa !9
  %4327 = and i32 %4326, 31
  %4328 = load i32, ptr %39, align 4, !tbaa !9
  %4329 = lshr i32 %4328, %4327
  store i32 %4329, ptr %39, align 4, !tbaa !9
  %4330 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %4330, ptr %40, align 4, !tbaa !9
  store i32 9, ptr %41, align 4, !tbaa !9
  %4331 = load i32, ptr %41, align 4, !tbaa !9
  %4332 = and i32 %4331, 31
  %4333 = load i32, ptr %40, align 4, !tbaa !9
  %4334 = lshr i32 %4333, %4332
  store i32 %4334, ptr %40, align 4, !tbaa !9
  %4335 = load i32, ptr %40, align 4, !tbaa !9
  %4336 = load i32, ptr %39, align 4, !tbaa !9
  %4337 = xor i32 %4336, %4335
  store i32 %4337, ptr %39, align 4, !tbaa !9
  %4338 = load i32, ptr %39, align 4, !tbaa !9
  %4339 = load i32, ptr %38, align 4, !tbaa !9
  %4340 = and i32 %4339, %4338
  store i32 %4340, ptr %38, align 4, !tbaa !9
  %4341 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %4341, ptr %15, align 4, !tbaa !9
  store i32 44, ptr %39, align 4, !tbaa !9
  %4342 = load i32, ptr %39, align 4, !tbaa !9
  %4343 = load i32, ptr %38, align 4, !tbaa !9
  %4344 = mul i32 %4343, %4342
  store i32 %4344, ptr %38, align 4, !tbaa !9
  %4345 = load i32, ptr %38, align 4, !tbaa !9
  %4346 = load i32, ptr %37, align 4, !tbaa !9
  %4347 = add i32 %4346, %4345
  store i32 %4347, ptr %37, align 4, !tbaa !9
  %4348 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4348, ptr %24, align 4, !tbaa !9
  %4349 = load ptr, ptr %4, align 8, !tbaa !5
  %4350 = getelementptr inbounds %struct.w2c_hermes, ptr %4349, i32 0, i32 6
  %4351 = load i32, ptr %37, align 4, !tbaa !9
  %4352 = zext i32 %4351 to i64
  %4353 = call i32 @i32_load(ptr noundef %4350, i64 noundef %4352)
  store i32 %4353, ptr %37, align 4, !tbaa !9
  %4354 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4354, ptr %9, align 4, !tbaa !9
  %4355 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %4355, ptr %38, align 4, !tbaa !9
  %4356 = load i32, ptr %37, align 4, !tbaa !9
  %4357 = load i32, ptr %38, align 4, !tbaa !9
  %4358 = icmp eq i32 %4356, %4357
  %4359 = zext i1 %4358 to i32
  store i32 %4359, ptr %37, align 4, !tbaa !9
  %4360 = load i32, ptr %37, align 4, !tbaa !9
  %4361 = icmp ne i32 %4360, 0
  br i1 %4361, label %4362, label %4363

4362:                                             ; preds = %4311
  br label %4466

4363:                                             ; preds = %4311
  store i32 1, ptr %37, align 4, !tbaa !9
  %4364 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4364, ptr %16, align 4, !tbaa !9
  br label %4365

4365:                                             ; preds = %4451, %4363
  %4366 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %4366, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %4367 = load i32, ptr %37, align 4, !tbaa !9
  %4368 = load i32, ptr %38, align 4, !tbaa !9
  %4369 = icmp eq i32 %4367, %4368
  %4370 = zext i1 %4369 to i32
  store i32 %4370, ptr %37, align 4, !tbaa !9
  %4371 = load i32, ptr %37, align 4, !tbaa !9
  %4372 = icmp ne i32 %4371, 0
  br i1 %4372, label %4373, label %4386

4373:                                             ; preds = %4365
  %4374 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %4374, ptr %37, align 4, !tbaa !9
  %4375 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %4375, ptr %38, align 4, !tbaa !9
  %4376 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %4376, ptr %39, align 4, !tbaa !9
  %4377 = load i32, ptr %39, align 4, !tbaa !9
  %4378 = icmp ne i32 %4377, 0
  br i1 %4378, label %4379, label %4381

4379:                                             ; preds = %4373
  %4380 = load i32, ptr %37, align 4, !tbaa !9
  br label %4383

4381:                                             ; preds = %4373
  %4382 = load i32, ptr %38, align 4, !tbaa !9
  br label %4383

4383:                                             ; preds = %4381, %4379
  %4384 = phi i32 [ %4380, %4379 ], [ %4382, %4381 ]
  store i32 %4384, ptr %37, align 4, !tbaa !9
  %4385 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4385, ptr %10, align 4, !tbaa !9
  br label %4453

4386:                                             ; preds = %4365
  %4387 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %4387, ptr %37, align 4, !tbaa !9
  %4388 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %4388, ptr %38, align 4, !tbaa !9
  %4389 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %4389, ptr %39, align 4, !tbaa !9
  %4390 = load i32, ptr %39, align 4, !tbaa !9
  %4391 = icmp ne i32 %4390, 0
  br i1 %4391, label %4392, label %4394

4392:                                             ; preds = %4386
  %4393 = load i32, ptr %37, align 4, !tbaa !9
  br label %4396

4394:                                             ; preds = %4386
  %4395 = load i32, ptr %38, align 4, !tbaa !9
  br label %4396

4396:                                             ; preds = %4394, %4392
  %4397 = phi i32 [ %4393, %4392 ], [ %4395, %4394 ]
  store i32 %4397, ptr %37, align 4, !tbaa !9
  %4398 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %4398, ptr %38, align 4, !tbaa !9
  %4399 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %4399, ptr %39, align 4, !tbaa !9
  store i32 -8, ptr %40, align 4, !tbaa !9
  %4400 = load i32, ptr %39, align 4, !tbaa !9
  %4401 = load i32, ptr %40, align 4, !tbaa !9
  %4402 = icmp eq i32 %4400, %4401
  %4403 = zext i1 %4402 to i32
  store i32 %4403, ptr %39, align 4, !tbaa !9
  %4404 = load i32, ptr %39, align 4, !tbaa !9
  %4405 = icmp ne i32 %4404, 0
  br i1 %4405, label %4406, label %4408

4406:                                             ; preds = %4396
  %4407 = load i32, ptr %37, align 4, !tbaa !9
  br label %4410

4408:                                             ; preds = %4396
  %4409 = load i32, ptr %38, align 4, !tbaa !9
  br label %4410

4410:                                             ; preds = %4408, %4406
  %4411 = phi i32 [ %4407, %4406 ], [ %4409, %4408 ]
  store i32 %4411, ptr %37, align 4, !tbaa !9
  %4412 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4412, ptr %12, align 4, !tbaa !9
  %4413 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %4413, ptr %37, align 4, !tbaa !9
  %4414 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %4414, ptr %38, align 4, !tbaa !9
  %4415 = load i32, ptr %38, align 4, !tbaa !9
  %4416 = load i32, ptr %37, align 4, !tbaa !9
  %4417 = add i32 %4416, %4415
  store i32 %4417, ptr %37, align 4, !tbaa !9
  %4418 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4418, ptr %9, align 4, !tbaa !9
  %4419 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %4419, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %4420 = load i32, ptr %38, align 4, !tbaa !9
  %4421 = load i32, ptr %37, align 4, !tbaa !9
  %4422 = add i32 %4421, %4420
  store i32 %4422, ptr %37, align 4, !tbaa !9
  %4423 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4423, ptr %16, align 4, !tbaa !9
  %4424 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %4424, ptr %37, align 4, !tbaa !9
  %4425 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %4425, ptr %38, align 4, !tbaa !9
  %4426 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4426, ptr %39, align 4, !tbaa !9
  %4427 = load i32, ptr %39, align 4, !tbaa !9
  %4428 = load i32, ptr %38, align 4, !tbaa !9
  %4429 = and i32 %4428, %4427
  store i32 %4429, ptr %38, align 4, !tbaa !9
  %4430 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %4430, ptr %15, align 4, !tbaa !9
  store i32 44, ptr %39, align 4, !tbaa !9
  %4431 = load i32, ptr %39, align 4, !tbaa !9
  %4432 = load i32, ptr %38, align 4, !tbaa !9
  %4433 = mul i32 %4432, %4431
  store i32 %4433, ptr %38, align 4, !tbaa !9
  %4434 = load i32, ptr %38, align 4, !tbaa !9
  %4435 = load i32, ptr %37, align 4, !tbaa !9
  %4436 = add i32 %4435, %4434
  store i32 %4436, ptr %37, align 4, !tbaa !9
  %4437 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4437, ptr %24, align 4, !tbaa !9
  %4438 = load ptr, ptr %4, align 8, !tbaa !5
  %4439 = getelementptr inbounds %struct.w2c_hermes, ptr %4438, i32 0, i32 6
  %4440 = load i32, ptr %37, align 4, !tbaa !9
  %4441 = zext i32 %4440 to i64
  %4442 = call i32 @i32_load(ptr noundef %4439, i64 noundef %4441)
  store i32 %4442, ptr %37, align 4, !tbaa !9
  %4443 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4443, ptr %9, align 4, !tbaa !9
  %4444 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %4444, ptr %38, align 4, !tbaa !9
  %4445 = load i32, ptr %37, align 4, !tbaa !9
  %4446 = load i32, ptr %38, align 4, !tbaa !9
  %4447 = icmp ne i32 %4445, %4446
  %4448 = zext i1 %4447 to i32
  store i32 %4448, ptr %37, align 4, !tbaa !9
  %4449 = load i32, ptr %37, align 4, !tbaa !9
  %4450 = icmp ne i32 %4449, 0
  br i1 %4450, label %4451, label %4452

4451:                                             ; preds = %4410
  br label %4365

4452:                                             ; preds = %4410
  br label %4466

4453:                                             ; preds = %4383, %4309
  %4454 = load i32, ptr %29, align 4, !tbaa !9
  store i32 %4454, ptr %37, align 4, !tbaa !9
  %4455 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4455, ptr %38, align 4, !tbaa !9
  %4456 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4456, ptr %39, align 4, !tbaa !9
  store i32 316, ptr %40, align 4, !tbaa !9
  %4457 = load i32, ptr %40, align 4, !tbaa !9
  %4458 = load i32, ptr %39, align 4, !tbaa !9
  %4459 = add i32 %4458, %4457
  store i32 %4459, ptr %39, align 4, !tbaa !9
  %4460 = load ptr, ptr %4, align 8, !tbaa !5
  %4461 = load i32, ptr %37, align 4, !tbaa !9
  %4462 = load i32, ptr %38, align 4, !tbaa !9
  %4463 = load i32, ptr %39, align 4, !tbaa !9
  %4464 = call i32 @w2c_hermes_llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x3A0x3AInsertIntoBucket0x3Chermes0x3A0x3ABasicBlock0x2A0x20const0x260x3E0x28llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x20const0x260x29(ptr noundef %4460, i32 noundef %4461, i32 noundef %4462, i32 noundef %4463)
  store i32 %4464, ptr %37, align 4, !tbaa !9
  %4465 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4465, ptr %24, align 4, !tbaa !9
  br label %4466

4466:                                             ; preds = %4453, %4452, %4362
  %4467 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %4467, ptr %37, align 4, !tbaa !9
  %4468 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %4468, ptr %38, align 4, !tbaa !9
  %4469 = load ptr, ptr %4, align 8, !tbaa !5
  %4470 = getelementptr inbounds %struct.w2c_hermes, ptr %4469, i32 0, i32 6
  %4471 = load i32, ptr %38, align 4, !tbaa !9
  %4472 = zext i32 %4471 to i64
  %4473 = add i64 %4472, 4
  %4474 = call i32 @i32_load(ptr noundef %4470, i64 noundef %4473)
  store i32 %4474, ptr %38, align 4, !tbaa !9
  %4475 = load i32, ptr %37, align 4, !tbaa !9
  %4476 = load i32, ptr %38, align 4, !tbaa !9
  %4477 = icmp ugt i32 %4475, %4476
  %4478 = zext i1 %4477 to i32
  store i32 %4478, ptr %37, align 4, !tbaa !9
  %4479 = load i32, ptr %37, align 4, !tbaa !9
  %4480 = icmp ne i32 %4479, 0
  br i1 %4480, label %4481, label %4490

4481:                                             ; preds = %4466
  %4482 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4482, ptr %37, align 4, !tbaa !9
  %4483 = load ptr, ptr %4, align 8, !tbaa !5
  %4484 = getelementptr inbounds %struct.w2c_hermes, ptr %4483, i32 0, i32 6
  %4485 = load i32, ptr %37, align 4, !tbaa !9
  %4486 = zext i32 %4485 to i64
  %4487 = add i64 %4486, 316
  %4488 = call i32 @i32_load(ptr noundef %4484, i64 noundef %4487)
  store i32 %4488, ptr %37, align 4, !tbaa !9
  %4489 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4489, ptr %10, align 4, !tbaa !9
  br label %5716

4490:                                             ; preds = %4466
  %4491 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4491, ptr %37, align 4, !tbaa !9
  store i64 137438953472, ptr %44, align 8, !tbaa !11
  %4492 = load ptr, ptr %4, align 8, !tbaa !5
  %4493 = getelementptr inbounds %struct.w2c_hermes, ptr %4492, i32 0, i32 6
  %4494 = load i32, ptr %37, align 4, !tbaa !9
  %4495 = zext i32 %4494 to i64
  %4496 = add i64 %4495, 180
  %4497 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %4493, i64 noundef %4496, i64 noundef %4497)
  %4498 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4498, ptr %37, align 4, !tbaa !9
  %4499 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4499, ptr %38, align 4, !tbaa !9
  store i32 188, ptr %39, align 4, !tbaa !9
  %4500 = load i32, ptr %39, align 4, !tbaa !9
  %4501 = load i32, ptr %38, align 4, !tbaa !9
  %4502 = add i32 %4501, %4500
  store i32 %4502, ptr %38, align 4, !tbaa !9
  %4503 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %4503, ptr %33, align 4, !tbaa !9
  %4504 = load ptr, ptr %4, align 8, !tbaa !5
  %4505 = getelementptr inbounds %struct.w2c_hermes, ptr %4504, i32 0, i32 6
  %4506 = load i32, ptr %37, align 4, !tbaa !9
  %4507 = zext i32 %4506 to i64
  %4508 = add i64 %4507, 176
  %4509 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4505, i64 noundef %4508, i32 noundef %4509)
  %4510 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4510, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %4511 = load ptr, ptr %4, align 8, !tbaa !5
  %4512 = getelementptr inbounds %struct.w2c_hermes, ptr %4511, i32 0, i32 6
  %4513 = load i32, ptr %37, align 4, !tbaa !9
  %4514 = zext i32 %4513 to i64
  %4515 = add i64 %4514, 44
  %4516 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4512, i64 noundef %4515, i32 noundef %4516)
  %4517 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4517, ptr %37, align 4, !tbaa !9
  store i64 32, ptr %44, align 8, !tbaa !11
  %4518 = load ptr, ptr %4, align 8, !tbaa !5
  %4519 = getelementptr inbounds %struct.w2c_hermes, ptr %4518, i32 0, i32 6
  %4520 = load i32, ptr %37, align 4, !tbaa !9
  %4521 = zext i32 %4520 to i64
  %4522 = add i64 %4521, 36
  %4523 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %4519, i64 noundef %4522, i64 noundef %4523)
  %4524 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4524, ptr %37, align 4, !tbaa !9
  %4525 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4525, ptr %38, align 4, !tbaa !9
  store i32 48, ptr %39, align 4, !tbaa !9
  %4526 = load i32, ptr %39, align 4, !tbaa !9
  %4527 = load i32, ptr %38, align 4, !tbaa !9
  %4528 = add i32 %4527, %4526
  store i32 %4528, ptr %38, align 4, !tbaa !9
  %4529 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %4529, ptr %10, align 4, !tbaa !9
  %4530 = load ptr, ptr %4, align 8, !tbaa !5
  %4531 = getelementptr inbounds %struct.w2c_hermes, ptr %4530, i32 0, i32 6
  %4532 = load i32, ptr %37, align 4, !tbaa !9
  %4533 = zext i32 %4532 to i64
  %4534 = add i64 %4533, 32
  %4535 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4531, i64 noundef %4534, i32 noundef %4535)
  %4536 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4536, ptr %37, align 4, !tbaa !9
  %4537 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4537, ptr %38, align 4, !tbaa !9
  %4538 = load ptr, ptr %4, align 8, !tbaa !5
  %4539 = getelementptr inbounds %struct.w2c_hermes, ptr %4538, i32 0, i32 6
  %4540 = load i32, ptr %37, align 4, !tbaa !9
  %4541 = zext i32 %4540 to i64
  %4542 = add i64 %4541, 28
  %4543 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4539, i64 noundef %4542, i32 noundef %4543)
  %4544 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %4544, ptr %37, align 4, !tbaa !9
  %4545 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %4545, ptr %38, align 4, !tbaa !9
  %4546 = load ptr, ptr %4, align 8, !tbaa !5
  %4547 = getelementptr inbounds %struct.w2c_hermes, ptr %4546, i32 0, i32 6
  %4548 = load i32, ptr %38, align 4, !tbaa !9
  %4549 = zext i32 %4548 to i64
  %4550 = add i64 %4549, 8
  %4551 = call i32 @i32_load(ptr noundef %4547, i64 noundef %4550)
  store i32 %4551, ptr %38, align 4, !tbaa !9
  %4552 = load i32, ptr %37, align 4, !tbaa !9
  %4553 = load i32, ptr %38, align 4, !tbaa !9
  %4554 = icmp ugt i32 %4552, %4553
  %4555 = zext i1 %4554 to i32
  store i32 %4555, ptr %37, align 4, !tbaa !9
  %4556 = load i32, ptr %37, align 4, !tbaa !9
  %4557 = icmp ne i32 %4556, 0
  br i1 %4557, label %4558, label %4567

4558:                                             ; preds = %4490
  %4559 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %4559, ptr %37, align 4, !tbaa !9
  %4560 = load ptr, ptr %4, align 8, !tbaa !5
  %4561 = getelementptr inbounds %struct.w2c_hermes, ptr %4560, i32 0, i32 6
  %4562 = load i32, ptr %37, align 4, !tbaa !9
  %4563 = zext i32 %4562 to i64
  %4564 = add i64 %4563, 16
  %4565 = call i32 @i32_load(ptr noundef %4561, i64 noundef %4564)
  store i32 %4565, ptr %37, align 4, !tbaa !9
  %4566 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4566, ptr %10, align 4, !tbaa !9
  br label %5695

4567:                                             ; preds = %4490
  %4568 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4568, ptr %37, align 4, !tbaa !9
  %4569 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4569, ptr %38, align 4, !tbaa !9
  %4570 = load ptr, ptr %4, align 8, !tbaa !5
  %4571 = getelementptr inbounds %struct.w2c_hermes, ptr %4570, i32 0, i32 6
  %4572 = load i32, ptr %38, align 4, !tbaa !9
  %4573 = zext i32 %4572 to i64
  %4574 = add i64 %4573, 316
  %4575 = call i32 @i32_load(ptr noundef %4571, i64 noundef %4574)
  store i32 %4575, ptr %38, align 4, !tbaa !9
  %4576 = load ptr, ptr %4, align 8, !tbaa !5
  %4577 = getelementptr inbounds %struct.w2c_hermes, ptr %4576, i32 0, i32 6
  %4578 = load i32, ptr %37, align 4, !tbaa !9
  %4579 = zext i32 %4578 to i64
  %4580 = add i64 %4579, 188
  %4581 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4577, i64 noundef %4580, i32 noundef %4581)
  %4582 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4582, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %4583 = load ptr, ptr %4, align 8, !tbaa !5
  %4584 = getelementptr inbounds %struct.w2c_hermes, ptr %4583, i32 0, i32 6
  %4585 = load i32, ptr %37, align 4, !tbaa !9
  %4586 = zext i32 %4585 to i64
  %4587 = add i64 %4586, 180
  %4588 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4584, i64 noundef %4587, i32 noundef %4588)
  store i32 1, ptr %37, align 4, !tbaa !9
  %4589 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4589, ptr %9, align 4, !tbaa !9
  br label %4590

4590:                                             ; preds = %5659, %4567
  %4591 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4591, ptr %37, align 4, !tbaa !9
  %4592 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4592, ptr %38, align 4, !tbaa !9
  %4593 = load ptr, ptr %4, align 8, !tbaa !5
  %4594 = getelementptr inbounds %struct.w2c_hermes, ptr %4593, i32 0, i32 6
  %4595 = load i32, ptr %38, align 4, !tbaa !9
  %4596 = zext i32 %4595 to i64
  %4597 = add i64 %4596, 176
  %4598 = call i32 @i32_load(ptr noundef %4594, i64 noundef %4597)
  store i32 %4598, ptr %38, align 4, !tbaa !9
  %4599 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %4599, ptr %39, align 4, !tbaa !9
  store i32 2, ptr %40, align 4, !tbaa !9
  %4600 = load i32, ptr %40, align 4, !tbaa !9
  %4601 = and i32 %4600, 31
  %4602 = load i32, ptr %39, align 4, !tbaa !9
  %4603 = shl i32 %4602, %4601
  store i32 %4603, ptr %39, align 4, !tbaa !9
  %4604 = load i32, ptr %39, align 4, !tbaa !9
  %4605 = load i32, ptr %38, align 4, !tbaa !9
  %4606 = add i32 %4605, %4604
  store i32 %4606, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %4607 = load i32, ptr %39, align 4, !tbaa !9
  %4608 = load i32, ptr %38, align 4, !tbaa !9
  %4609 = sub i32 %4608, %4607
  store i32 %4609, ptr %38, align 4, !tbaa !9
  %4610 = load ptr, ptr %4, align 8, !tbaa !5
  %4611 = getelementptr inbounds %struct.w2c_hermes, ptr %4610, i32 0, i32 6
  %4612 = load i32, ptr %38, align 4, !tbaa !9
  %4613 = zext i32 %4612 to i64
  %4614 = call i32 @i32_load(ptr noundef %4611, i64 noundef %4613)
  store i32 %4614, ptr %38, align 4, !tbaa !9
  %4615 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %4615, ptr %9, align 4, !tbaa !9
  %4616 = load ptr, ptr %4, align 8, !tbaa !5
  %4617 = getelementptr inbounds %struct.w2c_hermes, ptr %4616, i32 0, i32 6
  %4618 = load i32, ptr %37, align 4, !tbaa !9
  %4619 = zext i32 %4618 to i64
  %4620 = add i64 %4619, 24
  %4621 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4617, i64 noundef %4620, i32 noundef %4621)
  %4622 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %4622, ptr %37, align 4, !tbaa !9
  %4623 = load ptr, ptr %4, align 8, !tbaa !5
  %4624 = getelementptr inbounds %struct.w2c_hermes, ptr %4623, i32 0, i32 6
  %4625 = load i32, ptr %37, align 4, !tbaa !9
  %4626 = zext i32 %4625 to i64
  %4627 = add i64 %4626, 24
  %4628 = call i32 @i32_load(ptr noundef %4624, i64 noundef %4627)
  store i32 %4628, ptr %37, align 4, !tbaa !9
  %4629 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4629, ptr %10, align 4, !tbaa !9
  %4630 = load i32, ptr %37, align 4, !tbaa !9
  %4631 = icmp ne i32 %4630, 0
  %4632 = xor i1 %4631, true
  %4633 = zext i1 %4632 to i32
  store i32 %4633, ptr %37, align 4, !tbaa !9
  %4634 = load i32, ptr %37, align 4, !tbaa !9
  %4635 = icmp ne i32 %4634, 0
  br i1 %4635, label %4636, label %4638

4636:                                             ; preds = %4590
  store i32 0, ptr %37, align 4, !tbaa !9
  %4637 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4637, ptr %10, align 4, !tbaa !9
  br label %4781

4638:                                             ; preds = %4590
  %4639 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %4639, ptr %37, align 4, !tbaa !9
  %4640 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %4640, ptr %38, align 4, !tbaa !9
  %4641 = load ptr, ptr %4, align 8, !tbaa !5
  %4642 = getelementptr inbounds %struct.w2c_hermes, ptr %4641, i32 0, i32 6
  %4643 = load i32, ptr %38, align 4, !tbaa !9
  %4644 = zext i32 %4643 to i64
  %4645 = add i64 %4644, 12
  %4646 = call i32 @i32_load(ptr noundef %4642, i64 noundef %4645)
  store i32 %4646, ptr %38, align 4, !tbaa !9
  %4647 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %4647, ptr %13, align 4, !tbaa !9
  %4648 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4648, ptr %39, align 4, !tbaa !9
  store i32 1, ptr %40, align 4, !tbaa !9
  %4649 = load i32, ptr %40, align 4, !tbaa !9
  %4650 = load i32, ptr %39, align 4, !tbaa !9
  %4651 = sub i32 %4650, %4649
  store i32 %4651, ptr %39, align 4, !tbaa !9
  %4652 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %4652, ptr %12, align 4, !tbaa !9
  %4653 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %4653, ptr %40, align 4, !tbaa !9
  store i32 4, ptr %41, align 4, !tbaa !9
  %4654 = load i32, ptr %41, align 4, !tbaa !9
  %4655 = and i32 %4654, 31
  %4656 = load i32, ptr %40, align 4, !tbaa !9
  %4657 = lshr i32 %4656, %4655
  store i32 %4657, ptr %40, align 4, !tbaa !9
  %4658 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %4658, ptr %41, align 4, !tbaa !9
  store i32 9, ptr %42, align 4, !tbaa !9
  %4659 = load i32, ptr %42, align 4, !tbaa !9
  %4660 = and i32 %4659, 31
  %4661 = load i32, ptr %41, align 4, !tbaa !9
  %4662 = lshr i32 %4661, %4660
  store i32 %4662, ptr %41, align 4, !tbaa !9
  %4663 = load i32, ptr %41, align 4, !tbaa !9
  %4664 = load i32, ptr %40, align 4, !tbaa !9
  %4665 = xor i32 %4664, %4663
  store i32 %4665, ptr %40, align 4, !tbaa !9
  %4666 = load i32, ptr %40, align 4, !tbaa !9
  %4667 = load i32, ptr %39, align 4, !tbaa !9
  %4668 = and i32 %4667, %4666
  store i32 %4668, ptr %39, align 4, !tbaa !9
  %4669 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %4669, ptr %23, align 4, !tbaa !9
  store i32 44, ptr %40, align 4, !tbaa !9
  %4670 = load i32, ptr %40, align 4, !tbaa !9
  %4671 = load i32, ptr %39, align 4, !tbaa !9
  %4672 = mul i32 %4671, %4670
  store i32 %4672, ptr %39, align 4, !tbaa !9
  %4673 = load i32, ptr %39, align 4, !tbaa !9
  %4674 = load i32, ptr %38, align 4, !tbaa !9
  %4675 = add i32 %4674, %4673
  store i32 %4675, ptr %38, align 4, !tbaa !9
  %4676 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %4676, ptr %10, align 4, !tbaa !9
  %4677 = load ptr, ptr %4, align 8, !tbaa !5
  %4678 = getelementptr inbounds %struct.w2c_hermes, ptr %4677, i32 0, i32 6
  %4679 = load i32, ptr %38, align 4, !tbaa !9
  %4680 = zext i32 %4679 to i64
  %4681 = call i32 @i32_load(ptr noundef %4678, i64 noundef %4680)
  store i32 %4681, ptr %38, align 4, !tbaa !9
  %4682 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %4682, ptr %15, align 4, !tbaa !9
  %4683 = load i32, ptr %37, align 4, !tbaa !9
  %4684 = load i32, ptr %38, align 4, !tbaa !9
  %4685 = icmp eq i32 %4683, %4684
  %4686 = zext i1 %4685 to i32
  store i32 %4686, ptr %37, align 4, !tbaa !9
  %4687 = load i32, ptr %37, align 4, !tbaa !9
  %4688 = icmp ne i32 %4687, 0
  br i1 %4688, label %4689, label %4690

4689:                                             ; preds = %4638
  br label %4794

4690:                                             ; preds = %4638
  store i32 0, ptr %37, align 4, !tbaa !9
  %4691 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4691, ptr %16, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %4692 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4692, ptr %19, align 4, !tbaa !9
  br label %4693

4693:                                             ; preds = %4779, %4690
  %4694 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %4694, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %4695 = load i32, ptr %37, align 4, !tbaa !9
  %4696 = load i32, ptr %38, align 4, !tbaa !9
  %4697 = icmp eq i32 %4695, %4696
  %4698 = zext i1 %4697 to i32
  store i32 %4698, ptr %37, align 4, !tbaa !9
  %4699 = load i32, ptr %37, align 4, !tbaa !9
  %4700 = icmp ne i32 %4699, 0
  br i1 %4700, label %4701, label %4714

4701:                                             ; preds = %4693
  %4702 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %4702, ptr %37, align 4, !tbaa !9
  %4703 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4703, ptr %38, align 4, !tbaa !9
  %4704 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %4704, ptr %39, align 4, !tbaa !9
  %4705 = load i32, ptr %39, align 4, !tbaa !9
  %4706 = icmp ne i32 %4705, 0
  br i1 %4706, label %4707, label %4709

4707:                                             ; preds = %4701
  %4708 = load i32, ptr %37, align 4, !tbaa !9
  br label %4711

4709:                                             ; preds = %4701
  %4710 = load i32, ptr %38, align 4, !tbaa !9
  br label %4711

4711:                                             ; preds = %4709, %4707
  %4712 = phi i32 [ %4708, %4707 ], [ %4710, %4709 ]
  store i32 %4712, ptr %37, align 4, !tbaa !9
  %4713 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4713, ptr %10, align 4, !tbaa !9
  br label %4781

4714:                                             ; preds = %4693
  %4715 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %4715, ptr %37, align 4, !tbaa !9
  %4716 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4716, ptr %38, align 4, !tbaa !9
  %4717 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %4717, ptr %39, align 4, !tbaa !9
  %4718 = load i32, ptr %39, align 4, !tbaa !9
  %4719 = icmp ne i32 %4718, 0
  br i1 %4719, label %4720, label %4722

4720:                                             ; preds = %4714
  %4721 = load i32, ptr %37, align 4, !tbaa !9
  br label %4724

4722:                                             ; preds = %4714
  %4723 = load i32, ptr %38, align 4, !tbaa !9
  br label %4724

4724:                                             ; preds = %4722, %4720
  %4725 = phi i32 [ %4721, %4720 ], [ %4723, %4722 ]
  store i32 %4725, ptr %37, align 4, !tbaa !9
  %4726 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %4726, ptr %38, align 4, !tbaa !9
  %4727 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %4727, ptr %39, align 4, !tbaa !9
  store i32 -8, ptr %40, align 4, !tbaa !9
  %4728 = load i32, ptr %39, align 4, !tbaa !9
  %4729 = load i32, ptr %40, align 4, !tbaa !9
  %4730 = icmp eq i32 %4728, %4729
  %4731 = zext i1 %4730 to i32
  store i32 %4731, ptr %39, align 4, !tbaa !9
  %4732 = load i32, ptr %39, align 4, !tbaa !9
  %4733 = icmp ne i32 %4732, 0
  br i1 %4733, label %4734, label %4736

4734:                                             ; preds = %4724
  %4735 = load i32, ptr %37, align 4, !tbaa !9
  br label %4738

4736:                                             ; preds = %4724
  %4737 = load i32, ptr %38, align 4, !tbaa !9
  br label %4738

4738:                                             ; preds = %4736, %4734
  %4739 = phi i32 [ %4735, %4734 ], [ %4737, %4736 ]
  store i32 %4739, ptr %37, align 4, !tbaa !9
  %4740 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4740, ptr %16, align 4, !tbaa !9
  %4741 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %4741, ptr %37, align 4, !tbaa !9
  %4742 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %4742, ptr %38, align 4, !tbaa !9
  %4743 = load i32, ptr %38, align 4, !tbaa !9
  %4744 = load i32, ptr %37, align 4, !tbaa !9
  %4745 = add i32 %4744, %4743
  store i32 %4745, ptr %37, align 4, !tbaa !9
  %4746 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4746, ptr %10, align 4, !tbaa !9
  %4747 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %4747, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %4748 = load i32, ptr %38, align 4, !tbaa !9
  %4749 = load i32, ptr %37, align 4, !tbaa !9
  %4750 = add i32 %4749, %4748
  store i32 %4750, ptr %37, align 4, !tbaa !9
  %4751 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4751, ptr %19, align 4, !tbaa !9
  %4752 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %4752, ptr %37, align 4, !tbaa !9
  %4753 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %4753, ptr %38, align 4, !tbaa !9
  %4754 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4754, ptr %39, align 4, !tbaa !9
  %4755 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %4755, ptr %40, align 4, !tbaa !9
  %4756 = load i32, ptr %40, align 4, !tbaa !9
  %4757 = load i32, ptr %39, align 4, !tbaa !9
  %4758 = and i32 %4757, %4756
  store i32 %4758, ptr %39, align 4, !tbaa !9
  %4759 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %4759, ptr %23, align 4, !tbaa !9
  store i32 44, ptr %40, align 4, !tbaa !9
  %4760 = load i32, ptr %40, align 4, !tbaa !9
  %4761 = load i32, ptr %39, align 4, !tbaa !9
  %4762 = mul i32 %4761, %4760
  store i32 %4762, ptr %39, align 4, !tbaa !9
  %4763 = load i32, ptr %39, align 4, !tbaa !9
  %4764 = load i32, ptr %38, align 4, !tbaa !9
  %4765 = add i32 %4764, %4763
  store i32 %4765, ptr %38, align 4, !tbaa !9
  %4766 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %4766, ptr %10, align 4, !tbaa !9
  %4767 = load ptr, ptr %4, align 8, !tbaa !5
  %4768 = getelementptr inbounds %struct.w2c_hermes, ptr %4767, i32 0, i32 6
  %4769 = load i32, ptr %38, align 4, !tbaa !9
  %4770 = zext i32 %4769 to i64
  %4771 = call i32 @i32_load(ptr noundef %4768, i64 noundef %4770)
  store i32 %4771, ptr %38, align 4, !tbaa !9
  %4772 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %4772, ptr %15, align 4, !tbaa !9
  %4773 = load i32, ptr %37, align 4, !tbaa !9
  %4774 = load i32, ptr %38, align 4, !tbaa !9
  %4775 = icmp ne i32 %4773, %4774
  %4776 = zext i1 %4775 to i32
  store i32 %4776, ptr %37, align 4, !tbaa !9
  %4777 = load i32, ptr %37, align 4, !tbaa !9
  %4778 = icmp ne i32 %4777, 0
  br i1 %4778, label %4779, label %4780

4779:                                             ; preds = %4738
  br label %4693

4780:                                             ; preds = %4738
  br label %4794

4781:                                             ; preds = %4711, %4636
  %4782 = load i32, ptr %29, align 4, !tbaa !9
  store i32 %4782, ptr %37, align 4, !tbaa !9
  %4783 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4783, ptr %38, align 4, !tbaa !9
  %4784 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4784, ptr %39, align 4, !tbaa !9
  store i32 24, ptr %40, align 4, !tbaa !9
  %4785 = load i32, ptr %40, align 4, !tbaa !9
  %4786 = load i32, ptr %39, align 4, !tbaa !9
  %4787 = add i32 %4786, %4785
  store i32 %4787, ptr %39, align 4, !tbaa !9
  %4788 = load ptr, ptr %4, align 8, !tbaa !5
  %4789 = load i32, ptr %37, align 4, !tbaa !9
  %4790 = load i32, ptr %38, align 4, !tbaa !9
  %4791 = load i32, ptr %39, align 4, !tbaa !9
  %4792 = call i32 @w2c_hermes_llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x3A0x3AInsertIntoBucket0x3Chermes0x3A0x3ABasicBlock0x2A0x20const0x260x3E0x28llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x20const0x260x29(ptr noundef %4788, i32 noundef %4789, i32 noundef %4790, i32 noundef %4791)
  store i32 %4792, ptr %37, align 4, !tbaa !9
  %4793 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4793, ptr %10, align 4, !tbaa !9
  br label %4794

4794:                                             ; preds = %4781, %4780, %4689
  %4795 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4795, ptr %37, align 4, !tbaa !9
  %4796 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %4796, ptr %38, align 4, !tbaa !9
  %4797 = load ptr, ptr %4, align 8, !tbaa !5
  %4798 = getelementptr inbounds %struct.w2c_hermes, ptr %4797, i32 0, i32 6
  %4799 = load i32, ptr %38, align 4, !tbaa !9
  %4800 = zext i32 %4799 to i64
  %4801 = call i32 @i32_load(ptr noundef %4798, i64 noundef %4800)
  store i32 %4801, ptr %38, align 4, !tbaa !9
  %4802 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4802, ptr %39, align 4, !tbaa !9
  %4803 = load ptr, ptr %4, align 8, !tbaa !5
  %4804 = getelementptr inbounds %struct.w2c_hermes, ptr %4803, i32 0, i32 6
  %4805 = load i32, ptr %39, align 4, !tbaa !9
  %4806 = zext i32 %4805 to i64
  %4807 = add i64 %4806, 8
  %4808 = call i32 @i32_load(ptr noundef %4804, i64 noundef %4807)
  store i32 %4808, ptr %39, align 4, !tbaa !9
  store i32 2, ptr %40, align 4, !tbaa !9
  %4809 = load i32, ptr %40, align 4, !tbaa !9
  %4810 = and i32 %4809, 31
  %4811 = load i32, ptr %39, align 4, !tbaa !9
  %4812 = shl i32 %4811, %4810
  store i32 %4812, ptr %39, align 4, !tbaa !9
  %4813 = load i32, ptr %39, align 4, !tbaa !9
  %4814 = load i32, ptr %38, align 4, !tbaa !9
  %4815 = add i32 %4814, %4813
  store i32 %4815, ptr %38, align 4, !tbaa !9
  %4816 = load ptr, ptr %4, align 8, !tbaa !5
  %4817 = getelementptr inbounds %struct.w2c_hermes, ptr %4816, i32 0, i32 6
  %4818 = load i32, ptr %38, align 4, !tbaa !9
  %4819 = zext i32 %4818 to i64
  %4820 = call i32 @i32_load(ptr noundef %4817, i64 noundef %4819)
  store i32 %4820, ptr %38, align 4, !tbaa !9
  %4821 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %4821, ptr %9, align 4, !tbaa !9
  %4822 = load ptr, ptr %4, align 8, !tbaa !5
  %4823 = getelementptr inbounds %struct.w2c_hermes, ptr %4822, i32 0, i32 6
  %4824 = load i32, ptr %37, align 4, !tbaa !9
  %4825 = zext i32 %4824 to i64
  %4826 = add i64 %4825, 20
  %4827 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4823, i64 noundef %4826, i32 noundef %4827)
  %4828 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4828, ptr %37, align 4, !tbaa !9
  store i32 8, ptr %38, align 4, !tbaa !9
  %4829 = load i32, ptr %38, align 4, !tbaa !9
  %4830 = load i32, ptr %37, align 4, !tbaa !9
  %4831 = add i32 %4830, %4829
  store i32 %4831, ptr %37, align 4, !tbaa !9
  %4832 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4832, ptr %38, align 4, !tbaa !9
  store i32 28, ptr %39, align 4, !tbaa !9
  %4833 = load i32, ptr %39, align 4, !tbaa !9
  %4834 = load i32, ptr %38, align 4, !tbaa !9
  %4835 = add i32 %4834, %4833
  store i32 %4835, ptr %38, align 4, !tbaa !9
  %4836 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %4836, ptr %39, align 4, !tbaa !9
  %4837 = load ptr, ptr %4, align 8, !tbaa !5
  %4838 = load i32, ptr %37, align 4, !tbaa !9
  %4839 = load i32, ptr %38, align 4, !tbaa !9
  %4840 = load i32, ptr %39, align 4, !tbaa !9
  call void @w2c_hermes_llvh0x3A0x3ASmallPtrSetImpl0x3Chermes0x3A0x3ALiteral0x2A0x3E0x3A0x3Ainsert0x28hermes0x3A0x3ALiteral0x2A0x29(ptr noundef %4837, i32 noundef %4838, i32 noundef %4839, i32 noundef %4840)
  %4841 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4841, ptr %37, align 4, !tbaa !9
  %4842 = load ptr, ptr %4, align 8, !tbaa !5
  %4843 = getelementptr inbounds %struct.w2c_hermes, ptr %4842, i32 0, i32 6
  %4844 = load i32, ptr %37, align 4, !tbaa !9
  %4845 = zext i32 %4844 to i64
  %4846 = add i64 %4845, 16
  %4847 = call i32 @i32_load8_u(ptr noundef %4843, i64 noundef %4846)
  store i32 %4847, ptr %37, align 4, !tbaa !9
  %4848 = load i32, ptr %37, align 4, !tbaa !9
  %4849 = icmp ne i32 %4848, 0
  %4850 = xor i1 %4849, true
  %4851 = zext i1 %4850 to i32
  store i32 %4851, ptr %37, align 4, !tbaa !9
  %4852 = load i32, ptr %37, align 4, !tbaa !9
  %4853 = icmp ne i32 %4852, 0
  br i1 %4853, label %4854, label %4855

4854:                                             ; preds = %4794
  br label %4958

4855:                                             ; preds = %4794
  %4856 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4856, ptr %37, align 4, !tbaa !9
  %4857 = load ptr, ptr %4, align 8, !tbaa !5
  %4858 = getelementptr inbounds %struct.w2c_hermes, ptr %4857, i32 0, i32 6
  %4859 = load i32, ptr %37, align 4, !tbaa !9
  %4860 = zext i32 %4859 to i64
  %4861 = add i64 %4860, 8
  %4862 = call i32 @i32_load(ptr noundef %4858, i64 noundef %4861)
  store i32 %4862, ptr %37, align 4, !tbaa !9
  %4863 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %4863, ptr %38, align 4, !tbaa !9
  %4864 = load i32, ptr %37, align 4, !tbaa !9
  %4865 = load i32, ptr %38, align 4, !tbaa !9
  %4866 = icmp ult i32 %4864, %4865
  %4867 = zext i1 %4866 to i32
  store i32 %4867, ptr %37, align 4, !tbaa !9
  %4868 = load i32, ptr %37, align 4, !tbaa !9
  %4869 = icmp ne i32 %4868, 0
  br i1 %4869, label %4870, label %4871

4870:                                             ; preds = %4855
  br label %4958

4871:                                             ; preds = %4855
  %4872 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4872, ptr %37, align 4, !tbaa !9
  %4873 = load ptr, ptr %4, align 8, !tbaa !5
  %4874 = getelementptr inbounds %struct.w2c_hermes, ptr %4873, i32 0, i32 6
  %4875 = load i32, ptr %37, align 4, !tbaa !9
  %4876 = zext i32 %4875 to i64
  %4877 = add i64 %4876, 180
  %4878 = call i32 @i32_load(ptr noundef %4874, i64 noundef %4877)
  store i32 %4878, ptr %37, align 4, !tbaa !9
  %4879 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4879, ptr %10, align 4, !tbaa !9
  %4880 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4880, ptr %38, align 4, !tbaa !9
  %4881 = load ptr, ptr %4, align 8, !tbaa !5
  %4882 = getelementptr inbounds %struct.w2c_hermes, ptr %4881, i32 0, i32 6
  %4883 = load i32, ptr %38, align 4, !tbaa !9
  %4884 = zext i32 %4883 to i64
  %4885 = add i64 %4884, 184
  %4886 = call i32 @i32_load(ptr noundef %4882, i64 noundef %4885)
  store i32 %4886, ptr %38, align 4, !tbaa !9
  %4887 = load i32, ptr %37, align 4, !tbaa !9
  %4888 = load i32, ptr %38, align 4, !tbaa !9
  %4889 = icmp uge i32 %4887, %4888
  %4890 = zext i1 %4889 to i32
  store i32 %4890, ptr %37, align 4, !tbaa !9
  %4891 = load i32, ptr %37, align 4, !tbaa !9
  %4892 = icmp ne i32 %4891, 0
  br i1 %4892, label %4893, label %4912

4893:                                             ; preds = %4871
  %4894 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4894, ptr %37, align 4, !tbaa !9
  store i32 176, ptr %38, align 4, !tbaa !9
  %4895 = load i32, ptr %38, align 4, !tbaa !9
  %4896 = load i32, ptr %37, align 4, !tbaa !9
  %4897 = add i32 %4896, %4895
  store i32 %4897, ptr %37, align 4, !tbaa !9
  %4898 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %4898, ptr %38, align 4, !tbaa !9
  store i32 0, ptr %39, align 4, !tbaa !9
  store i32 4, ptr %40, align 4, !tbaa !9
  %4899 = load ptr, ptr %4, align 8, !tbaa !5
  %4900 = load i32, ptr %37, align 4, !tbaa !9
  %4901 = load i32, ptr %38, align 4, !tbaa !9
  %4902 = load i32, ptr %39, align 4, !tbaa !9
  %4903 = load i32, ptr %40, align 4, !tbaa !9
  call void @w2c_hermes_llvh0x3A0x3ASmallVectorBase0x3A0x3Agrow_pod0x28void0x2A0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef %4899, i32 noundef %4900, i32 noundef %4901, i32 noundef %4902, i32 noundef %4903)
  %4904 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4904, ptr %37, align 4, !tbaa !9
  %4905 = load ptr, ptr %4, align 8, !tbaa !5
  %4906 = getelementptr inbounds %struct.w2c_hermes, ptr %4905, i32 0, i32 6
  %4907 = load i32, ptr %37, align 4, !tbaa !9
  %4908 = zext i32 %4907 to i64
  %4909 = add i64 %4908, 180
  %4910 = call i32 @i32_load(ptr noundef %4906, i64 noundef %4909)
  store i32 %4910, ptr %37, align 4, !tbaa !9
  %4911 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4911, ptr %10, align 4, !tbaa !9
  br label %4912

4912:                                             ; preds = %4893, %4871
  %4913 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4913, ptr %37, align 4, !tbaa !9
  %4914 = load ptr, ptr %4, align 8, !tbaa !5
  %4915 = getelementptr inbounds %struct.w2c_hermes, ptr %4914, i32 0, i32 6
  %4916 = load i32, ptr %37, align 4, !tbaa !9
  %4917 = zext i32 %4916 to i64
  %4918 = add i64 %4917, 176
  %4919 = call i32 @i32_load(ptr noundef %4915, i64 noundef %4918)
  store i32 %4919, ptr %37, align 4, !tbaa !9
  %4920 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4920, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %4921 = load i32, ptr %39, align 4, !tbaa !9
  %4922 = and i32 %4921, 31
  %4923 = load i32, ptr %38, align 4, !tbaa !9
  %4924 = shl i32 %4923, %4922
  store i32 %4924, ptr %38, align 4, !tbaa !9
  %4925 = load i32, ptr %38, align 4, !tbaa !9
  %4926 = load i32, ptr %37, align 4, !tbaa !9
  %4927 = add i32 %4926, %4925
  store i32 %4927, ptr %37, align 4, !tbaa !9
  %4928 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4928, ptr %38, align 4, !tbaa !9
  %4929 = load ptr, ptr %4, align 8, !tbaa !5
  %4930 = getelementptr inbounds %struct.w2c_hermes, ptr %4929, i32 0, i32 6
  %4931 = load i32, ptr %38, align 4, !tbaa !9
  %4932 = zext i32 %4931 to i64
  %4933 = add i64 %4932, 20
  %4934 = call i32 @i32_load(ptr noundef %4930, i64 noundef %4933)
  store i32 %4934, ptr %38, align 4, !tbaa !9
  %4935 = load ptr, ptr %4, align 8, !tbaa !5
  %4936 = getelementptr inbounds %struct.w2c_hermes, ptr %4935, i32 0, i32 6
  %4937 = load i32, ptr %37, align 4, !tbaa !9
  %4938 = zext i32 %4937 to i64
  %4939 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4936, i64 noundef %4938, i32 noundef %4939)
  %4940 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4940, ptr %37, align 4, !tbaa !9
  %4941 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4941, ptr %38, align 4, !tbaa !9
  %4942 = load ptr, ptr %4, align 8, !tbaa !5
  %4943 = getelementptr inbounds %struct.w2c_hermes, ptr %4942, i32 0, i32 6
  %4944 = load i32, ptr %38, align 4, !tbaa !9
  %4945 = zext i32 %4944 to i64
  %4946 = add i64 %4945, 180
  %4947 = call i32 @i32_load(ptr noundef %4943, i64 noundef %4946)
  store i32 %4947, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %4948 = load i32, ptr %39, align 4, !tbaa !9
  %4949 = load i32, ptr %38, align 4, !tbaa !9
  %4950 = add i32 %4949, %4948
  store i32 %4950, ptr %38, align 4, !tbaa !9
  %4951 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %4951, ptr %9, align 4, !tbaa !9
  %4952 = load ptr, ptr %4, align 8, !tbaa !5
  %4953 = getelementptr inbounds %struct.w2c_hermes, ptr %4952, i32 0, i32 6
  %4954 = load i32, ptr %37, align 4, !tbaa !9
  %4955 = zext i32 %4954 to i64
  %4956 = add i64 %4955, 180
  %4957 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4953, i64 noundef %4956, i32 noundef %4957)
  br label %5655

4958:                                             ; preds = %4870, %4854
  %4959 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4959, ptr %37, align 4, !tbaa !9
  %4960 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4960, ptr %38, align 4, !tbaa !9
  %4961 = load ptr, ptr %4, align 8, !tbaa !5
  %4962 = getelementptr inbounds %struct.w2c_hermes, ptr %4961, i32 0, i32 6
  %4963 = load i32, ptr %38, align 4, !tbaa !9
  %4964 = zext i32 %4963 to i64
  %4965 = add i64 %4964, 180
  %4966 = call i32 @i32_load(ptr noundef %4962, i64 noundef %4965)
  store i32 %4966, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %4967 = load i32, ptr %39, align 4, !tbaa !9
  %4968 = load i32, ptr %38, align 4, !tbaa !9
  %4969 = sub i32 %4968, %4967
  store i32 %4969, ptr %38, align 4, !tbaa !9
  %4970 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %4970, ptr %9, align 4, !tbaa !9
  %4971 = load ptr, ptr %4, align 8, !tbaa !5
  %4972 = getelementptr inbounds %struct.w2c_hermes, ptr %4971, i32 0, i32 6
  %4973 = load i32, ptr %37, align 4, !tbaa !9
  %4974 = zext i32 %4973 to i64
  %4975 = add i64 %4974, 180
  %4976 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4972, i64 noundef %4975, i32 noundef %4976)
  %4977 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4977, ptr %37, align 4, !tbaa !9
  %4978 = load ptr, ptr %4, align 8, !tbaa !5
  %4979 = getelementptr inbounds %struct.w2c_hermes, ptr %4978, i32 0, i32 6
  %4980 = load i32, ptr %37, align 4, !tbaa !9
  %4981 = zext i32 %4980 to i64
  %4982 = add i64 %4981, 8
  %4983 = call i32 @i32_load(ptr noundef %4979, i64 noundef %4982)
  store i32 %4983, ptr %37, align 4, !tbaa !9
  %4984 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %4984, ptr %38, align 4, !tbaa !9
  %4985 = load i32, ptr %37, align 4, !tbaa !9
  %4986 = load i32, ptr %38, align 4, !tbaa !9
  %4987 = icmp ult i32 %4985, %4986
  %4988 = zext i1 %4987 to i32
  store i32 %4988, ptr %37, align 4, !tbaa !9
  %4989 = load i32, ptr %37, align 4, !tbaa !9
  %4990 = icmp ne i32 %4989, 0
  br i1 %4990, label %4991, label %4992

4991:                                             ; preds = %4958
  br label %5655

4992:                                             ; preds = %4958
  %4993 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %4993, ptr %37, align 4, !tbaa !9
  %4994 = load ptr, ptr %4, align 8, !tbaa !5
  %4995 = getelementptr inbounds %struct.w2c_hermes, ptr %4994, i32 0, i32 6
  %4996 = load i32, ptr %37, align 4, !tbaa !9
  %4997 = zext i32 %4996 to i64
  %4998 = add i64 %4997, 24
  %4999 = call i32 @i32_load(ptr noundef %4995, i64 noundef %4998)
  store i32 %4999, ptr %37, align 4, !tbaa !9
  %5000 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5000, ptr %9, align 4, !tbaa !9
  %5001 = load i32, ptr %37, align 4, !tbaa !9
  %5002 = icmp ne i32 %5001, 0
  %5003 = xor i1 %5002, true
  %5004 = zext i1 %5003 to i32
  store i32 %5004, ptr %37, align 4, !tbaa !9
  %5005 = load i32, ptr %37, align 4, !tbaa !9
  %5006 = icmp ne i32 %5005, 0
  br i1 %5006, label %5007, label %5009

5007:                                             ; preds = %4992
  store i32 0, ptr %37, align 4, !tbaa !9
  %5008 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5008, ptr %9, align 4, !tbaa !9
  br label %5191

5009:                                             ; preds = %4992
  %5010 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5010, ptr %37, align 4, !tbaa !9
  %5011 = load ptr, ptr %4, align 8, !tbaa !5
  %5012 = getelementptr inbounds %struct.w2c_hermes, ptr %5011, i32 0, i32 6
  %5013 = load i32, ptr %37, align 4, !tbaa !9
  %5014 = zext i32 %5013 to i64
  %5015 = add i64 %5014, 20
  %5016 = call i32 @i32_load(ptr noundef %5012, i64 noundef %5015)
  store i32 %5016, ptr %37, align 4, !tbaa !9
  %5017 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5017, ptr %13, align 4, !tbaa !9
  %5018 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %5018, ptr %38, align 4, !tbaa !9
  %5019 = load ptr, ptr %4, align 8, !tbaa !5
  %5020 = getelementptr inbounds %struct.w2c_hermes, ptr %5019, i32 0, i32 6
  %5021 = load i32, ptr %38, align 4, !tbaa !9
  %5022 = zext i32 %5021 to i64
  %5023 = add i64 %5022, 12
  %5024 = call i32 @i32_load(ptr noundef %5020, i64 noundef %5023)
  store i32 %5024, ptr %38, align 4, !tbaa !9
  %5025 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %5025, ptr %26, align 4, !tbaa !9
  %5026 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5026, ptr %39, align 4, !tbaa !9
  store i32 1, ptr %40, align 4, !tbaa !9
  %5027 = load i32, ptr %40, align 4, !tbaa !9
  %5028 = load i32, ptr %39, align 4, !tbaa !9
  %5029 = sub i32 %5028, %5027
  store i32 %5029, ptr %39, align 4, !tbaa !9
  %5030 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %5030, ptr %19, align 4, !tbaa !9
  %5031 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %5031, ptr %40, align 4, !tbaa !9
  store i32 4, ptr %41, align 4, !tbaa !9
  %5032 = load i32, ptr %41, align 4, !tbaa !9
  %5033 = and i32 %5032, 31
  %5034 = load i32, ptr %40, align 4, !tbaa !9
  %5035 = lshr i32 %5034, %5033
  store i32 %5035, ptr %40, align 4, !tbaa !9
  %5036 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %5036, ptr %41, align 4, !tbaa !9
  store i32 9, ptr %42, align 4, !tbaa !9
  %5037 = load i32, ptr %42, align 4, !tbaa !9
  %5038 = and i32 %5037, 31
  %5039 = load i32, ptr %41, align 4, !tbaa !9
  %5040 = lshr i32 %5039, %5038
  store i32 %5040, ptr %41, align 4, !tbaa !9
  %5041 = load i32, ptr %41, align 4, !tbaa !9
  %5042 = load i32, ptr %40, align 4, !tbaa !9
  %5043 = xor i32 %5042, %5041
  store i32 %5043, ptr %40, align 4, !tbaa !9
  %5044 = load i32, ptr %40, align 4, !tbaa !9
  %5045 = load i32, ptr %39, align 4, !tbaa !9
  %5046 = and i32 %5045, %5044
  store i32 %5046, ptr %39, align 4, !tbaa !9
  %5047 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %5047, ptr %16, align 4, !tbaa !9
  store i32 44, ptr %40, align 4, !tbaa !9
  %5048 = load i32, ptr %40, align 4, !tbaa !9
  %5049 = load i32, ptr %39, align 4, !tbaa !9
  %5050 = mul i32 %5049, %5048
  store i32 %5050, ptr %39, align 4, !tbaa !9
  %5051 = load i32, ptr %39, align 4, !tbaa !9
  %5052 = load i32, ptr %38, align 4, !tbaa !9
  %5053 = add i32 %5052, %5051
  store i32 %5053, ptr %38, align 4, !tbaa !9
  %5054 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %5054, ptr %23, align 4, !tbaa !9
  %5055 = load ptr, ptr %4, align 8, !tbaa !5
  %5056 = getelementptr inbounds %struct.w2c_hermes, ptr %5055, i32 0, i32 6
  %5057 = load i32, ptr %38, align 4, !tbaa !9
  %5058 = zext i32 %5057 to i64
  %5059 = call i32 @i32_load(ptr noundef %5056, i64 noundef %5058)
  store i32 %5059, ptr %38, align 4, !tbaa !9
  %5060 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %5060, ptr %12, align 4, !tbaa !9
  %5061 = load i32, ptr %37, align 4, !tbaa !9
  %5062 = load i32, ptr %38, align 4, !tbaa !9
  %5063 = icmp ne i32 %5061, %5062
  %5064 = zext i1 %5063 to i32
  store i32 %5064, ptr %37, align 4, !tbaa !9
  %5065 = load i32, ptr %37, align 4, !tbaa !9
  %5066 = icmp ne i32 %5065, 0
  br i1 %5066, label %5067, label %5158

5067:                                             ; preds = %5009
  store i32 0, ptr %37, align 4, !tbaa !9
  %5068 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5068, ptr %22, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %5069 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5069, ptr %15, align 4, !tbaa !9
  br label %5070

5070:                                             ; preds = %5156, %5067
  %5071 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %5071, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %5072 = load i32, ptr %37, align 4, !tbaa !9
  %5073 = load i32, ptr %38, align 4, !tbaa !9
  %5074 = icmp eq i32 %5072, %5073
  %5075 = zext i1 %5074 to i32
  store i32 %5075, ptr %37, align 4, !tbaa !9
  %5076 = load i32, ptr %37, align 4, !tbaa !9
  %5077 = icmp ne i32 %5076, 0
  br i1 %5077, label %5078, label %5091

5078:                                             ; preds = %5070
  %5079 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %5079, ptr %37, align 4, !tbaa !9
  %5080 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %5080, ptr %38, align 4, !tbaa !9
  %5081 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %5081, ptr %39, align 4, !tbaa !9
  %5082 = load i32, ptr %39, align 4, !tbaa !9
  %5083 = icmp ne i32 %5082, 0
  br i1 %5083, label %5084, label %5086

5084:                                             ; preds = %5078
  %5085 = load i32, ptr %37, align 4, !tbaa !9
  br label %5088

5086:                                             ; preds = %5078
  %5087 = load i32, ptr %38, align 4, !tbaa !9
  br label %5088

5088:                                             ; preds = %5086, %5084
  %5089 = phi i32 [ %5085, %5084 ], [ %5087, %5086 ]
  store i32 %5089, ptr %37, align 4, !tbaa !9
  %5090 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5090, ptr %9, align 4, !tbaa !9
  br label %5191

5091:                                             ; preds = %5070
  %5092 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %5092, ptr %37, align 4, !tbaa !9
  %5093 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %5093, ptr %38, align 4, !tbaa !9
  %5094 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %5094, ptr %39, align 4, !tbaa !9
  %5095 = load i32, ptr %39, align 4, !tbaa !9
  %5096 = icmp ne i32 %5095, 0
  br i1 %5096, label %5097, label %5099

5097:                                             ; preds = %5091
  %5098 = load i32, ptr %37, align 4, !tbaa !9
  br label %5101

5099:                                             ; preds = %5091
  %5100 = load i32, ptr %38, align 4, !tbaa !9
  br label %5101

5101:                                             ; preds = %5099, %5097
  %5102 = phi i32 [ %5098, %5097 ], [ %5100, %5099 ]
  store i32 %5102, ptr %37, align 4, !tbaa !9
  %5103 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %5103, ptr %38, align 4, !tbaa !9
  %5104 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %5104, ptr %39, align 4, !tbaa !9
  store i32 -8, ptr %40, align 4, !tbaa !9
  %5105 = load i32, ptr %39, align 4, !tbaa !9
  %5106 = load i32, ptr %40, align 4, !tbaa !9
  %5107 = icmp eq i32 %5105, %5106
  %5108 = zext i1 %5107 to i32
  store i32 %5108, ptr %39, align 4, !tbaa !9
  %5109 = load i32, ptr %39, align 4, !tbaa !9
  %5110 = icmp ne i32 %5109, 0
  br i1 %5110, label %5111, label %5113

5111:                                             ; preds = %5101
  %5112 = load i32, ptr %37, align 4, !tbaa !9
  br label %5115

5113:                                             ; preds = %5101
  %5114 = load i32, ptr %38, align 4, !tbaa !9
  br label %5115

5115:                                             ; preds = %5113, %5111
  %5116 = phi i32 [ %5112, %5111 ], [ %5114, %5113 ]
  store i32 %5116, ptr %37, align 4, !tbaa !9
  %5117 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5117, ptr %22, align 4, !tbaa !9
  %5118 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %5118, ptr %37, align 4, !tbaa !9
  %5119 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %5119, ptr %38, align 4, !tbaa !9
  %5120 = load i32, ptr %38, align 4, !tbaa !9
  %5121 = load i32, ptr %37, align 4, !tbaa !9
  %5122 = add i32 %5121, %5120
  store i32 %5122, ptr %37, align 4, !tbaa !9
  %5123 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5123, ptr %12, align 4, !tbaa !9
  %5124 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %5124, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %5125 = load i32, ptr %38, align 4, !tbaa !9
  %5126 = load i32, ptr %37, align 4, !tbaa !9
  %5127 = add i32 %5126, %5125
  store i32 %5127, ptr %37, align 4, !tbaa !9
  %5128 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5128, ptr %15, align 4, !tbaa !9
  %5129 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %5129, ptr %37, align 4, !tbaa !9
  %5130 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %5130, ptr %38, align 4, !tbaa !9
  %5131 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %5131, ptr %39, align 4, !tbaa !9
  %5132 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %5132, ptr %40, align 4, !tbaa !9
  %5133 = load i32, ptr %40, align 4, !tbaa !9
  %5134 = load i32, ptr %39, align 4, !tbaa !9
  %5135 = and i32 %5134, %5133
  store i32 %5135, ptr %39, align 4, !tbaa !9
  %5136 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %5136, ptr %16, align 4, !tbaa !9
  store i32 44, ptr %40, align 4, !tbaa !9
  %5137 = load i32, ptr %40, align 4, !tbaa !9
  %5138 = load i32, ptr %39, align 4, !tbaa !9
  %5139 = mul i32 %5138, %5137
  store i32 %5139, ptr %39, align 4, !tbaa !9
  %5140 = load i32, ptr %39, align 4, !tbaa !9
  %5141 = load i32, ptr %38, align 4, !tbaa !9
  %5142 = add i32 %5141, %5140
  store i32 %5142, ptr %38, align 4, !tbaa !9
  %5143 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %5143, ptr %23, align 4, !tbaa !9
  %5144 = load ptr, ptr %4, align 8, !tbaa !5
  %5145 = getelementptr inbounds %struct.w2c_hermes, ptr %5144, i32 0, i32 6
  %5146 = load i32, ptr %38, align 4, !tbaa !9
  %5147 = zext i32 %5146 to i64
  %5148 = call i32 @i32_load(ptr noundef %5145, i64 noundef %5147)
  store i32 %5148, ptr %38, align 4, !tbaa !9
  %5149 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %5149, ptr %12, align 4, !tbaa !9
  %5150 = load i32, ptr %37, align 4, !tbaa !9
  %5151 = load i32, ptr %38, align 4, !tbaa !9
  %5152 = icmp ne i32 %5150, %5151
  %5153 = zext i1 %5152 to i32
  store i32 %5153, ptr %37, align 4, !tbaa !9
  %5154 = load i32, ptr %37, align 4, !tbaa !9
  %5155 = icmp ne i32 %5154, 0
  br i1 %5155, label %5156, label %5157

5156:                                             ; preds = %5115
  br label %5070

5157:                                             ; preds = %5115
  br label %5220

5158:                                             ; preds = %5009
  %5159 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5159, ptr %37, align 4, !tbaa !9
  %5160 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %5160, ptr %38, align 4, !tbaa !9
  %5161 = load ptr, ptr %4, align 8, !tbaa !5
  %5162 = getelementptr inbounds %struct.w2c_hermes, ptr %5161, i32 0, i32 6
  %5163 = load i32, ptr %38, align 4, !tbaa !9
  %5164 = zext i32 %5163 to i64
  %5165 = add i64 %5164, 16
  %5166 = call i32 @i32_load(ptr noundef %5162, i64 noundef %5165)
  store i32 %5166, ptr %38, align 4, !tbaa !9
  %5167 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %5167, ptr %15, align 4, !tbaa !9
  %5168 = load ptr, ptr %4, align 8, !tbaa !5
  %5169 = getelementptr inbounds %struct.w2c_hermes, ptr %5168, i32 0, i32 6
  %5170 = load i32, ptr %37, align 4, !tbaa !9
  %5171 = zext i32 %5170 to i64
  %5172 = add i64 %5171, 8
  %5173 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5169, i64 noundef %5172, i32 noundef %5173)
  %5174 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5174, ptr %37, align 4, !tbaa !9
  %5175 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5175, ptr %38, align 4, !tbaa !9
  store i32 16, ptr %39, align 4, !tbaa !9
  %5176 = load i32, ptr %39, align 4, !tbaa !9
  %5177 = load i32, ptr %38, align 4, !tbaa !9
  %5178 = add i32 %5177, %5176
  store i32 %5178, ptr %38, align 4, !tbaa !9
  %5179 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %5179, ptr %16, align 4, !tbaa !9
  %5180 = load ptr, ptr %4, align 8, !tbaa !5
  %5181 = getelementptr inbounds %struct.w2c_hermes, ptr %5180, i32 0, i32 6
  %5182 = load i32, ptr %38, align 4, !tbaa !9
  %5183 = zext i32 %5182 to i64
  %5184 = call i32 @i32_load(ptr noundef %5181, i64 noundef %5183)
  store i32 %5184, ptr %38, align 4, !tbaa !9
  %5185 = load ptr, ptr %4, align 8, !tbaa !5
  %5186 = getelementptr inbounds %struct.w2c_hermes, ptr %5185, i32 0, i32 6
  %5187 = load i32, ptr %37, align 4, !tbaa !9
  %5188 = zext i32 %5187 to i64
  %5189 = add i64 %5188, 4
  %5190 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5186, i64 noundef %5189, i32 noundef %5190)
  br label %5259

5191:                                             ; preds = %5088, %5007
  %5192 = load i32, ptr %29, align 4, !tbaa !9
  store i32 %5192, ptr %37, align 4, !tbaa !9
  %5193 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5193, ptr %38, align 4, !tbaa !9
  %5194 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5194, ptr %39, align 4, !tbaa !9
  store i32 20, ptr %40, align 4, !tbaa !9
  %5195 = load i32, ptr %40, align 4, !tbaa !9
  %5196 = load i32, ptr %39, align 4, !tbaa !9
  %5197 = add i32 %5196, %5195
  store i32 %5197, ptr %39, align 4, !tbaa !9
  %5198 = load ptr, ptr %4, align 8, !tbaa !5
  %5199 = load i32, ptr %37, align 4, !tbaa !9
  %5200 = load i32, ptr %38, align 4, !tbaa !9
  %5201 = load i32, ptr %39, align 4, !tbaa !9
  %5202 = call i32 @w2c_hermes_llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x3A0x3AInsertIntoBucket0x3Chermes0x3A0x3ABasicBlock0x2A0x20const0x260x3E0x28llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x20const0x260x29(ptr noundef %5198, i32 noundef %5199, i32 noundef %5200, i32 noundef %5201)
  store i32 %5202, ptr %37, align 4, !tbaa !9
  %5203 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5203, ptr %23, align 4, !tbaa !9
  %5204 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %5204, ptr %37, align 4, !tbaa !9
  %5205 = load ptr, ptr %4, align 8, !tbaa !5
  %5206 = getelementptr inbounds %struct.w2c_hermes, ptr %5205, i32 0, i32 6
  %5207 = load i32, ptr %37, align 4, !tbaa !9
  %5208 = zext i32 %5207 to i64
  %5209 = add i64 %5208, 24
  %5210 = call i32 @i32_load(ptr noundef %5206, i64 noundef %5209)
  store i32 %5210, ptr %37, align 4, !tbaa !9
  %5211 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5211, ptr %9, align 4, !tbaa !9
  %5212 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %5212, ptr %37, align 4, !tbaa !9
  %5213 = load ptr, ptr %4, align 8, !tbaa !5
  %5214 = getelementptr inbounds %struct.w2c_hermes, ptr %5213, i32 0, i32 6
  %5215 = load i32, ptr %37, align 4, !tbaa !9
  %5216 = zext i32 %5215 to i64
  %5217 = add i64 %5216, 12
  %5218 = call i32 @i32_load(ptr noundef %5214, i64 noundef %5217)
  store i32 %5218, ptr %37, align 4, !tbaa !9
  %5219 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5219, ptr %26, align 4, !tbaa !9
  br label %5220

5220:                                             ; preds = %5191, %5157
  %5221 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5221, ptr %37, align 4, !tbaa !9
  %5222 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %5222, ptr %38, align 4, !tbaa !9
  %5223 = load ptr, ptr %4, align 8, !tbaa !5
  %5224 = getelementptr inbounds %struct.w2c_hermes, ptr %5223, i32 0, i32 6
  %5225 = load i32, ptr %38, align 4, !tbaa !9
  %5226 = zext i32 %5225 to i64
  %5227 = add i64 %5226, 16
  %5228 = call i32 @i32_load(ptr noundef %5224, i64 noundef %5227)
  store i32 %5228, ptr %38, align 4, !tbaa !9
  %5229 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %5229, ptr %15, align 4, !tbaa !9
  %5230 = load ptr, ptr %4, align 8, !tbaa !5
  %5231 = getelementptr inbounds %struct.w2c_hermes, ptr %5230, i32 0, i32 6
  %5232 = load i32, ptr %37, align 4, !tbaa !9
  %5233 = zext i32 %5232 to i64
  %5234 = add i64 %5233, 8
  %5235 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5231, i64 noundef %5234, i32 noundef %5235)
  %5236 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5236, ptr %37, align 4, !tbaa !9
  %5237 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5237, ptr %38, align 4, !tbaa !9
  store i32 16, ptr %39, align 4, !tbaa !9
  %5238 = load i32, ptr %39, align 4, !tbaa !9
  %5239 = load i32, ptr %38, align 4, !tbaa !9
  %5240 = add i32 %5239, %5238
  store i32 %5240, ptr %38, align 4, !tbaa !9
  %5241 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %5241, ptr %16, align 4, !tbaa !9
  %5242 = load ptr, ptr %4, align 8, !tbaa !5
  %5243 = getelementptr inbounds %struct.w2c_hermes, ptr %5242, i32 0, i32 6
  %5244 = load i32, ptr %38, align 4, !tbaa !9
  %5245 = zext i32 %5244 to i64
  %5246 = call i32 @i32_load(ptr noundef %5243, i64 noundef %5245)
  store i32 %5246, ptr %38, align 4, !tbaa !9
  %5247 = load ptr, ptr %4, align 8, !tbaa !5
  %5248 = getelementptr inbounds %struct.w2c_hermes, ptr %5247, i32 0, i32 6
  %5249 = load i32, ptr %37, align 4, !tbaa !9
  %5250 = zext i32 %5249 to i64
  %5251 = add i64 %5250, 4
  %5252 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5248, i64 noundef %5251, i32 noundef %5252)
  %5253 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5253, ptr %37, align 4, !tbaa !9
  %5254 = load i32, ptr %37, align 4, !tbaa !9
  %5255 = icmp ne i32 %5254, 0
  br i1 %5255, label %5256, label %5257

5256:                                             ; preds = %5220
  br label %5259

5257:                                             ; preds = %5220
  store i32 0, ptr %37, align 4, !tbaa !9
  %5258 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5258, ptr %9, align 4, !tbaa !9
  br label %5403

5259:                                             ; preds = %5256, %5158
  %5260 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %5260, ptr %37, align 4, !tbaa !9
  %5261 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5261, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %5262 = load i32, ptr %39, align 4, !tbaa !9
  %5263 = load i32, ptr %38, align 4, !tbaa !9
  %5264 = sub i32 %5263, %5262
  store i32 %5264, ptr %38, align 4, !tbaa !9
  %5265 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %5265, ptr %31, align 4, !tbaa !9
  %5266 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %5266, ptr %39, align 4, !tbaa !9
  store i32 4, ptr %40, align 4, !tbaa !9
  %5267 = load i32, ptr %40, align 4, !tbaa !9
  %5268 = and i32 %5267, 31
  %5269 = load i32, ptr %39, align 4, !tbaa !9
  %5270 = lshr i32 %5269, %5268
  store i32 %5270, ptr %39, align 4, !tbaa !9
  %5271 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %5271, ptr %40, align 4, !tbaa !9
  store i32 9, ptr %41, align 4, !tbaa !9
  %5272 = load i32, ptr %41, align 4, !tbaa !9
  %5273 = and i32 %5272, 31
  %5274 = load i32, ptr %40, align 4, !tbaa !9
  %5275 = lshr i32 %5274, %5273
  store i32 %5275, ptr %40, align 4, !tbaa !9
  %5276 = load i32, ptr %40, align 4, !tbaa !9
  %5277 = load i32, ptr %39, align 4, !tbaa !9
  %5278 = xor i32 %5277, %5276
  store i32 %5278, ptr %39, align 4, !tbaa !9
  %5279 = load i32, ptr %39, align 4, !tbaa !9
  %5280 = load i32, ptr %38, align 4, !tbaa !9
  %5281 = and i32 %5280, %5279
  store i32 %5281, ptr %38, align 4, !tbaa !9
  %5282 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %5282, ptr %22, align 4, !tbaa !9
  store i32 44, ptr %39, align 4, !tbaa !9
  %5283 = load i32, ptr %39, align 4, !tbaa !9
  %5284 = load i32, ptr %38, align 4, !tbaa !9
  %5285 = mul i32 %5284, %5283
  store i32 %5285, ptr %38, align 4, !tbaa !9
  %5286 = load i32, ptr %38, align 4, !tbaa !9
  %5287 = load i32, ptr %37, align 4, !tbaa !9
  %5288 = add i32 %5287, %5286
  store i32 %5288, ptr %37, align 4, !tbaa !9
  %5289 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5289, ptr %12, align 4, !tbaa !9
  %5290 = load ptr, ptr %4, align 8, !tbaa !5
  %5291 = getelementptr inbounds %struct.w2c_hermes, ptr %5290, i32 0, i32 6
  %5292 = load i32, ptr %37, align 4, !tbaa !9
  %5293 = zext i32 %5292 to i64
  %5294 = call i32 @i32_load(ptr noundef %5291, i64 noundef %5293)
  store i32 %5294, ptr %37, align 4, !tbaa !9
  %5295 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5295, ptr %19, align 4, !tbaa !9
  %5296 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %5296, ptr %38, align 4, !tbaa !9
  %5297 = load i32, ptr %37, align 4, !tbaa !9
  %5298 = load i32, ptr %38, align 4, !tbaa !9
  %5299 = icmp ne i32 %5297, %5298
  %5300 = zext i1 %5299 to i32
  store i32 %5300, ptr %37, align 4, !tbaa !9
  %5301 = load i32, ptr %37, align 4, !tbaa !9
  %5302 = icmp ne i32 %5301, 0
  br i1 %5302, label %5303, label %5394

5303:                                             ; preds = %5259
  store i32 0, ptr %37, align 4, !tbaa !9
  %5304 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5304, ptr %13, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %5305 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5305, ptr %27, align 4, !tbaa !9
  br label %5306

5306:                                             ; preds = %5392, %5303
  %5307 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %5307, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %5308 = load i32, ptr %37, align 4, !tbaa !9
  %5309 = load i32, ptr %38, align 4, !tbaa !9
  %5310 = icmp eq i32 %5308, %5309
  %5311 = zext i1 %5310 to i32
  store i32 %5311, ptr %37, align 4, !tbaa !9
  %5312 = load i32, ptr %37, align 4, !tbaa !9
  %5313 = icmp ne i32 %5312, 0
  br i1 %5313, label %5314, label %5327

5314:                                             ; preds = %5306
  %5315 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %5315, ptr %37, align 4, !tbaa !9
  %5316 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %5316, ptr %38, align 4, !tbaa !9
  %5317 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %5317, ptr %39, align 4, !tbaa !9
  %5318 = load i32, ptr %39, align 4, !tbaa !9
  %5319 = icmp ne i32 %5318, 0
  br i1 %5319, label %5320, label %5322

5320:                                             ; preds = %5314
  %5321 = load i32, ptr %37, align 4, !tbaa !9
  br label %5324

5322:                                             ; preds = %5314
  %5323 = load i32, ptr %38, align 4, !tbaa !9
  br label %5324

5324:                                             ; preds = %5322, %5320
  %5325 = phi i32 [ %5321, %5320 ], [ %5323, %5322 ]
  store i32 %5325, ptr %37, align 4, !tbaa !9
  %5326 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5326, ptr %9, align 4, !tbaa !9
  br label %5403

5327:                                             ; preds = %5306
  %5328 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %5328, ptr %37, align 4, !tbaa !9
  %5329 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %5329, ptr %38, align 4, !tbaa !9
  %5330 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %5330, ptr %39, align 4, !tbaa !9
  %5331 = load i32, ptr %39, align 4, !tbaa !9
  %5332 = icmp ne i32 %5331, 0
  br i1 %5332, label %5333, label %5335

5333:                                             ; preds = %5327
  %5334 = load i32, ptr %37, align 4, !tbaa !9
  br label %5337

5335:                                             ; preds = %5327
  %5336 = load i32, ptr %38, align 4, !tbaa !9
  br label %5337

5337:                                             ; preds = %5335, %5333
  %5338 = phi i32 [ %5334, %5333 ], [ %5336, %5335 ]
  store i32 %5338, ptr %37, align 4, !tbaa !9
  %5339 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %5339, ptr %38, align 4, !tbaa !9
  %5340 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %5340, ptr %39, align 4, !tbaa !9
  store i32 -8, ptr %40, align 4, !tbaa !9
  %5341 = load i32, ptr %39, align 4, !tbaa !9
  %5342 = load i32, ptr %40, align 4, !tbaa !9
  %5343 = icmp eq i32 %5341, %5342
  %5344 = zext i1 %5343 to i32
  store i32 %5344, ptr %39, align 4, !tbaa !9
  %5345 = load i32, ptr %39, align 4, !tbaa !9
  %5346 = icmp ne i32 %5345, 0
  br i1 %5346, label %5347, label %5349

5347:                                             ; preds = %5337
  %5348 = load i32, ptr %37, align 4, !tbaa !9
  br label %5351

5349:                                             ; preds = %5337
  %5350 = load i32, ptr %38, align 4, !tbaa !9
  br label %5351

5351:                                             ; preds = %5349, %5347
  %5352 = phi i32 [ %5348, %5347 ], [ %5350, %5349 ]
  store i32 %5352, ptr %37, align 4, !tbaa !9
  %5353 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5353, ptr %13, align 4, !tbaa !9
  %5354 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %5354, ptr %37, align 4, !tbaa !9
  %5355 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %5355, ptr %38, align 4, !tbaa !9
  %5356 = load i32, ptr %38, align 4, !tbaa !9
  %5357 = load i32, ptr %37, align 4, !tbaa !9
  %5358 = add i32 %5357, %5356
  store i32 %5358, ptr %37, align 4, !tbaa !9
  %5359 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5359, ptr %12, align 4, !tbaa !9
  %5360 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %5360, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %5361 = load i32, ptr %38, align 4, !tbaa !9
  %5362 = load i32, ptr %37, align 4, !tbaa !9
  %5363 = add i32 %5362, %5361
  store i32 %5363, ptr %37, align 4, !tbaa !9
  %5364 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5364, ptr %27, align 4, !tbaa !9
  %5365 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %5365, ptr %37, align 4, !tbaa !9
  %5366 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %5366, ptr %38, align 4, !tbaa !9
  %5367 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %5367, ptr %39, align 4, !tbaa !9
  %5368 = load i32, ptr %31, align 4, !tbaa !9
  store i32 %5368, ptr %40, align 4, !tbaa !9
  %5369 = load i32, ptr %40, align 4, !tbaa !9
  %5370 = load i32, ptr %39, align 4, !tbaa !9
  %5371 = and i32 %5370, %5369
  store i32 %5371, ptr %39, align 4, !tbaa !9
  %5372 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %5372, ptr %22, align 4, !tbaa !9
  store i32 44, ptr %40, align 4, !tbaa !9
  %5373 = load i32, ptr %40, align 4, !tbaa !9
  %5374 = load i32, ptr %39, align 4, !tbaa !9
  %5375 = mul i32 %5374, %5373
  store i32 %5375, ptr %39, align 4, !tbaa !9
  %5376 = load i32, ptr %39, align 4, !tbaa !9
  %5377 = load i32, ptr %38, align 4, !tbaa !9
  %5378 = add i32 %5377, %5376
  store i32 %5378, ptr %38, align 4, !tbaa !9
  %5379 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %5379, ptr %12, align 4, !tbaa !9
  %5380 = load ptr, ptr %4, align 8, !tbaa !5
  %5381 = getelementptr inbounds %struct.w2c_hermes, ptr %5380, i32 0, i32 6
  %5382 = load i32, ptr %38, align 4, !tbaa !9
  %5383 = zext i32 %5382 to i64
  %5384 = call i32 @i32_load(ptr noundef %5381, i64 noundef %5383)
  store i32 %5384, ptr %38, align 4, !tbaa !9
  %5385 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %5385, ptr %19, align 4, !tbaa !9
  %5386 = load i32, ptr %37, align 4, !tbaa !9
  %5387 = load i32, ptr %38, align 4, !tbaa !9
  %5388 = icmp ne i32 %5386, %5387
  %5389 = zext i1 %5388 to i32
  store i32 %5389, ptr %37, align 4, !tbaa !9
  %5390 = load i32, ptr %37, align 4, !tbaa !9
  %5391 = icmp ne i32 %5390, 0
  br i1 %5391, label %5392, label %5393

5392:                                             ; preds = %5351
  br label %5306

5393:                                             ; preds = %5351
  br label %5432

5394:                                             ; preds = %5259
  %5395 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %5395, ptr %37, align 4, !tbaa !9
  %5396 = load ptr, ptr %4, align 8, !tbaa !5
  %5397 = getelementptr inbounds %struct.w2c_hermes, ptr %5396, i32 0, i32 6
  %5398 = load i32, ptr %37, align 4, !tbaa !9
  %5399 = zext i32 %5398 to i64
  %5400 = add i64 %5399, 12
  %5401 = call i32 @i32_load(ptr noundef %5397, i64 noundef %5400)
  store i32 %5401, ptr %37, align 4, !tbaa !9
  %5402 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5402, ptr %12, align 4, !tbaa !9
  br label %5447

5403:                                             ; preds = %5324, %5257
  %5404 = load i32, ptr %29, align 4, !tbaa !9
  store i32 %5404, ptr %37, align 4, !tbaa !9
  %5405 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5405, ptr %38, align 4, !tbaa !9
  %5406 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5406, ptr %39, align 4, !tbaa !9
  store i32 8, ptr %40, align 4, !tbaa !9
  %5407 = load i32, ptr %40, align 4, !tbaa !9
  %5408 = load i32, ptr %39, align 4, !tbaa !9
  %5409 = add i32 %5408, %5407
  store i32 %5409, ptr %39, align 4, !tbaa !9
  %5410 = load ptr, ptr %4, align 8, !tbaa !5
  %5411 = load i32, ptr %37, align 4, !tbaa !9
  %5412 = load i32, ptr %38, align 4, !tbaa !9
  %5413 = load i32, ptr %39, align 4, !tbaa !9
  %5414 = call i32 @w2c_hermes_llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x3A0x3AInsertIntoBucket0x3Chermes0x3A0x3ABasicBlock0x2A0x20const0x260x3E0x28llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x20const0x260x29(ptr noundef %5410, i32 noundef %5411, i32 noundef %5412, i32 noundef %5413)
  store i32 %5414, ptr %37, align 4, !tbaa !9
  %5415 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5415, ptr %12, align 4, !tbaa !9
  %5416 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %5416, ptr %37, align 4, !tbaa !9
  %5417 = load ptr, ptr %4, align 8, !tbaa !5
  %5418 = getelementptr inbounds %struct.w2c_hermes, ptr %5417, i32 0, i32 6
  %5419 = load i32, ptr %37, align 4, !tbaa !9
  %5420 = zext i32 %5419 to i64
  %5421 = add i64 %5420, 24
  %5422 = call i32 @i32_load(ptr noundef %5418, i64 noundef %5421)
  store i32 %5422, ptr %37, align 4, !tbaa !9
  %5423 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5423, ptr %9, align 4, !tbaa !9
  %5424 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %5424, ptr %37, align 4, !tbaa !9
  %5425 = load ptr, ptr %4, align 8, !tbaa !5
  %5426 = getelementptr inbounds %struct.w2c_hermes, ptr %5425, i32 0, i32 6
  %5427 = load i32, ptr %37, align 4, !tbaa !9
  %5428 = zext i32 %5427 to i64
  %5429 = add i64 %5428, 12
  %5430 = call i32 @i32_load(ptr noundef %5426, i64 noundef %5429)
  store i32 %5430, ptr %37, align 4, !tbaa !9
  %5431 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5431, ptr %26, align 4, !tbaa !9
  br label %5432

5432:                                             ; preds = %5403, %5393
  %5433 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %5433, ptr %37, align 4, !tbaa !9
  %5434 = load ptr, ptr %4, align 8, !tbaa !5
  %5435 = getelementptr inbounds %struct.w2c_hermes, ptr %5434, i32 0, i32 6
  %5436 = load i32, ptr %37, align 4, !tbaa !9
  %5437 = zext i32 %5436 to i64
  %5438 = add i64 %5437, 12
  %5439 = call i32 @i32_load(ptr noundef %5435, i64 noundef %5438)
  store i32 %5439, ptr %37, align 4, !tbaa !9
  %5440 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5440, ptr %12, align 4, !tbaa !9
  %5441 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5441, ptr %37, align 4, !tbaa !9
  %5442 = load i32, ptr %37, align 4, !tbaa !9
  %5443 = icmp ne i32 %5442, 0
  br i1 %5443, label %5444, label %5445

5444:                                             ; preds = %5432
  br label %5447

5445:                                             ; preds = %5432
  store i32 0, ptr %37, align 4, !tbaa !9
  %5446 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5446, ptr %9, align 4, !tbaa !9
  br label %5590

5447:                                             ; preds = %5444, %5394
  %5448 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5448, ptr %37, align 4, !tbaa !9
  %5449 = load ptr, ptr %4, align 8, !tbaa !5
  %5450 = getelementptr inbounds %struct.w2c_hermes, ptr %5449, i32 0, i32 6
  %5451 = load i32, ptr %37, align 4, !tbaa !9
  %5452 = zext i32 %5451 to i64
  %5453 = add i64 %5452, 4
  %5454 = call i32 @i32_load(ptr noundef %5450, i64 noundef %5453)
  store i32 %5454, ptr %37, align 4, !tbaa !9
  %5455 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5455, ptr %15, align 4, !tbaa !9
  %5456 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %5456, ptr %38, align 4, !tbaa !9
  %5457 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5457, ptr %39, align 4, !tbaa !9
  store i32 1, ptr %40, align 4, !tbaa !9
  %5458 = load i32, ptr %40, align 4, !tbaa !9
  %5459 = load i32, ptr %39, align 4, !tbaa !9
  %5460 = sub i32 %5459, %5458
  store i32 %5460, ptr %39, align 4, !tbaa !9
  %5461 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %5461, ptr %31, align 4, !tbaa !9
  %5462 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %5462, ptr %40, align 4, !tbaa !9
  store i32 4, ptr %41, align 4, !tbaa !9
  %5463 = load i32, ptr %41, align 4, !tbaa !9
  %5464 = and i32 %5463, 31
  %5465 = load i32, ptr %40, align 4, !tbaa !9
  %5466 = lshr i32 %5465, %5464
  store i32 %5466, ptr %40, align 4, !tbaa !9
  %5467 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %5467, ptr %41, align 4, !tbaa !9
  store i32 9, ptr %42, align 4, !tbaa !9
  %5468 = load i32, ptr %42, align 4, !tbaa !9
  %5469 = and i32 %5468, 31
  %5470 = load i32, ptr %41, align 4, !tbaa !9
  %5471 = lshr i32 %5470, %5469
  store i32 %5471, ptr %41, align 4, !tbaa !9
  %5472 = load i32, ptr %41, align 4, !tbaa !9
  %5473 = load i32, ptr %40, align 4, !tbaa !9
  %5474 = xor i32 %5473, %5472
  store i32 %5474, ptr %40, align 4, !tbaa !9
  %5475 = load i32, ptr %40, align 4, !tbaa !9
  %5476 = load i32, ptr %39, align 4, !tbaa !9
  %5477 = and i32 %5476, %5475
  store i32 %5477, ptr %39, align 4, !tbaa !9
  %5478 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %5478, ptr %22, align 4, !tbaa !9
  store i32 44, ptr %40, align 4, !tbaa !9
  %5479 = load i32, ptr %40, align 4, !tbaa !9
  %5480 = load i32, ptr %39, align 4, !tbaa !9
  %5481 = mul i32 %5480, %5479
  store i32 %5481, ptr %39, align 4, !tbaa !9
  %5482 = load i32, ptr %39, align 4, !tbaa !9
  %5483 = load i32, ptr %38, align 4, !tbaa !9
  %5484 = add i32 %5483, %5482
  store i32 %5484, ptr %38, align 4, !tbaa !9
  %5485 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %5485, ptr %9, align 4, !tbaa !9
  %5486 = load ptr, ptr %4, align 8, !tbaa !5
  %5487 = getelementptr inbounds %struct.w2c_hermes, ptr %5486, i32 0, i32 6
  %5488 = load i32, ptr %38, align 4, !tbaa !9
  %5489 = zext i32 %5488 to i64
  %5490 = call i32 @i32_load(ptr noundef %5487, i64 noundef %5489)
  store i32 %5490, ptr %38, align 4, !tbaa !9
  %5491 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %5491, ptr %19, align 4, !tbaa !9
  %5492 = load i32, ptr %37, align 4, !tbaa !9
  %5493 = load i32, ptr %38, align 4, !tbaa !9
  %5494 = icmp eq i32 %5492, %5493
  %5495 = zext i1 %5494 to i32
  store i32 %5495, ptr %37, align 4, !tbaa !9
  %5496 = load i32, ptr %37, align 4, !tbaa !9
  %5497 = icmp ne i32 %5496, 0
  br i1 %5497, label %5498, label %5499

5498:                                             ; preds = %5447
  br label %5603

5499:                                             ; preds = %5447
  store i32 0, ptr %37, align 4, !tbaa !9
  %5500 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5500, ptr %13, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %5501 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5501, ptr %27, align 4, !tbaa !9
  br label %5502

5502:                                             ; preds = %5588, %5499
  %5503 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %5503, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %5504 = load i32, ptr %37, align 4, !tbaa !9
  %5505 = load i32, ptr %38, align 4, !tbaa !9
  %5506 = icmp eq i32 %5504, %5505
  %5507 = zext i1 %5506 to i32
  store i32 %5507, ptr %37, align 4, !tbaa !9
  %5508 = load i32, ptr %37, align 4, !tbaa !9
  %5509 = icmp ne i32 %5508, 0
  br i1 %5509, label %5510, label %5523

5510:                                             ; preds = %5502
  %5511 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %5511, ptr %37, align 4, !tbaa !9
  %5512 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5512, ptr %38, align 4, !tbaa !9
  %5513 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %5513, ptr %39, align 4, !tbaa !9
  %5514 = load i32, ptr %39, align 4, !tbaa !9
  %5515 = icmp ne i32 %5514, 0
  br i1 %5515, label %5516, label %5518

5516:                                             ; preds = %5510
  %5517 = load i32, ptr %37, align 4, !tbaa !9
  br label %5520

5518:                                             ; preds = %5510
  %5519 = load i32, ptr %38, align 4, !tbaa !9
  br label %5520

5520:                                             ; preds = %5518, %5516
  %5521 = phi i32 [ %5517, %5516 ], [ %5519, %5518 ]
  store i32 %5521, ptr %37, align 4, !tbaa !9
  %5522 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5522, ptr %9, align 4, !tbaa !9
  br label %5590

5523:                                             ; preds = %5502
  %5524 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %5524, ptr %37, align 4, !tbaa !9
  %5525 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5525, ptr %38, align 4, !tbaa !9
  %5526 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %5526, ptr %39, align 4, !tbaa !9
  %5527 = load i32, ptr %39, align 4, !tbaa !9
  %5528 = icmp ne i32 %5527, 0
  br i1 %5528, label %5529, label %5531

5529:                                             ; preds = %5523
  %5530 = load i32, ptr %37, align 4, !tbaa !9
  br label %5533

5531:                                             ; preds = %5523
  %5532 = load i32, ptr %38, align 4, !tbaa !9
  br label %5533

5533:                                             ; preds = %5531, %5529
  %5534 = phi i32 [ %5530, %5529 ], [ %5532, %5531 ]
  store i32 %5534, ptr %37, align 4, !tbaa !9
  %5535 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %5535, ptr %38, align 4, !tbaa !9
  %5536 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %5536, ptr %39, align 4, !tbaa !9
  store i32 -8, ptr %40, align 4, !tbaa !9
  %5537 = load i32, ptr %39, align 4, !tbaa !9
  %5538 = load i32, ptr %40, align 4, !tbaa !9
  %5539 = icmp eq i32 %5537, %5538
  %5540 = zext i1 %5539 to i32
  store i32 %5540, ptr %39, align 4, !tbaa !9
  %5541 = load i32, ptr %39, align 4, !tbaa !9
  %5542 = icmp ne i32 %5541, 0
  br i1 %5542, label %5543, label %5545

5543:                                             ; preds = %5533
  %5544 = load i32, ptr %37, align 4, !tbaa !9
  br label %5547

5545:                                             ; preds = %5533
  %5546 = load i32, ptr %38, align 4, !tbaa !9
  br label %5547

5547:                                             ; preds = %5545, %5543
  %5548 = phi i32 [ %5544, %5543 ], [ %5546, %5545 ]
  store i32 %5548, ptr %37, align 4, !tbaa !9
  %5549 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5549, ptr %13, align 4, !tbaa !9
  %5550 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %5550, ptr %37, align 4, !tbaa !9
  %5551 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %5551, ptr %38, align 4, !tbaa !9
  %5552 = load i32, ptr %38, align 4, !tbaa !9
  %5553 = load i32, ptr %37, align 4, !tbaa !9
  %5554 = add i32 %5553, %5552
  store i32 %5554, ptr %37, align 4, !tbaa !9
  %5555 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5555, ptr %9, align 4, !tbaa !9
  %5556 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %5556, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %5557 = load i32, ptr %38, align 4, !tbaa !9
  %5558 = load i32, ptr %37, align 4, !tbaa !9
  %5559 = add i32 %5558, %5557
  store i32 %5559, ptr %37, align 4, !tbaa !9
  %5560 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5560, ptr %27, align 4, !tbaa !9
  %5561 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %5561, ptr %37, align 4, !tbaa !9
  %5562 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %5562, ptr %38, align 4, !tbaa !9
  %5563 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5563, ptr %39, align 4, !tbaa !9
  %5564 = load i32, ptr %31, align 4, !tbaa !9
  store i32 %5564, ptr %40, align 4, !tbaa !9
  %5565 = load i32, ptr %40, align 4, !tbaa !9
  %5566 = load i32, ptr %39, align 4, !tbaa !9
  %5567 = and i32 %5566, %5565
  store i32 %5567, ptr %39, align 4, !tbaa !9
  %5568 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %5568, ptr %22, align 4, !tbaa !9
  store i32 44, ptr %40, align 4, !tbaa !9
  %5569 = load i32, ptr %40, align 4, !tbaa !9
  %5570 = load i32, ptr %39, align 4, !tbaa !9
  %5571 = mul i32 %5570, %5569
  store i32 %5571, ptr %39, align 4, !tbaa !9
  %5572 = load i32, ptr %39, align 4, !tbaa !9
  %5573 = load i32, ptr %38, align 4, !tbaa !9
  %5574 = add i32 %5573, %5572
  store i32 %5574, ptr %38, align 4, !tbaa !9
  %5575 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %5575, ptr %9, align 4, !tbaa !9
  %5576 = load ptr, ptr %4, align 8, !tbaa !5
  %5577 = getelementptr inbounds %struct.w2c_hermes, ptr %5576, i32 0, i32 6
  %5578 = load i32, ptr %38, align 4, !tbaa !9
  %5579 = zext i32 %5578 to i64
  %5580 = call i32 @i32_load(ptr noundef %5577, i64 noundef %5579)
  store i32 %5580, ptr %38, align 4, !tbaa !9
  %5581 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %5581, ptr %19, align 4, !tbaa !9
  %5582 = load i32, ptr %37, align 4, !tbaa !9
  %5583 = load i32, ptr %38, align 4, !tbaa !9
  %5584 = icmp ne i32 %5582, %5583
  %5585 = zext i1 %5584 to i32
  store i32 %5585, ptr %37, align 4, !tbaa !9
  %5586 = load i32, ptr %37, align 4, !tbaa !9
  %5587 = icmp ne i32 %5586, 0
  br i1 %5587, label %5588, label %5589

5588:                                             ; preds = %5547
  br label %5502

5589:                                             ; preds = %5547
  br label %5603

5590:                                             ; preds = %5520, %5445
  %5591 = load i32, ptr %29, align 4, !tbaa !9
  store i32 %5591, ptr %37, align 4, !tbaa !9
  %5592 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5592, ptr %38, align 4, !tbaa !9
  %5593 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5593, ptr %39, align 4, !tbaa !9
  store i32 4, ptr %40, align 4, !tbaa !9
  %5594 = load i32, ptr %40, align 4, !tbaa !9
  %5595 = load i32, ptr %39, align 4, !tbaa !9
  %5596 = add i32 %5595, %5594
  store i32 %5596, ptr %39, align 4, !tbaa !9
  %5597 = load ptr, ptr %4, align 8, !tbaa !5
  %5598 = load i32, ptr %37, align 4, !tbaa !9
  %5599 = load i32, ptr %38, align 4, !tbaa !9
  %5600 = load i32, ptr %39, align 4, !tbaa !9
  %5601 = call i32 @w2c_hermes_llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x3A0x3AInsertIntoBucket0x3Chermes0x3A0x3ABasicBlock0x2A0x20const0x260x3E0x28llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x20const0x260x29(ptr noundef %5597, i32 noundef %5598, i32 noundef %5599, i32 noundef %5600)
  store i32 %5601, ptr %37, align 4, !tbaa !9
  %5602 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5602, ptr %9, align 4, !tbaa !9
  br label %5603

5603:                                             ; preds = %5590, %5589, %5498
  %5604 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5604, ptr %37, align 4, !tbaa !9
  %5605 = load ptr, ptr %4, align 8, !tbaa !5
  %5606 = getelementptr inbounds %struct.w2c_hermes, ptr %5605, i32 0, i32 6
  %5607 = load i32, ptr %37, align 4, !tbaa !9
  %5608 = zext i32 %5607 to i64
  %5609 = add i64 %5608, 12
  %5610 = call i32 @i32_load(ptr noundef %5606, i64 noundef %5609)
  store i32 %5610, ptr %37, align 4, !tbaa !9
  %5611 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %5611, ptr %38, align 4, !tbaa !9
  %5612 = load i32, ptr %37, align 4, !tbaa !9
  %5613 = load i32, ptr %38, align 4, !tbaa !9
  %5614 = icmp ugt i32 %5612, %5613
  %5615 = zext i1 %5614 to i32
  store i32 %5615, ptr %37, align 4, !tbaa !9
  %5616 = load i32, ptr %37, align 4, !tbaa !9
  %5617 = icmp ne i32 %5616, 0
  br i1 %5617, label %5618, label %5632

5618:                                             ; preds = %5603
  %5619 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %5619, ptr %37, align 4, !tbaa !9
  %5620 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5620, ptr %38, align 4, !tbaa !9
  %5621 = load ptr, ptr %4, align 8, !tbaa !5
  %5622 = getelementptr inbounds %struct.w2c_hermes, ptr %5621, i32 0, i32 6
  %5623 = load i32, ptr %38, align 4, !tbaa !9
  %5624 = zext i32 %5623 to i64
  %5625 = add i64 %5624, 8
  %5626 = call i32 @i32_load(ptr noundef %5622, i64 noundef %5625)
  store i32 %5626, ptr %38, align 4, !tbaa !9
  %5627 = load ptr, ptr %4, align 8, !tbaa !5
  %5628 = getelementptr inbounds %struct.w2c_hermes, ptr %5627, i32 0, i32 6
  %5629 = load i32, ptr %37, align 4, !tbaa !9
  %5630 = zext i32 %5629 to i64
  %5631 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5628, i64 noundef %5630, i32 noundef %5631)
  br label %5632

5632:                                             ; preds = %5618, %5603
  %5633 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5633, ptr %37, align 4, !tbaa !9
  %5634 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %5634, ptr %38, align 4, !tbaa !9
  %5635 = load ptr, ptr %4, align 8, !tbaa !5
  %5636 = getelementptr inbounds %struct.w2c_hermes, ptr %5635, i32 0, i32 6
  %5637 = load i32, ptr %38, align 4, !tbaa !9
  %5638 = zext i32 %5637 to i64
  %5639 = add i64 %5638, 8
  %5640 = call i32 @i32_load(ptr noundef %5636, i64 noundef %5639)
  store i32 %5640, ptr %38, align 4, !tbaa !9
  %5641 = load ptr, ptr %4, align 8, !tbaa !5
  %5642 = getelementptr inbounds %struct.w2c_hermes, ptr %5641, i32 0, i32 6
  %5643 = load i32, ptr %37, align 4, !tbaa !9
  %5644 = zext i32 %5643 to i64
  %5645 = add i64 %5644, 8
  %5646 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5642, i64 noundef %5645, i32 noundef %5646)
  %5647 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5647, ptr %37, align 4, !tbaa !9
  %5648 = load ptr, ptr %4, align 8, !tbaa !5
  %5649 = getelementptr inbounds %struct.w2c_hermes, ptr %5648, i32 0, i32 6
  %5650 = load i32, ptr %37, align 4, !tbaa !9
  %5651 = zext i32 %5650 to i64
  %5652 = add i64 %5651, 180
  %5653 = call i32 @i32_load(ptr noundef %5649, i64 noundef %5652)
  store i32 %5653, ptr %37, align 4, !tbaa !9
  %5654 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5654, ptr %9, align 4, !tbaa !9
  br label %5655

5655:                                             ; preds = %5632, %4991, %4912
  %5656 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5656, ptr %37, align 4, !tbaa !9
  %5657 = load i32, ptr %37, align 4, !tbaa !9
  %5658 = icmp ne i32 %5657, 0
  br i1 %5658, label %5659, label %5660

5659:                                             ; preds = %5655
  br label %4590

5660:                                             ; preds = %5655
  %5661 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %5661, ptr %37, align 4, !tbaa !9
  %5662 = load ptr, ptr %4, align 8, !tbaa !5
  %5663 = getelementptr inbounds %struct.w2c_hermes, ptr %5662, i32 0, i32 6
  %5664 = load i32, ptr %37, align 4, !tbaa !9
  %5665 = zext i32 %5664 to i64
  %5666 = add i64 %5665, 16
  %5667 = call i32 @i32_load(ptr noundef %5663, i64 noundef %5666)
  store i32 %5667, ptr %37, align 4, !tbaa !9
  %5668 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5668, ptr %10, align 4, !tbaa !9
  %5669 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5669, ptr %37, align 4, !tbaa !9
  %5670 = load ptr, ptr %4, align 8, !tbaa !5
  %5671 = getelementptr inbounds %struct.w2c_hermes, ptr %5670, i32 0, i32 6
  %5672 = load i32, ptr %37, align 4, !tbaa !9
  %5673 = zext i32 %5672 to i64
  %5674 = add i64 %5673, 32
  %5675 = call i32 @i32_load(ptr noundef %5671, i64 noundef %5674)
  store i32 %5675, ptr %37, align 4, !tbaa !9
  %5676 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5676, ptr %9, align 4, !tbaa !9
  %5677 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5677, ptr %38, align 4, !tbaa !9
  %5678 = load ptr, ptr %4, align 8, !tbaa !5
  %5679 = getelementptr inbounds %struct.w2c_hermes, ptr %5678, i32 0, i32 6
  %5680 = load i32, ptr %38, align 4, !tbaa !9
  %5681 = zext i32 %5680 to i64
  %5682 = add i64 %5681, 28
  %5683 = call i32 @i32_load(ptr noundef %5679, i64 noundef %5682)
  store i32 %5683, ptr %38, align 4, !tbaa !9
  %5684 = load i32, ptr %37, align 4, !tbaa !9
  %5685 = load i32, ptr %38, align 4, !tbaa !9
  %5686 = icmp eq i32 %5684, %5685
  %5687 = zext i1 %5686 to i32
  store i32 %5687, ptr %37, align 4, !tbaa !9
  %5688 = load i32, ptr %37, align 4, !tbaa !9
  %5689 = icmp ne i32 %5688, 0
  br i1 %5689, label %5690, label %5691

5690:                                             ; preds = %5660
  br label %5695

5691:                                             ; preds = %5660
  %5692 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5692, ptr %37, align 4, !tbaa !9
  %5693 = load ptr, ptr %4, align 8, !tbaa !5
  %5694 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %5693, i32 noundef %5694)
  br label %5695

5695:                                             ; preds = %5691, %5690, %4558
  %5696 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5696, ptr %37, align 4, !tbaa !9
  %5697 = load ptr, ptr %4, align 8, !tbaa !5
  %5698 = getelementptr inbounds %struct.w2c_hermes, ptr %5697, i32 0, i32 6
  %5699 = load i32, ptr %37, align 4, !tbaa !9
  %5700 = zext i32 %5699 to i64
  %5701 = add i64 %5700, 176
  %5702 = call i32 @i32_load(ptr noundef %5698, i64 noundef %5701)
  store i32 %5702, ptr %37, align 4, !tbaa !9
  %5703 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5703, ptr %9, align 4, !tbaa !9
  %5704 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %5704, ptr %38, align 4, !tbaa !9
  %5705 = load i32, ptr %37, align 4, !tbaa !9
  %5706 = load i32, ptr %38, align 4, !tbaa !9
  %5707 = icmp eq i32 %5705, %5706
  %5708 = zext i1 %5707 to i32
  store i32 %5708, ptr %37, align 4, !tbaa !9
  %5709 = load i32, ptr %37, align 4, !tbaa !9
  %5710 = icmp ne i32 %5709, 0
  br i1 %5710, label %5711, label %5712

5711:                                             ; preds = %5695
  br label %5716

5712:                                             ; preds = %5695
  %5713 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5713, ptr %37, align 4, !tbaa !9
  %5714 = load ptr, ptr %4, align 8, !tbaa !5
  %5715 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %5714, i32 noundef %5715)
  br label %5716

5716:                                             ; preds = %5712, %5711, %4481
  %5717 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5717, ptr %37, align 4, !tbaa !9
  store i32 320, ptr %38, align 4, !tbaa !9
  %5718 = load i32, ptr %38, align 4, !tbaa !9
  %5719 = load i32, ptr %37, align 4, !tbaa !9
  %5720 = add i32 %5719, %5718
  store i32 %5720, ptr %37, align 4, !tbaa !9
  %5721 = load i32, ptr %37, align 4, !tbaa !9
  %5722 = load ptr, ptr %4, align 8, !tbaa !5
  %5723 = getelementptr inbounds %struct.w2c_hermes, ptr %5722, i32 0, i32 3
  store i32 %5721, ptr %5723, align 8, !tbaa !13
  %5724 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5724, ptr %37, align 4, !tbaa !9
  %5725 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5725, ptr %13, align 4, !tbaa !9
  %5726 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %5726, ptr %37, align 4, !tbaa !9
  %5727 = load ptr, ptr %4, align 8, !tbaa !5
  %5728 = getelementptr inbounds %struct.w2c_hermes, ptr %5727, i32 0, i32 6
  %5729 = load i32, ptr %37, align 4, !tbaa !9
  %5730 = zext i32 %5729 to i64
  %5731 = add i64 %5730, 12
  %5732 = call i32 @i32_load(ptr noundef %5728, i64 noundef %5731)
  store i32 %5732, ptr %37, align 4, !tbaa !9
  %5733 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5733, ptr %19, align 4, !tbaa !9
  %5734 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %5734, ptr %37, align 4, !tbaa !9
  %5735 = load ptr, ptr %4, align 8, !tbaa !5
  %5736 = getelementptr inbounds %struct.w2c_hermes, ptr %5735, i32 0, i32 6
  %5737 = load i32, ptr %37, align 4, !tbaa !9
  %5738 = zext i32 %5737 to i64
  %5739 = add i64 %5738, 24
  %5740 = call i32 @i32_load(ptr noundef %5736, i64 noundef %5739)
  store i32 %5740, ptr %37, align 4, !tbaa !9
  %5741 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5741, ptr %12, align 4, !tbaa !9
  %5742 = load i32, ptr %37, align 4, !tbaa !9
  %5743 = icmp ne i32 %5742, 0
  %5744 = xor i1 %5743, true
  %5745 = zext i1 %5744 to i32
  store i32 %5745, ptr %37, align 4, !tbaa !9
  %5746 = load i32, ptr %37, align 4, !tbaa !9
  %5747 = icmp ne i32 %5746, 0
  br i1 %5747, label %5748, label %5750

5748:                                             ; preds = %5716
  store i32 0, ptr %37, align 4, !tbaa !9
  %5749 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5749, ptr %7, align 4, !tbaa !9
  br label %5886

5750:                                             ; preds = %5716
  %5751 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %5751, ptr %37, align 4, !tbaa !9
  %5752 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %5752, ptr %38, align 4, !tbaa !9
  %5753 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %5753, ptr %39, align 4, !tbaa !9
  store i32 1, ptr %40, align 4, !tbaa !9
  %5754 = load i32, ptr %40, align 4, !tbaa !9
  %5755 = load i32, ptr %39, align 4, !tbaa !9
  %5756 = sub i32 %5755, %5754
  store i32 %5756, ptr %39, align 4, !tbaa !9
  %5757 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %5757, ptr %22, align 4, !tbaa !9
  %5758 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %5758, ptr %40, align 4, !tbaa !9
  store i32 4, ptr %41, align 4, !tbaa !9
  %5759 = load i32, ptr %41, align 4, !tbaa !9
  %5760 = and i32 %5759, 31
  %5761 = load i32, ptr %40, align 4, !tbaa !9
  %5762 = lshr i32 %5761, %5760
  store i32 %5762, ptr %40, align 4, !tbaa !9
  %5763 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %5763, ptr %41, align 4, !tbaa !9
  store i32 9, ptr %42, align 4, !tbaa !9
  %5764 = load i32, ptr %42, align 4, !tbaa !9
  %5765 = and i32 %5764, 31
  %5766 = load i32, ptr %41, align 4, !tbaa !9
  %5767 = lshr i32 %5766, %5765
  store i32 %5767, ptr %41, align 4, !tbaa !9
  %5768 = load i32, ptr %41, align 4, !tbaa !9
  %5769 = load i32, ptr %40, align 4, !tbaa !9
  %5770 = xor i32 %5769, %5768
  store i32 %5770, ptr %40, align 4, !tbaa !9
  %5771 = load i32, ptr %40, align 4, !tbaa !9
  %5772 = load i32, ptr %39, align 4, !tbaa !9
  %5773 = and i32 %5772, %5771
  store i32 %5773, ptr %39, align 4, !tbaa !9
  %5774 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %5774, ptr %9, align 4, !tbaa !9
  store i32 44, ptr %40, align 4, !tbaa !9
  %5775 = load i32, ptr %40, align 4, !tbaa !9
  %5776 = load i32, ptr %39, align 4, !tbaa !9
  %5777 = mul i32 %5776, %5775
  store i32 %5777, ptr %39, align 4, !tbaa !9
  %5778 = load i32, ptr %39, align 4, !tbaa !9
  %5779 = load i32, ptr %38, align 4, !tbaa !9
  %5780 = add i32 %5779, %5778
  store i32 %5780, ptr %38, align 4, !tbaa !9
  %5781 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %5781, ptr %7, align 4, !tbaa !9
  %5782 = load ptr, ptr %4, align 8, !tbaa !5
  %5783 = getelementptr inbounds %struct.w2c_hermes, ptr %5782, i32 0, i32 6
  %5784 = load i32, ptr %38, align 4, !tbaa !9
  %5785 = zext i32 %5784 to i64
  %5786 = call i32 @i32_load(ptr noundef %5783, i64 noundef %5785)
  store i32 %5786, ptr %38, align 4, !tbaa !9
  %5787 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %5787, ptr %10, align 4, !tbaa !9
  %5788 = load i32, ptr %37, align 4, !tbaa !9
  %5789 = load i32, ptr %38, align 4, !tbaa !9
  %5790 = icmp eq i32 %5788, %5789
  %5791 = zext i1 %5790 to i32
  store i32 %5791, ptr %37, align 4, !tbaa !9
  %5792 = load i32, ptr %37, align 4, !tbaa !9
  %5793 = icmp ne i32 %5792, 0
  br i1 %5793, label %5794, label %5795

5794:                                             ; preds = %5750
  br label %6501

5795:                                             ; preds = %5750
  store i32 0, ptr %37, align 4, !tbaa !9
  %5796 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5796, ptr %15, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %5797 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5797, ptr %16, align 4, !tbaa !9
  br label %5798

5798:                                             ; preds = %5884, %5795
  %5799 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5799, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %5800 = load i32, ptr %37, align 4, !tbaa !9
  %5801 = load i32, ptr %38, align 4, !tbaa !9
  %5802 = icmp eq i32 %5800, %5801
  %5803 = zext i1 %5802 to i32
  store i32 %5803, ptr %37, align 4, !tbaa !9
  %5804 = load i32, ptr %37, align 4, !tbaa !9
  %5805 = icmp ne i32 %5804, 0
  br i1 %5805, label %5806, label %5819

5806:                                             ; preds = %5798
  %5807 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %5807, ptr %37, align 4, !tbaa !9
  %5808 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5808, ptr %38, align 4, !tbaa !9
  %5809 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %5809, ptr %39, align 4, !tbaa !9
  %5810 = load i32, ptr %39, align 4, !tbaa !9
  %5811 = icmp ne i32 %5810, 0
  br i1 %5811, label %5812, label %5814

5812:                                             ; preds = %5806
  %5813 = load i32, ptr %37, align 4, !tbaa !9
  br label %5816

5814:                                             ; preds = %5806
  %5815 = load i32, ptr %38, align 4, !tbaa !9
  br label %5816

5816:                                             ; preds = %5814, %5812
  %5817 = phi i32 [ %5813, %5812 ], [ %5815, %5814 ]
  store i32 %5817, ptr %37, align 4, !tbaa !9
  %5818 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5818, ptr %7, align 4, !tbaa !9
  br label %5886

5819:                                             ; preds = %5798
  %5820 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %5820, ptr %37, align 4, !tbaa !9
  %5821 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5821, ptr %38, align 4, !tbaa !9
  %5822 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %5822, ptr %39, align 4, !tbaa !9
  %5823 = load i32, ptr %39, align 4, !tbaa !9
  %5824 = icmp ne i32 %5823, 0
  br i1 %5824, label %5825, label %5827

5825:                                             ; preds = %5819
  %5826 = load i32, ptr %37, align 4, !tbaa !9
  br label %5829

5827:                                             ; preds = %5819
  %5828 = load i32, ptr %38, align 4, !tbaa !9
  br label %5829

5829:                                             ; preds = %5827, %5825
  %5830 = phi i32 [ %5826, %5825 ], [ %5828, %5827 ]
  store i32 %5830, ptr %37, align 4, !tbaa !9
  %5831 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %5831, ptr %38, align 4, !tbaa !9
  %5832 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5832, ptr %39, align 4, !tbaa !9
  store i32 -8, ptr %40, align 4, !tbaa !9
  %5833 = load i32, ptr %39, align 4, !tbaa !9
  %5834 = load i32, ptr %40, align 4, !tbaa !9
  %5835 = icmp eq i32 %5833, %5834
  %5836 = zext i1 %5835 to i32
  store i32 %5836, ptr %39, align 4, !tbaa !9
  %5837 = load i32, ptr %39, align 4, !tbaa !9
  %5838 = icmp ne i32 %5837, 0
  br i1 %5838, label %5839, label %5841

5839:                                             ; preds = %5829
  %5840 = load i32, ptr %37, align 4, !tbaa !9
  br label %5843

5841:                                             ; preds = %5829
  %5842 = load i32, ptr %38, align 4, !tbaa !9
  br label %5843

5843:                                             ; preds = %5841, %5839
  %5844 = phi i32 [ %5840, %5839 ], [ %5842, %5841 ]
  store i32 %5844, ptr %37, align 4, !tbaa !9
  %5845 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5845, ptr %15, align 4, !tbaa !9
  %5846 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5846, ptr %37, align 4, !tbaa !9
  %5847 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %5847, ptr %38, align 4, !tbaa !9
  %5848 = load i32, ptr %38, align 4, !tbaa !9
  %5849 = load i32, ptr %37, align 4, !tbaa !9
  %5850 = add i32 %5849, %5848
  store i32 %5850, ptr %37, align 4, !tbaa !9
  %5851 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5851, ptr %7, align 4, !tbaa !9
  %5852 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %5852, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %5853 = load i32, ptr %38, align 4, !tbaa !9
  %5854 = load i32, ptr %37, align 4, !tbaa !9
  %5855 = add i32 %5854, %5853
  store i32 %5855, ptr %37, align 4, !tbaa !9
  %5856 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5856, ptr %16, align 4, !tbaa !9
  %5857 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %5857, ptr %37, align 4, !tbaa !9
  %5858 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %5858, ptr %38, align 4, !tbaa !9
  %5859 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5859, ptr %39, align 4, !tbaa !9
  %5860 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %5860, ptr %40, align 4, !tbaa !9
  %5861 = load i32, ptr %40, align 4, !tbaa !9
  %5862 = load i32, ptr %39, align 4, !tbaa !9
  %5863 = and i32 %5862, %5861
  store i32 %5863, ptr %39, align 4, !tbaa !9
  %5864 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %5864, ptr %9, align 4, !tbaa !9
  store i32 44, ptr %40, align 4, !tbaa !9
  %5865 = load i32, ptr %40, align 4, !tbaa !9
  %5866 = load i32, ptr %39, align 4, !tbaa !9
  %5867 = mul i32 %5866, %5865
  store i32 %5867, ptr %39, align 4, !tbaa !9
  %5868 = load i32, ptr %39, align 4, !tbaa !9
  %5869 = load i32, ptr %38, align 4, !tbaa !9
  %5870 = add i32 %5869, %5868
  store i32 %5870, ptr %38, align 4, !tbaa !9
  %5871 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %5871, ptr %7, align 4, !tbaa !9
  %5872 = load ptr, ptr %4, align 8, !tbaa !5
  %5873 = getelementptr inbounds %struct.w2c_hermes, ptr %5872, i32 0, i32 6
  %5874 = load i32, ptr %38, align 4, !tbaa !9
  %5875 = zext i32 %5874 to i64
  %5876 = call i32 @i32_load(ptr noundef %5873, i64 noundef %5875)
  store i32 %5876, ptr %38, align 4, !tbaa !9
  %5877 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %5877, ptr %10, align 4, !tbaa !9
  %5878 = load i32, ptr %37, align 4, !tbaa !9
  %5879 = load i32, ptr %38, align 4, !tbaa !9
  %5880 = icmp ne i32 %5878, %5879
  %5881 = zext i1 %5880 to i32
  store i32 %5881, ptr %37, align 4, !tbaa !9
  %5882 = load i32, ptr %37, align 4, !tbaa !9
  %5883 = icmp ne i32 %5882, 0
  br i1 %5883, label %5884, label %5885

5884:                                             ; preds = %5843
  br label %5798

5885:                                             ; preds = %5843
  br label %6501

5886:                                             ; preds = %5816, %5748
  %5887 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %5887, ptr %37, align 4, !tbaa !9
  %5888 = load ptr, ptr %4, align 8, !tbaa !5
  %5889 = getelementptr inbounds %struct.w2c_hermes, ptr %5888, i32 0, i32 6
  %5890 = load i32, ptr %37, align 4, !tbaa !9
  %5891 = zext i32 %5890 to i64
  %5892 = add i64 %5891, 16
  %5893 = call i32 @i32_load(ptr noundef %5889, i64 noundef %5892)
  store i32 %5893, ptr %37, align 4, !tbaa !9
  %5894 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5894, ptr %10, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %5895 = load i32, ptr %38, align 4, !tbaa !9
  %5896 = and i32 %5895, 31
  %5897 = load i32, ptr %37, align 4, !tbaa !9
  %5898 = shl i32 %5897, %5896
  store i32 %5898, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %5899 = load i32, ptr %38, align 4, !tbaa !9
  %5900 = load i32, ptr %37, align 4, !tbaa !9
  %5901 = add i32 %5900, %5899
  store i32 %5901, ptr %37, align 4, !tbaa !9
  %5902 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %5902, ptr %38, align 4, !tbaa !9
  store i32 3, ptr %39, align 4, !tbaa !9
  %5903 = load i32, ptr %39, align 4, !tbaa !9
  %5904 = load i32, ptr %38, align 4, !tbaa !9
  %5905 = mul i32 %5904, %5903
  store i32 %5905, ptr %38, align 4, !tbaa !9
  %5906 = load i32, ptr %37, align 4, !tbaa !9
  %5907 = load i32, ptr %38, align 4, !tbaa !9
  %5908 = icmp uge i32 %5906, %5907
  %5909 = zext i1 %5908 to i32
  store i32 %5909, ptr %37, align 4, !tbaa !9
  %5910 = load i32, ptr %37, align 4, !tbaa !9
  %5911 = icmp ne i32 %5910, 0
  br i1 %5911, label %5912, label %5919

5912:                                             ; preds = %5886
  %5913 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %5913, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %5914 = load i32, ptr %38, align 4, !tbaa !9
  %5915 = and i32 %5914, 31
  %5916 = load i32, ptr %37, align 4, !tbaa !9
  %5917 = shl i32 %5916, %5915
  store i32 %5917, ptr %37, align 4, !tbaa !9
  %5918 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5918, ptr %9, align 4, !tbaa !9
  br label %5952

5919:                                             ; preds = %5886
  %5920 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %5920, ptr %37, align 4, !tbaa !9
  %5921 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5921, ptr %9, align 4, !tbaa !9
  %5922 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5922, ptr %38, align 4, !tbaa !9
  store i32 -1, ptr %39, align 4, !tbaa !9
  %5923 = load i32, ptr %39, align 4, !tbaa !9
  %5924 = load i32, ptr %38, align 4, !tbaa !9
  %5925 = xor i32 %5924, %5923
  store i32 %5925, ptr %38, align 4, !tbaa !9
  %5926 = load i32, ptr %38, align 4, !tbaa !9
  %5927 = load i32, ptr %37, align 4, !tbaa !9
  %5928 = add i32 %5927, %5926
  store i32 %5928, ptr %37, align 4, !tbaa !9
  %5929 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %5929, ptr %38, align 4, !tbaa !9
  %5930 = load ptr, ptr %4, align 8, !tbaa !5
  %5931 = getelementptr inbounds %struct.w2c_hermes, ptr %5930, i32 0, i32 6
  %5932 = load i32, ptr %38, align 4, !tbaa !9
  %5933 = zext i32 %5932 to i64
  %5934 = add i64 %5933, 20
  %5935 = call i32 @i32_load(ptr noundef %5931, i64 noundef %5934)
  store i32 %5935, ptr %38, align 4, !tbaa !9
  %5936 = load i32, ptr %38, align 4, !tbaa !9
  %5937 = load i32, ptr %37, align 4, !tbaa !9
  %5938 = sub i32 %5937, %5936
  store i32 %5938, ptr %37, align 4, !tbaa !9
  %5939 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5939, ptr %38, align 4, !tbaa !9
  store i32 3, ptr %39, align 4, !tbaa !9
  %5940 = load i32, ptr %39, align 4, !tbaa !9
  %5941 = and i32 %5940, 31
  %5942 = load i32, ptr %38, align 4, !tbaa !9
  %5943 = lshr i32 %5942, %5941
  store i32 %5943, ptr %38, align 4, !tbaa !9
  %5944 = load i32, ptr %37, align 4, !tbaa !9
  %5945 = load i32, ptr %38, align 4, !tbaa !9
  %5946 = icmp ugt i32 %5944, %5945
  %5947 = zext i1 %5946 to i32
  store i32 %5947, ptr %37, align 4, !tbaa !9
  %5948 = load i32, ptr %37, align 4, !tbaa !9
  %5949 = icmp ne i32 %5948, 0
  br i1 %5949, label %5950, label %5951

5950:                                             ; preds = %5919
  br label %6389

5951:                                             ; preds = %5919
  br label %5952

5952:                                             ; preds = %5951, %5912
  %5953 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %5953, ptr %37, align 4, !tbaa !9
  store i32 64, ptr %38, align 4, !tbaa !9
  %5954 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5954, ptr %39, align 4, !tbaa !9
  store i32 1, ptr %40, align 4, !tbaa !9
  %5955 = load i32, ptr %40, align 4, !tbaa !9
  %5956 = load i32, ptr %39, align 4, !tbaa !9
  %5957 = sub i32 %5956, %5955
  store i32 %5957, ptr %39, align 4, !tbaa !9
  %5958 = load i32, ptr %39, align 4, !tbaa !9
  %5959 = zext i32 %5958 to i64
  store i64 %5959, ptr %45, align 8, !tbaa !11
  %5960 = load i64, ptr %45, align 8, !tbaa !11
  store i64 %5960, ptr %36, align 8, !tbaa !11
  store i64 1, ptr %46, align 8, !tbaa !11
  %5961 = load i64, ptr %46, align 8, !tbaa !11
  %5962 = and i64 %5961, 63
  %5963 = load i64, ptr %45, align 8, !tbaa !11
  %5964 = lshr i64 %5963, %5962
  store i64 %5964, ptr %45, align 8, !tbaa !11
  %5965 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %5965, ptr %46, align 8, !tbaa !11
  %5966 = load i64, ptr %46, align 8, !tbaa !11
  %5967 = load i64, ptr %45, align 8, !tbaa !11
  %5968 = or i64 %5967, %5966
  store i64 %5968, ptr %45, align 8, !tbaa !11
  %5969 = load i64, ptr %45, align 8, !tbaa !11
  store i64 %5969, ptr %36, align 8, !tbaa !11
  store i64 2, ptr %46, align 8, !tbaa !11
  %5970 = load i64, ptr %46, align 8, !tbaa !11
  %5971 = and i64 %5970, 63
  %5972 = load i64, ptr %45, align 8, !tbaa !11
  %5973 = lshr i64 %5972, %5971
  store i64 %5973, ptr %45, align 8, !tbaa !11
  %5974 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %5974, ptr %46, align 8, !tbaa !11
  %5975 = load i64, ptr %46, align 8, !tbaa !11
  %5976 = load i64, ptr %45, align 8, !tbaa !11
  %5977 = or i64 %5976, %5975
  store i64 %5977, ptr %45, align 8, !tbaa !11
  %5978 = load i64, ptr %45, align 8, !tbaa !11
  store i64 %5978, ptr %36, align 8, !tbaa !11
  store i64 4, ptr %46, align 8, !tbaa !11
  %5979 = load i64, ptr %46, align 8, !tbaa !11
  %5980 = and i64 %5979, 63
  %5981 = load i64, ptr %45, align 8, !tbaa !11
  %5982 = lshr i64 %5981, %5980
  store i64 %5982, ptr %45, align 8, !tbaa !11
  %5983 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %5983, ptr %46, align 8, !tbaa !11
  %5984 = load i64, ptr %46, align 8, !tbaa !11
  %5985 = load i64, ptr %45, align 8, !tbaa !11
  %5986 = or i64 %5985, %5984
  store i64 %5986, ptr %45, align 8, !tbaa !11
  %5987 = load i64, ptr %45, align 8, !tbaa !11
  store i64 %5987, ptr %36, align 8, !tbaa !11
  store i64 8, ptr %46, align 8, !tbaa !11
  %5988 = load i64, ptr %46, align 8, !tbaa !11
  %5989 = and i64 %5988, 63
  %5990 = load i64, ptr %45, align 8, !tbaa !11
  %5991 = lshr i64 %5990, %5989
  store i64 %5991, ptr %45, align 8, !tbaa !11
  %5992 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %5992, ptr %46, align 8, !tbaa !11
  %5993 = load i64, ptr %46, align 8, !tbaa !11
  %5994 = load i64, ptr %45, align 8, !tbaa !11
  %5995 = or i64 %5994, %5993
  store i64 %5995, ptr %45, align 8, !tbaa !11
  %5996 = load i64, ptr %45, align 8, !tbaa !11
  store i64 %5996, ptr %36, align 8, !tbaa !11
  store i64 16, ptr %46, align 8, !tbaa !11
  %5997 = load i64, ptr %46, align 8, !tbaa !11
  %5998 = and i64 %5997, 63
  %5999 = load i64, ptr %45, align 8, !tbaa !11
  %6000 = lshr i64 %5999, %5998
  store i64 %6000, ptr %45, align 8, !tbaa !11
  %6001 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %6001, ptr %46, align 8, !tbaa !11
  %6002 = load i64, ptr %46, align 8, !tbaa !11
  %6003 = load i64, ptr %45, align 8, !tbaa !11
  %6004 = or i64 %6003, %6002
  store i64 %6004, ptr %45, align 8, !tbaa !11
  %6005 = load i64, ptr %45, align 8, !tbaa !11
  %6006 = trunc i64 %6005 to i32
  store i32 %6006, ptr %39, align 4, !tbaa !9
  store i32 1, ptr %40, align 4, !tbaa !9
  %6007 = load i32, ptr %40, align 4, !tbaa !9
  %6008 = load i32, ptr %39, align 4, !tbaa !9
  %6009 = add i32 %6008, %6007
  store i32 %6009, ptr %39, align 4, !tbaa !9
  %6010 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %6010, ptr %7, align 4, !tbaa !9
  %6011 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6011, ptr %40, align 4, !tbaa !9
  store i32 64, ptr %41, align 4, !tbaa !9
  %6012 = load i32, ptr %40, align 4, !tbaa !9
  %6013 = load i32, ptr %41, align 4, !tbaa !9
  %6014 = icmp ule i32 %6012, %6013
  %6015 = zext i1 %6014 to i32
  store i32 %6015, ptr %40, align 4, !tbaa !9
  %6016 = load i32, ptr %40, align 4, !tbaa !9
  %6017 = icmp ne i32 %6016, 0
  br i1 %6017, label %6018, label %6020

6018:                                             ; preds = %5952
  %6019 = load i32, ptr %38, align 4, !tbaa !9
  br label %6022

6020:                                             ; preds = %5952
  %6021 = load i32, ptr %39, align 4, !tbaa !9
  br label %6022

6022:                                             ; preds = %6020, %6018
  %6023 = phi i32 [ %6019, %6018 ], [ %6021, %6020 ]
  store i32 %6023, ptr %38, align 4, !tbaa !9
  %6024 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %6024, ptr %7, align 4, !tbaa !9
  %6025 = load ptr, ptr %4, align 8, !tbaa !5
  %6026 = getelementptr inbounds %struct.w2c_hermes, ptr %6025, i32 0, i32 6
  %6027 = load i32, ptr %37, align 4, !tbaa !9
  %6028 = zext i32 %6027 to i64
  %6029 = add i64 %6028, 24
  %6030 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6026, i64 noundef %6029, i32 noundef %6030)
  %6031 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %6031, ptr %37, align 4, !tbaa !9
  %6032 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6032, ptr %38, align 4, !tbaa !9
  store i32 44, ptr %39, align 4, !tbaa !9
  %6033 = load i32, ptr %39, align 4, !tbaa !9
  %6034 = load i32, ptr %38, align 4, !tbaa !9
  %6035 = mul i32 %6034, %6033
  store i32 %6035, ptr %38, align 4, !tbaa !9
  %6036 = load ptr, ptr %4, align 8, !tbaa !5
  %6037 = load i32, ptr %38, align 4, !tbaa !9
  %6038 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %6036, i32 noundef %6037)
  store i32 %6038, ptr %38, align 4, !tbaa !9
  %6039 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %6039, ptr %10, align 4, !tbaa !9
  %6040 = load ptr, ptr %4, align 8, !tbaa !5
  %6041 = getelementptr inbounds %struct.w2c_hermes, ptr %6040, i32 0, i32 6
  %6042 = load i32, ptr %37, align 4, !tbaa !9
  %6043 = zext i32 %6042 to i64
  %6044 = add i64 %6043, 12
  %6045 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6041, i64 noundef %6044, i32 noundef %6045)
  %6046 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %6046, ptr %37, align 4, !tbaa !9
  %6047 = load i32, ptr %37, align 4, !tbaa !9
  %6048 = icmp ne i32 %6047, 0
  %6049 = xor i1 %6048, true
  %6050 = zext i1 %6049 to i32
  store i32 %6050, ptr %37, align 4, !tbaa !9
  %6051 = load i32, ptr %37, align 4, !tbaa !9
  %6052 = icmp ne i32 %6051, 0
  br i1 %6052, label %6053, label %6218

6053:                                             ; preds = %6022
  %6054 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %6054, ptr %37, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %6055 = load ptr, ptr %4, align 8, !tbaa !5
  %6056 = getelementptr inbounds %struct.w2c_hermes, ptr %6055, i32 0, i32 6
  %6057 = load i32, ptr %37, align 4, !tbaa !9
  %6058 = zext i32 %6057 to i64
  %6059 = add i64 %6058, 16
  %6060 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %6056, i64 noundef %6059, i64 noundef %6060)
  store i32 0, ptr %37, align 4, !tbaa !9
  %6061 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6061, ptr %12, align 4, !tbaa !9
  %6062 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6062, ptr %37, align 4, !tbaa !9
  %6063 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6063, ptr %7, align 4, !tbaa !9
  %6064 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %6064, ptr %37, align 4, !tbaa !9
  %6065 = load ptr, ptr %4, align 8, !tbaa !5
  %6066 = getelementptr inbounds %struct.w2c_hermes, ptr %6065, i32 0, i32 6
  %6067 = load i32, ptr %37, align 4, !tbaa !9
  %6068 = zext i32 %6067 to i64
  %6069 = add i64 %6068, 24
  %6070 = call i32 @i32_load(ptr noundef %6066, i64 noundef %6069)
  store i32 %6070, ptr %37, align 4, !tbaa !9
  %6071 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6071, ptr %9, align 4, !tbaa !9
  store i32 44, ptr %38, align 4, !tbaa !9
  %6072 = load i32, ptr %38, align 4, !tbaa !9
  %6073 = load i32, ptr %37, align 4, !tbaa !9
  %6074 = mul i32 %6073, %6072
  store i32 %6074, ptr %37, align 4, !tbaa !9
  %6075 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6075, ptr %15, align 4, !tbaa !9
  store i32 44, ptr %38, align 4, !tbaa !9
  %6076 = load i32, ptr %38, align 4, !tbaa !9
  %6077 = load i32, ptr %37, align 4, !tbaa !9
  %6078 = sub i32 %6077, %6076
  store i32 %6078, ptr %37, align 4, !tbaa !9
  %6079 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6079, ptr %16, align 4, !tbaa !9
  store i32 44, ptr %38, align 4, !tbaa !9
  %6080 = load i32, ptr %38, align 4, !tbaa !9
  %6081 = icmp eq i32 %6080, 0
  %6082 = xor i1 %6081, true
  %6083 = xor i1 %6082, true
  %6084 = zext i1 %6083 to i32
  %6085 = sext i32 %6084 to i64
  %6086 = call i64 @llvm.expect.i64(i64 %6085, i64 0)
  %6087 = icmp ne i64 %6086, 0
  br i1 %6087, label %6088, label %6090

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

6089:                                             ; No predecessors!
  br label %6094

6090:                                             ; preds = %6053
  %6091 = load i32, ptr %37, align 4, !tbaa !9
  %6092 = load i32, ptr %38, align 4, !tbaa !9
  %6093 = udiv i32 %6091, %6092
  br label %6094

6094:                                             ; preds = %6090, %6089
  %6095 = phi i32 [ 0, %6089 ], [ %6093, %6090 ]
  store i32 %6095, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %6096 = load i32, ptr %38, align 4, !tbaa !9
  %6097 = load i32, ptr %37, align 4, !tbaa !9
  %6098 = add i32 %6097, %6096
  store i32 %6098, ptr %37, align 4, !tbaa !9
  store i32 7, ptr %38, align 4, !tbaa !9
  %6099 = load i32, ptr %38, align 4, !tbaa !9
  %6100 = load i32, ptr %37, align 4, !tbaa !9
  %6101 = and i32 %6100, %6099
  store i32 %6101, ptr %37, align 4, !tbaa !9
  %6102 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6102, ptr %19, align 4, !tbaa !9
  %6103 = load i32, ptr %37, align 4, !tbaa !9
  %6104 = icmp ne i32 %6103, 0
  br i1 %6104, label %6105, label %6132

6105:                                             ; preds = %6094
  br label %6106

6106:                                             ; preds = %6130, %6105
  %6107 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6107, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %6108 = load ptr, ptr %4, align 8, !tbaa !5
  %6109 = getelementptr inbounds %struct.w2c_hermes, ptr %6108, i32 0, i32 6
  %6110 = load i32, ptr %37, align 4, !tbaa !9
  %6111 = zext i32 %6110 to i64
  %6112 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6109, i64 noundef %6111, i32 noundef %6112)
  %6113 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6113, ptr %37, align 4, !tbaa !9
  store i32 44, ptr %38, align 4, !tbaa !9
  %6114 = load i32, ptr %38, align 4, !tbaa !9
  %6115 = load i32, ptr %37, align 4, !tbaa !9
  %6116 = add i32 %6115, %6114
  store i32 %6116, ptr %37, align 4, !tbaa !9
  %6117 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6117, ptr %7, align 4, !tbaa !9
  %6118 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %6118, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %6119 = load i32, ptr %38, align 4, !tbaa !9
  %6120 = load i32, ptr %37, align 4, !tbaa !9
  %6121 = add i32 %6120, %6119
  store i32 %6121, ptr %37, align 4, !tbaa !9
  %6122 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6122, ptr %12, align 4, !tbaa !9
  %6123 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %6123, ptr %38, align 4, !tbaa !9
  %6124 = load i32, ptr %37, align 4, !tbaa !9
  %6125 = load i32, ptr %38, align 4, !tbaa !9
  %6126 = icmp ne i32 %6124, %6125
  %6127 = zext i1 %6126 to i32
  store i32 %6127, ptr %37, align 4, !tbaa !9
  %6128 = load i32, ptr %37, align 4, !tbaa !9
  %6129 = icmp ne i32 %6128, 0
  br i1 %6129, label %6130, label %6131

6130:                                             ; preds = %6106
  br label %6106

6131:                                             ; preds = %6106
  br label %6132

6132:                                             ; preds = %6131, %6094
  %6133 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %6133, ptr %37, align 4, !tbaa !9
  store i32 308, ptr %38, align 4, !tbaa !9
  %6134 = load i32, ptr %37, align 4, !tbaa !9
  %6135 = load i32, ptr %38, align 4, !tbaa !9
  %6136 = icmp ult i32 %6134, %6135
  %6137 = zext i1 %6136 to i32
  store i32 %6137, ptr %37, align 4, !tbaa !9
  %6138 = load i32, ptr %37, align 4, !tbaa !9
  %6139 = icmp ne i32 %6138, 0
  br i1 %6139, label %6140, label %6141

6140:                                             ; preds = %6132
  br label %6252

6141:                                             ; preds = %6132
  %6142 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6142, ptr %37, align 4, !tbaa !9
  %6143 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6143, ptr %38, align 4, !tbaa !9
  %6144 = load i32, ptr %38, align 4, !tbaa !9
  %6145 = load i32, ptr %37, align 4, !tbaa !9
  %6146 = add i32 %6145, %6144
  store i32 %6146, ptr %37, align 4, !tbaa !9
  %6147 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6147, ptr %12, align 4, !tbaa !9
  br label %6148

6148:                                             ; preds = %6216, %6141
  %6149 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6149, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %6150 = load ptr, ptr %4, align 8, !tbaa !5
  %6151 = getelementptr inbounds %struct.w2c_hermes, ptr %6150, i32 0, i32 6
  %6152 = load i32, ptr %37, align 4, !tbaa !9
  %6153 = zext i32 %6152 to i64
  %6154 = add i64 %6153, 308
  %6155 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6151, i64 noundef %6154, i32 noundef %6155)
  %6156 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6156, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %6157 = load ptr, ptr %4, align 8, !tbaa !5
  %6158 = getelementptr inbounds %struct.w2c_hermes, ptr %6157, i32 0, i32 6
  %6159 = load i32, ptr %37, align 4, !tbaa !9
  %6160 = zext i32 %6159 to i64
  %6161 = add i64 %6160, 264
  %6162 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6158, i64 noundef %6161, i32 noundef %6162)
  %6163 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6163, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %6164 = load ptr, ptr %4, align 8, !tbaa !5
  %6165 = getelementptr inbounds %struct.w2c_hermes, ptr %6164, i32 0, i32 6
  %6166 = load i32, ptr %37, align 4, !tbaa !9
  %6167 = zext i32 %6166 to i64
  %6168 = add i64 %6167, 220
  %6169 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6165, i64 noundef %6168, i32 noundef %6169)
  %6170 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6170, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %6171 = load ptr, ptr %4, align 8, !tbaa !5
  %6172 = getelementptr inbounds %struct.w2c_hermes, ptr %6171, i32 0, i32 6
  %6173 = load i32, ptr %37, align 4, !tbaa !9
  %6174 = zext i32 %6173 to i64
  %6175 = add i64 %6174, 176
  %6176 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6172, i64 noundef %6175, i32 noundef %6176)
  %6177 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6177, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %6178 = load ptr, ptr %4, align 8, !tbaa !5
  %6179 = getelementptr inbounds %struct.w2c_hermes, ptr %6178, i32 0, i32 6
  %6180 = load i32, ptr %37, align 4, !tbaa !9
  %6181 = zext i32 %6180 to i64
  %6182 = add i64 %6181, 132
  %6183 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6179, i64 noundef %6182, i32 noundef %6183)
  %6184 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6184, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %6185 = load ptr, ptr %4, align 8, !tbaa !5
  %6186 = getelementptr inbounds %struct.w2c_hermes, ptr %6185, i32 0, i32 6
  %6187 = load i32, ptr %37, align 4, !tbaa !9
  %6188 = zext i32 %6187 to i64
  %6189 = add i64 %6188, 88
  %6190 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6186, i64 noundef %6189, i32 noundef %6190)
  %6191 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6191, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %6192 = load ptr, ptr %4, align 8, !tbaa !5
  %6193 = getelementptr inbounds %struct.w2c_hermes, ptr %6192, i32 0, i32 6
  %6194 = load i32, ptr %37, align 4, !tbaa !9
  %6195 = zext i32 %6194 to i64
  %6196 = add i64 %6195, 44
  %6197 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6193, i64 noundef %6196, i32 noundef %6197)
  %6198 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6198, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %6199 = load ptr, ptr %4, align 8, !tbaa !5
  %6200 = getelementptr inbounds %struct.w2c_hermes, ptr %6199, i32 0, i32 6
  %6201 = load i32, ptr %37, align 4, !tbaa !9
  %6202 = zext i32 %6201 to i64
  %6203 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6200, i64 noundef %6202, i32 noundef %6203)
  %6204 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6204, ptr %37, align 4, !tbaa !9
  store i32 352, ptr %38, align 4, !tbaa !9
  %6205 = load i32, ptr %38, align 4, !tbaa !9
  %6206 = load i32, ptr %37, align 4, !tbaa !9
  %6207 = add i32 %6206, %6205
  store i32 %6207, ptr %37, align 4, !tbaa !9
  %6208 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6208, ptr %7, align 4, !tbaa !9
  %6209 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %6209, ptr %38, align 4, !tbaa !9
  %6210 = load i32, ptr %37, align 4, !tbaa !9
  %6211 = load i32, ptr %38, align 4, !tbaa !9
  %6212 = icmp ne i32 %6210, %6211
  %6213 = zext i1 %6212 to i32
  store i32 %6213, ptr %37, align 4, !tbaa !9
  %6214 = load i32, ptr %37, align 4, !tbaa !9
  %6215 = icmp ne i32 %6214, 0
  br i1 %6215, label %6216, label %6217

6216:                                             ; preds = %6148
  br label %6148

6217:                                             ; preds = %6148
  br label %6252

6218:                                             ; preds = %6022
  %6219 = load i32, ptr %30, align 4, !tbaa !9
  store i32 %6219, ptr %37, align 4, !tbaa !9
  %6220 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %6220, ptr %38, align 4, !tbaa !9
  %6221 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %6221, ptr %39, align 4, !tbaa !9
  %6222 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %6222, ptr %40, align 4, !tbaa !9
  store i32 44, ptr %41, align 4, !tbaa !9
  %6223 = load i32, ptr %41, align 4, !tbaa !9
  %6224 = load i32, ptr %40, align 4, !tbaa !9
  %6225 = mul i32 %6224, %6223
  store i32 %6225, ptr %40, align 4, !tbaa !9
  %6226 = load i32, ptr %40, align 4, !tbaa !9
  %6227 = load i32, ptr %39, align 4, !tbaa !9
  %6228 = add i32 %6227, %6226
  store i32 %6228, ptr %39, align 4, !tbaa !9
  %6229 = load ptr, ptr %4, align 8, !tbaa !5
  %6230 = load i32, ptr %37, align 4, !tbaa !9
  %6231 = load i32, ptr %38, align 4, !tbaa !9
  %6232 = load i32, ptr %39, align 4, !tbaa !9
  call void @w2c_hermes_llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x3A0x3AmoveFromOldBuckets0x28llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x29(ptr noundef %6229, i32 noundef %6230, i32 noundef %6231, i32 noundef %6232)
  %6233 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %6233, ptr %37, align 4, !tbaa !9
  %6234 = load ptr, ptr %4, align 8, !tbaa !5
  %6235 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %6234, i32 noundef %6235)
  %6236 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %6236, ptr %37, align 4, !tbaa !9
  %6237 = load ptr, ptr %4, align 8, !tbaa !5
  %6238 = getelementptr inbounds %struct.w2c_hermes, ptr %6237, i32 0, i32 6
  %6239 = load i32, ptr %37, align 4, !tbaa !9
  %6240 = zext i32 %6239 to i64
  %6241 = add i64 %6240, 12
  %6242 = call i32 @i32_load(ptr noundef %6238, i64 noundef %6241)
  store i32 %6242, ptr %37, align 4, !tbaa !9
  %6243 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6243, ptr %10, align 4, !tbaa !9
  %6244 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %6244, ptr %37, align 4, !tbaa !9
  %6245 = load ptr, ptr %4, align 8, !tbaa !5
  %6246 = getelementptr inbounds %struct.w2c_hermes, ptr %6245, i32 0, i32 6
  %6247 = load i32, ptr %37, align 4, !tbaa !9
  %6248 = zext i32 %6247 to i64
  %6249 = add i64 %6248, 24
  %6250 = call i32 @i32_load(ptr noundef %6246, i64 noundef %6249)
  store i32 %6250, ptr %37, align 4, !tbaa !9
  %6251 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6251, ptr %9, align 4, !tbaa !9
  br label %6252

6252:                                             ; preds = %6218, %6217, %6140
  %6253 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6253, ptr %37, align 4, !tbaa !9
  %6254 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %6254, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %6255 = load i32, ptr %39, align 4, !tbaa !9
  %6256 = load i32, ptr %38, align 4, !tbaa !9
  %6257 = sub i32 %6256, %6255
  store i32 %6257, ptr %38, align 4, !tbaa !9
  %6258 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %6258, ptr %19, align 4, !tbaa !9
  %6259 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %6259, ptr %39, align 4, !tbaa !9
  store i32 4, ptr %40, align 4, !tbaa !9
  %6260 = load i32, ptr %40, align 4, !tbaa !9
  %6261 = and i32 %6260, 31
  %6262 = load i32, ptr %39, align 4, !tbaa !9
  %6263 = lshr i32 %6262, %6261
  store i32 %6263, ptr %39, align 4, !tbaa !9
  %6264 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %6264, ptr %40, align 4, !tbaa !9
  store i32 9, ptr %41, align 4, !tbaa !9
  %6265 = load i32, ptr %41, align 4, !tbaa !9
  %6266 = and i32 %6265, 31
  %6267 = load i32, ptr %40, align 4, !tbaa !9
  %6268 = lshr i32 %6267, %6266
  store i32 %6268, ptr %40, align 4, !tbaa !9
  %6269 = load i32, ptr %40, align 4, !tbaa !9
  %6270 = load i32, ptr %39, align 4, !tbaa !9
  %6271 = xor i32 %6270, %6269
  store i32 %6271, ptr %39, align 4, !tbaa !9
  %6272 = load i32, ptr %39, align 4, !tbaa !9
  %6273 = load i32, ptr %38, align 4, !tbaa !9
  %6274 = and i32 %6273, %6272
  store i32 %6274, ptr %38, align 4, !tbaa !9
  %6275 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %6275, ptr %16, align 4, !tbaa !9
  store i32 44, ptr %39, align 4, !tbaa !9
  %6276 = load i32, ptr %39, align 4, !tbaa !9
  %6277 = load i32, ptr %38, align 4, !tbaa !9
  %6278 = mul i32 %6277, %6276
  store i32 %6278, ptr %38, align 4, !tbaa !9
  %6279 = load i32, ptr %38, align 4, !tbaa !9
  %6280 = load i32, ptr %37, align 4, !tbaa !9
  %6281 = add i32 %6280, %6279
  store i32 %6281, ptr %37, align 4, !tbaa !9
  %6282 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6282, ptr %7, align 4, !tbaa !9
  %6283 = load ptr, ptr %4, align 8, !tbaa !5
  %6284 = getelementptr inbounds %struct.w2c_hermes, ptr %6283, i32 0, i32 6
  %6285 = load i32, ptr %37, align 4, !tbaa !9
  %6286 = zext i32 %6285 to i64
  %6287 = call i32 @i32_load(ptr noundef %6284, i64 noundef %6286)
  store i32 %6287, ptr %37, align 4, !tbaa !9
  %6288 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6288, ptr %12, align 4, !tbaa !9
  %6289 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %6289, ptr %38, align 4, !tbaa !9
  %6290 = load i32, ptr %37, align 4, !tbaa !9
  %6291 = load i32, ptr %38, align 4, !tbaa !9
  %6292 = icmp ne i32 %6290, %6291
  %6293 = zext i1 %6292 to i32
  store i32 %6293, ptr %37, align 4, !tbaa !9
  %6294 = load i32, ptr %37, align 4, !tbaa !9
  %6295 = icmp ne i32 %6294, 0
  br i1 %6295, label %6296, label %6387

6296:                                             ; preds = %6252
  store i32 0, ptr %37, align 4, !tbaa !9
  %6297 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6297, ptr %9, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %6298 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6298, ptr %15, align 4, !tbaa !9
  br label %6299

6299:                                             ; preds = %6385, %6296
  %6300 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %6300, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %6301 = load i32, ptr %37, align 4, !tbaa !9
  %6302 = load i32, ptr %38, align 4, !tbaa !9
  %6303 = icmp eq i32 %6301, %6302
  %6304 = zext i1 %6303 to i32
  store i32 %6304, ptr %37, align 4, !tbaa !9
  %6305 = load i32, ptr %37, align 4, !tbaa !9
  %6306 = icmp ne i32 %6305, 0
  br i1 %6306, label %6307, label %6320

6307:                                             ; preds = %6299
  %6308 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %6308, ptr %37, align 4, !tbaa !9
  %6309 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6309, ptr %38, align 4, !tbaa !9
  %6310 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %6310, ptr %39, align 4, !tbaa !9
  %6311 = load i32, ptr %39, align 4, !tbaa !9
  %6312 = icmp ne i32 %6311, 0
  br i1 %6312, label %6313, label %6315

6313:                                             ; preds = %6307
  %6314 = load i32, ptr %37, align 4, !tbaa !9
  br label %6317

6315:                                             ; preds = %6307
  %6316 = load i32, ptr %38, align 4, !tbaa !9
  br label %6317

6317:                                             ; preds = %6315, %6313
  %6318 = phi i32 [ %6314, %6313 ], [ %6316, %6315 ]
  store i32 %6318, ptr %37, align 4, !tbaa !9
  %6319 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6319, ptr %7, align 4, !tbaa !9
  br label %6389

6320:                                             ; preds = %6299
  %6321 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %6321, ptr %37, align 4, !tbaa !9
  %6322 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6322, ptr %38, align 4, !tbaa !9
  %6323 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %6323, ptr %39, align 4, !tbaa !9
  %6324 = load i32, ptr %39, align 4, !tbaa !9
  %6325 = icmp ne i32 %6324, 0
  br i1 %6325, label %6326, label %6328

6326:                                             ; preds = %6320
  %6327 = load i32, ptr %37, align 4, !tbaa !9
  br label %6330

6328:                                             ; preds = %6320
  %6329 = load i32, ptr %38, align 4, !tbaa !9
  br label %6330

6330:                                             ; preds = %6328, %6326
  %6331 = phi i32 [ %6327, %6326 ], [ %6329, %6328 ]
  store i32 %6331, ptr %37, align 4, !tbaa !9
  %6332 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %6332, ptr %38, align 4, !tbaa !9
  %6333 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %6333, ptr %39, align 4, !tbaa !9
  store i32 -8, ptr %40, align 4, !tbaa !9
  %6334 = load i32, ptr %39, align 4, !tbaa !9
  %6335 = load i32, ptr %40, align 4, !tbaa !9
  %6336 = icmp eq i32 %6334, %6335
  %6337 = zext i1 %6336 to i32
  store i32 %6337, ptr %39, align 4, !tbaa !9
  %6338 = load i32, ptr %39, align 4, !tbaa !9
  %6339 = icmp ne i32 %6338, 0
  br i1 %6339, label %6340, label %6342

6340:                                             ; preds = %6330
  %6341 = load i32, ptr %37, align 4, !tbaa !9
  br label %6344

6342:                                             ; preds = %6330
  %6343 = load i32, ptr %38, align 4, !tbaa !9
  br label %6344

6344:                                             ; preds = %6342, %6340
  %6345 = phi i32 [ %6341, %6340 ], [ %6343, %6342 ]
  store i32 %6345, ptr %37, align 4, !tbaa !9
  %6346 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6346, ptr %9, align 4, !tbaa !9
  %6347 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6347, ptr %37, align 4, !tbaa !9
  %6348 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %6348, ptr %38, align 4, !tbaa !9
  %6349 = load i32, ptr %38, align 4, !tbaa !9
  %6350 = load i32, ptr %37, align 4, !tbaa !9
  %6351 = add i32 %6350, %6349
  store i32 %6351, ptr %37, align 4, !tbaa !9
  %6352 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6352, ptr %7, align 4, !tbaa !9
  %6353 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6353, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %6354 = load i32, ptr %38, align 4, !tbaa !9
  %6355 = load i32, ptr %37, align 4, !tbaa !9
  %6356 = add i32 %6355, %6354
  store i32 %6356, ptr %37, align 4, !tbaa !9
  %6357 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6357, ptr %15, align 4, !tbaa !9
  %6358 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %6358, ptr %37, align 4, !tbaa !9
  %6359 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6359, ptr %38, align 4, !tbaa !9
  %6360 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6360, ptr %39, align 4, !tbaa !9
  %6361 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %6361, ptr %40, align 4, !tbaa !9
  %6362 = load i32, ptr %40, align 4, !tbaa !9
  %6363 = load i32, ptr %39, align 4, !tbaa !9
  %6364 = and i32 %6363, %6362
  store i32 %6364, ptr %39, align 4, !tbaa !9
  %6365 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %6365, ptr %16, align 4, !tbaa !9
  store i32 44, ptr %40, align 4, !tbaa !9
  %6366 = load i32, ptr %40, align 4, !tbaa !9
  %6367 = load i32, ptr %39, align 4, !tbaa !9
  %6368 = mul i32 %6367, %6366
  store i32 %6368, ptr %39, align 4, !tbaa !9
  %6369 = load i32, ptr %39, align 4, !tbaa !9
  %6370 = load i32, ptr %38, align 4, !tbaa !9
  %6371 = add i32 %6370, %6369
  store i32 %6371, ptr %38, align 4, !tbaa !9
  %6372 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %6372, ptr %7, align 4, !tbaa !9
  %6373 = load ptr, ptr %4, align 8, !tbaa !5
  %6374 = getelementptr inbounds %struct.w2c_hermes, ptr %6373, i32 0, i32 6
  %6375 = load i32, ptr %38, align 4, !tbaa !9
  %6376 = zext i32 %6375 to i64
  %6377 = call i32 @i32_load(ptr noundef %6374, i64 noundef %6376)
  store i32 %6377, ptr %38, align 4, !tbaa !9
  %6378 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %6378, ptr %12, align 4, !tbaa !9
  %6379 = load i32, ptr %37, align 4, !tbaa !9
  %6380 = load i32, ptr %38, align 4, !tbaa !9
  %6381 = icmp ne i32 %6379, %6380
  %6382 = zext i1 %6381 to i32
  store i32 %6382, ptr %37, align 4, !tbaa !9
  %6383 = load i32, ptr %37, align 4, !tbaa !9
  %6384 = icmp ne i32 %6383, 0
  br i1 %6384, label %6385, label %6386

6385:                                             ; preds = %6344
  br label %6299

6386:                                             ; preds = %6344
  br label %6387

6387:                                             ; preds = %6386, %6252
  %6388 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %6388, ptr %37, align 4, !tbaa !9
  br label %6396

6389:                                             ; preds = %6317, %5950
  %6390 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6390, ptr %37, align 4, !tbaa !9
  %6391 = load ptr, ptr %4, align 8, !tbaa !5
  %6392 = getelementptr inbounds %struct.w2c_hermes, ptr %6391, i32 0, i32 6
  %6393 = load i32, ptr %37, align 4, !tbaa !9
  %6394 = zext i32 %6393 to i64
  %6395 = call i32 @i32_load(ptr noundef %6392, i64 noundef %6394)
  store i32 %6395, ptr %37, align 4, !tbaa !9
  br label %6396

6396:                                             ; preds = %6389, %6387
  %6397 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6397, ptr %10, align 4, !tbaa !9
  %6398 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %6398, ptr %37, align 4, !tbaa !9
  %6399 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %6399, ptr %38, align 4, !tbaa !9
  %6400 = load ptr, ptr %4, align 8, !tbaa !5
  %6401 = getelementptr inbounds %struct.w2c_hermes, ptr %6400, i32 0, i32 6
  %6402 = load i32, ptr %38, align 4, !tbaa !9
  %6403 = zext i32 %6402 to i64
  %6404 = add i64 %6403, 16
  %6405 = call i32 @i32_load(ptr noundef %6401, i64 noundef %6404)
  store i32 %6405, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %6406 = load i32, ptr %39, align 4, !tbaa !9
  %6407 = load i32, ptr %38, align 4, !tbaa !9
  %6408 = add i32 %6407, %6406
  store i32 %6408, ptr %38, align 4, !tbaa !9
  %6409 = load ptr, ptr %4, align 8, !tbaa !5
  %6410 = getelementptr inbounds %struct.w2c_hermes, ptr %6409, i32 0, i32 6
  %6411 = load i32, ptr %37, align 4, !tbaa !9
  %6412 = zext i32 %6411 to i64
  %6413 = add i64 %6412, 16
  %6414 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6410, i64 noundef %6413, i32 noundef %6414)
  %6415 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6415, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %6416 = load i32, ptr %37, align 4, !tbaa !9
  %6417 = load i32, ptr %38, align 4, !tbaa !9
  %6418 = icmp ne i32 %6416, %6417
  %6419 = zext i1 %6418 to i32
  store i32 %6419, ptr %37, align 4, !tbaa !9
  %6420 = load i32, ptr %37, align 4, !tbaa !9
  %6421 = icmp ne i32 %6420, 0
  br i1 %6421, label %6422, label %6440

6422:                                             ; preds = %6396
  %6423 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %6423, ptr %37, align 4, !tbaa !9
  %6424 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %6424, ptr %38, align 4, !tbaa !9
  %6425 = load ptr, ptr %4, align 8, !tbaa !5
  %6426 = getelementptr inbounds %struct.w2c_hermes, ptr %6425, i32 0, i32 6
  %6427 = load i32, ptr %38, align 4, !tbaa !9
  %6428 = zext i32 %6427 to i64
  %6429 = add i64 %6428, 20
  %6430 = call i32 @i32_load(ptr noundef %6426, i64 noundef %6429)
  store i32 %6430, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %6431 = load i32, ptr %39, align 4, !tbaa !9
  %6432 = load i32, ptr %38, align 4, !tbaa !9
  %6433 = sub i32 %6432, %6431
  store i32 %6433, ptr %38, align 4, !tbaa !9
  %6434 = load ptr, ptr %4, align 8, !tbaa !5
  %6435 = getelementptr inbounds %struct.w2c_hermes, ptr %6434, i32 0, i32 6
  %6436 = load i32, ptr %37, align 4, !tbaa !9
  %6437 = zext i32 %6436 to i64
  %6438 = add i64 %6437, 20
  %6439 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6435, i64 noundef %6438, i32 noundef %6439)
  br label %6440

6440:                                             ; preds = %6422, %6396
  %6441 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6441, ptr %37, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %6442 = load ptr, ptr %4, align 8, !tbaa !5
  %6443 = getelementptr inbounds %struct.w2c_hermes, ptr %6442, i32 0, i32 6
  %6444 = load i32, ptr %37, align 4, !tbaa !9
  %6445 = zext i32 %6444 to i64
  %6446 = add i64 %6445, 28
  %6447 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %6443, i64 noundef %6446, i64 noundef %6447)
  %6448 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6448, ptr %37, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %6449 = load ptr, ptr %4, align 8, !tbaa !5
  %6450 = getelementptr inbounds %struct.w2c_hermes, ptr %6449, i32 0, i32 6
  %6451 = load i32, ptr %37, align 4, !tbaa !9
  %6452 = zext i32 %6451 to i64
  %6453 = add i64 %6452, 20
  %6454 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %6450, i64 noundef %6453, i64 noundef %6454)
  %6455 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6455, ptr %37, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %6456 = load ptr, ptr %4, align 8, !tbaa !5
  %6457 = getelementptr inbounds %struct.w2c_hermes, ptr %6456, i32 0, i32 6
  %6458 = load i32, ptr %37, align 4, !tbaa !9
  %6459 = zext i32 %6458 to i64
  %6460 = add i64 %6459, 4
  %6461 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %6457, i64 noundef %6460, i64 noundef %6461)
  %6462 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6462, ptr %37, align 4, !tbaa !9
  %6463 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %6463, ptr %38, align 4, !tbaa !9
  %6464 = load ptr, ptr %4, align 8, !tbaa !5
  %6465 = getelementptr inbounds %struct.w2c_hermes, ptr %6464, i32 0, i32 6
  %6466 = load i32, ptr %37, align 4, !tbaa !9
  %6467 = zext i32 %6466 to i64
  %6468 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6465, i64 noundef %6467, i32 noundef %6468)
  %6469 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6469, ptr %37, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %6470 = load ptr, ptr %4, align 8, !tbaa !5
  %6471 = getelementptr inbounds %struct.w2c_hermes, ptr %6470, i32 0, i32 6
  %6472 = load i32, ptr %37, align 4, !tbaa !9
  %6473 = zext i32 %6472 to i64
  %6474 = add i64 %6473, 12
  %6475 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %6471, i64 noundef %6474, i64 noundef %6475)
  %6476 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6476, ptr %37, align 4, !tbaa !9
  store i32 36, ptr %38, align 4, !tbaa !9
  %6477 = load i32, ptr %38, align 4, !tbaa !9
  %6478 = load i32, ptr %37, align 4, !tbaa !9
  %6479 = add i32 %6478, %6477
  store i32 %6479, ptr %37, align 4, !tbaa !9
  %6480 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6480, ptr %10, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %6481 = load ptr, ptr %4, align 8, !tbaa !5
  %6482 = getelementptr inbounds %struct.w2c_hermes, ptr %6481, i32 0, i32 6
  %6483 = load i32, ptr %37, align 4, !tbaa !9
  %6484 = zext i32 %6483 to i64
  %6485 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %6482, i64 noundef %6484, i64 noundef %6485)
  %6486 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6486, ptr %37, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %6487 = load ptr, ptr %4, align 8, !tbaa !5
  %6488 = getelementptr inbounds %struct.w2c_hermes, ptr %6487, i32 0, i32 6
  %6489 = load i32, ptr %37, align 4, !tbaa !9
  %6490 = zext i32 %6489 to i64
  %6491 = add i64 %6490, 32
  %6492 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6488, i64 noundef %6491, i32 noundef %6492)
  %6493 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6493, ptr %37, align 4, !tbaa !9
  %6494 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6494, ptr %38, align 4, !tbaa !9
  %6495 = load ptr, ptr %4, align 8, !tbaa !5
  %6496 = getelementptr inbounds %struct.w2c_hermes, ptr %6495, i32 0, i32 6
  %6497 = load i32, ptr %37, align 4, !tbaa !9
  %6498 = zext i32 %6497 to i64
  %6499 = add i64 %6498, 24
  %6500 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6496, i64 noundef %6499, i32 noundef %6500)
  br label %6501

6501:                                             ; preds = %6440, %5885, %5794
  %6502 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6502, ptr %37, align 4, !tbaa !9
  %6503 = load ptr, ptr %4, align 8, !tbaa !5
  %6504 = getelementptr inbounds %struct.w2c_hermes, ptr %6503, i32 0, i32 6
  %6505 = load i32, ptr %37, align 4, !tbaa !9
  %6506 = zext i32 %6505 to i64
  %6507 = add i64 %6506, 12
  %6508 = call i32 @i32_load(ptr noundef %6504, i64 noundef %6507)
  store i32 %6508, ptr %37, align 4, !tbaa !9
  %6509 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6509, ptr %7, align 4, !tbaa !9
  %6510 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %6510, ptr %38, align 4, !tbaa !9
  %6511 = load ptr, ptr %4, align 8, !tbaa !5
  %6512 = getelementptr inbounds %struct.w2c_hermes, ptr %6511, i32 0, i32 6
  %6513 = load i32, ptr %38, align 4, !tbaa !9
  %6514 = zext i32 %6513 to i64
  %6515 = add i64 %6514, 12
  %6516 = call i32 @i32_load(ptr noundef %6512, i64 noundef %6515)
  store i32 %6516, ptr %38, align 4, !tbaa !9
  %6517 = load i32, ptr %37, align 4, !tbaa !9
  %6518 = load i32, ptr %38, align 4, !tbaa !9
  %6519 = icmp uge i32 %6517, %6518
  %6520 = zext i1 %6519 to i32
  store i32 %6520, ptr %37, align 4, !tbaa !9
  %6521 = load i32, ptr %37, align 4, !tbaa !9
  %6522 = icmp ne i32 %6521, 0
  br i1 %6522, label %6523, label %6524

6523:                                             ; preds = %6501
  br label %6533

6524:                                             ; preds = %6501
  %6525 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %6525, ptr %37, align 4, !tbaa !9
  %6526 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6526, ptr %38, align 4, !tbaa !9
  %6527 = load ptr, ptr %4, align 8, !tbaa !5
  %6528 = getelementptr inbounds %struct.w2c_hermes, ptr %6527, i32 0, i32 6
  %6529 = load i32, ptr %37, align 4, !tbaa !9
  %6530 = zext i32 %6529 to i64
  %6531 = add i64 %6530, 12
  %6532 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6528, i64 noundef %6531, i32 noundef %6532)
  br label %6533

6533:                                             ; preds = %6524, %6523, %4268, %4057, %3990
  %6534 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %6534, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %6535 = load i32, ptr %38, align 4, !tbaa !9
  %6536 = load i32, ptr %37, align 4, !tbaa !9
  %6537 = add i32 %6536, %6535
  store i32 %6537, ptr %37, align 4, !tbaa !9
  %6538 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6538, ptr %8, align 4, !tbaa !9
  %6539 = load i32, ptr %35, align 4, !tbaa !9
  store i32 %6539, ptr %38, align 4, !tbaa !9
  %6540 = load i32, ptr %37, align 4, !tbaa !9
  %6541 = load i32, ptr %38, align 4, !tbaa !9
  %6542 = icmp eq i32 %6540, %6541
  %6543 = zext i1 %6542 to i32
  store i32 %6543, ptr %37, align 4, !tbaa !9
  %6544 = load i32, ptr %37, align 4, !tbaa !9
  %6545 = icmp ne i32 %6544, 0
  br i1 %6545, label %6546, label %6547

6546:                                             ; preds = %6533
  br label %6556

6547:                                             ; preds = %6533
  %6548 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %6548, ptr %37, align 4, !tbaa !9
  %6549 = load ptr, ptr %4, align 8, !tbaa !5
  %6550 = getelementptr inbounds %struct.w2c_hermes, ptr %6549, i32 0, i32 6
  %6551 = load i32, ptr %37, align 4, !tbaa !9
  %6552 = zext i32 %6551 to i64
  %6553 = add i64 %6552, 24
  %6554 = call i32 @i32_load(ptr noundef %6550, i64 noundef %6553)
  store i32 %6554, ptr %37, align 4, !tbaa !9
  %6555 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6555, ptr %7, align 4, !tbaa !9
  br label %3982

6556:                                             ; preds = %6546, %3963, %3947
  %6557 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %6557, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %6558 = load i32, ptr %38, align 4, !tbaa !9
  %6559 = load i32, ptr %37, align 4, !tbaa !9
  %6560 = sub i32 %6559, %6558
  store i32 %6560, ptr %37, align 4, !tbaa !9
  %6561 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6561, ptr %7, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %6562 = load i32, ptr %37, align 4, !tbaa !9
  %6563 = load i32, ptr %38, align 4, !tbaa !9
  %6564 = icmp ugt i32 %6562, %6563
  %6565 = zext i1 %6564 to i32
  store i32 %6565, ptr %37, align 4, !tbaa !9
  %6566 = load i32, ptr %37, align 4, !tbaa !9
  %6567 = icmp ne i32 %6566, 0
  br i1 %6567, label %6568, label %6569

6568:                                             ; preds = %6556
  br label %3715

6569:                                             ; preds = %6556
  br label %6570

6570:                                             ; preds = %6569, %3693
  %6571 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %6571, ptr %37, align 4, !tbaa !9
  store i32 9, ptr %38, align 4, !tbaa !9
  %6572 = load i32, ptr %37, align 4, !tbaa !9
  %6573 = load i32, ptr %38, align 4, !tbaa !9
  %6574 = icmp ult i32 %6572, %6573
  %6575 = zext i1 %6574 to i32
  store i32 %6575, ptr %37, align 4, !tbaa !9
  %6576 = load i32, ptr %37, align 4, !tbaa !9
  %6577 = icmp ne i32 %6576, 0
  br i1 %6577, label %6578, label %6579

6578:                                             ; preds = %6570
  br label %8638

6579:                                             ; preds = %6570
  store i32 3, ptr %37, align 4, !tbaa !9
  %6580 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %6580, ptr %38, align 4, !tbaa !9
  %6581 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %6581, ptr %39, align 4, !tbaa !9
  store i32 3, ptr %40, align 4, !tbaa !9
  %6582 = load i32, ptr %39, align 4, !tbaa !9
  %6583 = load i32, ptr %40, align 4, !tbaa !9
  %6584 = icmp ule i32 %6582, %6583
  %6585 = zext i1 %6584 to i32
  store i32 %6585, ptr %39, align 4, !tbaa !9
  %6586 = load i32, ptr %39, align 4, !tbaa !9
  %6587 = icmp ne i32 %6586, 0
  br i1 %6587, label %6588, label %6590

6588:                                             ; preds = %6579
  %6589 = load i32, ptr %37, align 4, !tbaa !9
  br label %6592

6590:                                             ; preds = %6579
  %6591 = load i32, ptr %38, align 4, !tbaa !9
  br label %6592

6592:                                             ; preds = %6590, %6588
  %6593 = phi i32 [ %6589, %6588 ], [ %6591, %6590 ]
  store i32 %6593, ptr %37, align 4, !tbaa !9
  %6594 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6594, ptr %22, align 4, !tbaa !9
  %6595 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %6595, ptr %37, align 4, !tbaa !9
  store i32 12, ptr %38, align 4, !tbaa !9
  %6596 = load i32, ptr %38, align 4, !tbaa !9
  %6597 = load i32, ptr %37, align 4, !tbaa !9
  %6598 = add i32 %6597, %6596
  store i32 %6598, ptr %37, align 4, !tbaa !9
  %6599 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6599, ptr %20, align 4, !tbaa !9
  store i32 2, ptr %37, align 4, !tbaa !9
  %6600 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6600, ptr %19, align 4, !tbaa !9
  br label %6601

6601:                                             ; preds = %8015, %6592
  %6602 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %6602, ptr %37, align 4, !tbaa !9
  %6603 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %6603, ptr %38, align 4, !tbaa !9
  %6604 = load ptr, ptr %4, align 8, !tbaa !5
  %6605 = getelementptr inbounds %struct.w2c_hermes, ptr %6604, i32 0, i32 6
  %6606 = load i32, ptr %38, align 4, !tbaa !9
  %6607 = zext i32 %6606 to i64
  %6608 = call i32 @i32_load(ptr noundef %6605, i64 noundef %6607)
  store i32 %6608, ptr %38, align 4, !tbaa !9
  %6609 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %6609, ptr %12, align 4, !tbaa !9
  %6610 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %6610, ptr %39, align 4, !tbaa !9
  store i32 2, ptr %40, align 4, !tbaa !9
  %6611 = load i32, ptr %40, align 4, !tbaa !9
  %6612 = and i32 %6611, 31
  %6613 = load i32, ptr %39, align 4, !tbaa !9
  %6614 = shl i32 %6613, %6612
  store i32 %6614, ptr %39, align 4, !tbaa !9
  %6615 = load i32, ptr %39, align 4, !tbaa !9
  %6616 = load i32, ptr %38, align 4, !tbaa !9
  %6617 = add i32 %6616, %6615
  store i32 %6617, ptr %38, align 4, !tbaa !9
  %6618 = load ptr, ptr %4, align 8, !tbaa !5
  %6619 = getelementptr inbounds %struct.w2c_hermes, ptr %6618, i32 0, i32 6
  %6620 = load i32, ptr %38, align 4, !tbaa !9
  %6621 = zext i32 %6620 to i64
  %6622 = call i32 @i32_load(ptr noundef %6619, i64 noundef %6621)
  store i32 %6622, ptr %38, align 4, !tbaa !9
  %6623 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %6623, ptr %13, align 4, !tbaa !9
  %6624 = load ptr, ptr %4, align 8, !tbaa !5
  %6625 = getelementptr inbounds %struct.w2c_hermes, ptr %6624, i32 0, i32 6
  %6626 = load i32, ptr %37, align 4, !tbaa !9
  %6627 = zext i32 %6626 to i64
  %6628 = add i64 %6627, 4
  %6629 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6625, i64 noundef %6628, i32 noundef %6629)
  %6630 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %6630, ptr %37, align 4, !tbaa !9
  %6631 = load ptr, ptr %4, align 8, !tbaa !5
  %6632 = getelementptr inbounds %struct.w2c_hermes, ptr %6631, i32 0, i32 6
  %6633 = load i32, ptr %37, align 4, !tbaa !9
  %6634 = zext i32 %6633 to i64
  %6635 = add i64 %6634, 24
  %6636 = call i32 @i32_load(ptr noundef %6632, i64 noundef %6635)
  store i32 %6636, ptr %37, align 4, !tbaa !9
  %6637 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6637, ptr %7, align 4, !tbaa !9
  %6638 = load i32, ptr %37, align 4, !tbaa !9
  %6639 = icmp ne i32 %6638, 0
  %6640 = xor i1 %6639, true
  %6641 = zext i1 %6640 to i32
  store i32 %6641, ptr %37, align 4, !tbaa !9
  %6642 = load i32, ptr %37, align 4, !tbaa !9
  %6643 = icmp ne i32 %6642, 0
  br i1 %6643, label %6644, label %6646

6644:                                             ; preds = %6601
  store i32 0, ptr %37, align 4, !tbaa !9
  %6645 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6645, ptr %7, align 4, !tbaa !9
  br label %6805

6646:                                             ; preds = %6601
  %6647 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %6647, ptr %37, align 4, !tbaa !9
  %6648 = load ptr, ptr %4, align 8, !tbaa !5
  %6649 = getelementptr inbounds %struct.w2c_hermes, ptr %6648, i32 0, i32 6
  %6650 = load i32, ptr %37, align 4, !tbaa !9
  %6651 = zext i32 %6650 to i64
  %6652 = add i64 %6651, 12
  %6653 = call i32 @i32_load(ptr noundef %6649, i64 noundef %6652)
  store i32 %6653, ptr %37, align 4, !tbaa !9
  %6654 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6654, ptr %16, align 4, !tbaa !9
  %6655 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6655, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %6656 = load i32, ptr %39, align 4, !tbaa !9
  %6657 = load i32, ptr %38, align 4, !tbaa !9
  %6658 = sub i32 %6657, %6656
  store i32 %6658, ptr %38, align 4, !tbaa !9
  %6659 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %6659, ptr %18, align 4, !tbaa !9
  %6660 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %6660, ptr %39, align 4, !tbaa !9
  store i32 4, ptr %40, align 4, !tbaa !9
  %6661 = load i32, ptr %40, align 4, !tbaa !9
  %6662 = and i32 %6661, 31
  %6663 = load i32, ptr %39, align 4, !tbaa !9
  %6664 = lshr i32 %6663, %6662
  store i32 %6664, ptr %39, align 4, !tbaa !9
  %6665 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %6665, ptr %40, align 4, !tbaa !9
  store i32 9, ptr %41, align 4, !tbaa !9
  %6666 = load i32, ptr %41, align 4, !tbaa !9
  %6667 = and i32 %6666, 31
  %6668 = load i32, ptr %40, align 4, !tbaa !9
  %6669 = lshr i32 %6668, %6667
  store i32 %6669, ptr %40, align 4, !tbaa !9
  %6670 = load i32, ptr %40, align 4, !tbaa !9
  %6671 = load i32, ptr %39, align 4, !tbaa !9
  %6672 = xor i32 %6671, %6670
  store i32 %6672, ptr %39, align 4, !tbaa !9
  %6673 = load i32, ptr %39, align 4, !tbaa !9
  %6674 = load i32, ptr %38, align 4, !tbaa !9
  %6675 = and i32 %6674, %6673
  store i32 %6675, ptr %38, align 4, !tbaa !9
  %6676 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %6676, ptr %11, align 4, !tbaa !9
  store i32 44, ptr %39, align 4, !tbaa !9
  %6677 = load i32, ptr %39, align 4, !tbaa !9
  %6678 = load i32, ptr %38, align 4, !tbaa !9
  %6679 = mul i32 %6678, %6677
  store i32 %6679, ptr %38, align 4, !tbaa !9
  %6680 = load i32, ptr %38, align 4, !tbaa !9
  %6681 = load i32, ptr %37, align 4, !tbaa !9
  %6682 = add i32 %6681, %6680
  store i32 %6682, ptr %37, align 4, !tbaa !9
  %6683 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6683, ptr %8, align 4, !tbaa !9
  %6684 = load ptr, ptr %4, align 8, !tbaa !5
  %6685 = getelementptr inbounds %struct.w2c_hermes, ptr %6684, i32 0, i32 6
  %6686 = load i32, ptr %37, align 4, !tbaa !9
  %6687 = zext i32 %6686 to i64
  %6688 = call i32 @i32_load(ptr noundef %6685, i64 noundef %6687)
  store i32 %6688, ptr %37, align 4, !tbaa !9
  %6689 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6689, ptr %6, align 4, !tbaa !9
  %6690 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %6690, ptr %38, align 4, !tbaa !9
  %6691 = load i32, ptr %37, align 4, !tbaa !9
  %6692 = load i32, ptr %38, align 4, !tbaa !9
  %6693 = icmp ne i32 %6691, %6692
  %6694 = zext i1 %6693 to i32
  store i32 %6694, ptr %37, align 4, !tbaa !9
  %6695 = load i32, ptr %37, align 4, !tbaa !9
  %6696 = icmp ne i32 %6695, 0
  br i1 %6696, label %6697, label %6788

6697:                                             ; preds = %6646
  store i32 0, ptr %37, align 4, !tbaa !9
  %6698 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6698, ptr %10, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %6699 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6699, ptr %9, align 4, !tbaa !9
  br label %6700

6700:                                             ; preds = %6786, %6697
  %6701 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %6701, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %6702 = load i32, ptr %37, align 4, !tbaa !9
  %6703 = load i32, ptr %38, align 4, !tbaa !9
  %6704 = icmp eq i32 %6702, %6703
  %6705 = zext i1 %6704 to i32
  store i32 %6705, ptr %37, align 4, !tbaa !9
  %6706 = load i32, ptr %37, align 4, !tbaa !9
  %6707 = icmp ne i32 %6706, 0
  br i1 %6707, label %6708, label %6721

6708:                                             ; preds = %6700
  %6709 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6709, ptr %37, align 4, !tbaa !9
  %6710 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %6710, ptr %38, align 4, !tbaa !9
  %6711 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6711, ptr %39, align 4, !tbaa !9
  %6712 = load i32, ptr %39, align 4, !tbaa !9
  %6713 = icmp ne i32 %6712, 0
  br i1 %6713, label %6714, label %6716

6714:                                             ; preds = %6708
  %6715 = load i32, ptr %37, align 4, !tbaa !9
  br label %6718

6716:                                             ; preds = %6708
  %6717 = load i32, ptr %38, align 4, !tbaa !9
  br label %6718

6718:                                             ; preds = %6716, %6714
  %6719 = phi i32 [ %6715, %6714 ], [ %6717, %6716 ]
  store i32 %6719, ptr %37, align 4, !tbaa !9
  %6720 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6720, ptr %7, align 4, !tbaa !9
  br label %6805

6721:                                             ; preds = %6700
  %6722 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6722, ptr %37, align 4, !tbaa !9
  %6723 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %6723, ptr %38, align 4, !tbaa !9
  %6724 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6724, ptr %39, align 4, !tbaa !9
  %6725 = load i32, ptr %39, align 4, !tbaa !9
  %6726 = icmp ne i32 %6725, 0
  br i1 %6726, label %6727, label %6729

6727:                                             ; preds = %6721
  %6728 = load i32, ptr %37, align 4, !tbaa !9
  br label %6731

6729:                                             ; preds = %6721
  %6730 = load i32, ptr %38, align 4, !tbaa !9
  br label %6731

6731:                                             ; preds = %6729, %6727
  %6732 = phi i32 [ %6728, %6727 ], [ %6730, %6729 ]
  store i32 %6732, ptr %37, align 4, !tbaa !9
  %6733 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6733, ptr %38, align 4, !tbaa !9
  %6734 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %6734, ptr %39, align 4, !tbaa !9
  store i32 -8, ptr %40, align 4, !tbaa !9
  %6735 = load i32, ptr %39, align 4, !tbaa !9
  %6736 = load i32, ptr %40, align 4, !tbaa !9
  %6737 = icmp eq i32 %6735, %6736
  %6738 = zext i1 %6737 to i32
  store i32 %6738, ptr %39, align 4, !tbaa !9
  %6739 = load i32, ptr %39, align 4, !tbaa !9
  %6740 = icmp ne i32 %6739, 0
  br i1 %6740, label %6741, label %6743

6741:                                             ; preds = %6731
  %6742 = load i32, ptr %37, align 4, !tbaa !9
  br label %6745

6743:                                             ; preds = %6731
  %6744 = load i32, ptr %38, align 4, !tbaa !9
  br label %6745

6745:                                             ; preds = %6743, %6741
  %6746 = phi i32 [ %6742, %6741 ], [ %6744, %6743 ]
  store i32 %6746, ptr %37, align 4, !tbaa !9
  %6747 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6747, ptr %10, align 4, !tbaa !9
  %6748 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %6748, ptr %37, align 4, !tbaa !9
  %6749 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %6749, ptr %38, align 4, !tbaa !9
  %6750 = load i32, ptr %38, align 4, !tbaa !9
  %6751 = load i32, ptr %37, align 4, !tbaa !9
  %6752 = add i32 %6751, %6750
  store i32 %6752, ptr %37, align 4, !tbaa !9
  %6753 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6753, ptr %6, align 4, !tbaa !9
  %6754 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %6754, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %6755 = load i32, ptr %38, align 4, !tbaa !9
  %6756 = load i32, ptr %37, align 4, !tbaa !9
  %6757 = add i32 %6756, %6755
  store i32 %6757, ptr %37, align 4, !tbaa !9
  %6758 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6758, ptr %9, align 4, !tbaa !9
  %6759 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %6759, ptr %37, align 4, !tbaa !9
  %6760 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %6760, ptr %38, align 4, !tbaa !9
  %6761 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %6761, ptr %39, align 4, !tbaa !9
  %6762 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %6762, ptr %40, align 4, !tbaa !9
  %6763 = load i32, ptr %40, align 4, !tbaa !9
  %6764 = load i32, ptr %39, align 4, !tbaa !9
  %6765 = and i32 %6764, %6763
  store i32 %6765, ptr %39, align 4, !tbaa !9
  %6766 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %6766, ptr %11, align 4, !tbaa !9
  store i32 44, ptr %40, align 4, !tbaa !9
  %6767 = load i32, ptr %40, align 4, !tbaa !9
  %6768 = load i32, ptr %39, align 4, !tbaa !9
  %6769 = mul i32 %6768, %6767
  store i32 %6769, ptr %39, align 4, !tbaa !9
  %6770 = load i32, ptr %39, align 4, !tbaa !9
  %6771 = load i32, ptr %38, align 4, !tbaa !9
  %6772 = add i32 %6771, %6770
  store i32 %6772, ptr %38, align 4, !tbaa !9
  %6773 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %6773, ptr %8, align 4, !tbaa !9
  %6774 = load ptr, ptr %4, align 8, !tbaa !5
  %6775 = getelementptr inbounds %struct.w2c_hermes, ptr %6774, i32 0, i32 6
  %6776 = load i32, ptr %38, align 4, !tbaa !9
  %6777 = zext i32 %6776 to i64
  %6778 = call i32 @i32_load(ptr noundef %6775, i64 noundef %6777)
  store i32 %6778, ptr %38, align 4, !tbaa !9
  %6779 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %6779, ptr %6, align 4, !tbaa !9
  %6780 = load i32, ptr %37, align 4, !tbaa !9
  %6781 = load i32, ptr %38, align 4, !tbaa !9
  %6782 = icmp ne i32 %6780, %6781
  %6783 = zext i1 %6782 to i32
  store i32 %6783, ptr %37, align 4, !tbaa !9
  %6784 = load i32, ptr %37, align 4, !tbaa !9
  %6785 = icmp ne i32 %6784, 0
  br i1 %6785, label %6786, label %6787

6786:                                             ; preds = %6745
  br label %6700

6787:                                             ; preds = %6745
  br label %6841

6788:                                             ; preds = %6646
  %6789 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %6789, ptr %37, align 4, !tbaa !9
  %6790 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %6790, ptr %38, align 4, !tbaa !9
  %6791 = load ptr, ptr %4, align 8, !tbaa !5
  %6792 = getelementptr inbounds %struct.w2c_hermes, ptr %6791, i32 0, i32 6
  %6793 = load i32, ptr %38, align 4, !tbaa !9
  %6794 = zext i32 %6793 to i64
  %6795 = add i64 %6794, 12
  %6796 = call i32 @i32_load(ptr noundef %6792, i64 noundef %6795)
  store i32 %6796, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %6797 = load i32, ptr %39, align 4, !tbaa !9
  %6798 = and i32 %6797, 31
  %6799 = load i32, ptr %38, align 4, !tbaa !9
  %6800 = shl i32 %6799, %6798
  store i32 %6800, ptr %38, align 4, !tbaa !9
  %6801 = load i32, ptr %38, align 4, !tbaa !9
  %6802 = load i32, ptr %37, align 4, !tbaa !9
  %6803 = add i32 %6802, %6801
  store i32 %6803, ptr %37, align 4, !tbaa !9
  %6804 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6804, ptr %12, align 4, !tbaa !9
  br label %6871

6805:                                             ; preds = %6718, %6644
  %6806 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %6806, ptr %37, align 4, !tbaa !9
  %6807 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6807, ptr %38, align 4, !tbaa !9
  %6808 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %6808, ptr %39, align 4, !tbaa !9
  store i32 4, ptr %40, align 4, !tbaa !9
  %6809 = load i32, ptr %40, align 4, !tbaa !9
  %6810 = load i32, ptr %39, align 4, !tbaa !9
  %6811 = add i32 %6810, %6809
  store i32 %6811, ptr %39, align 4, !tbaa !9
  %6812 = load ptr, ptr %4, align 8, !tbaa !5
  %6813 = load i32, ptr %37, align 4, !tbaa !9
  %6814 = load i32, ptr %38, align 4, !tbaa !9
  %6815 = load i32, ptr %39, align 4, !tbaa !9
  %6816 = call i32 @w2c_hermes_llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x3A0x3AInsertIntoBucket0x3Chermes0x3A0x3ABasicBlock0x2A0x20const0x260x3E0x28llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x20const0x260x29(ptr noundef %6812, i32 noundef %6813, i32 noundef %6814, i32 noundef %6815)
  store i32 %6816, ptr %37, align 4, !tbaa !9
  %6817 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6817, ptr %8, align 4, !tbaa !9
  %6818 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %6818, ptr %37, align 4, !tbaa !9
  %6819 = load ptr, ptr %4, align 8, !tbaa !5
  %6820 = getelementptr inbounds %struct.w2c_hermes, ptr %6819, i32 0, i32 6
  %6821 = load i32, ptr %37, align 4, !tbaa !9
  %6822 = zext i32 %6821 to i64
  %6823 = add i64 %6822, 24
  %6824 = call i32 @i32_load(ptr noundef %6820, i64 noundef %6823)
  store i32 %6824, ptr %37, align 4, !tbaa !9
  %6825 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6825, ptr %7, align 4, !tbaa !9
  %6826 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %6826, ptr %37, align 4, !tbaa !9
  %6827 = load ptr, ptr %4, align 8, !tbaa !5
  %6828 = getelementptr inbounds %struct.w2c_hermes, ptr %6827, i32 0, i32 6
  %6829 = load i32, ptr %37, align 4, !tbaa !9
  %6830 = zext i32 %6829 to i64
  %6831 = add i64 %6830, 12
  %6832 = call i32 @i32_load(ptr noundef %6828, i64 noundef %6831)
  store i32 %6832, ptr %37, align 4, !tbaa !9
  %6833 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6833, ptr %16, align 4, !tbaa !9
  %6834 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %6834, ptr %37, align 4, !tbaa !9
  %6835 = load ptr, ptr %4, align 8, !tbaa !5
  %6836 = getelementptr inbounds %struct.w2c_hermes, ptr %6835, i32 0, i32 6
  %6837 = load i32, ptr %37, align 4, !tbaa !9
  %6838 = zext i32 %6837 to i64
  %6839 = call i32 @i32_load(ptr noundef %6836, i64 noundef %6838)
  store i32 %6839, ptr %37, align 4, !tbaa !9
  %6840 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6840, ptr %12, align 4, !tbaa !9
  br label %6841

6841:                                             ; preds = %6805, %6787
  %6842 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %6842, ptr %37, align 4, !tbaa !9
  %6843 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %6843, ptr %38, align 4, !tbaa !9
  %6844 = load ptr, ptr %4, align 8, !tbaa !5
  %6845 = getelementptr inbounds %struct.w2c_hermes, ptr %6844, i32 0, i32 6
  %6846 = load i32, ptr %38, align 4, !tbaa !9
  %6847 = zext i32 %6846 to i64
  %6848 = add i64 %6847, 12
  %6849 = call i32 @i32_load(ptr noundef %6845, i64 noundef %6848)
  store i32 %6849, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %6850 = load i32, ptr %39, align 4, !tbaa !9
  %6851 = and i32 %6850, 31
  %6852 = load i32, ptr %38, align 4, !tbaa !9
  %6853 = shl i32 %6852, %6851
  store i32 %6853, ptr %38, align 4, !tbaa !9
  %6854 = load i32, ptr %38, align 4, !tbaa !9
  %6855 = load i32, ptr %37, align 4, !tbaa !9
  %6856 = add i32 %6855, %6854
  store i32 %6856, ptr %37, align 4, !tbaa !9
  %6857 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6857, ptr %12, align 4, !tbaa !9
  %6858 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6858, ptr %37, align 4, !tbaa !9
  %6859 = load i32, ptr %37, align 4, !tbaa !9
  %6860 = icmp ne i32 %6859, 0
  br i1 %6860, label %6861, label %6862

6861:                                             ; preds = %6841
  br label %6871

6862:                                             ; preds = %6841
  %6863 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %6863, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %6864 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %6864, ptr %39, align 4, !tbaa !9
  %6865 = load ptr, ptr %4, align 8, !tbaa !5
  %6866 = load i32, ptr %37, align 4, !tbaa !9
  %6867 = load i32, ptr %38, align 4, !tbaa !9
  %6868 = load i32, ptr %39, align 4, !tbaa !9
  %6869 = call i32 @w2c_hermes_llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x3A0x3AInsertIntoBucket0x3Chermes0x3A0x3ABasicBlock0x2A0x20const0x260x3E0x28llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x20const0x260x29(ptr noundef %6865, i32 noundef %6866, i32 noundef %6867, i32 noundef %6868)
  store i32 %6869, ptr %37, align 4, !tbaa !9
  %6870 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6870, ptr %7, align 4, !tbaa !9
  br label %7020

6871:                                             ; preds = %6861, %6788
  %6872 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %6872, ptr %37, align 4, !tbaa !9
  %6873 = load ptr, ptr %4, align 8, !tbaa !5
  %6874 = getelementptr inbounds %struct.w2c_hermes, ptr %6873, i32 0, i32 6
  %6875 = load i32, ptr %37, align 4, !tbaa !9
  %6876 = zext i32 %6875 to i64
  %6877 = call i32 @i32_load(ptr noundef %6874, i64 noundef %6876)
  store i32 %6877, ptr %37, align 4, !tbaa !9
  %6878 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6878, ptr %13, align 4, !tbaa !9
  %6879 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %6879, ptr %38, align 4, !tbaa !9
  %6880 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6880, ptr %39, align 4, !tbaa !9
  store i32 1, ptr %40, align 4, !tbaa !9
  %6881 = load i32, ptr %40, align 4, !tbaa !9
  %6882 = load i32, ptr %39, align 4, !tbaa !9
  %6883 = sub i32 %6882, %6881
  store i32 %6883, ptr %39, align 4, !tbaa !9
  %6884 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %6884, ptr %18, align 4, !tbaa !9
  %6885 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %6885, ptr %40, align 4, !tbaa !9
  store i32 4, ptr %41, align 4, !tbaa !9
  %6886 = load i32, ptr %41, align 4, !tbaa !9
  %6887 = and i32 %6886, 31
  %6888 = load i32, ptr %40, align 4, !tbaa !9
  %6889 = lshr i32 %6888, %6887
  store i32 %6889, ptr %40, align 4, !tbaa !9
  %6890 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %6890, ptr %41, align 4, !tbaa !9
  store i32 9, ptr %42, align 4, !tbaa !9
  %6891 = load i32, ptr %42, align 4, !tbaa !9
  %6892 = and i32 %6891, 31
  %6893 = load i32, ptr %41, align 4, !tbaa !9
  %6894 = lshr i32 %6893, %6892
  store i32 %6894, ptr %41, align 4, !tbaa !9
  %6895 = load i32, ptr %41, align 4, !tbaa !9
  %6896 = load i32, ptr %40, align 4, !tbaa !9
  %6897 = xor i32 %6896, %6895
  store i32 %6897, ptr %40, align 4, !tbaa !9
  %6898 = load i32, ptr %40, align 4, !tbaa !9
  %6899 = load i32, ptr %39, align 4, !tbaa !9
  %6900 = and i32 %6899, %6898
  store i32 %6900, ptr %39, align 4, !tbaa !9
  %6901 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %6901, ptr %11, align 4, !tbaa !9
  store i32 44, ptr %40, align 4, !tbaa !9
  %6902 = load i32, ptr %40, align 4, !tbaa !9
  %6903 = load i32, ptr %39, align 4, !tbaa !9
  %6904 = mul i32 %6903, %6902
  store i32 %6904, ptr %39, align 4, !tbaa !9
  %6905 = load i32, ptr %39, align 4, !tbaa !9
  %6906 = load i32, ptr %38, align 4, !tbaa !9
  %6907 = add i32 %6906, %6905
  store i32 %6907, ptr %38, align 4, !tbaa !9
  %6908 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %6908, ptr %7, align 4, !tbaa !9
  %6909 = load ptr, ptr %4, align 8, !tbaa !5
  %6910 = getelementptr inbounds %struct.w2c_hermes, ptr %6909, i32 0, i32 6
  %6911 = load i32, ptr %38, align 4, !tbaa !9
  %6912 = zext i32 %6911 to i64
  %6913 = call i32 @i32_load(ptr noundef %6910, i64 noundef %6912)
  store i32 %6913, ptr %38, align 4, !tbaa !9
  %6914 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %6914, ptr %6, align 4, !tbaa !9
  %6915 = load i32, ptr %37, align 4, !tbaa !9
  %6916 = load i32, ptr %38, align 4, !tbaa !9
  %6917 = icmp eq i32 %6915, %6916
  %6918 = zext i1 %6917 to i32
  store i32 %6918, ptr %37, align 4, !tbaa !9
  %6919 = load i32, ptr %37, align 4, !tbaa !9
  %6920 = icmp ne i32 %6919, 0
  br i1 %6920, label %6921, label %6922

6921:                                             ; preds = %6871
  br label %7020

6922:                                             ; preds = %6871
  store i32 0, ptr %37, align 4, !tbaa !9
  %6923 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6923, ptr %10, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %6924 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6924, ptr %9, align 4, !tbaa !9
  br label %6925

6925:                                             ; preds = %7018, %6922
  %6926 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %6926, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %6927 = load i32, ptr %37, align 4, !tbaa !9
  %6928 = load i32, ptr %38, align 4, !tbaa !9
  %6929 = icmp eq i32 %6927, %6928
  %6930 = zext i1 %6929 to i32
  store i32 %6930, ptr %37, align 4, !tbaa !9
  %6931 = load i32, ptr %37, align 4, !tbaa !9
  %6932 = icmp ne i32 %6931, 0
  br i1 %6932, label %6933, label %6953

6933:                                             ; preds = %6925
  %6934 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %6934, ptr %37, align 4, !tbaa !9
  %6935 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6935, ptr %38, align 4, !tbaa !9
  %6936 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6936, ptr %39, align 4, !tbaa !9
  %6937 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6937, ptr %40, align 4, !tbaa !9
  %6938 = load i32, ptr %40, align 4, !tbaa !9
  %6939 = icmp ne i32 %6938, 0
  br i1 %6939, label %6940, label %6942

6940:                                             ; preds = %6933
  %6941 = load i32, ptr %38, align 4, !tbaa !9
  br label %6944

6942:                                             ; preds = %6933
  %6943 = load i32, ptr %39, align 4, !tbaa !9
  br label %6944

6944:                                             ; preds = %6942, %6940
  %6945 = phi i32 [ %6941, %6940 ], [ %6943, %6942 ]
  store i32 %6945, ptr %38, align 4, !tbaa !9
  %6946 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %6946, ptr %39, align 4, !tbaa !9
  %6947 = load ptr, ptr %4, align 8, !tbaa !5
  %6948 = load i32, ptr %37, align 4, !tbaa !9
  %6949 = load i32, ptr %38, align 4, !tbaa !9
  %6950 = load i32, ptr %39, align 4, !tbaa !9
  %6951 = call i32 @w2c_hermes_llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x3A0x3AInsertIntoBucket0x3Chermes0x3A0x3ABasicBlock0x2A0x20const0x260x3E0x28llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x20const0x260x29(ptr noundef %6947, i32 noundef %6948, i32 noundef %6949, i32 noundef %6950)
  store i32 %6951, ptr %37, align 4, !tbaa !9
  %6952 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6952, ptr %7, align 4, !tbaa !9
  br label %7020

6953:                                             ; preds = %6925
  %6954 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6954, ptr %37, align 4, !tbaa !9
  %6955 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6955, ptr %38, align 4, !tbaa !9
  %6956 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6956, ptr %39, align 4, !tbaa !9
  %6957 = load i32, ptr %39, align 4, !tbaa !9
  %6958 = icmp ne i32 %6957, 0
  br i1 %6958, label %6959, label %6961

6959:                                             ; preds = %6953
  %6960 = load i32, ptr %37, align 4, !tbaa !9
  br label %6963

6961:                                             ; preds = %6953
  %6962 = load i32, ptr %38, align 4, !tbaa !9
  br label %6963

6963:                                             ; preds = %6961, %6959
  %6964 = phi i32 [ %6960, %6959 ], [ %6962, %6961 ]
  store i32 %6964, ptr %37, align 4, !tbaa !9
  %6965 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6965, ptr %38, align 4, !tbaa !9
  %6966 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %6966, ptr %39, align 4, !tbaa !9
  store i32 -8, ptr %40, align 4, !tbaa !9
  %6967 = load i32, ptr %39, align 4, !tbaa !9
  %6968 = load i32, ptr %40, align 4, !tbaa !9
  %6969 = icmp eq i32 %6967, %6968
  %6970 = zext i1 %6969 to i32
  store i32 %6970, ptr %39, align 4, !tbaa !9
  %6971 = load i32, ptr %39, align 4, !tbaa !9
  %6972 = icmp ne i32 %6971, 0
  br i1 %6972, label %6973, label %6975

6973:                                             ; preds = %6963
  %6974 = load i32, ptr %37, align 4, !tbaa !9
  br label %6977

6975:                                             ; preds = %6963
  %6976 = load i32, ptr %38, align 4, !tbaa !9
  br label %6977

6977:                                             ; preds = %6975, %6973
  %6978 = phi i32 [ %6974, %6973 ], [ %6976, %6975 ]
  store i32 %6978, ptr %37, align 4, !tbaa !9
  %6979 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6979, ptr %10, align 4, !tbaa !9
  %6980 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %6980, ptr %37, align 4, !tbaa !9
  %6981 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %6981, ptr %38, align 4, !tbaa !9
  %6982 = load i32, ptr %38, align 4, !tbaa !9
  %6983 = load i32, ptr %37, align 4, !tbaa !9
  %6984 = add i32 %6983, %6982
  store i32 %6984, ptr %37, align 4, !tbaa !9
  %6985 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6985, ptr %6, align 4, !tbaa !9
  %6986 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %6986, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %6987 = load i32, ptr %38, align 4, !tbaa !9
  %6988 = load i32, ptr %37, align 4, !tbaa !9
  %6989 = add i32 %6988, %6987
  store i32 %6989, ptr %37, align 4, !tbaa !9
  %6990 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6990, ptr %9, align 4, !tbaa !9
  %6991 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %6991, ptr %37, align 4, !tbaa !9
  %6992 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %6992, ptr %38, align 4, !tbaa !9
  %6993 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %6993, ptr %39, align 4, !tbaa !9
  %6994 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %6994, ptr %40, align 4, !tbaa !9
  %6995 = load i32, ptr %40, align 4, !tbaa !9
  %6996 = load i32, ptr %39, align 4, !tbaa !9
  %6997 = and i32 %6996, %6995
  store i32 %6997, ptr %39, align 4, !tbaa !9
  %6998 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %6998, ptr %11, align 4, !tbaa !9
  store i32 44, ptr %40, align 4, !tbaa !9
  %6999 = load i32, ptr %40, align 4, !tbaa !9
  %7000 = load i32, ptr %39, align 4, !tbaa !9
  %7001 = mul i32 %7000, %6999
  store i32 %7001, ptr %39, align 4, !tbaa !9
  %7002 = load i32, ptr %39, align 4, !tbaa !9
  %7003 = load i32, ptr %38, align 4, !tbaa !9
  %7004 = add i32 %7003, %7002
  store i32 %7004, ptr %38, align 4, !tbaa !9
  %7005 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %7005, ptr %7, align 4, !tbaa !9
  %7006 = load ptr, ptr %4, align 8, !tbaa !5
  %7007 = getelementptr inbounds %struct.w2c_hermes, ptr %7006, i32 0, i32 6
  %7008 = load i32, ptr %38, align 4, !tbaa !9
  %7009 = zext i32 %7008 to i64
  %7010 = call i32 @i32_load(ptr noundef %7007, i64 noundef %7009)
  store i32 %7010, ptr %38, align 4, !tbaa !9
  %7011 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %7011, ptr %6, align 4, !tbaa !9
  %7012 = load i32, ptr %37, align 4, !tbaa !9
  %7013 = load i32, ptr %38, align 4, !tbaa !9
  %7014 = icmp ne i32 %7012, %7013
  %7015 = zext i1 %7014 to i32
  store i32 %7015, ptr %37, align 4, !tbaa !9
  %7016 = load i32, ptr %37, align 4, !tbaa !9
  %7017 = icmp ne i32 %7016, 0
  br i1 %7017, label %7018, label %7019

7018:                                             ; preds = %6977
  br label %6925

7019:                                             ; preds = %6977
  br label %7020

7020:                                             ; preds = %7019, %6944, %6921, %6862
  %7021 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %7021, ptr %37, align 4, !tbaa !9
  %7022 = load ptr, ptr %4, align 8, !tbaa !5
  %7023 = getelementptr inbounds %struct.w2c_hermes, ptr %7022, i32 0, i32 6
  %7024 = load i32, ptr %37, align 4, !tbaa !9
  %7025 = zext i32 %7024 to i64
  %7026 = add i64 %7025, 4
  %7027 = call i32 @i32_load(ptr noundef %7023, i64 noundef %7026)
  store i32 %7027, ptr %37, align 4, !tbaa !9
  %7028 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7028, ptr %16, align 4, !tbaa !9
  %7029 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %7029, ptr %37, align 4, !tbaa !9
  %7030 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7030, ptr %13, align 4, !tbaa !9
  store i32 20, ptr %38, align 4, !tbaa !9
  %7031 = load i32, ptr %38, align 4, !tbaa !9
  %7032 = load i32, ptr %37, align 4, !tbaa !9
  %7033 = add i32 %7032, %7031
  store i32 %7033, ptr %37, align 4, !tbaa !9
  %7034 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7034, ptr %7, align 4, !tbaa !9
  br label %7035

7035:                                             ; preds = %8632, %7020
  %7036 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %7036, ptr %37, align 4, !tbaa !9
  %7037 = load ptr, ptr %4, align 8, !tbaa !5
  %7038 = getelementptr inbounds %struct.w2c_hermes, ptr %7037, i32 0, i32 6
  %7039 = load i32, ptr %37, align 4, !tbaa !9
  %7040 = zext i32 %7039 to i64
  %7041 = add i64 %7040, 12
  %7042 = call i32 @i32_load(ptr noundef %7038, i64 noundef %7041)
  store i32 %7042, ptr %37, align 4, !tbaa !9
  %7043 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7043, ptr %12, align 4, !tbaa !9
  %7044 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %7044, ptr %37, align 4, !tbaa !9
  %7045 = load ptr, ptr %4, align 8, !tbaa !5
  %7046 = getelementptr inbounds %struct.w2c_hermes, ptr %7045, i32 0, i32 6
  %7047 = load i32, ptr %37, align 4, !tbaa !9
  %7048 = zext i32 %7047 to i64
  %7049 = call i32 @i32_load(ptr noundef %7046, i64 noundef %7048)
  store i32 %7049, ptr %37, align 4, !tbaa !9
  %7050 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7050, ptr %18, align 4, !tbaa !9
  %7051 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %7051, ptr %37, align 4, !tbaa !9
  %7052 = load ptr, ptr %4, align 8, !tbaa !5
  %7053 = getelementptr inbounds %struct.w2c_hermes, ptr %7052, i32 0, i32 6
  %7054 = load i32, ptr %37, align 4, !tbaa !9
  %7055 = zext i32 %7054 to i64
  %7056 = add i64 %7055, 24
  %7057 = call i32 @i32_load(ptr noundef %7053, i64 noundef %7056)
  store i32 %7057, ptr %37, align 4, !tbaa !9
  %7058 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7058, ptr %10, align 4, !tbaa !9
  %7059 = load i32, ptr %37, align 4, !tbaa !9
  %7060 = icmp ne i32 %7059, 0
  %7061 = xor i1 %7060, true
  %7062 = zext i1 %7061 to i32
  store i32 %7062, ptr %37, align 4, !tbaa !9
  %7063 = load i32, ptr %37, align 4, !tbaa !9
  %7064 = icmp ne i32 %7063, 0
  br i1 %7064, label %7065, label %7067

7065:                                             ; preds = %7035
  store i32 0, ptr %37, align 4, !tbaa !9
  %7066 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7066, ptr %8, align 4, !tbaa !9
  br label %7203

7067:                                             ; preds = %7035
  %7068 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %7068, ptr %37, align 4, !tbaa !9
  %7069 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %7069, ptr %38, align 4, !tbaa !9
  %7070 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7070, ptr %39, align 4, !tbaa !9
  store i32 1, ptr %40, align 4, !tbaa !9
  %7071 = load i32, ptr %40, align 4, !tbaa !9
  %7072 = load i32, ptr %39, align 4, !tbaa !9
  %7073 = sub i32 %7072, %7071
  store i32 %7073, ptr %39, align 4, !tbaa !9
  %7074 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %7074, ptr %15, align 4, !tbaa !9
  %7075 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %7075, ptr %40, align 4, !tbaa !9
  store i32 4, ptr %41, align 4, !tbaa !9
  %7076 = load i32, ptr %41, align 4, !tbaa !9
  %7077 = and i32 %7076, 31
  %7078 = load i32, ptr %40, align 4, !tbaa !9
  %7079 = lshr i32 %7078, %7077
  store i32 %7079, ptr %40, align 4, !tbaa !9
  %7080 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %7080, ptr %41, align 4, !tbaa !9
  store i32 9, ptr %42, align 4, !tbaa !9
  %7081 = load i32, ptr %42, align 4, !tbaa !9
  %7082 = and i32 %7081, 31
  %7083 = load i32, ptr %41, align 4, !tbaa !9
  %7084 = lshr i32 %7083, %7082
  store i32 %7084, ptr %41, align 4, !tbaa !9
  %7085 = load i32, ptr %41, align 4, !tbaa !9
  %7086 = load i32, ptr %40, align 4, !tbaa !9
  %7087 = xor i32 %7086, %7085
  store i32 %7087, ptr %40, align 4, !tbaa !9
  %7088 = load i32, ptr %40, align 4, !tbaa !9
  %7089 = load i32, ptr %39, align 4, !tbaa !9
  %7090 = and i32 %7089, %7088
  store i32 %7090, ptr %39, align 4, !tbaa !9
  %7091 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %7091, ptr %11, align 4, !tbaa !9
  store i32 44, ptr %40, align 4, !tbaa !9
  %7092 = load i32, ptr %40, align 4, !tbaa !9
  %7093 = load i32, ptr %39, align 4, !tbaa !9
  %7094 = mul i32 %7093, %7092
  store i32 %7094, ptr %39, align 4, !tbaa !9
  %7095 = load i32, ptr %39, align 4, !tbaa !9
  %7096 = load i32, ptr %38, align 4, !tbaa !9
  %7097 = add i32 %7096, %7095
  store i32 %7097, ptr %38, align 4, !tbaa !9
  %7098 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %7098, ptr %8, align 4, !tbaa !9
  %7099 = load ptr, ptr %4, align 8, !tbaa !5
  %7100 = getelementptr inbounds %struct.w2c_hermes, ptr %7099, i32 0, i32 6
  %7101 = load i32, ptr %38, align 4, !tbaa !9
  %7102 = zext i32 %7101 to i64
  %7103 = call i32 @i32_load(ptr noundef %7100, i64 noundef %7102)
  store i32 %7103, ptr %38, align 4, !tbaa !9
  %7104 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %7104, ptr %6, align 4, !tbaa !9
  %7105 = load i32, ptr %37, align 4, !tbaa !9
  %7106 = load i32, ptr %38, align 4, !tbaa !9
  %7107 = icmp eq i32 %7105, %7106
  %7108 = zext i1 %7107 to i32
  store i32 %7108, ptr %37, align 4, !tbaa !9
  %7109 = load i32, ptr %37, align 4, !tbaa !9
  %7110 = icmp ne i32 %7109, 0
  br i1 %7110, label %7111, label %7112

7111:                                             ; preds = %7067
  br label %7818

7112:                                             ; preds = %7067
  store i32 0, ptr %37, align 4, !tbaa !9
  %7113 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7113, ptr %9, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %7114 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7114, ptr %7, align 4, !tbaa !9
  br label %7115

7115:                                             ; preds = %7201, %7112
  %7116 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %7116, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %7117 = load i32, ptr %37, align 4, !tbaa !9
  %7118 = load i32, ptr %38, align 4, !tbaa !9
  %7119 = icmp eq i32 %7117, %7118
  %7120 = zext i1 %7119 to i32
  store i32 %7120, ptr %37, align 4, !tbaa !9
  %7121 = load i32, ptr %37, align 4, !tbaa !9
  %7122 = icmp ne i32 %7121, 0
  br i1 %7122, label %7123, label %7136

7123:                                             ; preds = %7115
  %7124 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %7124, ptr %37, align 4, !tbaa !9
  %7125 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %7125, ptr %38, align 4, !tbaa !9
  %7126 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %7126, ptr %39, align 4, !tbaa !9
  %7127 = load i32, ptr %39, align 4, !tbaa !9
  %7128 = icmp ne i32 %7127, 0
  br i1 %7128, label %7129, label %7131

7129:                                             ; preds = %7123
  %7130 = load i32, ptr %37, align 4, !tbaa !9
  br label %7133

7131:                                             ; preds = %7123
  %7132 = load i32, ptr %38, align 4, !tbaa !9
  br label %7133

7133:                                             ; preds = %7131, %7129
  %7134 = phi i32 [ %7130, %7129 ], [ %7132, %7131 ]
  store i32 %7134, ptr %37, align 4, !tbaa !9
  %7135 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7135, ptr %8, align 4, !tbaa !9
  br label %7203

7136:                                             ; preds = %7115
  %7137 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %7137, ptr %37, align 4, !tbaa !9
  %7138 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %7138, ptr %38, align 4, !tbaa !9
  %7139 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %7139, ptr %39, align 4, !tbaa !9
  %7140 = load i32, ptr %39, align 4, !tbaa !9
  %7141 = icmp ne i32 %7140, 0
  br i1 %7141, label %7142, label %7144

7142:                                             ; preds = %7136
  %7143 = load i32, ptr %37, align 4, !tbaa !9
  br label %7146

7144:                                             ; preds = %7136
  %7145 = load i32, ptr %38, align 4, !tbaa !9
  br label %7146

7146:                                             ; preds = %7144, %7142
  %7147 = phi i32 [ %7143, %7142 ], [ %7145, %7144 ]
  store i32 %7147, ptr %37, align 4, !tbaa !9
  %7148 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %7148, ptr %38, align 4, !tbaa !9
  %7149 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %7149, ptr %39, align 4, !tbaa !9
  store i32 -8, ptr %40, align 4, !tbaa !9
  %7150 = load i32, ptr %39, align 4, !tbaa !9
  %7151 = load i32, ptr %40, align 4, !tbaa !9
  %7152 = icmp eq i32 %7150, %7151
  %7153 = zext i1 %7152 to i32
  store i32 %7153, ptr %39, align 4, !tbaa !9
  %7154 = load i32, ptr %39, align 4, !tbaa !9
  %7155 = icmp ne i32 %7154, 0
  br i1 %7155, label %7156, label %7158

7156:                                             ; preds = %7146
  %7157 = load i32, ptr %37, align 4, !tbaa !9
  br label %7160

7158:                                             ; preds = %7146
  %7159 = load i32, ptr %38, align 4, !tbaa !9
  br label %7160

7160:                                             ; preds = %7158, %7156
  %7161 = phi i32 [ %7157, %7156 ], [ %7159, %7158 ]
  store i32 %7161, ptr %37, align 4, !tbaa !9
  %7162 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7162, ptr %9, align 4, !tbaa !9
  %7163 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %7163, ptr %37, align 4, !tbaa !9
  %7164 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %7164, ptr %38, align 4, !tbaa !9
  %7165 = load i32, ptr %38, align 4, !tbaa !9
  %7166 = load i32, ptr %37, align 4, !tbaa !9
  %7167 = add i32 %7166, %7165
  store i32 %7167, ptr %37, align 4, !tbaa !9
  %7168 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7168, ptr %6, align 4, !tbaa !9
  %7169 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %7169, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %7170 = load i32, ptr %38, align 4, !tbaa !9
  %7171 = load i32, ptr %37, align 4, !tbaa !9
  %7172 = add i32 %7171, %7170
  store i32 %7172, ptr %37, align 4, !tbaa !9
  %7173 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7173, ptr %7, align 4, !tbaa !9
  %7174 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %7174, ptr %37, align 4, !tbaa !9
  %7175 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %7175, ptr %38, align 4, !tbaa !9
  %7176 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %7176, ptr %39, align 4, !tbaa !9
  %7177 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %7177, ptr %40, align 4, !tbaa !9
  %7178 = load i32, ptr %40, align 4, !tbaa !9
  %7179 = load i32, ptr %39, align 4, !tbaa !9
  %7180 = and i32 %7179, %7178
  store i32 %7180, ptr %39, align 4, !tbaa !9
  %7181 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %7181, ptr %11, align 4, !tbaa !9
  store i32 44, ptr %40, align 4, !tbaa !9
  %7182 = load i32, ptr %40, align 4, !tbaa !9
  %7183 = load i32, ptr %39, align 4, !tbaa !9
  %7184 = mul i32 %7183, %7182
  store i32 %7184, ptr %39, align 4, !tbaa !9
  %7185 = load i32, ptr %39, align 4, !tbaa !9
  %7186 = load i32, ptr %38, align 4, !tbaa !9
  %7187 = add i32 %7186, %7185
  store i32 %7187, ptr %38, align 4, !tbaa !9
  %7188 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %7188, ptr %8, align 4, !tbaa !9
  %7189 = load ptr, ptr %4, align 8, !tbaa !5
  %7190 = getelementptr inbounds %struct.w2c_hermes, ptr %7189, i32 0, i32 6
  %7191 = load i32, ptr %38, align 4, !tbaa !9
  %7192 = zext i32 %7191 to i64
  %7193 = call i32 @i32_load(ptr noundef %7190, i64 noundef %7192)
  store i32 %7193, ptr %38, align 4, !tbaa !9
  %7194 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %7194, ptr %6, align 4, !tbaa !9
  %7195 = load i32, ptr %37, align 4, !tbaa !9
  %7196 = load i32, ptr %38, align 4, !tbaa !9
  %7197 = icmp ne i32 %7195, %7196
  %7198 = zext i1 %7197 to i32
  store i32 %7198, ptr %37, align 4, !tbaa !9
  %7199 = load i32, ptr %37, align 4, !tbaa !9
  %7200 = icmp ne i32 %7199, 0
  br i1 %7200, label %7201, label %7202

7201:                                             ; preds = %7160
  br label %7115

7202:                                             ; preds = %7160
  br label %7818

7203:                                             ; preds = %7133, %7065
  %7204 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %7204, ptr %37, align 4, !tbaa !9
  %7205 = load ptr, ptr %4, align 8, !tbaa !5
  %7206 = getelementptr inbounds %struct.w2c_hermes, ptr %7205, i32 0, i32 6
  %7207 = load i32, ptr %37, align 4, !tbaa !9
  %7208 = zext i32 %7207 to i64
  %7209 = add i64 %7208, 16
  %7210 = call i32 @i32_load(ptr noundef %7206, i64 noundef %7209)
  store i32 %7210, ptr %37, align 4, !tbaa !9
  %7211 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7211, ptr %6, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %7212 = load i32, ptr %38, align 4, !tbaa !9
  %7213 = and i32 %7212, 31
  %7214 = load i32, ptr %37, align 4, !tbaa !9
  %7215 = shl i32 %7214, %7213
  store i32 %7215, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %7216 = load i32, ptr %38, align 4, !tbaa !9
  %7217 = load i32, ptr %37, align 4, !tbaa !9
  %7218 = add i32 %7217, %7216
  store i32 %7218, ptr %37, align 4, !tbaa !9
  %7219 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7219, ptr %38, align 4, !tbaa !9
  store i32 3, ptr %39, align 4, !tbaa !9
  %7220 = load i32, ptr %39, align 4, !tbaa !9
  %7221 = load i32, ptr %38, align 4, !tbaa !9
  %7222 = mul i32 %7221, %7220
  store i32 %7222, ptr %38, align 4, !tbaa !9
  %7223 = load i32, ptr %37, align 4, !tbaa !9
  %7224 = load i32, ptr %38, align 4, !tbaa !9
  %7225 = icmp uge i32 %7223, %7224
  %7226 = zext i1 %7225 to i32
  store i32 %7226, ptr %37, align 4, !tbaa !9
  %7227 = load i32, ptr %37, align 4, !tbaa !9
  %7228 = icmp ne i32 %7227, 0
  br i1 %7228, label %7229, label %7236

7229:                                             ; preds = %7203
  %7230 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7230, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %7231 = load i32, ptr %38, align 4, !tbaa !9
  %7232 = and i32 %7231, 31
  %7233 = load i32, ptr %37, align 4, !tbaa !9
  %7234 = shl i32 %7233, %7232
  store i32 %7234, ptr %37, align 4, !tbaa !9
  %7235 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7235, ptr %11, align 4, !tbaa !9
  br label %7269

7236:                                             ; preds = %7203
  %7237 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7237, ptr %37, align 4, !tbaa !9
  %7238 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7238, ptr %11, align 4, !tbaa !9
  %7239 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %7239, ptr %38, align 4, !tbaa !9
  store i32 -1, ptr %39, align 4, !tbaa !9
  %7240 = load i32, ptr %39, align 4, !tbaa !9
  %7241 = load i32, ptr %38, align 4, !tbaa !9
  %7242 = xor i32 %7241, %7240
  store i32 %7242, ptr %38, align 4, !tbaa !9
  %7243 = load i32, ptr %38, align 4, !tbaa !9
  %7244 = load i32, ptr %37, align 4, !tbaa !9
  %7245 = add i32 %7244, %7243
  store i32 %7245, ptr %37, align 4, !tbaa !9
  %7246 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %7246, ptr %38, align 4, !tbaa !9
  %7247 = load ptr, ptr %4, align 8, !tbaa !5
  %7248 = getelementptr inbounds %struct.w2c_hermes, ptr %7247, i32 0, i32 6
  %7249 = load i32, ptr %38, align 4, !tbaa !9
  %7250 = zext i32 %7249 to i64
  %7251 = add i64 %7250, 20
  %7252 = call i32 @i32_load(ptr noundef %7248, i64 noundef %7251)
  store i32 %7252, ptr %38, align 4, !tbaa !9
  %7253 = load i32, ptr %38, align 4, !tbaa !9
  %7254 = load i32, ptr %37, align 4, !tbaa !9
  %7255 = sub i32 %7254, %7253
  store i32 %7255, ptr %37, align 4, !tbaa !9
  %7256 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7256, ptr %38, align 4, !tbaa !9
  store i32 3, ptr %39, align 4, !tbaa !9
  %7257 = load i32, ptr %39, align 4, !tbaa !9
  %7258 = and i32 %7257, 31
  %7259 = load i32, ptr %38, align 4, !tbaa !9
  %7260 = lshr i32 %7259, %7258
  store i32 %7260, ptr %38, align 4, !tbaa !9
  %7261 = load i32, ptr %37, align 4, !tbaa !9
  %7262 = load i32, ptr %38, align 4, !tbaa !9
  %7263 = icmp ugt i32 %7261, %7262
  %7264 = zext i1 %7263 to i32
  store i32 %7264, ptr %37, align 4, !tbaa !9
  %7265 = load i32, ptr %37, align 4, !tbaa !9
  %7266 = icmp ne i32 %7265, 0
  br i1 %7266, label %7267, label %7268

7267:                                             ; preds = %7236
  br label %7706

7268:                                             ; preds = %7236
  br label %7269

7269:                                             ; preds = %7268, %7229
  %7270 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %7270, ptr %37, align 4, !tbaa !9
  store i32 64, ptr %38, align 4, !tbaa !9
  %7271 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %7271, ptr %39, align 4, !tbaa !9
  store i32 1, ptr %40, align 4, !tbaa !9
  %7272 = load i32, ptr %40, align 4, !tbaa !9
  %7273 = load i32, ptr %39, align 4, !tbaa !9
  %7274 = sub i32 %7273, %7272
  store i32 %7274, ptr %39, align 4, !tbaa !9
  %7275 = load i32, ptr %39, align 4, !tbaa !9
  %7276 = zext i32 %7275 to i64
  store i64 %7276, ptr %45, align 8, !tbaa !11
  %7277 = load i64, ptr %45, align 8, !tbaa !11
  store i64 %7277, ptr %36, align 8, !tbaa !11
  store i64 1, ptr %46, align 8, !tbaa !11
  %7278 = load i64, ptr %46, align 8, !tbaa !11
  %7279 = and i64 %7278, 63
  %7280 = load i64, ptr %45, align 8, !tbaa !11
  %7281 = lshr i64 %7280, %7279
  store i64 %7281, ptr %45, align 8, !tbaa !11
  %7282 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %7282, ptr %46, align 8, !tbaa !11
  %7283 = load i64, ptr %46, align 8, !tbaa !11
  %7284 = load i64, ptr %45, align 8, !tbaa !11
  %7285 = or i64 %7284, %7283
  store i64 %7285, ptr %45, align 8, !tbaa !11
  %7286 = load i64, ptr %45, align 8, !tbaa !11
  store i64 %7286, ptr %36, align 8, !tbaa !11
  store i64 2, ptr %46, align 8, !tbaa !11
  %7287 = load i64, ptr %46, align 8, !tbaa !11
  %7288 = and i64 %7287, 63
  %7289 = load i64, ptr %45, align 8, !tbaa !11
  %7290 = lshr i64 %7289, %7288
  store i64 %7290, ptr %45, align 8, !tbaa !11
  %7291 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %7291, ptr %46, align 8, !tbaa !11
  %7292 = load i64, ptr %46, align 8, !tbaa !11
  %7293 = load i64, ptr %45, align 8, !tbaa !11
  %7294 = or i64 %7293, %7292
  store i64 %7294, ptr %45, align 8, !tbaa !11
  %7295 = load i64, ptr %45, align 8, !tbaa !11
  store i64 %7295, ptr %36, align 8, !tbaa !11
  store i64 4, ptr %46, align 8, !tbaa !11
  %7296 = load i64, ptr %46, align 8, !tbaa !11
  %7297 = and i64 %7296, 63
  %7298 = load i64, ptr %45, align 8, !tbaa !11
  %7299 = lshr i64 %7298, %7297
  store i64 %7299, ptr %45, align 8, !tbaa !11
  %7300 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %7300, ptr %46, align 8, !tbaa !11
  %7301 = load i64, ptr %46, align 8, !tbaa !11
  %7302 = load i64, ptr %45, align 8, !tbaa !11
  %7303 = or i64 %7302, %7301
  store i64 %7303, ptr %45, align 8, !tbaa !11
  %7304 = load i64, ptr %45, align 8, !tbaa !11
  store i64 %7304, ptr %36, align 8, !tbaa !11
  store i64 8, ptr %46, align 8, !tbaa !11
  %7305 = load i64, ptr %46, align 8, !tbaa !11
  %7306 = and i64 %7305, 63
  %7307 = load i64, ptr %45, align 8, !tbaa !11
  %7308 = lshr i64 %7307, %7306
  store i64 %7308, ptr %45, align 8, !tbaa !11
  %7309 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %7309, ptr %46, align 8, !tbaa !11
  %7310 = load i64, ptr %46, align 8, !tbaa !11
  %7311 = load i64, ptr %45, align 8, !tbaa !11
  %7312 = or i64 %7311, %7310
  store i64 %7312, ptr %45, align 8, !tbaa !11
  %7313 = load i64, ptr %45, align 8, !tbaa !11
  store i64 %7313, ptr %36, align 8, !tbaa !11
  store i64 16, ptr %46, align 8, !tbaa !11
  %7314 = load i64, ptr %46, align 8, !tbaa !11
  %7315 = and i64 %7314, 63
  %7316 = load i64, ptr %45, align 8, !tbaa !11
  %7317 = lshr i64 %7316, %7315
  store i64 %7317, ptr %45, align 8, !tbaa !11
  %7318 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %7318, ptr %46, align 8, !tbaa !11
  %7319 = load i64, ptr %46, align 8, !tbaa !11
  %7320 = load i64, ptr %45, align 8, !tbaa !11
  %7321 = or i64 %7320, %7319
  store i64 %7321, ptr %45, align 8, !tbaa !11
  %7322 = load i64, ptr %45, align 8, !tbaa !11
  %7323 = trunc i64 %7322 to i32
  store i32 %7323, ptr %39, align 4, !tbaa !9
  store i32 1, ptr %40, align 4, !tbaa !9
  %7324 = load i32, ptr %40, align 4, !tbaa !9
  %7325 = load i32, ptr %39, align 4, !tbaa !9
  %7326 = add i32 %7325, %7324
  store i32 %7326, ptr %39, align 4, !tbaa !9
  %7327 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %7327, ptr %6, align 4, !tbaa !9
  %7328 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %7328, ptr %40, align 4, !tbaa !9
  store i32 64, ptr %41, align 4, !tbaa !9
  %7329 = load i32, ptr %40, align 4, !tbaa !9
  %7330 = load i32, ptr %41, align 4, !tbaa !9
  %7331 = icmp ule i32 %7329, %7330
  %7332 = zext i1 %7331 to i32
  store i32 %7332, ptr %40, align 4, !tbaa !9
  %7333 = load i32, ptr %40, align 4, !tbaa !9
  %7334 = icmp ne i32 %7333, 0
  br i1 %7334, label %7335, label %7337

7335:                                             ; preds = %7269
  %7336 = load i32, ptr %38, align 4, !tbaa !9
  br label %7339

7337:                                             ; preds = %7269
  %7338 = load i32, ptr %39, align 4, !tbaa !9
  br label %7339

7339:                                             ; preds = %7337, %7335
  %7340 = phi i32 [ %7336, %7335 ], [ %7338, %7337 ]
  store i32 %7340, ptr %38, align 4, !tbaa !9
  %7341 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %7341, ptr %6, align 4, !tbaa !9
  %7342 = load ptr, ptr %4, align 8, !tbaa !5
  %7343 = getelementptr inbounds %struct.w2c_hermes, ptr %7342, i32 0, i32 6
  %7344 = load i32, ptr %37, align 4, !tbaa !9
  %7345 = zext i32 %7344 to i64
  %7346 = add i64 %7345, 24
  %7347 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7343, i64 noundef %7346, i32 noundef %7347)
  %7348 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %7348, ptr %37, align 4, !tbaa !9
  %7349 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %7349, ptr %38, align 4, !tbaa !9
  store i32 44, ptr %39, align 4, !tbaa !9
  %7350 = load i32, ptr %39, align 4, !tbaa !9
  %7351 = load i32, ptr %38, align 4, !tbaa !9
  %7352 = mul i32 %7351, %7350
  store i32 %7352, ptr %38, align 4, !tbaa !9
  %7353 = load ptr, ptr %4, align 8, !tbaa !5
  %7354 = load i32, ptr %38, align 4, !tbaa !9
  %7355 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %7353, i32 noundef %7354)
  store i32 %7355, ptr %38, align 4, !tbaa !9
  %7356 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %7356, ptr %6, align 4, !tbaa !9
  %7357 = load ptr, ptr %4, align 8, !tbaa !5
  %7358 = getelementptr inbounds %struct.w2c_hermes, ptr %7357, i32 0, i32 6
  %7359 = load i32, ptr %37, align 4, !tbaa !9
  %7360 = zext i32 %7359 to i64
  %7361 = add i64 %7360, 12
  %7362 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7358, i64 noundef %7361, i32 noundef %7362)
  %7363 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %7363, ptr %37, align 4, !tbaa !9
  %7364 = load i32, ptr %37, align 4, !tbaa !9
  %7365 = icmp ne i32 %7364, 0
  %7366 = xor i1 %7365, true
  %7367 = zext i1 %7366 to i32
  store i32 %7367, ptr %37, align 4, !tbaa !9
  %7368 = load i32, ptr %37, align 4, !tbaa !9
  %7369 = icmp ne i32 %7368, 0
  br i1 %7369, label %7370, label %7535

7370:                                             ; preds = %7339
  %7371 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %7371, ptr %37, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %7372 = load ptr, ptr %4, align 8, !tbaa !5
  %7373 = getelementptr inbounds %struct.w2c_hermes, ptr %7372, i32 0, i32 6
  %7374 = load i32, ptr %37, align 4, !tbaa !9
  %7375 = zext i32 %7374 to i64
  %7376 = add i64 %7375, 16
  %7377 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %7373, i64 noundef %7376, i64 noundef %7377)
  store i32 0, ptr %37, align 4, !tbaa !9
  %7378 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7378, ptr %7, align 4, !tbaa !9
  %7379 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %7379, ptr %37, align 4, !tbaa !9
  %7380 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7380, ptr %8, align 4, !tbaa !9
  %7381 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %7381, ptr %37, align 4, !tbaa !9
  %7382 = load ptr, ptr %4, align 8, !tbaa !5
  %7383 = getelementptr inbounds %struct.w2c_hermes, ptr %7382, i32 0, i32 6
  %7384 = load i32, ptr %37, align 4, !tbaa !9
  %7385 = zext i32 %7384 to i64
  %7386 = add i64 %7385, 24
  %7387 = call i32 @i32_load(ptr noundef %7383, i64 noundef %7386)
  store i32 %7387, ptr %37, align 4, !tbaa !9
  %7388 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7388, ptr %11, align 4, !tbaa !9
  store i32 44, ptr %38, align 4, !tbaa !9
  %7389 = load i32, ptr %38, align 4, !tbaa !9
  %7390 = load i32, ptr %37, align 4, !tbaa !9
  %7391 = mul i32 %7390, %7389
  store i32 %7391, ptr %37, align 4, !tbaa !9
  %7392 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7392, ptr %10, align 4, !tbaa !9
  store i32 44, ptr %38, align 4, !tbaa !9
  %7393 = load i32, ptr %38, align 4, !tbaa !9
  %7394 = load i32, ptr %37, align 4, !tbaa !9
  %7395 = sub i32 %7394, %7393
  store i32 %7395, ptr %37, align 4, !tbaa !9
  %7396 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7396, ptr %9, align 4, !tbaa !9
  store i32 44, ptr %38, align 4, !tbaa !9
  %7397 = load i32, ptr %38, align 4, !tbaa !9
  %7398 = icmp eq i32 %7397, 0
  %7399 = xor i1 %7398, true
  %7400 = xor i1 %7399, true
  %7401 = zext i1 %7400 to i32
  %7402 = sext i32 %7401 to i64
  %7403 = call i64 @llvm.expect.i64(i64 %7402, i64 0)
  %7404 = icmp ne i64 %7403, 0
  br i1 %7404, label %7405, label %7407

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

7406:                                             ; No predecessors!
  br label %7411

7407:                                             ; preds = %7370
  %7408 = load i32, ptr %37, align 4, !tbaa !9
  %7409 = load i32, ptr %38, align 4, !tbaa !9
  %7410 = udiv i32 %7408, %7409
  br label %7411

7411:                                             ; preds = %7407, %7406
  %7412 = phi i32 [ 0, %7406 ], [ %7410, %7407 ]
  store i32 %7412, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %7413 = load i32, ptr %38, align 4, !tbaa !9
  %7414 = load i32, ptr %37, align 4, !tbaa !9
  %7415 = add i32 %7414, %7413
  store i32 %7415, ptr %37, align 4, !tbaa !9
  store i32 7, ptr %38, align 4, !tbaa !9
  %7416 = load i32, ptr %38, align 4, !tbaa !9
  %7417 = load i32, ptr %37, align 4, !tbaa !9
  %7418 = and i32 %7417, %7416
  store i32 %7418, ptr %37, align 4, !tbaa !9
  %7419 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7419, ptr %12, align 4, !tbaa !9
  %7420 = load i32, ptr %37, align 4, !tbaa !9
  %7421 = icmp ne i32 %7420, 0
  br i1 %7421, label %7422, label %7449

7422:                                             ; preds = %7411
  br label %7423

7423:                                             ; preds = %7447, %7422
  %7424 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %7424, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %7425 = load ptr, ptr %4, align 8, !tbaa !5
  %7426 = getelementptr inbounds %struct.w2c_hermes, ptr %7425, i32 0, i32 6
  %7427 = load i32, ptr %37, align 4, !tbaa !9
  %7428 = zext i32 %7427 to i64
  %7429 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7426, i64 noundef %7428, i32 noundef %7429)
  %7430 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %7430, ptr %37, align 4, !tbaa !9
  store i32 44, ptr %38, align 4, !tbaa !9
  %7431 = load i32, ptr %38, align 4, !tbaa !9
  %7432 = load i32, ptr %37, align 4, !tbaa !9
  %7433 = add i32 %7432, %7431
  store i32 %7433, ptr %37, align 4, !tbaa !9
  %7434 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7434, ptr %8, align 4, !tbaa !9
  %7435 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %7435, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %7436 = load i32, ptr %38, align 4, !tbaa !9
  %7437 = load i32, ptr %37, align 4, !tbaa !9
  %7438 = add i32 %7437, %7436
  store i32 %7438, ptr %37, align 4, !tbaa !9
  %7439 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7439, ptr %7, align 4, !tbaa !9
  %7440 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %7440, ptr %38, align 4, !tbaa !9
  %7441 = load i32, ptr %37, align 4, !tbaa !9
  %7442 = load i32, ptr %38, align 4, !tbaa !9
  %7443 = icmp ne i32 %7441, %7442
  %7444 = zext i1 %7443 to i32
  store i32 %7444, ptr %37, align 4, !tbaa !9
  %7445 = load i32, ptr %37, align 4, !tbaa !9
  %7446 = icmp ne i32 %7445, 0
  br i1 %7446, label %7447, label %7448

7447:                                             ; preds = %7423
  br label %7423

7448:                                             ; preds = %7423
  br label %7449

7449:                                             ; preds = %7448, %7411
  %7450 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %7450, ptr %37, align 4, !tbaa !9
  store i32 308, ptr %38, align 4, !tbaa !9
  %7451 = load i32, ptr %37, align 4, !tbaa !9
  %7452 = load i32, ptr %38, align 4, !tbaa !9
  %7453 = icmp ult i32 %7451, %7452
  %7454 = zext i1 %7453 to i32
  store i32 %7454, ptr %37, align 4, !tbaa !9
  %7455 = load i32, ptr %37, align 4, !tbaa !9
  %7456 = icmp ne i32 %7455, 0
  br i1 %7456, label %7457, label %7458

7457:                                             ; preds = %7449
  br label %7569

7458:                                             ; preds = %7449
  %7459 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %7459, ptr %37, align 4, !tbaa !9
  %7460 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7460, ptr %38, align 4, !tbaa !9
  %7461 = load i32, ptr %38, align 4, !tbaa !9
  %7462 = load i32, ptr %37, align 4, !tbaa !9
  %7463 = add i32 %7462, %7461
  store i32 %7463, ptr %37, align 4, !tbaa !9
  %7464 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7464, ptr %7, align 4, !tbaa !9
  br label %7465

7465:                                             ; preds = %7533, %7458
  %7466 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %7466, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %7467 = load ptr, ptr %4, align 8, !tbaa !5
  %7468 = getelementptr inbounds %struct.w2c_hermes, ptr %7467, i32 0, i32 6
  %7469 = load i32, ptr %37, align 4, !tbaa !9
  %7470 = zext i32 %7469 to i64
  %7471 = add i64 %7470, 308
  %7472 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7468, i64 noundef %7471, i32 noundef %7472)
  %7473 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %7473, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %7474 = load ptr, ptr %4, align 8, !tbaa !5
  %7475 = getelementptr inbounds %struct.w2c_hermes, ptr %7474, i32 0, i32 6
  %7476 = load i32, ptr %37, align 4, !tbaa !9
  %7477 = zext i32 %7476 to i64
  %7478 = add i64 %7477, 264
  %7479 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7475, i64 noundef %7478, i32 noundef %7479)
  %7480 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %7480, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %7481 = load ptr, ptr %4, align 8, !tbaa !5
  %7482 = getelementptr inbounds %struct.w2c_hermes, ptr %7481, i32 0, i32 6
  %7483 = load i32, ptr %37, align 4, !tbaa !9
  %7484 = zext i32 %7483 to i64
  %7485 = add i64 %7484, 220
  %7486 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7482, i64 noundef %7485, i32 noundef %7486)
  %7487 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %7487, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %7488 = load ptr, ptr %4, align 8, !tbaa !5
  %7489 = getelementptr inbounds %struct.w2c_hermes, ptr %7488, i32 0, i32 6
  %7490 = load i32, ptr %37, align 4, !tbaa !9
  %7491 = zext i32 %7490 to i64
  %7492 = add i64 %7491, 176
  %7493 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7489, i64 noundef %7492, i32 noundef %7493)
  %7494 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %7494, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %7495 = load ptr, ptr %4, align 8, !tbaa !5
  %7496 = getelementptr inbounds %struct.w2c_hermes, ptr %7495, i32 0, i32 6
  %7497 = load i32, ptr %37, align 4, !tbaa !9
  %7498 = zext i32 %7497 to i64
  %7499 = add i64 %7498, 132
  %7500 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7496, i64 noundef %7499, i32 noundef %7500)
  %7501 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %7501, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %7502 = load ptr, ptr %4, align 8, !tbaa !5
  %7503 = getelementptr inbounds %struct.w2c_hermes, ptr %7502, i32 0, i32 6
  %7504 = load i32, ptr %37, align 4, !tbaa !9
  %7505 = zext i32 %7504 to i64
  %7506 = add i64 %7505, 88
  %7507 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7503, i64 noundef %7506, i32 noundef %7507)
  %7508 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %7508, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %7509 = load ptr, ptr %4, align 8, !tbaa !5
  %7510 = getelementptr inbounds %struct.w2c_hermes, ptr %7509, i32 0, i32 6
  %7511 = load i32, ptr %37, align 4, !tbaa !9
  %7512 = zext i32 %7511 to i64
  %7513 = add i64 %7512, 44
  %7514 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7510, i64 noundef %7513, i32 noundef %7514)
  %7515 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %7515, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %7516 = load ptr, ptr %4, align 8, !tbaa !5
  %7517 = getelementptr inbounds %struct.w2c_hermes, ptr %7516, i32 0, i32 6
  %7518 = load i32, ptr %37, align 4, !tbaa !9
  %7519 = zext i32 %7518 to i64
  %7520 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7517, i64 noundef %7519, i32 noundef %7520)
  %7521 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %7521, ptr %37, align 4, !tbaa !9
  store i32 352, ptr %38, align 4, !tbaa !9
  %7522 = load i32, ptr %38, align 4, !tbaa !9
  %7523 = load i32, ptr %37, align 4, !tbaa !9
  %7524 = add i32 %7523, %7522
  store i32 %7524, ptr %37, align 4, !tbaa !9
  %7525 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7525, ptr %8, align 4, !tbaa !9
  %7526 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %7526, ptr %38, align 4, !tbaa !9
  %7527 = load i32, ptr %37, align 4, !tbaa !9
  %7528 = load i32, ptr %38, align 4, !tbaa !9
  %7529 = icmp ne i32 %7527, %7528
  %7530 = zext i1 %7529 to i32
  store i32 %7530, ptr %37, align 4, !tbaa !9
  %7531 = load i32, ptr %37, align 4, !tbaa !9
  %7532 = icmp ne i32 %7531, 0
  br i1 %7532, label %7533, label %7534

7533:                                             ; preds = %7465
  br label %7465

7534:                                             ; preds = %7465
  br label %7569

7535:                                             ; preds = %7339
  %7536 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %7536, ptr %37, align 4, !tbaa !9
  %7537 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %7537, ptr %38, align 4, !tbaa !9
  %7538 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %7538, ptr %39, align 4, !tbaa !9
  %7539 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7539, ptr %40, align 4, !tbaa !9
  store i32 44, ptr %41, align 4, !tbaa !9
  %7540 = load i32, ptr %41, align 4, !tbaa !9
  %7541 = load i32, ptr %40, align 4, !tbaa !9
  %7542 = mul i32 %7541, %7540
  store i32 %7542, ptr %40, align 4, !tbaa !9
  %7543 = load i32, ptr %40, align 4, !tbaa !9
  %7544 = load i32, ptr %39, align 4, !tbaa !9
  %7545 = add i32 %7544, %7543
  store i32 %7545, ptr %39, align 4, !tbaa !9
  %7546 = load ptr, ptr %4, align 8, !tbaa !5
  %7547 = load i32, ptr %37, align 4, !tbaa !9
  %7548 = load i32, ptr %38, align 4, !tbaa !9
  %7549 = load i32, ptr %39, align 4, !tbaa !9
  call void @w2c_hermes_llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x3A0x3AmoveFromOldBuckets0x28llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x29(ptr noundef %7546, i32 noundef %7547, i32 noundef %7548, i32 noundef %7549)
  %7550 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %7550, ptr %37, align 4, !tbaa !9
  %7551 = load ptr, ptr %4, align 8, !tbaa !5
  %7552 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %7551, i32 noundef %7552)
  %7553 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %7553, ptr %37, align 4, !tbaa !9
  %7554 = load ptr, ptr %4, align 8, !tbaa !5
  %7555 = getelementptr inbounds %struct.w2c_hermes, ptr %7554, i32 0, i32 6
  %7556 = load i32, ptr %37, align 4, !tbaa !9
  %7557 = zext i32 %7556 to i64
  %7558 = add i64 %7557, 12
  %7559 = call i32 @i32_load(ptr noundef %7555, i64 noundef %7558)
  store i32 %7559, ptr %37, align 4, !tbaa !9
  %7560 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7560, ptr %6, align 4, !tbaa !9
  %7561 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %7561, ptr %37, align 4, !tbaa !9
  %7562 = load ptr, ptr %4, align 8, !tbaa !5
  %7563 = getelementptr inbounds %struct.w2c_hermes, ptr %7562, i32 0, i32 6
  %7564 = load i32, ptr %37, align 4, !tbaa !9
  %7565 = zext i32 %7564 to i64
  %7566 = add i64 %7565, 24
  %7567 = call i32 @i32_load(ptr noundef %7563, i64 noundef %7566)
  store i32 %7567, ptr %37, align 4, !tbaa !9
  %7568 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7568, ptr %11, align 4, !tbaa !9
  br label %7569

7569:                                             ; preds = %7535, %7534, %7457
  %7570 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %7570, ptr %37, align 4, !tbaa !9
  %7571 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %7571, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %7572 = load i32, ptr %39, align 4, !tbaa !9
  %7573 = load i32, ptr %38, align 4, !tbaa !9
  %7574 = sub i32 %7573, %7572
  store i32 %7574, ptr %38, align 4, !tbaa !9
  %7575 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %7575, ptr %11, align 4, !tbaa !9
  %7576 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %7576, ptr %39, align 4, !tbaa !9
  store i32 4, ptr %40, align 4, !tbaa !9
  %7577 = load i32, ptr %40, align 4, !tbaa !9
  %7578 = and i32 %7577, 31
  %7579 = load i32, ptr %39, align 4, !tbaa !9
  %7580 = lshr i32 %7579, %7578
  store i32 %7580, ptr %39, align 4, !tbaa !9
  %7581 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %7581, ptr %40, align 4, !tbaa !9
  store i32 9, ptr %41, align 4, !tbaa !9
  %7582 = load i32, ptr %41, align 4, !tbaa !9
  %7583 = and i32 %7582, 31
  %7584 = load i32, ptr %40, align 4, !tbaa !9
  %7585 = lshr i32 %7584, %7583
  store i32 %7585, ptr %40, align 4, !tbaa !9
  %7586 = load i32, ptr %40, align 4, !tbaa !9
  %7587 = load i32, ptr %39, align 4, !tbaa !9
  %7588 = xor i32 %7587, %7586
  store i32 %7588, ptr %39, align 4, !tbaa !9
  %7589 = load i32, ptr %39, align 4, !tbaa !9
  %7590 = load i32, ptr %38, align 4, !tbaa !9
  %7591 = and i32 %7590, %7589
  store i32 %7591, ptr %38, align 4, !tbaa !9
  %7592 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %7592, ptr %12, align 4, !tbaa !9
  store i32 44, ptr %39, align 4, !tbaa !9
  %7593 = load i32, ptr %39, align 4, !tbaa !9
  %7594 = load i32, ptr %38, align 4, !tbaa !9
  %7595 = mul i32 %7594, %7593
  store i32 %7595, ptr %38, align 4, !tbaa !9
  %7596 = load i32, ptr %38, align 4, !tbaa !9
  %7597 = load i32, ptr %37, align 4, !tbaa !9
  %7598 = add i32 %7597, %7596
  store i32 %7598, ptr %37, align 4, !tbaa !9
  %7599 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7599, ptr %8, align 4, !tbaa !9
  %7600 = load ptr, ptr %4, align 8, !tbaa !5
  %7601 = getelementptr inbounds %struct.w2c_hermes, ptr %7600, i32 0, i32 6
  %7602 = load i32, ptr %37, align 4, !tbaa !9
  %7603 = zext i32 %7602 to i64
  %7604 = call i32 @i32_load(ptr noundef %7601, i64 noundef %7603)
  store i32 %7604, ptr %37, align 4, !tbaa !9
  %7605 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7605, ptr %7, align 4, !tbaa !9
  %7606 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %7606, ptr %38, align 4, !tbaa !9
  %7607 = load i32, ptr %37, align 4, !tbaa !9
  %7608 = load i32, ptr %38, align 4, !tbaa !9
  %7609 = icmp ne i32 %7607, %7608
  %7610 = zext i1 %7609 to i32
  store i32 %7610, ptr %37, align 4, !tbaa !9
  %7611 = load i32, ptr %37, align 4, !tbaa !9
  %7612 = icmp ne i32 %7611, 0
  br i1 %7612, label %7613, label %7704

7613:                                             ; preds = %7569
  store i32 0, ptr %37, align 4, !tbaa !9
  %7614 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7614, ptr %15, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %7615 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7615, ptr %9, align 4, !tbaa !9
  br label %7616

7616:                                             ; preds = %7702, %7613
  %7617 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %7617, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %7618 = load i32, ptr %37, align 4, !tbaa !9
  %7619 = load i32, ptr %38, align 4, !tbaa !9
  %7620 = icmp eq i32 %7618, %7619
  %7621 = zext i1 %7620 to i32
  store i32 %7621, ptr %37, align 4, !tbaa !9
  %7622 = load i32, ptr %37, align 4, !tbaa !9
  %7623 = icmp ne i32 %7622, 0
  br i1 %7623, label %7624, label %7637

7624:                                             ; preds = %7616
  %7625 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %7625, ptr %37, align 4, !tbaa !9
  %7626 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %7626, ptr %38, align 4, !tbaa !9
  %7627 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %7627, ptr %39, align 4, !tbaa !9
  %7628 = load i32, ptr %39, align 4, !tbaa !9
  %7629 = icmp ne i32 %7628, 0
  br i1 %7629, label %7630, label %7632

7630:                                             ; preds = %7624
  %7631 = load i32, ptr %37, align 4, !tbaa !9
  br label %7634

7632:                                             ; preds = %7624
  %7633 = load i32, ptr %38, align 4, !tbaa !9
  br label %7634

7634:                                             ; preds = %7632, %7630
  %7635 = phi i32 [ %7631, %7630 ], [ %7633, %7632 ]
  store i32 %7635, ptr %37, align 4, !tbaa !9
  %7636 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7636, ptr %8, align 4, !tbaa !9
  br label %7706

7637:                                             ; preds = %7616
  %7638 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %7638, ptr %37, align 4, !tbaa !9
  %7639 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %7639, ptr %38, align 4, !tbaa !9
  %7640 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %7640, ptr %39, align 4, !tbaa !9
  %7641 = load i32, ptr %39, align 4, !tbaa !9
  %7642 = icmp ne i32 %7641, 0
  br i1 %7642, label %7643, label %7645

7643:                                             ; preds = %7637
  %7644 = load i32, ptr %37, align 4, !tbaa !9
  br label %7647

7645:                                             ; preds = %7637
  %7646 = load i32, ptr %38, align 4, !tbaa !9
  br label %7647

7647:                                             ; preds = %7645, %7643
  %7648 = phi i32 [ %7644, %7643 ], [ %7646, %7645 ]
  store i32 %7648, ptr %37, align 4, !tbaa !9
  %7649 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %7649, ptr %38, align 4, !tbaa !9
  %7650 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %7650, ptr %39, align 4, !tbaa !9
  store i32 -8, ptr %40, align 4, !tbaa !9
  %7651 = load i32, ptr %39, align 4, !tbaa !9
  %7652 = load i32, ptr %40, align 4, !tbaa !9
  %7653 = icmp eq i32 %7651, %7652
  %7654 = zext i1 %7653 to i32
  store i32 %7654, ptr %39, align 4, !tbaa !9
  %7655 = load i32, ptr %39, align 4, !tbaa !9
  %7656 = icmp ne i32 %7655, 0
  br i1 %7656, label %7657, label %7659

7657:                                             ; preds = %7647
  %7658 = load i32, ptr %37, align 4, !tbaa !9
  br label %7661

7659:                                             ; preds = %7647
  %7660 = load i32, ptr %38, align 4, !tbaa !9
  br label %7661

7661:                                             ; preds = %7659, %7657
  %7662 = phi i32 [ %7658, %7657 ], [ %7660, %7659 ]
  store i32 %7662, ptr %37, align 4, !tbaa !9
  %7663 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7663, ptr %15, align 4, !tbaa !9
  %7664 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %7664, ptr %37, align 4, !tbaa !9
  %7665 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %7665, ptr %38, align 4, !tbaa !9
  %7666 = load i32, ptr %38, align 4, !tbaa !9
  %7667 = load i32, ptr %37, align 4, !tbaa !9
  %7668 = add i32 %7667, %7666
  store i32 %7668, ptr %37, align 4, !tbaa !9
  %7669 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7669, ptr %7, align 4, !tbaa !9
  %7670 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %7670, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %7671 = load i32, ptr %38, align 4, !tbaa !9
  %7672 = load i32, ptr %37, align 4, !tbaa !9
  %7673 = add i32 %7672, %7671
  store i32 %7673, ptr %37, align 4, !tbaa !9
  %7674 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7674, ptr %9, align 4, !tbaa !9
  %7675 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %7675, ptr %37, align 4, !tbaa !9
  %7676 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %7676, ptr %38, align 4, !tbaa !9
  %7677 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %7677, ptr %39, align 4, !tbaa !9
  %7678 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %7678, ptr %40, align 4, !tbaa !9
  %7679 = load i32, ptr %40, align 4, !tbaa !9
  %7680 = load i32, ptr %39, align 4, !tbaa !9
  %7681 = and i32 %7680, %7679
  store i32 %7681, ptr %39, align 4, !tbaa !9
  %7682 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %7682, ptr %12, align 4, !tbaa !9
  store i32 44, ptr %40, align 4, !tbaa !9
  %7683 = load i32, ptr %40, align 4, !tbaa !9
  %7684 = load i32, ptr %39, align 4, !tbaa !9
  %7685 = mul i32 %7684, %7683
  store i32 %7685, ptr %39, align 4, !tbaa !9
  %7686 = load i32, ptr %39, align 4, !tbaa !9
  %7687 = load i32, ptr %38, align 4, !tbaa !9
  %7688 = add i32 %7687, %7686
  store i32 %7688, ptr %38, align 4, !tbaa !9
  %7689 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %7689, ptr %8, align 4, !tbaa !9
  %7690 = load ptr, ptr %4, align 8, !tbaa !5
  %7691 = getelementptr inbounds %struct.w2c_hermes, ptr %7690, i32 0, i32 6
  %7692 = load i32, ptr %38, align 4, !tbaa !9
  %7693 = zext i32 %7692 to i64
  %7694 = call i32 @i32_load(ptr noundef %7691, i64 noundef %7693)
  store i32 %7694, ptr %38, align 4, !tbaa !9
  %7695 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %7695, ptr %7, align 4, !tbaa !9
  %7696 = load i32, ptr %37, align 4, !tbaa !9
  %7697 = load i32, ptr %38, align 4, !tbaa !9
  %7698 = icmp ne i32 %7696, %7697
  %7699 = zext i1 %7698 to i32
  store i32 %7699, ptr %37, align 4, !tbaa !9
  %7700 = load i32, ptr %37, align 4, !tbaa !9
  %7701 = icmp ne i32 %7700, 0
  br i1 %7701, label %7702, label %7703

7702:                                             ; preds = %7661
  br label %7616

7703:                                             ; preds = %7661
  br label %7704

7704:                                             ; preds = %7703, %7569
  %7705 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %7705, ptr %37, align 4, !tbaa !9
  br label %7713

7706:                                             ; preds = %7634, %7267
  %7707 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %7707, ptr %37, align 4, !tbaa !9
  %7708 = load ptr, ptr %4, align 8, !tbaa !5
  %7709 = getelementptr inbounds %struct.w2c_hermes, ptr %7708, i32 0, i32 6
  %7710 = load i32, ptr %37, align 4, !tbaa !9
  %7711 = zext i32 %7710 to i64
  %7712 = call i32 @i32_load(ptr noundef %7709, i64 noundef %7711)
  store i32 %7712, ptr %37, align 4, !tbaa !9
  br label %7713

7713:                                             ; preds = %7706, %7704
  %7714 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7714, ptr %6, align 4, !tbaa !9
  %7715 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %7715, ptr %37, align 4, !tbaa !9
  %7716 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %7716, ptr %38, align 4, !tbaa !9
  %7717 = load ptr, ptr %4, align 8, !tbaa !5
  %7718 = getelementptr inbounds %struct.w2c_hermes, ptr %7717, i32 0, i32 6
  %7719 = load i32, ptr %38, align 4, !tbaa !9
  %7720 = zext i32 %7719 to i64
  %7721 = add i64 %7720, 16
  %7722 = call i32 @i32_load(ptr noundef %7718, i64 noundef %7721)
  store i32 %7722, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %7723 = load i32, ptr %39, align 4, !tbaa !9
  %7724 = load i32, ptr %38, align 4, !tbaa !9
  %7725 = add i32 %7724, %7723
  store i32 %7725, ptr %38, align 4, !tbaa !9
  %7726 = load ptr, ptr %4, align 8, !tbaa !5
  %7727 = getelementptr inbounds %struct.w2c_hermes, ptr %7726, i32 0, i32 6
  %7728 = load i32, ptr %37, align 4, !tbaa !9
  %7729 = zext i32 %7728 to i64
  %7730 = add i64 %7729, 16
  %7731 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7727, i64 noundef %7730, i32 noundef %7731)
  %7732 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %7732, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %7733 = load i32, ptr %37, align 4, !tbaa !9
  %7734 = load i32, ptr %38, align 4, !tbaa !9
  %7735 = icmp ne i32 %7733, %7734
  %7736 = zext i1 %7735 to i32
  store i32 %7736, ptr %37, align 4, !tbaa !9
  %7737 = load i32, ptr %37, align 4, !tbaa !9
  %7738 = icmp ne i32 %7737, 0
  br i1 %7738, label %7739, label %7757

7739:                                             ; preds = %7713
  %7740 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %7740, ptr %37, align 4, !tbaa !9
  %7741 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %7741, ptr %38, align 4, !tbaa !9
  %7742 = load ptr, ptr %4, align 8, !tbaa !5
  %7743 = getelementptr inbounds %struct.w2c_hermes, ptr %7742, i32 0, i32 6
  %7744 = load i32, ptr %38, align 4, !tbaa !9
  %7745 = zext i32 %7744 to i64
  %7746 = add i64 %7745, 20
  %7747 = call i32 @i32_load(ptr noundef %7743, i64 noundef %7746)
  store i32 %7747, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %7748 = load i32, ptr %39, align 4, !tbaa !9
  %7749 = load i32, ptr %38, align 4, !tbaa !9
  %7750 = sub i32 %7749, %7748
  store i32 %7750, ptr %38, align 4, !tbaa !9
  %7751 = load ptr, ptr %4, align 8, !tbaa !5
  %7752 = getelementptr inbounds %struct.w2c_hermes, ptr %7751, i32 0, i32 6
  %7753 = load i32, ptr %37, align 4, !tbaa !9
  %7754 = zext i32 %7753 to i64
  %7755 = add i64 %7754, 20
  %7756 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7752, i64 noundef %7755, i32 noundef %7756)
  br label %7757

7757:                                             ; preds = %7739, %7713
  %7758 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %7758, ptr %37, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %7759 = load ptr, ptr %4, align 8, !tbaa !5
  %7760 = getelementptr inbounds %struct.w2c_hermes, ptr %7759, i32 0, i32 6
  %7761 = load i32, ptr %37, align 4, !tbaa !9
  %7762 = zext i32 %7761 to i64
  %7763 = add i64 %7762, 28
  %7764 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %7760, i64 noundef %7763, i64 noundef %7764)
  %7765 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %7765, ptr %37, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %7766 = load ptr, ptr %4, align 8, !tbaa !5
  %7767 = getelementptr inbounds %struct.w2c_hermes, ptr %7766, i32 0, i32 6
  %7768 = load i32, ptr %37, align 4, !tbaa !9
  %7769 = zext i32 %7768 to i64
  %7770 = add i64 %7769, 20
  %7771 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %7767, i64 noundef %7770, i64 noundef %7771)
  %7772 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %7772, ptr %37, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %7773 = load ptr, ptr %4, align 8, !tbaa !5
  %7774 = getelementptr inbounds %struct.w2c_hermes, ptr %7773, i32 0, i32 6
  %7775 = load i32, ptr %37, align 4, !tbaa !9
  %7776 = zext i32 %7775 to i64
  %7777 = add i64 %7776, 4
  %7778 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %7774, i64 noundef %7777, i64 noundef %7778)
  %7779 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %7779, ptr %37, align 4, !tbaa !9
  %7780 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %7780, ptr %38, align 4, !tbaa !9
  %7781 = load ptr, ptr %4, align 8, !tbaa !5
  %7782 = getelementptr inbounds %struct.w2c_hermes, ptr %7781, i32 0, i32 6
  %7783 = load i32, ptr %37, align 4, !tbaa !9
  %7784 = zext i32 %7783 to i64
  %7785 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7782, i64 noundef %7784, i32 noundef %7785)
  %7786 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %7786, ptr %37, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %7787 = load ptr, ptr %4, align 8, !tbaa !5
  %7788 = getelementptr inbounds %struct.w2c_hermes, ptr %7787, i32 0, i32 6
  %7789 = load i32, ptr %37, align 4, !tbaa !9
  %7790 = zext i32 %7789 to i64
  %7791 = add i64 %7790, 12
  %7792 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %7788, i64 noundef %7791, i64 noundef %7792)
  %7793 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %7793, ptr %37, align 4, !tbaa !9
  store i32 36, ptr %38, align 4, !tbaa !9
  %7794 = load i32, ptr %38, align 4, !tbaa !9
  %7795 = load i32, ptr %37, align 4, !tbaa !9
  %7796 = add i32 %7795, %7794
  store i32 %7796, ptr %37, align 4, !tbaa !9
  %7797 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7797, ptr %6, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %7798 = load ptr, ptr %4, align 8, !tbaa !5
  %7799 = getelementptr inbounds %struct.w2c_hermes, ptr %7798, i32 0, i32 6
  %7800 = load i32, ptr %37, align 4, !tbaa !9
  %7801 = zext i32 %7800 to i64
  %7802 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %7799, i64 noundef %7801, i64 noundef %7802)
  %7803 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %7803, ptr %37, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %7804 = load ptr, ptr %4, align 8, !tbaa !5
  %7805 = getelementptr inbounds %struct.w2c_hermes, ptr %7804, i32 0, i32 6
  %7806 = load i32, ptr %37, align 4, !tbaa !9
  %7807 = zext i32 %7806 to i64
  %7808 = add i64 %7807, 32
  %7809 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7805, i64 noundef %7808, i32 noundef %7809)
  %7810 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %7810, ptr %37, align 4, !tbaa !9
  %7811 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %7811, ptr %38, align 4, !tbaa !9
  %7812 = load ptr, ptr %4, align 8, !tbaa !5
  %7813 = getelementptr inbounds %struct.w2c_hermes, ptr %7812, i32 0, i32 6
  %7814 = load i32, ptr %37, align 4, !tbaa !9
  %7815 = zext i32 %7814 to i64
  %7816 = add i64 %7815, 24
  %7817 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7813, i64 noundef %7816, i32 noundef %7817)
  br label %7818

7818:                                             ; preds = %7757, %7202, %7111
  %7819 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %7819, ptr %37, align 4, !tbaa !9
  %7820 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %7820, ptr %38, align 4, !tbaa !9
  %7821 = load ptr, ptr %4, align 8, !tbaa !5
  %7822 = getelementptr inbounds %struct.w2c_hermes, ptr %7821, i32 0, i32 6
  %7823 = load i32, ptr %38, align 4, !tbaa !9
  %7824 = zext i32 %7823 to i64
  %7825 = add i64 %7824, 4
  %7826 = call i32 @i32_load(ptr noundef %7822, i64 noundef %7825)
  store i32 %7826, ptr %38, align 4, !tbaa !9
  %7827 = load i32, ptr %37, align 4, !tbaa !9
  %7828 = load i32, ptr %38, align 4, !tbaa !9
  %7829 = icmp ult i32 %7827, %7828
  %7830 = zext i1 %7829 to i32
  store i32 %7830, ptr %37, align 4, !tbaa !9
  %7831 = load i32, ptr %37, align 4, !tbaa !9
  %7832 = icmp ne i32 %7831, 0
  br i1 %7832, label %7833, label %7994

7833:                                             ; preds = %7818
  %7834 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %7834, ptr %37, align 4, !tbaa !9
  %7835 = load ptr, ptr %4, align 8, !tbaa !5
  %7836 = getelementptr inbounds %struct.w2c_hermes, ptr %7835, i32 0, i32 6
  %7837 = load i32, ptr %37, align 4, !tbaa !9
  %7838 = zext i32 %7837 to i64
  %7839 = add i64 %7838, 12
  %7840 = call i32 @i32_load(ptr noundef %7836, i64 noundef %7839)
  store i32 %7840, ptr %37, align 4, !tbaa !9
  %7841 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7841, ptr %12, align 4, !tbaa !9
  %7842 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %7842, ptr %37, align 4, !tbaa !9
  %7843 = load ptr, ptr %4, align 8, !tbaa !5
  %7844 = getelementptr inbounds %struct.w2c_hermes, ptr %7843, i32 0, i32 6
  %7845 = load i32, ptr %37, align 4, !tbaa !9
  %7846 = zext i32 %7845 to i64
  %7847 = add i64 %7846, 24
  %7848 = call i32 @i32_load(ptr noundef %7844, i64 noundef %7847)
  store i32 %7848, ptr %37, align 4, !tbaa !9
  %7849 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7849, ptr %10, align 4, !tbaa !9
  %7850 = load i32, ptr %37, align 4, !tbaa !9
  %7851 = icmp ne i32 %7850, 0
  %7852 = xor i1 %7851, true
  %7853 = zext i1 %7852 to i32
  store i32 %7853, ptr %37, align 4, !tbaa !9
  %7854 = load i32, ptr %37, align 4, !tbaa !9
  %7855 = icmp ne i32 %7854, 0
  br i1 %7855, label %7856, label %7858

7856:                                             ; preds = %7833
  store i32 0, ptr %37, align 4, !tbaa !9
  %7857 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7857, ptr %8, align 4, !tbaa !9
  br label %8017

7858:                                             ; preds = %7833
  %7859 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %7859, ptr %37, align 4, !tbaa !9
  %7860 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %7860, ptr %38, align 4, !tbaa !9
  %7861 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %7861, ptr %39, align 4, !tbaa !9
  store i32 1, ptr %40, align 4, !tbaa !9
  %7862 = load i32, ptr %40, align 4, !tbaa !9
  %7863 = load i32, ptr %39, align 4, !tbaa !9
  %7864 = sub i32 %7863, %7862
  store i32 %7864, ptr %39, align 4, !tbaa !9
  %7865 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %7865, ptr %15, align 4, !tbaa !9
  %7866 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %7866, ptr %40, align 4, !tbaa !9
  store i32 4, ptr %41, align 4, !tbaa !9
  %7867 = load i32, ptr %41, align 4, !tbaa !9
  %7868 = and i32 %7867, 31
  %7869 = load i32, ptr %40, align 4, !tbaa !9
  %7870 = lshr i32 %7869, %7868
  store i32 %7870, ptr %40, align 4, !tbaa !9
  %7871 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %7871, ptr %41, align 4, !tbaa !9
  store i32 9, ptr %42, align 4, !tbaa !9
  %7872 = load i32, ptr %42, align 4, !tbaa !9
  %7873 = and i32 %7872, 31
  %7874 = load i32, ptr %41, align 4, !tbaa !9
  %7875 = lshr i32 %7874, %7873
  store i32 %7875, ptr %41, align 4, !tbaa !9
  %7876 = load i32, ptr %41, align 4, !tbaa !9
  %7877 = load i32, ptr %40, align 4, !tbaa !9
  %7878 = xor i32 %7877, %7876
  store i32 %7878, ptr %40, align 4, !tbaa !9
  %7879 = load i32, ptr %40, align 4, !tbaa !9
  %7880 = load i32, ptr %39, align 4, !tbaa !9
  %7881 = and i32 %7880, %7879
  store i32 %7881, ptr %39, align 4, !tbaa !9
  %7882 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %7882, ptr %11, align 4, !tbaa !9
  store i32 44, ptr %40, align 4, !tbaa !9
  %7883 = load i32, ptr %40, align 4, !tbaa !9
  %7884 = load i32, ptr %39, align 4, !tbaa !9
  %7885 = mul i32 %7884, %7883
  store i32 %7885, ptr %39, align 4, !tbaa !9
  %7886 = load i32, ptr %39, align 4, !tbaa !9
  %7887 = load i32, ptr %38, align 4, !tbaa !9
  %7888 = add i32 %7887, %7886
  store i32 %7888, ptr %38, align 4, !tbaa !9
  %7889 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %7889, ptr %8, align 4, !tbaa !9
  %7890 = load ptr, ptr %4, align 8, !tbaa !5
  %7891 = getelementptr inbounds %struct.w2c_hermes, ptr %7890, i32 0, i32 6
  %7892 = load i32, ptr %38, align 4, !tbaa !9
  %7893 = zext i32 %7892 to i64
  %7894 = call i32 @i32_load(ptr noundef %7891, i64 noundef %7893)
  store i32 %7894, ptr %38, align 4, !tbaa !9
  %7895 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %7895, ptr %6, align 4, !tbaa !9
  %7896 = load i32, ptr %37, align 4, !tbaa !9
  %7897 = load i32, ptr %38, align 4, !tbaa !9
  %7898 = icmp eq i32 %7896, %7897
  %7899 = zext i1 %7898 to i32
  store i32 %7899, ptr %37, align 4, !tbaa !9
  %7900 = load i32, ptr %37, align 4, !tbaa !9
  %7901 = icmp ne i32 %7900, 0
  br i1 %7901, label %7902, label %7903

7902:                                             ; preds = %7858
  br label %8632

7903:                                             ; preds = %7858
  store i32 0, ptr %37, align 4, !tbaa !9
  %7904 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7904, ptr %9, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %7905 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7905, ptr %7, align 4, !tbaa !9
  br label %7906

7906:                                             ; preds = %7992, %7903
  %7907 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %7907, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %7908 = load i32, ptr %37, align 4, !tbaa !9
  %7909 = load i32, ptr %38, align 4, !tbaa !9
  %7910 = icmp eq i32 %7908, %7909
  %7911 = zext i1 %7910 to i32
  store i32 %7911, ptr %37, align 4, !tbaa !9
  %7912 = load i32, ptr %37, align 4, !tbaa !9
  %7913 = icmp ne i32 %7912, 0
  br i1 %7913, label %7914, label %7927

7914:                                             ; preds = %7906
  %7915 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %7915, ptr %37, align 4, !tbaa !9
  %7916 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %7916, ptr %38, align 4, !tbaa !9
  %7917 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %7917, ptr %39, align 4, !tbaa !9
  %7918 = load i32, ptr %39, align 4, !tbaa !9
  %7919 = icmp ne i32 %7918, 0
  br i1 %7919, label %7920, label %7922

7920:                                             ; preds = %7914
  %7921 = load i32, ptr %37, align 4, !tbaa !9
  br label %7924

7922:                                             ; preds = %7914
  %7923 = load i32, ptr %38, align 4, !tbaa !9
  br label %7924

7924:                                             ; preds = %7922, %7920
  %7925 = phi i32 [ %7921, %7920 ], [ %7923, %7922 ]
  store i32 %7925, ptr %37, align 4, !tbaa !9
  %7926 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7926, ptr %8, align 4, !tbaa !9
  br label %8017

7927:                                             ; preds = %7906
  %7928 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %7928, ptr %37, align 4, !tbaa !9
  %7929 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %7929, ptr %38, align 4, !tbaa !9
  %7930 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %7930, ptr %39, align 4, !tbaa !9
  %7931 = load i32, ptr %39, align 4, !tbaa !9
  %7932 = icmp ne i32 %7931, 0
  br i1 %7932, label %7933, label %7935

7933:                                             ; preds = %7927
  %7934 = load i32, ptr %37, align 4, !tbaa !9
  br label %7937

7935:                                             ; preds = %7927
  %7936 = load i32, ptr %38, align 4, !tbaa !9
  br label %7937

7937:                                             ; preds = %7935, %7933
  %7938 = phi i32 [ %7934, %7933 ], [ %7936, %7935 ]
  store i32 %7938, ptr %37, align 4, !tbaa !9
  %7939 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %7939, ptr %38, align 4, !tbaa !9
  %7940 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %7940, ptr %39, align 4, !tbaa !9
  store i32 -8, ptr %40, align 4, !tbaa !9
  %7941 = load i32, ptr %39, align 4, !tbaa !9
  %7942 = load i32, ptr %40, align 4, !tbaa !9
  %7943 = icmp eq i32 %7941, %7942
  %7944 = zext i1 %7943 to i32
  store i32 %7944, ptr %39, align 4, !tbaa !9
  %7945 = load i32, ptr %39, align 4, !tbaa !9
  %7946 = icmp ne i32 %7945, 0
  br i1 %7946, label %7947, label %7949

7947:                                             ; preds = %7937
  %7948 = load i32, ptr %37, align 4, !tbaa !9
  br label %7951

7949:                                             ; preds = %7937
  %7950 = load i32, ptr %38, align 4, !tbaa !9
  br label %7951

7951:                                             ; preds = %7949, %7947
  %7952 = phi i32 [ %7948, %7947 ], [ %7950, %7949 ]
  store i32 %7952, ptr %37, align 4, !tbaa !9
  %7953 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7953, ptr %9, align 4, !tbaa !9
  %7954 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %7954, ptr %37, align 4, !tbaa !9
  %7955 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %7955, ptr %38, align 4, !tbaa !9
  %7956 = load i32, ptr %38, align 4, !tbaa !9
  %7957 = load i32, ptr %37, align 4, !tbaa !9
  %7958 = add i32 %7957, %7956
  store i32 %7958, ptr %37, align 4, !tbaa !9
  %7959 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7959, ptr %6, align 4, !tbaa !9
  %7960 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %7960, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %7961 = load i32, ptr %38, align 4, !tbaa !9
  %7962 = load i32, ptr %37, align 4, !tbaa !9
  %7963 = add i32 %7962, %7961
  store i32 %7963, ptr %37, align 4, !tbaa !9
  %7964 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %7964, ptr %7, align 4, !tbaa !9
  %7965 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %7965, ptr %37, align 4, !tbaa !9
  %7966 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %7966, ptr %38, align 4, !tbaa !9
  %7967 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %7967, ptr %39, align 4, !tbaa !9
  %7968 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %7968, ptr %40, align 4, !tbaa !9
  %7969 = load i32, ptr %40, align 4, !tbaa !9
  %7970 = load i32, ptr %39, align 4, !tbaa !9
  %7971 = and i32 %7970, %7969
  store i32 %7971, ptr %39, align 4, !tbaa !9
  %7972 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %7972, ptr %11, align 4, !tbaa !9
  store i32 44, ptr %40, align 4, !tbaa !9
  %7973 = load i32, ptr %40, align 4, !tbaa !9
  %7974 = load i32, ptr %39, align 4, !tbaa !9
  %7975 = mul i32 %7974, %7973
  store i32 %7975, ptr %39, align 4, !tbaa !9
  %7976 = load i32, ptr %39, align 4, !tbaa !9
  %7977 = load i32, ptr %38, align 4, !tbaa !9
  %7978 = add i32 %7977, %7976
  store i32 %7978, ptr %38, align 4, !tbaa !9
  %7979 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %7979, ptr %8, align 4, !tbaa !9
  %7980 = load ptr, ptr %4, align 8, !tbaa !5
  %7981 = getelementptr inbounds %struct.w2c_hermes, ptr %7980, i32 0, i32 6
  %7982 = load i32, ptr %38, align 4, !tbaa !9
  %7983 = zext i32 %7982 to i64
  %7984 = call i32 @i32_load(ptr noundef %7981, i64 noundef %7983)
  store i32 %7984, ptr %38, align 4, !tbaa !9
  %7985 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %7985, ptr %6, align 4, !tbaa !9
  %7986 = load i32, ptr %37, align 4, !tbaa !9
  %7987 = load i32, ptr %38, align 4, !tbaa !9
  %7988 = icmp ne i32 %7986, %7987
  %7989 = zext i1 %7988 to i32
  store i32 %7989, ptr %37, align 4, !tbaa !9
  %7990 = load i32, ptr %37, align 4, !tbaa !9
  %7991 = icmp ne i32 %7990, 0
  br i1 %7991, label %7992, label %7993

7992:                                             ; preds = %7951
  br label %7906

7993:                                             ; preds = %7951
  br label %8632

7994:                                             ; preds = %7818
  %7995 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %7995, ptr %37, align 4, !tbaa !9
  %7996 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %7996, ptr %38, align 4, !tbaa !9
  %7997 = load ptr, ptr %4, align 8, !tbaa !5
  %7998 = getelementptr inbounds %struct.w2c_hermes, ptr %7997, i32 0, i32 6
  %7999 = load i32, ptr %37, align 4, !tbaa !9
  %8000 = zext i32 %7999 to i64
  %8001 = add i64 %8000, 20
  %8002 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %7998, i64 noundef %8001, i32 noundef %8002)
  %8003 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %8003, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %8004 = load i32, ptr %38, align 4, !tbaa !9
  %8005 = load i32, ptr %37, align 4, !tbaa !9
  %8006 = add i32 %8005, %8004
  store i32 %8006, ptr %37, align 4, !tbaa !9
  %8007 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8007, ptr %19, align 4, !tbaa !9
  %8008 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %8008, ptr %38, align 4, !tbaa !9
  %8009 = load i32, ptr %37, align 4, !tbaa !9
  %8010 = load i32, ptr %38, align 4, !tbaa !9
  %8011 = icmp ne i32 %8009, %8010
  %8012 = zext i1 %8011 to i32
  store i32 %8012, ptr %37, align 4, !tbaa !9
  %8013 = load i32, ptr %37, align 4, !tbaa !9
  %8014 = icmp ne i32 %8013, 0
  br i1 %8014, label %8015, label %8016

8015:                                             ; preds = %7994
  br label %6601

8016:                                             ; preds = %7994
  br label %8638

8017:                                             ; preds = %7924, %7856
  %8018 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %8018, ptr %37, align 4, !tbaa !9
  %8019 = load ptr, ptr %4, align 8, !tbaa !5
  %8020 = getelementptr inbounds %struct.w2c_hermes, ptr %8019, i32 0, i32 6
  %8021 = load i32, ptr %37, align 4, !tbaa !9
  %8022 = zext i32 %8021 to i64
  %8023 = add i64 %8022, 16
  %8024 = call i32 @i32_load(ptr noundef %8020, i64 noundef %8023)
  store i32 %8024, ptr %37, align 4, !tbaa !9
  %8025 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8025, ptr %6, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %8026 = load i32, ptr %38, align 4, !tbaa !9
  %8027 = and i32 %8026, 31
  %8028 = load i32, ptr %37, align 4, !tbaa !9
  %8029 = shl i32 %8028, %8027
  store i32 %8029, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %8030 = load i32, ptr %38, align 4, !tbaa !9
  %8031 = load i32, ptr %37, align 4, !tbaa !9
  %8032 = add i32 %8031, %8030
  store i32 %8032, ptr %37, align 4, !tbaa !9
  %8033 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %8033, ptr %38, align 4, !tbaa !9
  store i32 3, ptr %39, align 4, !tbaa !9
  %8034 = load i32, ptr %39, align 4, !tbaa !9
  %8035 = load i32, ptr %38, align 4, !tbaa !9
  %8036 = mul i32 %8035, %8034
  store i32 %8036, ptr %38, align 4, !tbaa !9
  %8037 = load i32, ptr %37, align 4, !tbaa !9
  %8038 = load i32, ptr %38, align 4, !tbaa !9
  %8039 = icmp uge i32 %8037, %8038
  %8040 = zext i1 %8039 to i32
  store i32 %8040, ptr %37, align 4, !tbaa !9
  %8041 = load i32, ptr %37, align 4, !tbaa !9
  %8042 = icmp ne i32 %8041, 0
  br i1 %8042, label %8043, label %8050

8043:                                             ; preds = %8017
  %8044 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %8044, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %8045 = load i32, ptr %38, align 4, !tbaa !9
  %8046 = and i32 %8045, 31
  %8047 = load i32, ptr %37, align 4, !tbaa !9
  %8048 = shl i32 %8047, %8046
  store i32 %8048, ptr %37, align 4, !tbaa !9
  %8049 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8049, ptr %11, align 4, !tbaa !9
  br label %8083

8050:                                             ; preds = %8017
  %8051 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %8051, ptr %37, align 4, !tbaa !9
  %8052 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8052, ptr %11, align 4, !tbaa !9
  %8053 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %8053, ptr %38, align 4, !tbaa !9
  store i32 -1, ptr %39, align 4, !tbaa !9
  %8054 = load i32, ptr %39, align 4, !tbaa !9
  %8055 = load i32, ptr %38, align 4, !tbaa !9
  %8056 = xor i32 %8055, %8054
  store i32 %8056, ptr %38, align 4, !tbaa !9
  %8057 = load i32, ptr %38, align 4, !tbaa !9
  %8058 = load i32, ptr %37, align 4, !tbaa !9
  %8059 = add i32 %8058, %8057
  store i32 %8059, ptr %37, align 4, !tbaa !9
  %8060 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %8060, ptr %38, align 4, !tbaa !9
  %8061 = load ptr, ptr %4, align 8, !tbaa !5
  %8062 = getelementptr inbounds %struct.w2c_hermes, ptr %8061, i32 0, i32 6
  %8063 = load i32, ptr %38, align 4, !tbaa !9
  %8064 = zext i32 %8063 to i64
  %8065 = add i64 %8064, 20
  %8066 = call i32 @i32_load(ptr noundef %8062, i64 noundef %8065)
  store i32 %8066, ptr %38, align 4, !tbaa !9
  %8067 = load i32, ptr %38, align 4, !tbaa !9
  %8068 = load i32, ptr %37, align 4, !tbaa !9
  %8069 = sub i32 %8068, %8067
  store i32 %8069, ptr %37, align 4, !tbaa !9
  %8070 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %8070, ptr %38, align 4, !tbaa !9
  store i32 3, ptr %39, align 4, !tbaa !9
  %8071 = load i32, ptr %39, align 4, !tbaa !9
  %8072 = and i32 %8071, 31
  %8073 = load i32, ptr %38, align 4, !tbaa !9
  %8074 = lshr i32 %8073, %8072
  store i32 %8074, ptr %38, align 4, !tbaa !9
  %8075 = load i32, ptr %37, align 4, !tbaa !9
  %8076 = load i32, ptr %38, align 4, !tbaa !9
  %8077 = icmp ugt i32 %8075, %8076
  %8078 = zext i1 %8077 to i32
  store i32 %8078, ptr %37, align 4, !tbaa !9
  %8079 = load i32, ptr %37, align 4, !tbaa !9
  %8080 = icmp ne i32 %8079, 0
  br i1 %8080, label %8081, label %8082

8081:                                             ; preds = %8050
  br label %8520

8082:                                             ; preds = %8050
  br label %8083

8083:                                             ; preds = %8082, %8043
  %8084 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %8084, ptr %37, align 4, !tbaa !9
  store i32 64, ptr %38, align 4, !tbaa !9
  %8085 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %8085, ptr %39, align 4, !tbaa !9
  store i32 1, ptr %40, align 4, !tbaa !9
  %8086 = load i32, ptr %40, align 4, !tbaa !9
  %8087 = load i32, ptr %39, align 4, !tbaa !9
  %8088 = sub i32 %8087, %8086
  store i32 %8088, ptr %39, align 4, !tbaa !9
  %8089 = load i32, ptr %39, align 4, !tbaa !9
  %8090 = zext i32 %8089 to i64
  store i64 %8090, ptr %45, align 8, !tbaa !11
  %8091 = load i64, ptr %45, align 8, !tbaa !11
  store i64 %8091, ptr %36, align 8, !tbaa !11
  store i64 1, ptr %46, align 8, !tbaa !11
  %8092 = load i64, ptr %46, align 8, !tbaa !11
  %8093 = and i64 %8092, 63
  %8094 = load i64, ptr %45, align 8, !tbaa !11
  %8095 = lshr i64 %8094, %8093
  store i64 %8095, ptr %45, align 8, !tbaa !11
  %8096 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %8096, ptr %46, align 8, !tbaa !11
  %8097 = load i64, ptr %46, align 8, !tbaa !11
  %8098 = load i64, ptr %45, align 8, !tbaa !11
  %8099 = or i64 %8098, %8097
  store i64 %8099, ptr %45, align 8, !tbaa !11
  %8100 = load i64, ptr %45, align 8, !tbaa !11
  store i64 %8100, ptr %36, align 8, !tbaa !11
  store i64 2, ptr %46, align 8, !tbaa !11
  %8101 = load i64, ptr %46, align 8, !tbaa !11
  %8102 = and i64 %8101, 63
  %8103 = load i64, ptr %45, align 8, !tbaa !11
  %8104 = lshr i64 %8103, %8102
  store i64 %8104, ptr %45, align 8, !tbaa !11
  %8105 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %8105, ptr %46, align 8, !tbaa !11
  %8106 = load i64, ptr %46, align 8, !tbaa !11
  %8107 = load i64, ptr %45, align 8, !tbaa !11
  %8108 = or i64 %8107, %8106
  store i64 %8108, ptr %45, align 8, !tbaa !11
  %8109 = load i64, ptr %45, align 8, !tbaa !11
  store i64 %8109, ptr %36, align 8, !tbaa !11
  store i64 4, ptr %46, align 8, !tbaa !11
  %8110 = load i64, ptr %46, align 8, !tbaa !11
  %8111 = and i64 %8110, 63
  %8112 = load i64, ptr %45, align 8, !tbaa !11
  %8113 = lshr i64 %8112, %8111
  store i64 %8113, ptr %45, align 8, !tbaa !11
  %8114 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %8114, ptr %46, align 8, !tbaa !11
  %8115 = load i64, ptr %46, align 8, !tbaa !11
  %8116 = load i64, ptr %45, align 8, !tbaa !11
  %8117 = or i64 %8116, %8115
  store i64 %8117, ptr %45, align 8, !tbaa !11
  %8118 = load i64, ptr %45, align 8, !tbaa !11
  store i64 %8118, ptr %36, align 8, !tbaa !11
  store i64 8, ptr %46, align 8, !tbaa !11
  %8119 = load i64, ptr %46, align 8, !tbaa !11
  %8120 = and i64 %8119, 63
  %8121 = load i64, ptr %45, align 8, !tbaa !11
  %8122 = lshr i64 %8121, %8120
  store i64 %8122, ptr %45, align 8, !tbaa !11
  %8123 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %8123, ptr %46, align 8, !tbaa !11
  %8124 = load i64, ptr %46, align 8, !tbaa !11
  %8125 = load i64, ptr %45, align 8, !tbaa !11
  %8126 = or i64 %8125, %8124
  store i64 %8126, ptr %45, align 8, !tbaa !11
  %8127 = load i64, ptr %45, align 8, !tbaa !11
  store i64 %8127, ptr %36, align 8, !tbaa !11
  store i64 16, ptr %46, align 8, !tbaa !11
  %8128 = load i64, ptr %46, align 8, !tbaa !11
  %8129 = and i64 %8128, 63
  %8130 = load i64, ptr %45, align 8, !tbaa !11
  %8131 = lshr i64 %8130, %8129
  store i64 %8131, ptr %45, align 8, !tbaa !11
  %8132 = load i64, ptr %36, align 8, !tbaa !11
  store i64 %8132, ptr %46, align 8, !tbaa !11
  %8133 = load i64, ptr %46, align 8, !tbaa !11
  %8134 = load i64, ptr %45, align 8, !tbaa !11
  %8135 = or i64 %8134, %8133
  store i64 %8135, ptr %45, align 8, !tbaa !11
  %8136 = load i64, ptr %45, align 8, !tbaa !11
  %8137 = trunc i64 %8136 to i32
  store i32 %8137, ptr %39, align 4, !tbaa !9
  store i32 1, ptr %40, align 4, !tbaa !9
  %8138 = load i32, ptr %40, align 4, !tbaa !9
  %8139 = load i32, ptr %39, align 4, !tbaa !9
  %8140 = add i32 %8139, %8138
  store i32 %8140, ptr %39, align 4, !tbaa !9
  %8141 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %8141, ptr %6, align 4, !tbaa !9
  %8142 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %8142, ptr %40, align 4, !tbaa !9
  store i32 64, ptr %41, align 4, !tbaa !9
  %8143 = load i32, ptr %40, align 4, !tbaa !9
  %8144 = load i32, ptr %41, align 4, !tbaa !9
  %8145 = icmp ule i32 %8143, %8144
  %8146 = zext i1 %8145 to i32
  store i32 %8146, ptr %40, align 4, !tbaa !9
  %8147 = load i32, ptr %40, align 4, !tbaa !9
  %8148 = icmp ne i32 %8147, 0
  br i1 %8148, label %8149, label %8151

8149:                                             ; preds = %8083
  %8150 = load i32, ptr %38, align 4, !tbaa !9
  br label %8153

8151:                                             ; preds = %8083
  %8152 = load i32, ptr %39, align 4, !tbaa !9
  br label %8153

8153:                                             ; preds = %8151, %8149
  %8154 = phi i32 [ %8150, %8149 ], [ %8152, %8151 ]
  store i32 %8154, ptr %38, align 4, !tbaa !9
  %8155 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %8155, ptr %6, align 4, !tbaa !9
  %8156 = load ptr, ptr %4, align 8, !tbaa !5
  %8157 = getelementptr inbounds %struct.w2c_hermes, ptr %8156, i32 0, i32 6
  %8158 = load i32, ptr %37, align 4, !tbaa !9
  %8159 = zext i32 %8158 to i64
  %8160 = add i64 %8159, 24
  %8161 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8157, i64 noundef %8160, i32 noundef %8161)
  %8162 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %8162, ptr %37, align 4, !tbaa !9
  %8163 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %8163, ptr %38, align 4, !tbaa !9
  store i32 44, ptr %39, align 4, !tbaa !9
  %8164 = load i32, ptr %39, align 4, !tbaa !9
  %8165 = load i32, ptr %38, align 4, !tbaa !9
  %8166 = mul i32 %8165, %8164
  store i32 %8166, ptr %38, align 4, !tbaa !9
  %8167 = load ptr, ptr %4, align 8, !tbaa !5
  %8168 = load i32, ptr %38, align 4, !tbaa !9
  %8169 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %8167, i32 noundef %8168)
  store i32 %8169, ptr %38, align 4, !tbaa !9
  %8170 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %8170, ptr %6, align 4, !tbaa !9
  %8171 = load ptr, ptr %4, align 8, !tbaa !5
  %8172 = getelementptr inbounds %struct.w2c_hermes, ptr %8171, i32 0, i32 6
  %8173 = load i32, ptr %37, align 4, !tbaa !9
  %8174 = zext i32 %8173 to i64
  %8175 = add i64 %8174, 12
  %8176 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8172, i64 noundef %8175, i32 noundef %8176)
  %8177 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %8177, ptr %37, align 4, !tbaa !9
  %8178 = load i32, ptr %37, align 4, !tbaa !9
  %8179 = icmp ne i32 %8178, 0
  %8180 = xor i1 %8179, true
  %8181 = zext i1 %8180 to i32
  store i32 %8181, ptr %37, align 4, !tbaa !9
  %8182 = load i32, ptr %37, align 4, !tbaa !9
  %8183 = icmp ne i32 %8182, 0
  br i1 %8183, label %8184, label %8349

8184:                                             ; preds = %8153
  %8185 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %8185, ptr %37, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %8186 = load ptr, ptr %4, align 8, !tbaa !5
  %8187 = getelementptr inbounds %struct.w2c_hermes, ptr %8186, i32 0, i32 6
  %8188 = load i32, ptr %37, align 4, !tbaa !9
  %8189 = zext i32 %8188 to i64
  %8190 = add i64 %8189, 16
  %8191 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %8187, i64 noundef %8190, i64 noundef %8191)
  store i32 0, ptr %37, align 4, !tbaa !9
  %8192 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8192, ptr %7, align 4, !tbaa !9
  %8193 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %8193, ptr %37, align 4, !tbaa !9
  %8194 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8194, ptr %8, align 4, !tbaa !9
  %8195 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %8195, ptr %37, align 4, !tbaa !9
  %8196 = load ptr, ptr %4, align 8, !tbaa !5
  %8197 = getelementptr inbounds %struct.w2c_hermes, ptr %8196, i32 0, i32 6
  %8198 = load i32, ptr %37, align 4, !tbaa !9
  %8199 = zext i32 %8198 to i64
  %8200 = add i64 %8199, 24
  %8201 = call i32 @i32_load(ptr noundef %8197, i64 noundef %8200)
  store i32 %8201, ptr %37, align 4, !tbaa !9
  %8202 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8202, ptr %11, align 4, !tbaa !9
  store i32 44, ptr %38, align 4, !tbaa !9
  %8203 = load i32, ptr %38, align 4, !tbaa !9
  %8204 = load i32, ptr %37, align 4, !tbaa !9
  %8205 = mul i32 %8204, %8203
  store i32 %8205, ptr %37, align 4, !tbaa !9
  %8206 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8206, ptr %10, align 4, !tbaa !9
  store i32 44, ptr %38, align 4, !tbaa !9
  %8207 = load i32, ptr %38, align 4, !tbaa !9
  %8208 = load i32, ptr %37, align 4, !tbaa !9
  %8209 = sub i32 %8208, %8207
  store i32 %8209, ptr %37, align 4, !tbaa !9
  %8210 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8210, ptr %9, align 4, !tbaa !9
  store i32 44, ptr %38, align 4, !tbaa !9
  %8211 = load i32, ptr %38, align 4, !tbaa !9
  %8212 = icmp eq i32 %8211, 0
  %8213 = xor i1 %8212, true
  %8214 = xor i1 %8213, true
  %8215 = zext i1 %8214 to i32
  %8216 = sext i32 %8215 to i64
  %8217 = call i64 @llvm.expect.i64(i64 %8216, i64 0)
  %8218 = icmp ne i64 %8217, 0
  br i1 %8218, label %8219, label %8221

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

8220:                                             ; No predecessors!
  br label %8225

8221:                                             ; preds = %8184
  %8222 = load i32, ptr %37, align 4, !tbaa !9
  %8223 = load i32, ptr %38, align 4, !tbaa !9
  %8224 = udiv i32 %8222, %8223
  br label %8225

8225:                                             ; preds = %8221, %8220
  %8226 = phi i32 [ 0, %8220 ], [ %8224, %8221 ]
  store i32 %8226, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %8227 = load i32, ptr %38, align 4, !tbaa !9
  %8228 = load i32, ptr %37, align 4, !tbaa !9
  %8229 = add i32 %8228, %8227
  store i32 %8229, ptr %37, align 4, !tbaa !9
  store i32 7, ptr %38, align 4, !tbaa !9
  %8230 = load i32, ptr %38, align 4, !tbaa !9
  %8231 = load i32, ptr %37, align 4, !tbaa !9
  %8232 = and i32 %8231, %8230
  store i32 %8232, ptr %37, align 4, !tbaa !9
  %8233 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8233, ptr %12, align 4, !tbaa !9
  %8234 = load i32, ptr %37, align 4, !tbaa !9
  %8235 = icmp ne i32 %8234, 0
  br i1 %8235, label %8236, label %8263

8236:                                             ; preds = %8225
  br label %8237

8237:                                             ; preds = %8261, %8236
  %8238 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %8238, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %8239 = load ptr, ptr %4, align 8, !tbaa !5
  %8240 = getelementptr inbounds %struct.w2c_hermes, ptr %8239, i32 0, i32 6
  %8241 = load i32, ptr %37, align 4, !tbaa !9
  %8242 = zext i32 %8241 to i64
  %8243 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8240, i64 noundef %8242, i32 noundef %8243)
  %8244 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %8244, ptr %37, align 4, !tbaa !9
  store i32 44, ptr %38, align 4, !tbaa !9
  %8245 = load i32, ptr %38, align 4, !tbaa !9
  %8246 = load i32, ptr %37, align 4, !tbaa !9
  %8247 = add i32 %8246, %8245
  store i32 %8247, ptr %37, align 4, !tbaa !9
  %8248 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8248, ptr %8, align 4, !tbaa !9
  %8249 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %8249, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %8250 = load i32, ptr %38, align 4, !tbaa !9
  %8251 = load i32, ptr %37, align 4, !tbaa !9
  %8252 = add i32 %8251, %8250
  store i32 %8252, ptr %37, align 4, !tbaa !9
  %8253 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8253, ptr %7, align 4, !tbaa !9
  %8254 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %8254, ptr %38, align 4, !tbaa !9
  %8255 = load i32, ptr %37, align 4, !tbaa !9
  %8256 = load i32, ptr %38, align 4, !tbaa !9
  %8257 = icmp ne i32 %8255, %8256
  %8258 = zext i1 %8257 to i32
  store i32 %8258, ptr %37, align 4, !tbaa !9
  %8259 = load i32, ptr %37, align 4, !tbaa !9
  %8260 = icmp ne i32 %8259, 0
  br i1 %8260, label %8261, label %8262

8261:                                             ; preds = %8237
  br label %8237

8262:                                             ; preds = %8237
  br label %8263

8263:                                             ; preds = %8262, %8225
  %8264 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %8264, ptr %37, align 4, !tbaa !9
  store i32 308, ptr %38, align 4, !tbaa !9
  %8265 = load i32, ptr %37, align 4, !tbaa !9
  %8266 = load i32, ptr %38, align 4, !tbaa !9
  %8267 = icmp ult i32 %8265, %8266
  %8268 = zext i1 %8267 to i32
  store i32 %8268, ptr %37, align 4, !tbaa !9
  %8269 = load i32, ptr %37, align 4, !tbaa !9
  %8270 = icmp ne i32 %8269, 0
  br i1 %8270, label %8271, label %8272

8271:                                             ; preds = %8263
  br label %8383

8272:                                             ; preds = %8263
  %8273 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %8273, ptr %37, align 4, !tbaa !9
  %8274 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %8274, ptr %38, align 4, !tbaa !9
  %8275 = load i32, ptr %38, align 4, !tbaa !9
  %8276 = load i32, ptr %37, align 4, !tbaa !9
  %8277 = add i32 %8276, %8275
  store i32 %8277, ptr %37, align 4, !tbaa !9
  %8278 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8278, ptr %7, align 4, !tbaa !9
  br label %8279

8279:                                             ; preds = %8347, %8272
  %8280 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %8280, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %8281 = load ptr, ptr %4, align 8, !tbaa !5
  %8282 = getelementptr inbounds %struct.w2c_hermes, ptr %8281, i32 0, i32 6
  %8283 = load i32, ptr %37, align 4, !tbaa !9
  %8284 = zext i32 %8283 to i64
  %8285 = add i64 %8284, 308
  %8286 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8282, i64 noundef %8285, i32 noundef %8286)
  %8287 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %8287, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %8288 = load ptr, ptr %4, align 8, !tbaa !5
  %8289 = getelementptr inbounds %struct.w2c_hermes, ptr %8288, i32 0, i32 6
  %8290 = load i32, ptr %37, align 4, !tbaa !9
  %8291 = zext i32 %8290 to i64
  %8292 = add i64 %8291, 264
  %8293 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8289, i64 noundef %8292, i32 noundef %8293)
  %8294 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %8294, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %8295 = load ptr, ptr %4, align 8, !tbaa !5
  %8296 = getelementptr inbounds %struct.w2c_hermes, ptr %8295, i32 0, i32 6
  %8297 = load i32, ptr %37, align 4, !tbaa !9
  %8298 = zext i32 %8297 to i64
  %8299 = add i64 %8298, 220
  %8300 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8296, i64 noundef %8299, i32 noundef %8300)
  %8301 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %8301, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %8302 = load ptr, ptr %4, align 8, !tbaa !5
  %8303 = getelementptr inbounds %struct.w2c_hermes, ptr %8302, i32 0, i32 6
  %8304 = load i32, ptr %37, align 4, !tbaa !9
  %8305 = zext i32 %8304 to i64
  %8306 = add i64 %8305, 176
  %8307 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8303, i64 noundef %8306, i32 noundef %8307)
  %8308 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %8308, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %8309 = load ptr, ptr %4, align 8, !tbaa !5
  %8310 = getelementptr inbounds %struct.w2c_hermes, ptr %8309, i32 0, i32 6
  %8311 = load i32, ptr %37, align 4, !tbaa !9
  %8312 = zext i32 %8311 to i64
  %8313 = add i64 %8312, 132
  %8314 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8310, i64 noundef %8313, i32 noundef %8314)
  %8315 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %8315, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %8316 = load ptr, ptr %4, align 8, !tbaa !5
  %8317 = getelementptr inbounds %struct.w2c_hermes, ptr %8316, i32 0, i32 6
  %8318 = load i32, ptr %37, align 4, !tbaa !9
  %8319 = zext i32 %8318 to i64
  %8320 = add i64 %8319, 88
  %8321 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8317, i64 noundef %8320, i32 noundef %8321)
  %8322 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %8322, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %8323 = load ptr, ptr %4, align 8, !tbaa !5
  %8324 = getelementptr inbounds %struct.w2c_hermes, ptr %8323, i32 0, i32 6
  %8325 = load i32, ptr %37, align 4, !tbaa !9
  %8326 = zext i32 %8325 to i64
  %8327 = add i64 %8326, 44
  %8328 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8324, i64 noundef %8327, i32 noundef %8328)
  %8329 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %8329, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %8330 = load ptr, ptr %4, align 8, !tbaa !5
  %8331 = getelementptr inbounds %struct.w2c_hermes, ptr %8330, i32 0, i32 6
  %8332 = load i32, ptr %37, align 4, !tbaa !9
  %8333 = zext i32 %8332 to i64
  %8334 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8331, i64 noundef %8333, i32 noundef %8334)
  %8335 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %8335, ptr %37, align 4, !tbaa !9
  store i32 352, ptr %38, align 4, !tbaa !9
  %8336 = load i32, ptr %38, align 4, !tbaa !9
  %8337 = load i32, ptr %37, align 4, !tbaa !9
  %8338 = add i32 %8337, %8336
  store i32 %8338, ptr %37, align 4, !tbaa !9
  %8339 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8339, ptr %8, align 4, !tbaa !9
  %8340 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %8340, ptr %38, align 4, !tbaa !9
  %8341 = load i32, ptr %37, align 4, !tbaa !9
  %8342 = load i32, ptr %38, align 4, !tbaa !9
  %8343 = icmp ne i32 %8341, %8342
  %8344 = zext i1 %8343 to i32
  store i32 %8344, ptr %37, align 4, !tbaa !9
  %8345 = load i32, ptr %37, align 4, !tbaa !9
  %8346 = icmp ne i32 %8345, 0
  br i1 %8346, label %8347, label %8348

8347:                                             ; preds = %8279
  br label %8279

8348:                                             ; preds = %8279
  br label %8383

8349:                                             ; preds = %8153
  %8350 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %8350, ptr %37, align 4, !tbaa !9
  %8351 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %8351, ptr %38, align 4, !tbaa !9
  %8352 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %8352, ptr %39, align 4, !tbaa !9
  %8353 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %8353, ptr %40, align 4, !tbaa !9
  store i32 44, ptr %41, align 4, !tbaa !9
  %8354 = load i32, ptr %41, align 4, !tbaa !9
  %8355 = load i32, ptr %40, align 4, !tbaa !9
  %8356 = mul i32 %8355, %8354
  store i32 %8356, ptr %40, align 4, !tbaa !9
  %8357 = load i32, ptr %40, align 4, !tbaa !9
  %8358 = load i32, ptr %39, align 4, !tbaa !9
  %8359 = add i32 %8358, %8357
  store i32 %8359, ptr %39, align 4, !tbaa !9
  %8360 = load ptr, ptr %4, align 8, !tbaa !5
  %8361 = load i32, ptr %37, align 4, !tbaa !9
  %8362 = load i32, ptr %38, align 4, !tbaa !9
  %8363 = load i32, ptr %39, align 4, !tbaa !9
  call void @w2c_hermes_llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x3A0x3AmoveFromOldBuckets0x28llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x29(ptr noundef %8360, i32 noundef %8361, i32 noundef %8362, i32 noundef %8363)
  %8364 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %8364, ptr %37, align 4, !tbaa !9
  %8365 = load ptr, ptr %4, align 8, !tbaa !5
  %8366 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %8365, i32 noundef %8366)
  %8367 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %8367, ptr %37, align 4, !tbaa !9
  %8368 = load ptr, ptr %4, align 8, !tbaa !5
  %8369 = getelementptr inbounds %struct.w2c_hermes, ptr %8368, i32 0, i32 6
  %8370 = load i32, ptr %37, align 4, !tbaa !9
  %8371 = zext i32 %8370 to i64
  %8372 = add i64 %8371, 12
  %8373 = call i32 @i32_load(ptr noundef %8369, i64 noundef %8372)
  store i32 %8373, ptr %37, align 4, !tbaa !9
  %8374 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8374, ptr %6, align 4, !tbaa !9
  %8375 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %8375, ptr %37, align 4, !tbaa !9
  %8376 = load ptr, ptr %4, align 8, !tbaa !5
  %8377 = getelementptr inbounds %struct.w2c_hermes, ptr %8376, i32 0, i32 6
  %8378 = load i32, ptr %37, align 4, !tbaa !9
  %8379 = zext i32 %8378 to i64
  %8380 = add i64 %8379, 24
  %8381 = call i32 @i32_load(ptr noundef %8377, i64 noundef %8380)
  store i32 %8381, ptr %37, align 4, !tbaa !9
  %8382 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8382, ptr %11, align 4, !tbaa !9
  br label %8383

8383:                                             ; preds = %8349, %8348, %8271
  %8384 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %8384, ptr %37, align 4, !tbaa !9
  %8385 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %8385, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %8386 = load i32, ptr %39, align 4, !tbaa !9
  %8387 = load i32, ptr %38, align 4, !tbaa !9
  %8388 = sub i32 %8387, %8386
  store i32 %8388, ptr %38, align 4, !tbaa !9
  %8389 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %8389, ptr %11, align 4, !tbaa !9
  %8390 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %8390, ptr %39, align 4, !tbaa !9
  store i32 4, ptr %40, align 4, !tbaa !9
  %8391 = load i32, ptr %40, align 4, !tbaa !9
  %8392 = and i32 %8391, 31
  %8393 = load i32, ptr %39, align 4, !tbaa !9
  %8394 = lshr i32 %8393, %8392
  store i32 %8394, ptr %39, align 4, !tbaa !9
  %8395 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %8395, ptr %40, align 4, !tbaa !9
  store i32 9, ptr %41, align 4, !tbaa !9
  %8396 = load i32, ptr %41, align 4, !tbaa !9
  %8397 = and i32 %8396, 31
  %8398 = load i32, ptr %40, align 4, !tbaa !9
  %8399 = lshr i32 %8398, %8397
  store i32 %8399, ptr %40, align 4, !tbaa !9
  %8400 = load i32, ptr %40, align 4, !tbaa !9
  %8401 = load i32, ptr %39, align 4, !tbaa !9
  %8402 = xor i32 %8401, %8400
  store i32 %8402, ptr %39, align 4, !tbaa !9
  %8403 = load i32, ptr %39, align 4, !tbaa !9
  %8404 = load i32, ptr %38, align 4, !tbaa !9
  %8405 = and i32 %8404, %8403
  store i32 %8405, ptr %38, align 4, !tbaa !9
  %8406 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %8406, ptr %12, align 4, !tbaa !9
  store i32 44, ptr %39, align 4, !tbaa !9
  %8407 = load i32, ptr %39, align 4, !tbaa !9
  %8408 = load i32, ptr %38, align 4, !tbaa !9
  %8409 = mul i32 %8408, %8407
  store i32 %8409, ptr %38, align 4, !tbaa !9
  %8410 = load i32, ptr %38, align 4, !tbaa !9
  %8411 = load i32, ptr %37, align 4, !tbaa !9
  %8412 = add i32 %8411, %8410
  store i32 %8412, ptr %37, align 4, !tbaa !9
  %8413 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8413, ptr %8, align 4, !tbaa !9
  %8414 = load ptr, ptr %4, align 8, !tbaa !5
  %8415 = getelementptr inbounds %struct.w2c_hermes, ptr %8414, i32 0, i32 6
  %8416 = load i32, ptr %37, align 4, !tbaa !9
  %8417 = zext i32 %8416 to i64
  %8418 = call i32 @i32_load(ptr noundef %8415, i64 noundef %8417)
  store i32 %8418, ptr %37, align 4, !tbaa !9
  %8419 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8419, ptr %7, align 4, !tbaa !9
  %8420 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %8420, ptr %38, align 4, !tbaa !9
  %8421 = load i32, ptr %37, align 4, !tbaa !9
  %8422 = load i32, ptr %38, align 4, !tbaa !9
  %8423 = icmp ne i32 %8421, %8422
  %8424 = zext i1 %8423 to i32
  store i32 %8424, ptr %37, align 4, !tbaa !9
  %8425 = load i32, ptr %37, align 4, !tbaa !9
  %8426 = icmp ne i32 %8425, 0
  br i1 %8426, label %8427, label %8518

8427:                                             ; preds = %8383
  store i32 0, ptr %37, align 4, !tbaa !9
  %8428 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8428, ptr %15, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %8429 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8429, ptr %9, align 4, !tbaa !9
  br label %8430

8430:                                             ; preds = %8516, %8427
  %8431 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %8431, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %8432 = load i32, ptr %37, align 4, !tbaa !9
  %8433 = load i32, ptr %38, align 4, !tbaa !9
  %8434 = icmp eq i32 %8432, %8433
  %8435 = zext i1 %8434 to i32
  store i32 %8435, ptr %37, align 4, !tbaa !9
  %8436 = load i32, ptr %37, align 4, !tbaa !9
  %8437 = icmp ne i32 %8436, 0
  br i1 %8437, label %8438, label %8451

8438:                                             ; preds = %8430
  %8439 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %8439, ptr %37, align 4, !tbaa !9
  %8440 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %8440, ptr %38, align 4, !tbaa !9
  %8441 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %8441, ptr %39, align 4, !tbaa !9
  %8442 = load i32, ptr %39, align 4, !tbaa !9
  %8443 = icmp ne i32 %8442, 0
  br i1 %8443, label %8444, label %8446

8444:                                             ; preds = %8438
  %8445 = load i32, ptr %37, align 4, !tbaa !9
  br label %8448

8446:                                             ; preds = %8438
  %8447 = load i32, ptr %38, align 4, !tbaa !9
  br label %8448

8448:                                             ; preds = %8446, %8444
  %8449 = phi i32 [ %8445, %8444 ], [ %8447, %8446 ]
  store i32 %8449, ptr %37, align 4, !tbaa !9
  %8450 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8450, ptr %8, align 4, !tbaa !9
  br label %8520

8451:                                             ; preds = %8430
  %8452 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %8452, ptr %37, align 4, !tbaa !9
  %8453 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %8453, ptr %38, align 4, !tbaa !9
  %8454 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %8454, ptr %39, align 4, !tbaa !9
  %8455 = load i32, ptr %39, align 4, !tbaa !9
  %8456 = icmp ne i32 %8455, 0
  br i1 %8456, label %8457, label %8459

8457:                                             ; preds = %8451
  %8458 = load i32, ptr %37, align 4, !tbaa !9
  br label %8461

8459:                                             ; preds = %8451
  %8460 = load i32, ptr %38, align 4, !tbaa !9
  br label %8461

8461:                                             ; preds = %8459, %8457
  %8462 = phi i32 [ %8458, %8457 ], [ %8460, %8459 ]
  store i32 %8462, ptr %37, align 4, !tbaa !9
  %8463 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %8463, ptr %38, align 4, !tbaa !9
  %8464 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %8464, ptr %39, align 4, !tbaa !9
  store i32 -8, ptr %40, align 4, !tbaa !9
  %8465 = load i32, ptr %39, align 4, !tbaa !9
  %8466 = load i32, ptr %40, align 4, !tbaa !9
  %8467 = icmp eq i32 %8465, %8466
  %8468 = zext i1 %8467 to i32
  store i32 %8468, ptr %39, align 4, !tbaa !9
  %8469 = load i32, ptr %39, align 4, !tbaa !9
  %8470 = icmp ne i32 %8469, 0
  br i1 %8470, label %8471, label %8473

8471:                                             ; preds = %8461
  %8472 = load i32, ptr %37, align 4, !tbaa !9
  br label %8475

8473:                                             ; preds = %8461
  %8474 = load i32, ptr %38, align 4, !tbaa !9
  br label %8475

8475:                                             ; preds = %8473, %8471
  %8476 = phi i32 [ %8472, %8471 ], [ %8474, %8473 ]
  store i32 %8476, ptr %37, align 4, !tbaa !9
  %8477 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8477, ptr %15, align 4, !tbaa !9
  %8478 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %8478, ptr %37, align 4, !tbaa !9
  %8479 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %8479, ptr %38, align 4, !tbaa !9
  %8480 = load i32, ptr %38, align 4, !tbaa !9
  %8481 = load i32, ptr %37, align 4, !tbaa !9
  %8482 = add i32 %8481, %8480
  store i32 %8482, ptr %37, align 4, !tbaa !9
  %8483 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8483, ptr %7, align 4, !tbaa !9
  %8484 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %8484, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %8485 = load i32, ptr %38, align 4, !tbaa !9
  %8486 = load i32, ptr %37, align 4, !tbaa !9
  %8487 = add i32 %8486, %8485
  store i32 %8487, ptr %37, align 4, !tbaa !9
  %8488 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8488, ptr %9, align 4, !tbaa !9
  %8489 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %8489, ptr %37, align 4, !tbaa !9
  %8490 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %8490, ptr %38, align 4, !tbaa !9
  %8491 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %8491, ptr %39, align 4, !tbaa !9
  %8492 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %8492, ptr %40, align 4, !tbaa !9
  %8493 = load i32, ptr %40, align 4, !tbaa !9
  %8494 = load i32, ptr %39, align 4, !tbaa !9
  %8495 = and i32 %8494, %8493
  store i32 %8495, ptr %39, align 4, !tbaa !9
  %8496 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %8496, ptr %12, align 4, !tbaa !9
  store i32 44, ptr %40, align 4, !tbaa !9
  %8497 = load i32, ptr %40, align 4, !tbaa !9
  %8498 = load i32, ptr %39, align 4, !tbaa !9
  %8499 = mul i32 %8498, %8497
  store i32 %8499, ptr %39, align 4, !tbaa !9
  %8500 = load i32, ptr %39, align 4, !tbaa !9
  %8501 = load i32, ptr %38, align 4, !tbaa !9
  %8502 = add i32 %8501, %8500
  store i32 %8502, ptr %38, align 4, !tbaa !9
  %8503 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %8503, ptr %8, align 4, !tbaa !9
  %8504 = load ptr, ptr %4, align 8, !tbaa !5
  %8505 = getelementptr inbounds %struct.w2c_hermes, ptr %8504, i32 0, i32 6
  %8506 = load i32, ptr %38, align 4, !tbaa !9
  %8507 = zext i32 %8506 to i64
  %8508 = call i32 @i32_load(ptr noundef %8505, i64 noundef %8507)
  store i32 %8508, ptr %38, align 4, !tbaa !9
  %8509 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %8509, ptr %7, align 4, !tbaa !9
  %8510 = load i32, ptr %37, align 4, !tbaa !9
  %8511 = load i32, ptr %38, align 4, !tbaa !9
  %8512 = icmp ne i32 %8510, %8511
  %8513 = zext i1 %8512 to i32
  store i32 %8513, ptr %37, align 4, !tbaa !9
  %8514 = load i32, ptr %37, align 4, !tbaa !9
  %8515 = icmp ne i32 %8514, 0
  br i1 %8515, label %8516, label %8517

8516:                                             ; preds = %8475
  br label %8430

8517:                                             ; preds = %8475
  br label %8518

8518:                                             ; preds = %8517, %8383
  %8519 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %8519, ptr %37, align 4, !tbaa !9
  br label %8527

8520:                                             ; preds = %8448, %8081
  %8521 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %8521, ptr %37, align 4, !tbaa !9
  %8522 = load ptr, ptr %4, align 8, !tbaa !5
  %8523 = getelementptr inbounds %struct.w2c_hermes, ptr %8522, i32 0, i32 6
  %8524 = load i32, ptr %37, align 4, !tbaa !9
  %8525 = zext i32 %8524 to i64
  %8526 = call i32 @i32_load(ptr noundef %8523, i64 noundef %8525)
  store i32 %8526, ptr %37, align 4, !tbaa !9
  br label %8527

8527:                                             ; preds = %8520, %8518
  %8528 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8528, ptr %6, align 4, !tbaa !9
  %8529 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %8529, ptr %37, align 4, !tbaa !9
  %8530 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %8530, ptr %38, align 4, !tbaa !9
  %8531 = load ptr, ptr %4, align 8, !tbaa !5
  %8532 = getelementptr inbounds %struct.w2c_hermes, ptr %8531, i32 0, i32 6
  %8533 = load i32, ptr %38, align 4, !tbaa !9
  %8534 = zext i32 %8533 to i64
  %8535 = add i64 %8534, 16
  %8536 = call i32 @i32_load(ptr noundef %8532, i64 noundef %8535)
  store i32 %8536, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %8537 = load i32, ptr %39, align 4, !tbaa !9
  %8538 = load i32, ptr %38, align 4, !tbaa !9
  %8539 = add i32 %8538, %8537
  store i32 %8539, ptr %38, align 4, !tbaa !9
  %8540 = load ptr, ptr %4, align 8, !tbaa !5
  %8541 = getelementptr inbounds %struct.w2c_hermes, ptr %8540, i32 0, i32 6
  %8542 = load i32, ptr %37, align 4, !tbaa !9
  %8543 = zext i32 %8542 to i64
  %8544 = add i64 %8543, 16
  %8545 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8541, i64 noundef %8544, i32 noundef %8545)
  %8546 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %8546, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %8547 = load i32, ptr %37, align 4, !tbaa !9
  %8548 = load i32, ptr %38, align 4, !tbaa !9
  %8549 = icmp ne i32 %8547, %8548
  %8550 = zext i1 %8549 to i32
  store i32 %8550, ptr %37, align 4, !tbaa !9
  %8551 = load i32, ptr %37, align 4, !tbaa !9
  %8552 = icmp ne i32 %8551, 0
  br i1 %8552, label %8553, label %8571

8553:                                             ; preds = %8527
  %8554 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %8554, ptr %37, align 4, !tbaa !9
  %8555 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %8555, ptr %38, align 4, !tbaa !9
  %8556 = load ptr, ptr %4, align 8, !tbaa !5
  %8557 = getelementptr inbounds %struct.w2c_hermes, ptr %8556, i32 0, i32 6
  %8558 = load i32, ptr %38, align 4, !tbaa !9
  %8559 = zext i32 %8558 to i64
  %8560 = add i64 %8559, 20
  %8561 = call i32 @i32_load(ptr noundef %8557, i64 noundef %8560)
  store i32 %8561, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %8562 = load i32, ptr %39, align 4, !tbaa !9
  %8563 = load i32, ptr %38, align 4, !tbaa !9
  %8564 = sub i32 %8563, %8562
  store i32 %8564, ptr %38, align 4, !tbaa !9
  %8565 = load ptr, ptr %4, align 8, !tbaa !5
  %8566 = getelementptr inbounds %struct.w2c_hermes, ptr %8565, i32 0, i32 6
  %8567 = load i32, ptr %37, align 4, !tbaa !9
  %8568 = zext i32 %8567 to i64
  %8569 = add i64 %8568, 20
  %8570 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8566, i64 noundef %8569, i32 noundef %8570)
  br label %8571

8571:                                             ; preds = %8553, %8527
  %8572 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %8572, ptr %37, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %8573 = load ptr, ptr %4, align 8, !tbaa !5
  %8574 = getelementptr inbounds %struct.w2c_hermes, ptr %8573, i32 0, i32 6
  %8575 = load i32, ptr %37, align 4, !tbaa !9
  %8576 = zext i32 %8575 to i64
  %8577 = add i64 %8576, 28
  %8578 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %8574, i64 noundef %8577, i64 noundef %8578)
  %8579 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %8579, ptr %37, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %8580 = load ptr, ptr %4, align 8, !tbaa !5
  %8581 = getelementptr inbounds %struct.w2c_hermes, ptr %8580, i32 0, i32 6
  %8582 = load i32, ptr %37, align 4, !tbaa !9
  %8583 = zext i32 %8582 to i64
  %8584 = add i64 %8583, 20
  %8585 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %8581, i64 noundef %8584, i64 noundef %8585)
  %8586 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %8586, ptr %37, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %8587 = load ptr, ptr %4, align 8, !tbaa !5
  %8588 = getelementptr inbounds %struct.w2c_hermes, ptr %8587, i32 0, i32 6
  %8589 = load i32, ptr %37, align 4, !tbaa !9
  %8590 = zext i32 %8589 to i64
  %8591 = add i64 %8590, 4
  %8592 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %8588, i64 noundef %8591, i64 noundef %8592)
  %8593 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %8593, ptr %37, align 4, !tbaa !9
  %8594 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %8594, ptr %38, align 4, !tbaa !9
  %8595 = load ptr, ptr %4, align 8, !tbaa !5
  %8596 = getelementptr inbounds %struct.w2c_hermes, ptr %8595, i32 0, i32 6
  %8597 = load i32, ptr %37, align 4, !tbaa !9
  %8598 = zext i32 %8597 to i64
  %8599 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8596, i64 noundef %8598, i32 noundef %8599)
  %8600 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %8600, ptr %37, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %8601 = load ptr, ptr %4, align 8, !tbaa !5
  %8602 = getelementptr inbounds %struct.w2c_hermes, ptr %8601, i32 0, i32 6
  %8603 = load i32, ptr %37, align 4, !tbaa !9
  %8604 = zext i32 %8603 to i64
  %8605 = add i64 %8604, 12
  %8606 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %8602, i64 noundef %8605, i64 noundef %8606)
  %8607 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %8607, ptr %37, align 4, !tbaa !9
  store i32 36, ptr %38, align 4, !tbaa !9
  %8608 = load i32, ptr %38, align 4, !tbaa !9
  %8609 = load i32, ptr %37, align 4, !tbaa !9
  %8610 = add i32 %8609, %8608
  store i32 %8610, ptr %37, align 4, !tbaa !9
  %8611 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8611, ptr %6, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %8612 = load ptr, ptr %4, align 8, !tbaa !5
  %8613 = getelementptr inbounds %struct.w2c_hermes, ptr %8612, i32 0, i32 6
  %8614 = load i32, ptr %37, align 4, !tbaa !9
  %8615 = zext i32 %8614 to i64
  %8616 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %8613, i64 noundef %8615, i64 noundef %8616)
  %8617 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %8617, ptr %37, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %8618 = load ptr, ptr %4, align 8, !tbaa !5
  %8619 = getelementptr inbounds %struct.w2c_hermes, ptr %8618, i32 0, i32 6
  %8620 = load i32, ptr %37, align 4, !tbaa !9
  %8621 = zext i32 %8620 to i64
  %8622 = add i64 %8621, 32
  %8623 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8619, i64 noundef %8622, i32 noundef %8623)
  %8624 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %8624, ptr %37, align 4, !tbaa !9
  %8625 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %8625, ptr %38, align 4, !tbaa !9
  %8626 = load ptr, ptr %4, align 8, !tbaa !5
  %8627 = getelementptr inbounds %struct.w2c_hermes, ptr %8626, i32 0, i32 6
  %8628 = load i32, ptr %37, align 4, !tbaa !9
  %8629 = zext i32 %8628 to i64
  %8630 = add i64 %8629, 24
  %8631 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8627, i64 noundef %8630, i32 noundef %8631)
  br label %8632

8632:                                             ; preds = %8571, %7993, %7902
  %8633 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %8633, ptr %37, align 4, !tbaa !9
  store i32 20, ptr %38, align 4, !tbaa !9
  %8634 = load i32, ptr %38, align 4, !tbaa !9
  %8635 = load i32, ptr %37, align 4, !tbaa !9
  %8636 = add i32 %8635, %8634
  store i32 %8636, ptr %37, align 4, !tbaa !9
  %8637 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8637, ptr %7, align 4, !tbaa !9
  br label %7035

8638:                                             ; preds = %8016, %6578
  %8639 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %8639, ptr %37, align 4, !tbaa !9
  store i32 16, ptr %38, align 4, !tbaa !9
  %8640 = load i32, ptr %38, align 4, !tbaa !9
  %8641 = load i32, ptr %37, align 4, !tbaa !9
  %8642 = add i32 %8641, %8640
  store i32 %8642, ptr %37, align 4, !tbaa !9
  %8643 = load i32, ptr %37, align 4, !tbaa !9
  %8644 = load ptr, ptr %4, align 8, !tbaa !5
  %8645 = getelementptr inbounds %struct.w2c_hermes, ptr %8644, i32 0, i32 3
  store i32 %8643, ptr %8645, align 8, !tbaa !13
  %8646 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %8646, ptr %37, align 4, !tbaa !9
  %8647 = load ptr, ptr %4, align 8, !tbaa !5
  %8648 = getelementptr inbounds %struct.w2c_hermes, ptr %8647, i32 0, i32 6
  %8649 = load i32, ptr %37, align 4, !tbaa !9
  %8650 = zext i32 %8649 to i64
  %8651 = add i64 %8650, 4
  %8652 = call i32 @i32_load(ptr noundef %8648, i64 noundef %8651)
  store i32 %8652, ptr %37, align 4, !tbaa !9
  %8653 = load i32, ptr %37, align 4, !tbaa !9
  %8654 = icmp ne i32 %8653, 0
  br i1 %8654, label %8655, label %10127

8655:                                             ; preds = %8638
  %8656 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %8656, ptr %37, align 4, !tbaa !9
  %8657 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %8657, ptr %38, align 4, !tbaa !9
  %8658 = load ptr, ptr %4, align 8, !tbaa !5
  %8659 = getelementptr inbounds %struct.w2c_hermes, ptr %8658, i32 0, i32 6
  %8660 = load i32, ptr %38, align 4, !tbaa !9
  %8661 = zext i32 %8660 to i64
  %8662 = call i32 @i32_load(ptr noundef %8659, i64 noundef %8661)
  store i32 %8662, ptr %38, align 4, !tbaa !9
  %8663 = load ptr, ptr %4, align 8, !tbaa !5
  %8664 = getelementptr inbounds %struct.w2c_hermes, ptr %8663, i32 0, i32 6
  %8665 = load i32, ptr %38, align 4, !tbaa !9
  %8666 = zext i32 %8665 to i64
  %8667 = call i32 @i32_load(ptr noundef %8664, i64 noundef %8666)
  store i32 %8667, ptr %38, align 4, !tbaa !9
  %8668 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %8668, ptr %11, align 4, !tbaa !9
  %8669 = load ptr, ptr %4, align 8, !tbaa !5
  %8670 = getelementptr inbounds %struct.w2c_hermes, ptr %8669, i32 0, i32 6
  %8671 = load i32, ptr %37, align 4, !tbaa !9
  %8672 = zext i32 %8671 to i64
  %8673 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8670, i64 noundef %8672, i32 noundef %8673)
  store i32 32, ptr %37, align 4, !tbaa !9
  %8674 = load ptr, ptr %4, align 8, !tbaa !5
  %8675 = load i32, ptr %37, align 4, !tbaa !9
  %8676 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %8674, i32 noundef %8675)
  store i32 %8676, ptr %37, align 4, !tbaa !9
  %8677 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8677, ptr %7, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %8678 = load ptr, ptr %4, align 8, !tbaa !5
  %8679 = getelementptr inbounds %struct.w2c_hermes, ptr %8678, i32 0, i32 6
  %8680 = load i32, ptr %37, align 4, !tbaa !9
  %8681 = zext i32 %8680 to i64
  %8682 = add i64 %8681, 4
  %8683 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %8679, i64 noundef %8682, i64 noundef %8683)
  %8684 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %8684, ptr %37, align 4, !tbaa !9
  %8685 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %8685, ptr %38, align 4, !tbaa !9
  %8686 = load ptr, ptr %4, align 8, !tbaa !5
  %8687 = getelementptr inbounds %struct.w2c_hermes, ptr %8686, i32 0, i32 6
  %8688 = load i32, ptr %37, align 4, !tbaa !9
  %8689 = zext i32 %8688 to i64
  %8690 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8687, i64 noundef %8689, i32 noundef %8690)
  %8691 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %8691, ptr %37, align 4, !tbaa !9
  store i64 -1, ptr %44, align 8, !tbaa !11
  %8692 = load ptr, ptr %4, align 8, !tbaa !5
  %8693 = getelementptr inbounds %struct.w2c_hermes, ptr %8692, i32 0, i32 6
  %8694 = load i32, ptr %37, align 4, !tbaa !9
  %8695 = zext i32 %8694 to i64
  %8696 = add i64 %8695, 24
  %8697 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %8693, i64 noundef %8696, i64 noundef %8697)
  %8698 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %8698, ptr %37, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %8699 = load ptr, ptr %4, align 8, !tbaa !5
  %8700 = getelementptr inbounds %struct.w2c_hermes, ptr %8699, i32 0, i32 6
  %8701 = load i32, ptr %37, align 4, !tbaa !9
  %8702 = zext i32 %8701 to i64
  %8703 = add i64 %8702, 12
  %8704 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %8700, i64 noundef %8703, i64 noundef %8704)
  store i32 0, ptr %37, align 4, !tbaa !9
  %8705 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8705, ptr %6, align 4, !tbaa !9
  %8706 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %8706, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %8707 = load ptr, ptr %4, align 8, !tbaa !5
  %8708 = getelementptr inbounds %struct.w2c_hermes, ptr %8707, i32 0, i32 6
  %8709 = load i32, ptr %37, align 4, !tbaa !9
  %8710 = zext i32 %8709 to i64
  %8711 = add i64 %8710, 20
  %8712 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8708, i64 noundef %8711, i32 noundef %8712)
  %8713 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %8713, ptr %37, align 4, !tbaa !9
  %8714 = load ptr, ptr %4, align 8, !tbaa !5
  %8715 = getelementptr inbounds %struct.w2c_hermes, ptr %8714, i32 0, i32 6
  %8716 = load i32, ptr %37, align 4, !tbaa !9
  %8717 = zext i32 %8716 to i64
  %8718 = add i64 %8717, 28
  %8719 = call i32 @i32_load(ptr noundef %8715, i64 noundef %8718)
  store i32 %8719, ptr %37, align 4, !tbaa !9
  %8720 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8720, ptr %8, align 4, !tbaa !9
  %8721 = load i32, ptr %37, align 4, !tbaa !9
  %8722 = icmp ne i32 %8721, 0
  %8723 = xor i1 %8722, true
  %8724 = zext i1 %8723 to i32
  store i32 %8724, ptr %37, align 4, !tbaa !9
  %8725 = load i32, ptr %37, align 4, !tbaa !9
  %8726 = icmp ne i32 %8725, 0
  br i1 %8726, label %8727, label %8728

8727:                                             ; preds = %8655
  br label %8872

8728:                                             ; preds = %8655
  %8729 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %8729, ptr %37, align 4, !tbaa !9
  %8730 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %8730, ptr %38, align 4, !tbaa !9
  %8731 = load ptr, ptr %4, align 8, !tbaa !5
  %8732 = getelementptr inbounds %struct.w2c_hermes, ptr %8731, i32 0, i32 6
  %8733 = load i32, ptr %38, align 4, !tbaa !9
  %8734 = zext i32 %8733 to i64
  %8735 = add i64 %8734, 16
  %8736 = call i32 @i32_load(ptr noundef %8732, i64 noundef %8735)
  store i32 %8736, ptr %38, align 4, !tbaa !9
  %8737 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %8737, ptr %10, align 4, !tbaa !9
  %8738 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %8738, ptr %39, align 4, !tbaa !9
  store i32 1, ptr %40, align 4, !tbaa !9
  %8739 = load i32, ptr %40, align 4, !tbaa !9
  %8740 = load i32, ptr %39, align 4, !tbaa !9
  %8741 = sub i32 %8740, %8739
  store i32 %8741, ptr %39, align 4, !tbaa !9
  %8742 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %8742, ptr %18, align 4, !tbaa !9
  %8743 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %8743, ptr %40, align 4, !tbaa !9
  store i32 4, ptr %41, align 4, !tbaa !9
  %8744 = load i32, ptr %41, align 4, !tbaa !9
  %8745 = and i32 %8744, 31
  %8746 = load i32, ptr %40, align 4, !tbaa !9
  %8747 = lshr i32 %8746, %8745
  store i32 %8747, ptr %40, align 4, !tbaa !9
  %8748 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %8748, ptr %41, align 4, !tbaa !9
  store i32 9, ptr %42, align 4, !tbaa !9
  %8749 = load i32, ptr %42, align 4, !tbaa !9
  %8750 = and i32 %8749, 31
  %8751 = load i32, ptr %41, align 4, !tbaa !9
  %8752 = lshr i32 %8751, %8750
  store i32 %8752, ptr %41, align 4, !tbaa !9
  %8753 = load i32, ptr %41, align 4, !tbaa !9
  %8754 = load i32, ptr %40, align 4, !tbaa !9
  %8755 = xor i32 %8754, %8753
  store i32 %8755, ptr %40, align 4, !tbaa !9
  %8756 = load i32, ptr %40, align 4, !tbaa !9
  %8757 = load i32, ptr %39, align 4, !tbaa !9
  %8758 = and i32 %8757, %8756
  store i32 %8758, ptr %39, align 4, !tbaa !9
  %8759 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %8759, ptr %9, align 4, !tbaa !9
  store i32 3, ptr %40, align 4, !tbaa !9
  %8760 = load i32, ptr %40, align 4, !tbaa !9
  %8761 = and i32 %8760, 31
  %8762 = load i32, ptr %39, align 4, !tbaa !9
  %8763 = shl i32 %8762, %8761
  store i32 %8763, ptr %39, align 4, !tbaa !9
  %8764 = load i32, ptr %39, align 4, !tbaa !9
  %8765 = load i32, ptr %38, align 4, !tbaa !9
  %8766 = add i32 %8765, %8764
  store i32 %8766, ptr %38, align 4, !tbaa !9
  %8767 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %8767, ptr %8, align 4, !tbaa !9
  %8768 = load ptr, ptr %4, align 8, !tbaa !5
  %8769 = getelementptr inbounds %struct.w2c_hermes, ptr %8768, i32 0, i32 6
  %8770 = load i32, ptr %38, align 4, !tbaa !9
  %8771 = zext i32 %8770 to i64
  %8772 = call i32 @i32_load(ptr noundef %8769, i64 noundef %8771)
  store i32 %8772, ptr %38, align 4, !tbaa !9
  %8773 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %8773, ptr %6, align 4, !tbaa !9
  %8774 = load i32, ptr %37, align 4, !tbaa !9
  %8775 = load i32, ptr %38, align 4, !tbaa !9
  %8776 = icmp eq i32 %8774, %8775
  %8777 = zext i1 %8776 to i32
  store i32 %8777, ptr %37, align 4, !tbaa !9
  %8778 = load i32, ptr %37, align 4, !tbaa !9
  %8779 = icmp ne i32 %8778, 0
  br i1 %8779, label %8780, label %8781

8780:                                             ; preds = %8728
  br label %8882

8781:                                             ; preds = %8728
  store i32 1, ptr %37, align 4, !tbaa !9
  %8782 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8782, ptr %13, align 4, !tbaa !9
  br label %8783

8783:                                             ; preds = %8870, %8781
  %8784 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %8784, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %8785 = load i32, ptr %37, align 4, !tbaa !9
  %8786 = load i32, ptr %38, align 4, !tbaa !9
  %8787 = icmp eq i32 %8785, %8786
  %8788 = zext i1 %8787 to i32
  store i32 %8788, ptr %37, align 4, !tbaa !9
  %8789 = load i32, ptr %37, align 4, !tbaa !9
  %8790 = icmp ne i32 %8789, 0
  br i1 %8790, label %8791, label %8804

8791:                                             ; preds = %8783
  %8792 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %8792, ptr %37, align 4, !tbaa !9
  %8793 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %8793, ptr %38, align 4, !tbaa !9
  %8794 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %8794, ptr %39, align 4, !tbaa !9
  %8795 = load i32, ptr %39, align 4, !tbaa !9
  %8796 = icmp ne i32 %8795, 0
  br i1 %8796, label %8797, label %8799

8797:                                             ; preds = %8791
  %8798 = load i32, ptr %37, align 4, !tbaa !9
  br label %8801

8799:                                             ; preds = %8791
  %8800 = load i32, ptr %38, align 4, !tbaa !9
  br label %8801

8801:                                             ; preds = %8799, %8797
  %8802 = phi i32 [ %8798, %8797 ], [ %8800, %8799 ]
  store i32 %8802, ptr %37, align 4, !tbaa !9
  %8803 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8803, ptr %6, align 4, !tbaa !9
  br label %8872

8804:                                             ; preds = %8783
  %8805 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %8805, ptr %37, align 4, !tbaa !9
  %8806 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %8806, ptr %38, align 4, !tbaa !9
  %8807 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %8807, ptr %39, align 4, !tbaa !9
  %8808 = load i32, ptr %39, align 4, !tbaa !9
  %8809 = icmp ne i32 %8808, 0
  br i1 %8809, label %8810, label %8812

8810:                                             ; preds = %8804
  %8811 = load i32, ptr %37, align 4, !tbaa !9
  br label %8814

8812:                                             ; preds = %8804
  %8813 = load i32, ptr %38, align 4, !tbaa !9
  br label %8814

8814:                                             ; preds = %8812, %8810
  %8815 = phi i32 [ %8811, %8810 ], [ %8813, %8812 ]
  store i32 %8815, ptr %37, align 4, !tbaa !9
  %8816 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %8816, ptr %38, align 4, !tbaa !9
  %8817 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %8817, ptr %39, align 4, !tbaa !9
  store i32 -8, ptr %40, align 4, !tbaa !9
  %8818 = load i32, ptr %39, align 4, !tbaa !9
  %8819 = load i32, ptr %40, align 4, !tbaa !9
  %8820 = icmp eq i32 %8818, %8819
  %8821 = zext i1 %8820 to i32
  store i32 %8821, ptr %39, align 4, !tbaa !9
  %8822 = load i32, ptr %39, align 4, !tbaa !9
  %8823 = icmp ne i32 %8822, 0
  br i1 %8823, label %8824, label %8826

8824:                                             ; preds = %8814
  %8825 = load i32, ptr %37, align 4, !tbaa !9
  br label %8828

8826:                                             ; preds = %8814
  %8827 = load i32, ptr %38, align 4, !tbaa !9
  br label %8828

8828:                                             ; preds = %8826, %8824
  %8829 = phi i32 [ %8825, %8824 ], [ %8827, %8826 ]
  store i32 %8829, ptr %37, align 4, !tbaa !9
  %8830 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8830, ptr %28, align 4, !tbaa !9
  %8831 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %8831, ptr %37, align 4, !tbaa !9
  %8832 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %8832, ptr %38, align 4, !tbaa !9
  %8833 = load i32, ptr %38, align 4, !tbaa !9
  %8834 = load i32, ptr %37, align 4, !tbaa !9
  %8835 = add i32 %8834, %8833
  store i32 %8835, ptr %37, align 4, !tbaa !9
  %8836 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8836, ptr %6, align 4, !tbaa !9
  %8837 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %8837, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %8838 = load i32, ptr %38, align 4, !tbaa !9
  %8839 = load i32, ptr %37, align 4, !tbaa !9
  %8840 = add i32 %8839, %8838
  store i32 %8840, ptr %37, align 4, !tbaa !9
  %8841 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8841, ptr %13, align 4, !tbaa !9
  %8842 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %8842, ptr %37, align 4, !tbaa !9
  %8843 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %8843, ptr %38, align 4, !tbaa !9
  %8844 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %8844, ptr %39, align 4, !tbaa !9
  %8845 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %8845, ptr %40, align 4, !tbaa !9
  %8846 = load i32, ptr %40, align 4, !tbaa !9
  %8847 = load i32, ptr %39, align 4, !tbaa !9
  %8848 = and i32 %8847, %8846
  store i32 %8848, ptr %39, align 4, !tbaa !9
  %8849 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %8849, ptr %9, align 4, !tbaa !9
  store i32 3, ptr %40, align 4, !tbaa !9
  %8850 = load i32, ptr %40, align 4, !tbaa !9
  %8851 = and i32 %8850, 31
  %8852 = load i32, ptr %39, align 4, !tbaa !9
  %8853 = shl i32 %8852, %8851
  store i32 %8853, ptr %39, align 4, !tbaa !9
  %8854 = load i32, ptr %39, align 4, !tbaa !9
  %8855 = load i32, ptr %38, align 4, !tbaa !9
  %8856 = add i32 %8855, %8854
  store i32 %8856, ptr %38, align 4, !tbaa !9
  %8857 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %8857, ptr %8, align 4, !tbaa !9
  %8858 = load ptr, ptr %4, align 8, !tbaa !5
  %8859 = getelementptr inbounds %struct.w2c_hermes, ptr %8858, i32 0, i32 6
  %8860 = load i32, ptr %38, align 4, !tbaa !9
  %8861 = zext i32 %8860 to i64
  %8862 = call i32 @i32_load(ptr noundef %8859, i64 noundef %8861)
  store i32 %8862, ptr %38, align 4, !tbaa !9
  %8863 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %8863, ptr %6, align 4, !tbaa !9
  %8864 = load i32, ptr %37, align 4, !tbaa !9
  %8865 = load i32, ptr %38, align 4, !tbaa !9
  %8866 = icmp ne i32 %8864, %8865
  %8867 = zext i1 %8866 to i32
  store i32 %8867, ptr %37, align 4, !tbaa !9
  %8868 = load i32, ptr %37, align 4, !tbaa !9
  %8869 = icmp ne i32 %8868, 0
  br i1 %8869, label %8870, label %8871

8870:                                             ; preds = %8828
  br label %8783

8871:                                             ; preds = %8828
  br label %8882

8872:                                             ; preds = %8801, %8727
  %8873 = load i32, ptr %34, align 4, !tbaa !9
  store i32 %8873, ptr %37, align 4, !tbaa !9
  %8874 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %8874, ptr %38, align 4, !tbaa !9
  %8875 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %8875, ptr %39, align 4, !tbaa !9
  %8876 = load ptr, ptr %4, align 8, !tbaa !5
  %8877 = load i32, ptr %37, align 4, !tbaa !9
  %8878 = load i32, ptr %38, align 4, !tbaa !9
  %8879 = load i32, ptr %39, align 4, !tbaa !9
  %8880 = call i32 @w2c_hermes_llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x3E0x3E0x3E0x2A0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x3E0x3E0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x3E0x3E0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x3E0x3E0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x3E0x3E0x3E0x3E0x3A0x3AInsertIntoBucket0x3Chermes0x3A0x3ABasicBlock0x2A0x20const0x260x3E0x28llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x3E0x3E0x3E0x2A0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x20const0x260x29(ptr noundef %8876, i32 noundef %8877, i32 noundef %8878, i32 noundef %8879)
  store i32 %8880, ptr %37, align 4, !tbaa !9
  %8881 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8881, ptr %8, align 4, !tbaa !9
  br label %8882

8882:                                             ; preds = %8872, %8871, %8780
  %8883 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %8883, ptr %37, align 4, !tbaa !9
  %8884 = load ptr, ptr %4, align 8, !tbaa !5
  %8885 = getelementptr inbounds %struct.w2c_hermes, ptr %8884, i32 0, i32 6
  %8886 = load i32, ptr %37, align 4, !tbaa !9
  %8887 = zext i32 %8886 to i64
  %8888 = add i64 %8887, 4
  %8889 = call i32 @i32_load(ptr noundef %8885, i64 noundef %8888)
  store i32 %8889, ptr %37, align 4, !tbaa !9
  %8890 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8890, ptr %6, align 4, !tbaa !9
  %8891 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %8891, ptr %37, align 4, !tbaa !9
  %8892 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %8892, ptr %38, align 4, !tbaa !9
  %8893 = load ptr, ptr %4, align 8, !tbaa !5
  %8894 = getelementptr inbounds %struct.w2c_hermes, ptr %8893, i32 0, i32 6
  %8895 = load i32, ptr %37, align 4, !tbaa !9
  %8896 = zext i32 %8895 to i64
  %8897 = add i64 %8896, 4
  %8898 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8894, i64 noundef %8897, i32 noundef %8898)
  %8899 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %8899, ptr %37, align 4, !tbaa !9
  %8900 = load i32, ptr %37, align 4, !tbaa !9
  %8901 = icmp ne i32 %8900, 0
  br i1 %8901, label %8902, label %8937

8902:                                             ; preds = %8882
  %8903 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %8903, ptr %37, align 4, !tbaa !9
  %8904 = load ptr, ptr %4, align 8, !tbaa !5
  %8905 = getelementptr inbounds %struct.w2c_hermes, ptr %8904, i32 0, i32 6
  %8906 = load i32, ptr %37, align 4, !tbaa !9
  %8907 = zext i32 %8906 to i64
  %8908 = add i64 %8907, 12
  %8909 = call i32 @i32_load(ptr noundef %8905, i64 noundef %8908)
  store i32 %8909, ptr %37, align 4, !tbaa !9
  %8910 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8910, ptr %7, align 4, !tbaa !9
  %8911 = load i32, ptr %37, align 4, !tbaa !9
  %8912 = icmp ne i32 %8911, 0
  br i1 %8912, label %8913, label %8925

8913:                                             ; preds = %8902
  %8914 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %8914, ptr %37, align 4, !tbaa !9
  %8915 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %8915, ptr %38, align 4, !tbaa !9
  %8916 = load ptr, ptr %4, align 8, !tbaa !5
  %8917 = getelementptr inbounds %struct.w2c_hermes, ptr %8916, i32 0, i32 6
  %8918 = load i32, ptr %37, align 4, !tbaa !9
  %8919 = zext i32 %8918 to i64
  %8920 = add i64 %8919, 16
  %8921 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8917, i64 noundef %8920, i32 noundef %8921)
  %8922 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %8922, ptr %37, align 4, !tbaa !9
  %8923 = load ptr, ptr %4, align 8, !tbaa !5
  %8924 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %8923, i32 noundef %8924)
  br label %8925

8925:                                             ; preds = %8913, %8902
  %8926 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %8926, ptr %37, align 4, !tbaa !9
  %8927 = load ptr, ptr %4, align 8, !tbaa !5
  %8928 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %8927, i32 noundef %8928)
  %8929 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %8929, ptr %37, align 4, !tbaa !9
  %8930 = load ptr, ptr %4, align 8, !tbaa !5
  %8931 = getelementptr inbounds %struct.w2c_hermes, ptr %8930, i32 0, i32 6
  %8932 = load i32, ptr %37, align 4, !tbaa !9
  %8933 = zext i32 %8932 to i64
  %8934 = add i64 %8933, 4
  %8935 = call i32 @i32_load(ptr noundef %8931, i64 noundef %8934)
  store i32 %8935, ptr %37, align 4, !tbaa !9
  %8936 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8936, ptr %7, align 4, !tbaa !9
  br label %8937

8937:                                             ; preds = %8925, %8882
  %8938 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %8938, ptr %37, align 4, !tbaa !9
  %8939 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %8939, ptr %38, align 4, !tbaa !9
  %8940 = load ptr, ptr %4, align 8, !tbaa !5
  %8941 = getelementptr inbounds %struct.w2c_hermes, ptr %8940, i32 0, i32 6
  %8942 = load i32, ptr %37, align 4, !tbaa !9
  %8943 = zext i32 %8942 to i64
  %8944 = add i64 %8943, 32
  %8945 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %8941, i64 noundef %8944, i32 noundef %8945)
  store i32 0, ptr %37, align 4, !tbaa !9
  %8946 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8946, ptr %11, align 4, !tbaa !9
  %8947 = load ptr, ptr %4, align 8, !tbaa !5
  %8948 = getelementptr inbounds %struct.w2c_hermes, ptr %8947, i32 0, i32 3
  %8949 = load i32, ptr %8948, align 8, !tbaa !13
  store i32 %8949, ptr %37, align 4, !tbaa !9
  store i32 16, ptr %38, align 4, !tbaa !9
  %8950 = load i32, ptr %38, align 4, !tbaa !9
  %8951 = load i32, ptr %37, align 4, !tbaa !9
  %8952 = sub i32 %8951, %8950
  store i32 %8952, ptr %37, align 4, !tbaa !9
  %8953 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8953, ptr %18, align 4, !tbaa !9
  %8954 = load i32, ptr %37, align 4, !tbaa !9
  %8955 = load ptr, ptr %4, align 8, !tbaa !5
  %8956 = getelementptr inbounds %struct.w2c_hermes, ptr %8955, i32 0, i32 3
  store i32 %8954, ptr %8956, align 8, !tbaa !13
  %8957 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %8957, ptr %37, align 4, !tbaa !9
  store i32 16, ptr %38, align 4, !tbaa !9
  %8958 = load i32, ptr %38, align 4, !tbaa !9
  %8959 = load i32, ptr %37, align 4, !tbaa !9
  %8960 = add i32 %8959, %8958
  store i32 %8960, ptr %37, align 4, !tbaa !9
  %8961 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8961, ptr %9, align 4, !tbaa !9
  %8962 = load ptr, ptr %4, align 8, !tbaa !5
  %8963 = getelementptr inbounds %struct.w2c_hermes, ptr %8962, i32 0, i32 6
  %8964 = load i32, ptr %37, align 4, !tbaa !9
  %8965 = zext i32 %8964 to i64
  %8966 = call i32 @i32_load(ptr noundef %8963, i64 noundef %8965)
  store i32 %8966, ptr %37, align 4, !tbaa !9
  %8967 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8967, ptr %8, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %8968 = load i32, ptr %38, align 4, !tbaa !9
  %8969 = load i32, ptr %37, align 4, !tbaa !9
  %8970 = add i32 %8969, %8968
  store i32 %8970, ptr %37, align 4, !tbaa !9
  %8971 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8971, ptr %20, align 4, !tbaa !9
  %8972 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %8972, ptr %37, align 4, !tbaa !9
  %8973 = load ptr, ptr %4, align 8, !tbaa !5
  %8974 = getelementptr inbounds %struct.w2c_hermes, ptr %8973, i32 0, i32 6
  %8975 = load i32, ptr %37, align 4, !tbaa !9
  %8976 = zext i32 %8975 to i64
  %8977 = call i32 @i32_load(ptr noundef %8974, i64 noundef %8976)
  store i32 %8977, ptr %37, align 4, !tbaa !9
  %8978 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8978, ptr %14, align 4, !tbaa !9
  %8979 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %8979, ptr %37, align 4, !tbaa !9
  %8980 = load ptr, ptr %4, align 8, !tbaa !5
  %8981 = getelementptr inbounds %struct.w2c_hermes, ptr %8980, i32 0, i32 6
  %8982 = load i32, ptr %37, align 4, !tbaa !9
  %8983 = zext i32 %8982 to i64
  %8984 = add i64 %8983, 24
  %8985 = call i32 @i32_load(ptr noundef %8981, i64 noundef %8984)
  store i32 %8985, ptr %37, align 4, !tbaa !9
  %8986 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8986, ptr %6, align 4, !tbaa !9
  %8987 = load i32, ptr %37, align 4, !tbaa !9
  %8988 = icmp ne i32 %8987, 0
  %8989 = xor i1 %8988, true
  %8990 = zext i1 %8989 to i32
  store i32 %8990, ptr %37, align 4, !tbaa !9
  %8991 = load i32, ptr %37, align 4, !tbaa !9
  %8992 = icmp ne i32 %8991, 0
  br i1 %8992, label %8993, label %8995

8993:                                             ; preds = %8937
  store i32 0, ptr %37, align 4, !tbaa !9
  %8994 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %8994, ptr %8, align 4, !tbaa !9
  br label %9143

8995:                                             ; preds = %8937
  %8996 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %8996, ptr %37, align 4, !tbaa !9
  %8997 = load ptr, ptr %4, align 8, !tbaa !5
  %8998 = getelementptr inbounds %struct.w2c_hermes, ptr %8997, i32 0, i32 6
  %8999 = load i32, ptr %37, align 4, !tbaa !9
  %9000 = zext i32 %8999 to i64
  %9001 = call i32 @i32_load(ptr noundef %8998, i64 noundef %9000)
  store i32 %9001, ptr %37, align 4, !tbaa !9
  %9002 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9002, ptr %12, align 4, !tbaa !9
  %9003 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %9003, ptr %38, align 4, !tbaa !9
  %9004 = load ptr, ptr %4, align 8, !tbaa !5
  %9005 = getelementptr inbounds %struct.w2c_hermes, ptr %9004, i32 0, i32 6
  %9006 = load i32, ptr %38, align 4, !tbaa !9
  %9007 = zext i32 %9006 to i64
  %9008 = add i64 %9007, 12
  %9009 = call i32 @i32_load(ptr noundef %9005, i64 noundef %9008)
  store i32 %9009, ptr %38, align 4, !tbaa !9
  %9010 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %9010, ptr %15, align 4, !tbaa !9
  %9011 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %9011, ptr %39, align 4, !tbaa !9
  store i32 1, ptr %40, align 4, !tbaa !9
  %9012 = load i32, ptr %40, align 4, !tbaa !9
  %9013 = load i32, ptr %39, align 4, !tbaa !9
  %9014 = sub i32 %9013, %9012
  store i32 %9014, ptr %39, align 4, !tbaa !9
  %9015 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %9015, ptr %16, align 4, !tbaa !9
  %9016 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %9016, ptr %40, align 4, !tbaa !9
  store i32 4, ptr %41, align 4, !tbaa !9
  %9017 = load i32, ptr %41, align 4, !tbaa !9
  %9018 = and i32 %9017, 31
  %9019 = load i32, ptr %40, align 4, !tbaa !9
  %9020 = lshr i32 %9019, %9018
  store i32 %9020, ptr %40, align 4, !tbaa !9
  %9021 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %9021, ptr %41, align 4, !tbaa !9
  store i32 9, ptr %42, align 4, !tbaa !9
  %9022 = load i32, ptr %42, align 4, !tbaa !9
  %9023 = and i32 %9022, 31
  %9024 = load i32, ptr %41, align 4, !tbaa !9
  %9025 = lshr i32 %9024, %9023
  store i32 %9025, ptr %41, align 4, !tbaa !9
  %9026 = load i32, ptr %41, align 4, !tbaa !9
  %9027 = load i32, ptr %40, align 4, !tbaa !9
  %9028 = xor i32 %9027, %9026
  store i32 %9028, ptr %40, align 4, !tbaa !9
  %9029 = load i32, ptr %40, align 4, !tbaa !9
  %9030 = load i32, ptr %39, align 4, !tbaa !9
  %9031 = and i32 %9030, %9029
  store i32 %9031, ptr %39, align 4, !tbaa !9
  %9032 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %9032, ptr %10, align 4, !tbaa !9
  store i32 44, ptr %40, align 4, !tbaa !9
  %9033 = load i32, ptr %40, align 4, !tbaa !9
  %9034 = load i32, ptr %39, align 4, !tbaa !9
  %9035 = mul i32 %9034, %9033
  store i32 %9035, ptr %39, align 4, !tbaa !9
  %9036 = load i32, ptr %39, align 4, !tbaa !9
  %9037 = load i32, ptr %38, align 4, !tbaa !9
  %9038 = add i32 %9037, %9036
  store i32 %9038, ptr %38, align 4, !tbaa !9
  %9039 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %9039, ptr %7, align 4, !tbaa !9
  %9040 = load ptr, ptr %4, align 8, !tbaa !5
  %9041 = getelementptr inbounds %struct.w2c_hermes, ptr %9040, i32 0, i32 6
  %9042 = load i32, ptr %38, align 4, !tbaa !9
  %9043 = zext i32 %9042 to i64
  %9044 = call i32 @i32_load(ptr noundef %9041, i64 noundef %9043)
  store i32 %9044, ptr %38, align 4, !tbaa !9
  %9045 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %9045, ptr %13, align 4, !tbaa !9
  %9046 = load i32, ptr %37, align 4, !tbaa !9
  %9047 = load i32, ptr %38, align 4, !tbaa !9
  %9048 = icmp eq i32 %9046, %9047
  %9049 = zext i1 %9048 to i32
  store i32 %9049, ptr %37, align 4, !tbaa !9
  %9050 = load i32, ptr %37, align 4, !tbaa !9
  %9051 = icmp ne i32 %9050, 0
  br i1 %9051, label %9052, label %9053

9052:                                             ; preds = %8995
  br label %9163

9053:                                             ; preds = %8995
  store i32 1, ptr %37, align 4, !tbaa !9
  %9054 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9054, ptr %6, align 4, !tbaa !9
  br label %9055

9055:                                             ; preds = %9141, %9053
  %9056 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %9056, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %9057 = load i32, ptr %37, align 4, !tbaa !9
  %9058 = load i32, ptr %38, align 4, !tbaa !9
  %9059 = icmp eq i32 %9057, %9058
  %9060 = zext i1 %9059 to i32
  store i32 %9060, ptr %37, align 4, !tbaa !9
  %9061 = load i32, ptr %37, align 4, !tbaa !9
  %9062 = icmp ne i32 %9061, 0
  br i1 %9062, label %9063, label %9076

9063:                                             ; preds = %9055
  %9064 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %9064, ptr %37, align 4, !tbaa !9
  %9065 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %9065, ptr %38, align 4, !tbaa !9
  %9066 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %9066, ptr %39, align 4, !tbaa !9
  %9067 = load i32, ptr %39, align 4, !tbaa !9
  %9068 = icmp ne i32 %9067, 0
  br i1 %9068, label %9069, label %9071

9069:                                             ; preds = %9063
  %9070 = load i32, ptr %37, align 4, !tbaa !9
  br label %9073

9071:                                             ; preds = %9063
  %9072 = load i32, ptr %38, align 4, !tbaa !9
  br label %9073

9073:                                             ; preds = %9071, %9069
  %9074 = phi i32 [ %9070, %9069 ], [ %9072, %9071 ]
  store i32 %9074, ptr %37, align 4, !tbaa !9
  %9075 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9075, ptr %8, align 4, !tbaa !9
  br label %9143

9076:                                             ; preds = %9055
  %9077 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %9077, ptr %37, align 4, !tbaa !9
  %9078 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %9078, ptr %38, align 4, !tbaa !9
  %9079 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %9079, ptr %39, align 4, !tbaa !9
  %9080 = load i32, ptr %39, align 4, !tbaa !9
  %9081 = icmp ne i32 %9080, 0
  br i1 %9081, label %9082, label %9084

9082:                                             ; preds = %9076
  %9083 = load i32, ptr %37, align 4, !tbaa !9
  br label %9086

9084:                                             ; preds = %9076
  %9085 = load i32, ptr %38, align 4, !tbaa !9
  br label %9086

9086:                                             ; preds = %9084, %9082
  %9087 = phi i32 [ %9083, %9082 ], [ %9085, %9084 ]
  store i32 %9087, ptr %37, align 4, !tbaa !9
  %9088 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %9088, ptr %38, align 4, !tbaa !9
  %9089 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %9089, ptr %39, align 4, !tbaa !9
  store i32 -8, ptr %40, align 4, !tbaa !9
  %9090 = load i32, ptr %39, align 4, !tbaa !9
  %9091 = load i32, ptr %40, align 4, !tbaa !9
  %9092 = icmp eq i32 %9090, %9091
  %9093 = zext i1 %9092 to i32
  store i32 %9093, ptr %39, align 4, !tbaa !9
  %9094 = load i32, ptr %39, align 4, !tbaa !9
  %9095 = icmp ne i32 %9094, 0
  br i1 %9095, label %9096, label %9098

9096:                                             ; preds = %9086
  %9097 = load i32, ptr %37, align 4, !tbaa !9
  br label %9100

9098:                                             ; preds = %9086
  %9099 = load i32, ptr %38, align 4, !tbaa !9
  br label %9100

9100:                                             ; preds = %9098, %9096
  %9101 = phi i32 [ %9097, %9096 ], [ %9099, %9098 ]
  store i32 %9101, ptr %37, align 4, !tbaa !9
  %9102 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9102, ptr %11, align 4, !tbaa !9
  %9103 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %9103, ptr %37, align 4, !tbaa !9
  %9104 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %9104, ptr %38, align 4, !tbaa !9
  %9105 = load i32, ptr %38, align 4, !tbaa !9
  %9106 = load i32, ptr %37, align 4, !tbaa !9
  %9107 = add i32 %9106, %9105
  store i32 %9107, ptr %37, align 4, !tbaa !9
  %9108 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9108, ptr %7, align 4, !tbaa !9
  %9109 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %9109, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %9110 = load i32, ptr %38, align 4, !tbaa !9
  %9111 = load i32, ptr %37, align 4, !tbaa !9
  %9112 = add i32 %9111, %9110
  store i32 %9112, ptr %37, align 4, !tbaa !9
  %9113 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9113, ptr %6, align 4, !tbaa !9
  %9114 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %9114, ptr %37, align 4, !tbaa !9
  %9115 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %9115, ptr %38, align 4, !tbaa !9
  %9116 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %9116, ptr %39, align 4, !tbaa !9
  %9117 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %9117, ptr %40, align 4, !tbaa !9
  %9118 = load i32, ptr %40, align 4, !tbaa !9
  %9119 = load i32, ptr %39, align 4, !tbaa !9
  %9120 = and i32 %9119, %9118
  store i32 %9120, ptr %39, align 4, !tbaa !9
  %9121 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %9121, ptr %10, align 4, !tbaa !9
  store i32 44, ptr %40, align 4, !tbaa !9
  %9122 = load i32, ptr %40, align 4, !tbaa !9
  %9123 = load i32, ptr %39, align 4, !tbaa !9
  %9124 = mul i32 %9123, %9122
  store i32 %9124, ptr %39, align 4, !tbaa !9
  %9125 = load i32, ptr %39, align 4, !tbaa !9
  %9126 = load i32, ptr %38, align 4, !tbaa !9
  %9127 = add i32 %9126, %9125
  store i32 %9127, ptr %38, align 4, !tbaa !9
  %9128 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %9128, ptr %7, align 4, !tbaa !9
  %9129 = load ptr, ptr %4, align 8, !tbaa !5
  %9130 = getelementptr inbounds %struct.w2c_hermes, ptr %9129, i32 0, i32 6
  %9131 = load i32, ptr %38, align 4, !tbaa !9
  %9132 = zext i32 %9131 to i64
  %9133 = call i32 @i32_load(ptr noundef %9130, i64 noundef %9132)
  store i32 %9133, ptr %38, align 4, !tbaa !9
  %9134 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %9134, ptr %13, align 4, !tbaa !9
  %9135 = load i32, ptr %37, align 4, !tbaa !9
  %9136 = load i32, ptr %38, align 4, !tbaa !9
  %9137 = icmp ne i32 %9135, %9136
  %9138 = zext i1 %9137 to i32
  store i32 %9138, ptr %37, align 4, !tbaa !9
  %9139 = load i32, ptr %37, align 4, !tbaa !9
  %9140 = icmp ne i32 %9139, 0
  br i1 %9140, label %9141, label %9142

9141:                                             ; preds = %9100
  br label %9055

9142:                                             ; preds = %9100
  br label %9163

9143:                                             ; preds = %9073, %8993
  %9144 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %9144, ptr %37, align 4, !tbaa !9
  store i32 12, ptr %38, align 4, !tbaa !9
  %9145 = load i32, ptr %38, align 4, !tbaa !9
  %9146 = load i32, ptr %37, align 4, !tbaa !9
  %9147 = add i32 %9146, %9145
  store i32 %9147, ptr %37, align 4, !tbaa !9
  %9148 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %9148, ptr %38, align 4, !tbaa !9
  %9149 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %9149, ptr %39, align 4, !tbaa !9
  %9150 = load ptr, ptr %4, align 8, !tbaa !5
  %9151 = load i32, ptr %37, align 4, !tbaa !9
  %9152 = load i32, ptr %38, align 4, !tbaa !9
  %9153 = load i32, ptr %39, align 4, !tbaa !9
  %9154 = call i32 @w2c_hermes_llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x3A0x3AInsertIntoBucket0x3Chermes0x3A0x3ABasicBlock0x2A0x20const0x260x3E0x28llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x20const0x260x29(ptr noundef %9150, i32 noundef %9151, i32 noundef %9152, i32 noundef %9153)
  store i32 %9154, ptr %37, align 4, !tbaa !9
  %9155 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9155, ptr %7, align 4, !tbaa !9
  %9156 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %9156, ptr %37, align 4, !tbaa !9
  %9157 = load ptr, ptr %4, align 8, !tbaa !5
  %9158 = getelementptr inbounds %struct.w2c_hermes, ptr %9157, i32 0, i32 6
  %9159 = load i32, ptr %37, align 4, !tbaa !9
  %9160 = zext i32 %9159 to i64
  %9161 = call i32 @i32_load(ptr noundef %9158, i64 noundef %9160)
  store i32 %9161, ptr %37, align 4, !tbaa !9
  %9162 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9162, ptr %8, align 4, !tbaa !9
  br label %9163

9163:                                             ; preds = %9143, %9142, %9052
  %9164 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %9164, ptr %37, align 4, !tbaa !9
  %9165 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %9165, ptr %38, align 4, !tbaa !9
  %9166 = load ptr, ptr %4, align 8, !tbaa !5
  %9167 = getelementptr inbounds %struct.w2c_hermes, ptr %9166, i32 0, i32 6
  %9168 = load i32, ptr %37, align 4, !tbaa !9
  %9169 = zext i32 %9168 to i64
  %9170 = add i64 %9169, 20
  %9171 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %9167, i64 noundef %9170, i32 noundef %9171)
  %9172 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %9172, ptr %37, align 4, !tbaa !9
  %9173 = load ptr, ptr %4, align 8, !tbaa !5
  %9174 = getelementptr inbounds %struct.w2c_hermes, ptr %9173, i32 0, i32 6
  %9175 = load i32, ptr %37, align 4, !tbaa !9
  %9176 = zext i32 %9175 to i64
  %9177 = add i64 %9176, 4
  %9178 = call i32 @i32_load(ptr noundef %9174, i64 noundef %9177)
  store i32 %9178, ptr %37, align 4, !tbaa !9
  %9179 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %9179, ptr %38, align 4, !tbaa !9
  %9180 = load i32, ptr %38, align 4, !tbaa !9
  %9181 = load i32, ptr %37, align 4, !tbaa !9
  %9182 = sub i32 %9181, %9180
  store i32 %9182, ptr %37, align 4, !tbaa !9
  %9183 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9183, ptr %6, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %9184 = load i32, ptr %37, align 4, !tbaa !9
  %9185 = load i32, ptr %38, align 4, !tbaa !9
  %9186 = icmp ne i32 %9184, %9185
  %9187 = zext i1 %9186 to i32
  store i32 %9187, ptr %37, align 4, !tbaa !9
  %9188 = load i32, ptr %37, align 4, !tbaa !9
  %9189 = icmp ne i32 %9188, 0
  br i1 %9189, label %9190, label %10119

9190:                                             ; preds = %9163
  %9191 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %9191, ptr %37, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %9192 = load i32, ptr %37, align 4, !tbaa !9
  %9193 = load i32, ptr %38, align 4, !tbaa !9
  %9194 = and i32 %9193, 31
  %9195 = ashr i32 %9192, %9194
  store i32 %9195, ptr %37, align 4, !tbaa !9
  %9196 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9196, ptr %15, align 4, !tbaa !9
  %9197 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %9197, ptr %37, align 4, !tbaa !9
  store i32 16, ptr %38, align 4, !tbaa !9
  %9198 = load i32, ptr %38, align 4, !tbaa !9
  %9199 = load i32, ptr %37, align 4, !tbaa !9
  %9200 = add i32 %9199, %9198
  store i32 %9200, ptr %37, align 4, !tbaa !9
  %9201 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9201, ptr %14, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %9202 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9202, ptr %12, align 4, !tbaa !9
  br label %9203

9203:                                             ; preds = %10117, %9190
  %9204 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %9204, ptr %37, align 4, !tbaa !9
  %9205 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %9205, ptr %38, align 4, !tbaa !9
  %9206 = load ptr, ptr %4, align 8, !tbaa !5
  %9207 = getelementptr inbounds %struct.w2c_hermes, ptr %9206, i32 0, i32 6
  %9208 = load i32, ptr %38, align 4, !tbaa !9
  %9209 = zext i32 %9208 to i64
  %9210 = call i32 @i32_load(ptr noundef %9207, i64 noundef %9209)
  store i32 %9210, ptr %38, align 4, !tbaa !9
  %9211 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %9211, ptr %39, align 4, !tbaa !9
  store i32 2, ptr %40, align 4, !tbaa !9
  %9212 = load i32, ptr %40, align 4, !tbaa !9
  %9213 = and i32 %9212, 31
  %9214 = load i32, ptr %39, align 4, !tbaa !9
  %9215 = shl i32 %9214, %9213
  store i32 %9215, ptr %39, align 4, !tbaa !9
  %9216 = load i32, ptr %39, align 4, !tbaa !9
  %9217 = load i32, ptr %38, align 4, !tbaa !9
  %9218 = add i32 %9217, %9216
  store i32 %9218, ptr %38, align 4, !tbaa !9
  %9219 = load ptr, ptr %4, align 8, !tbaa !5
  %9220 = getelementptr inbounds %struct.w2c_hermes, ptr %9219, i32 0, i32 6
  %9221 = load i32, ptr %38, align 4, !tbaa !9
  %9222 = zext i32 %9221 to i64
  %9223 = call i32 @i32_load(ptr noundef %9220, i64 noundef %9222)
  store i32 %9223, ptr %38, align 4, !tbaa !9
  %9224 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %9224, ptr %10, align 4, !tbaa !9
  %9225 = load ptr, ptr %4, align 8, !tbaa !5
  %9226 = getelementptr inbounds %struct.w2c_hermes, ptr %9225, i32 0, i32 6
  %9227 = load i32, ptr %37, align 4, !tbaa !9
  %9228 = zext i32 %9227 to i64
  %9229 = add i64 %9228, 12
  %9230 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %9226, i64 noundef %9229, i32 noundef %9230)
  %9231 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %9231, ptr %37, align 4, !tbaa !9
  %9232 = load ptr, ptr %4, align 8, !tbaa !5
  %9233 = getelementptr inbounds %struct.w2c_hermes, ptr %9232, i32 0, i32 6
  %9234 = load i32, ptr %37, align 4, !tbaa !9
  %9235 = zext i32 %9234 to i64
  %9236 = add i64 %9235, 28
  %9237 = call i32 @i32_load(ptr noundef %9233, i64 noundef %9236)
  store i32 %9237, ptr %37, align 4, !tbaa !9
  %9238 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9238, ptr %6, align 4, !tbaa !9
  %9239 = load i32, ptr %37, align 4, !tbaa !9
  %9240 = icmp ne i32 %9239, 0
  %9241 = xor i1 %9240, true
  %9242 = zext i1 %9241 to i32
  store i32 %9242, ptr %37, align 4, !tbaa !9
  %9243 = load i32, ptr %37, align 4, !tbaa !9
  %9244 = icmp ne i32 %9243, 0
  br i1 %9244, label %9245, label %9247

9245:                                             ; preds = %9203
  store i32 0, ptr %37, align 4, !tbaa !9
  %9246 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9246, ptr %8, align 4, !tbaa !9
  br label %9392

9247:                                             ; preds = %9203
  %9248 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %9248, ptr %37, align 4, !tbaa !9
  %9249 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %9249, ptr %38, align 4, !tbaa !9
  %9250 = load ptr, ptr %4, align 8, !tbaa !5
  %9251 = getelementptr inbounds %struct.w2c_hermes, ptr %9250, i32 0, i32 6
  %9252 = load i32, ptr %38, align 4, !tbaa !9
  %9253 = zext i32 %9252 to i64
  %9254 = add i64 %9253, 16
  %9255 = call i32 @i32_load(ptr noundef %9251, i64 noundef %9254)
  store i32 %9255, ptr %38, align 4, !tbaa !9
  %9256 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %9256, ptr %20, align 4, !tbaa !9
  %9257 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %9257, ptr %39, align 4, !tbaa !9
  store i32 1, ptr %40, align 4, !tbaa !9
  %9258 = load i32, ptr %40, align 4, !tbaa !9
  %9259 = load i32, ptr %39, align 4, !tbaa !9
  %9260 = sub i32 %9259, %9258
  store i32 %9260, ptr %39, align 4, !tbaa !9
  %9261 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %9261, ptr %16, align 4, !tbaa !9
  %9262 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %9262, ptr %40, align 4, !tbaa !9
  store i32 4, ptr %41, align 4, !tbaa !9
  %9263 = load i32, ptr %41, align 4, !tbaa !9
  %9264 = and i32 %9263, 31
  %9265 = load i32, ptr %40, align 4, !tbaa !9
  %9266 = lshr i32 %9265, %9264
  store i32 %9266, ptr %40, align 4, !tbaa !9
  %9267 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %9267, ptr %41, align 4, !tbaa !9
  store i32 9, ptr %42, align 4, !tbaa !9
  %9268 = load i32, ptr %42, align 4, !tbaa !9
  %9269 = and i32 %9268, 31
  %9270 = load i32, ptr %41, align 4, !tbaa !9
  %9271 = lshr i32 %9270, %9269
  store i32 %9271, ptr %41, align 4, !tbaa !9
  %9272 = load i32, ptr %41, align 4, !tbaa !9
  %9273 = load i32, ptr %40, align 4, !tbaa !9
  %9274 = xor i32 %9273, %9272
  store i32 %9274, ptr %40, align 4, !tbaa !9
  %9275 = load i32, ptr %40, align 4, !tbaa !9
  %9276 = load i32, ptr %39, align 4, !tbaa !9
  %9277 = and i32 %9276, %9275
  store i32 %9277, ptr %39, align 4, !tbaa !9
  %9278 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %9278, ptr %13, align 4, !tbaa !9
  store i32 3, ptr %40, align 4, !tbaa !9
  %9279 = load i32, ptr %40, align 4, !tbaa !9
  %9280 = and i32 %9279, 31
  %9281 = load i32, ptr %39, align 4, !tbaa !9
  %9282 = shl i32 %9281, %9280
  store i32 %9282, ptr %39, align 4, !tbaa !9
  %9283 = load i32, ptr %39, align 4, !tbaa !9
  %9284 = load i32, ptr %38, align 4, !tbaa !9
  %9285 = add i32 %9284, %9283
  store i32 %9285, ptr %38, align 4, !tbaa !9
  %9286 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %9286, ptr %7, align 4, !tbaa !9
  %9287 = load ptr, ptr %4, align 8, !tbaa !5
  %9288 = getelementptr inbounds %struct.w2c_hermes, ptr %9287, i32 0, i32 6
  %9289 = load i32, ptr %38, align 4, !tbaa !9
  %9290 = zext i32 %9289 to i64
  %9291 = call i32 @i32_load(ptr noundef %9288, i64 noundef %9290)
  store i32 %9291, ptr %38, align 4, !tbaa !9
  %9292 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %9292, ptr %8, align 4, !tbaa !9
  %9293 = load i32, ptr %37, align 4, !tbaa !9
  %9294 = load i32, ptr %38, align 4, !tbaa !9
  %9295 = icmp eq i32 %9293, %9294
  %9296 = zext i1 %9295 to i32
  store i32 %9296, ptr %37, align 4, !tbaa !9
  %9297 = load i32, ptr %37, align 4, !tbaa !9
  %9298 = icmp ne i32 %9297, 0
  br i1 %9298, label %9299, label %9300

9299:                                             ; preds = %9247
  br label %9405

9300:                                             ; preds = %9247
  store i32 0, ptr %37, align 4, !tbaa !9
  %9301 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9301, ptr %11, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %9302 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9302, ptr %6, align 4, !tbaa !9
  br label %9303

9303:                                             ; preds = %9390, %9300
  %9304 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %9304, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %9305 = load i32, ptr %37, align 4, !tbaa !9
  %9306 = load i32, ptr %38, align 4, !tbaa !9
  %9307 = icmp eq i32 %9305, %9306
  %9308 = zext i1 %9307 to i32
  store i32 %9308, ptr %37, align 4, !tbaa !9
  %9309 = load i32, ptr %37, align 4, !tbaa !9
  %9310 = icmp ne i32 %9309, 0
  br i1 %9310, label %9311, label %9324

9311:                                             ; preds = %9303
  %9312 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %9312, ptr %37, align 4, !tbaa !9
  %9313 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %9313, ptr %38, align 4, !tbaa !9
  %9314 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %9314, ptr %39, align 4, !tbaa !9
  %9315 = load i32, ptr %39, align 4, !tbaa !9
  %9316 = icmp ne i32 %9315, 0
  br i1 %9316, label %9317, label %9319

9317:                                             ; preds = %9311
  %9318 = load i32, ptr %37, align 4, !tbaa !9
  br label %9321

9319:                                             ; preds = %9311
  %9320 = load i32, ptr %38, align 4, !tbaa !9
  br label %9321

9321:                                             ; preds = %9319, %9317
  %9322 = phi i32 [ %9318, %9317 ], [ %9320, %9319 ]
  store i32 %9322, ptr %37, align 4, !tbaa !9
  %9323 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9323, ptr %8, align 4, !tbaa !9
  br label %9392

9324:                                             ; preds = %9303
  %9325 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %9325, ptr %37, align 4, !tbaa !9
  %9326 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %9326, ptr %38, align 4, !tbaa !9
  %9327 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %9327, ptr %39, align 4, !tbaa !9
  %9328 = load i32, ptr %39, align 4, !tbaa !9
  %9329 = icmp ne i32 %9328, 0
  br i1 %9329, label %9330, label %9332

9330:                                             ; preds = %9324
  %9331 = load i32, ptr %37, align 4, !tbaa !9
  br label %9334

9332:                                             ; preds = %9324
  %9333 = load i32, ptr %38, align 4, !tbaa !9
  br label %9334

9334:                                             ; preds = %9332, %9330
  %9335 = phi i32 [ %9331, %9330 ], [ %9333, %9332 ]
  store i32 %9335, ptr %37, align 4, !tbaa !9
  %9336 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %9336, ptr %38, align 4, !tbaa !9
  %9337 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %9337, ptr %39, align 4, !tbaa !9
  store i32 -8, ptr %40, align 4, !tbaa !9
  %9338 = load i32, ptr %39, align 4, !tbaa !9
  %9339 = load i32, ptr %40, align 4, !tbaa !9
  %9340 = icmp eq i32 %9338, %9339
  %9341 = zext i1 %9340 to i32
  store i32 %9341, ptr %39, align 4, !tbaa !9
  %9342 = load i32, ptr %39, align 4, !tbaa !9
  %9343 = icmp ne i32 %9342, 0
  br i1 %9343, label %9344, label %9346

9344:                                             ; preds = %9334
  %9345 = load i32, ptr %37, align 4, !tbaa !9
  br label %9348

9346:                                             ; preds = %9334
  %9347 = load i32, ptr %38, align 4, !tbaa !9
  br label %9348

9348:                                             ; preds = %9346, %9344
  %9349 = phi i32 [ %9345, %9344 ], [ %9347, %9346 ]
  store i32 %9349, ptr %37, align 4, !tbaa !9
  %9350 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9350, ptr %11, align 4, !tbaa !9
  %9351 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %9351, ptr %37, align 4, !tbaa !9
  %9352 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %9352, ptr %38, align 4, !tbaa !9
  %9353 = load i32, ptr %38, align 4, !tbaa !9
  %9354 = load i32, ptr %37, align 4, !tbaa !9
  %9355 = add i32 %9354, %9353
  store i32 %9355, ptr %37, align 4, !tbaa !9
  %9356 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9356, ptr %7, align 4, !tbaa !9
  %9357 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %9357, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %9358 = load i32, ptr %38, align 4, !tbaa !9
  %9359 = load i32, ptr %37, align 4, !tbaa !9
  %9360 = add i32 %9359, %9358
  store i32 %9360, ptr %37, align 4, !tbaa !9
  %9361 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9361, ptr %6, align 4, !tbaa !9
  %9362 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %9362, ptr %37, align 4, !tbaa !9
  %9363 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %9363, ptr %38, align 4, !tbaa !9
  %9364 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %9364, ptr %39, align 4, !tbaa !9
  %9365 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %9365, ptr %40, align 4, !tbaa !9
  %9366 = load i32, ptr %40, align 4, !tbaa !9
  %9367 = load i32, ptr %39, align 4, !tbaa !9
  %9368 = and i32 %9367, %9366
  store i32 %9368, ptr %39, align 4, !tbaa !9
  %9369 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %9369, ptr %13, align 4, !tbaa !9
  store i32 3, ptr %40, align 4, !tbaa !9
  %9370 = load i32, ptr %40, align 4, !tbaa !9
  %9371 = and i32 %9370, 31
  %9372 = load i32, ptr %39, align 4, !tbaa !9
  %9373 = shl i32 %9372, %9371
  store i32 %9373, ptr %39, align 4, !tbaa !9
  %9374 = load i32, ptr %39, align 4, !tbaa !9
  %9375 = load i32, ptr %38, align 4, !tbaa !9
  %9376 = add i32 %9375, %9374
  store i32 %9376, ptr %38, align 4, !tbaa !9
  %9377 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %9377, ptr %7, align 4, !tbaa !9
  %9378 = load ptr, ptr %4, align 8, !tbaa !5
  %9379 = getelementptr inbounds %struct.w2c_hermes, ptr %9378, i32 0, i32 6
  %9380 = load i32, ptr %38, align 4, !tbaa !9
  %9381 = zext i32 %9380 to i64
  %9382 = call i32 @i32_load(ptr noundef %9379, i64 noundef %9381)
  store i32 %9382, ptr %38, align 4, !tbaa !9
  %9383 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %9383, ptr %8, align 4, !tbaa !9
  %9384 = load i32, ptr %37, align 4, !tbaa !9
  %9385 = load i32, ptr %38, align 4, !tbaa !9
  %9386 = icmp ne i32 %9384, %9385
  %9387 = zext i1 %9386 to i32
  store i32 %9387, ptr %37, align 4, !tbaa !9
  %9388 = load i32, ptr %37, align 4, !tbaa !9
  %9389 = icmp ne i32 %9388, 0
  br i1 %9389, label %9390, label %9391

9390:                                             ; preds = %9348
  br label %9303

9391:                                             ; preds = %9348
  br label %9405

9392:                                             ; preds = %9321, %9245
  %9393 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %9393, ptr %37, align 4, !tbaa !9
  %9394 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %9394, ptr %38, align 4, !tbaa !9
  %9395 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %9395, ptr %39, align 4, !tbaa !9
  store i32 12, ptr %40, align 4, !tbaa !9
  %9396 = load i32, ptr %40, align 4, !tbaa !9
  %9397 = load i32, ptr %39, align 4, !tbaa !9
  %9398 = add i32 %9397, %9396
  store i32 %9398, ptr %39, align 4, !tbaa !9
  %9399 = load ptr, ptr %4, align 8, !tbaa !5
  %9400 = load i32, ptr %37, align 4, !tbaa !9
  %9401 = load i32, ptr %38, align 4, !tbaa !9
  %9402 = load i32, ptr %39, align 4, !tbaa !9
  %9403 = call i32 @w2c_hermes_llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x3E0x3E0x3E0x2A0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x3E0x3E0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x3E0x3E0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x3E0x3E0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x3E0x3E0x3E0x3E0x3A0x3AInsertIntoBucket0x3Chermes0x3A0x3ABasicBlock0x2A0x20const0x260x3E0x28llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x3E0x3E0x3E0x2A0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x20const0x260x29(ptr noundef %9399, i32 noundef %9400, i32 noundef %9401, i32 noundef %9402)
  store i32 %9403, ptr %37, align 4, !tbaa !9
  %9404 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9404, ptr %7, align 4, !tbaa !9
  br label %9405

9405:                                             ; preds = %9392, %9391, %9299
  %9406 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %9406, ptr %37, align 4, !tbaa !9
  %9407 = load ptr, ptr %4, align 8, !tbaa !5
  %9408 = getelementptr inbounds %struct.w2c_hermes, ptr %9407, i32 0, i32 6
  %9409 = load i32, ptr %37, align 4, !tbaa !9
  %9410 = zext i32 %9409 to i64
  %9411 = add i64 %9410, 4
  %9412 = call i32 @i32_load(ptr noundef %9408, i64 noundef %9411)
  store i32 %9412, ptr %37, align 4, !tbaa !9
  %9413 = load i32, ptr %37, align 4, !tbaa !9
  %9414 = icmp ne i32 %9413, 0
  br i1 %9414, label %9415, label %9416

9415:                                             ; preds = %9405
  br label %10104

9416:                                             ; preds = %9405
  %9417 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %9417, ptr %37, align 4, !tbaa !9
  %9418 = load ptr, ptr %4, align 8, !tbaa !5
  %9419 = getelementptr inbounds %struct.w2c_hermes, ptr %9418, i32 0, i32 6
  %9420 = load i32, ptr %37, align 4, !tbaa !9
  %9421 = zext i32 %9420 to i64
  %9422 = add i64 %9421, 12
  %9423 = call i32 @i32_load(ptr noundef %9419, i64 noundef %9422)
  store i32 %9423, ptr %37, align 4, !tbaa !9
  %9424 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9424, ptr %11, align 4, !tbaa !9
  %9425 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %9425, ptr %37, align 4, !tbaa !9
  %9426 = load ptr, ptr %4, align 8, !tbaa !5
  %9427 = getelementptr inbounds %struct.w2c_hermes, ptr %9426, i32 0, i32 6
  %9428 = load i32, ptr %37, align 4, !tbaa !9
  %9429 = zext i32 %9428 to i64
  %9430 = add i64 %9429, 24
  %9431 = call i32 @i32_load(ptr noundef %9427, i64 noundef %9430)
  store i32 %9431, ptr %37, align 4, !tbaa !9
  %9432 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9432, ptr %20, align 4, !tbaa !9
  %9433 = load i32, ptr %37, align 4, !tbaa !9
  %9434 = icmp ne i32 %9433, 0
  %9435 = xor i1 %9434, true
  %9436 = zext i1 %9435 to i32
  store i32 %9436, ptr %37, align 4, !tbaa !9
  %9437 = load i32, ptr %37, align 4, !tbaa !9
  %9438 = icmp ne i32 %9437, 0
  br i1 %9438, label %9439, label %9440

9439:                                             ; preds = %9416
  br label %9544

9440:                                             ; preds = %9416
  %9441 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %9441, ptr %37, align 4, !tbaa !9
  %9442 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %9442, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %9443 = load i32, ptr %39, align 4, !tbaa !9
  %9444 = load i32, ptr %38, align 4, !tbaa !9
  %9445 = sub i32 %9444, %9443
  store i32 %9445, ptr %38, align 4, !tbaa !9
  %9446 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %9446, ptr %16, align 4, !tbaa !9
  %9447 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %9447, ptr %39, align 4, !tbaa !9
  %9448 = load ptr, ptr %4, align 8, !tbaa !5
  %9449 = getelementptr inbounds %struct.w2c_hermes, ptr %9448, i32 0, i32 6
  %9450 = load i32, ptr %39, align 4, !tbaa !9
  %9451 = zext i32 %9450 to i64
  %9452 = add i64 %9451, 12
  %9453 = call i32 @i32_load(ptr noundef %9449, i64 noundef %9452)
  store i32 %9453, ptr %39, align 4, !tbaa !9
  %9454 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %9454, ptr %13, align 4, !tbaa !9
  store i32 4, ptr %40, align 4, !tbaa !9
  %9455 = load i32, ptr %40, align 4, !tbaa !9
  %9456 = and i32 %9455, 31
  %9457 = load i32, ptr %39, align 4, !tbaa !9
  %9458 = lshr i32 %9457, %9456
  store i32 %9458, ptr %39, align 4, !tbaa !9
  %9459 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %9459, ptr %40, align 4, !tbaa !9
  store i32 9, ptr %41, align 4, !tbaa !9
  %9460 = load i32, ptr %41, align 4, !tbaa !9
  %9461 = and i32 %9460, 31
  %9462 = load i32, ptr %40, align 4, !tbaa !9
  %9463 = lshr i32 %9462, %9461
  store i32 %9463, ptr %40, align 4, !tbaa !9
  %9464 = load i32, ptr %40, align 4, !tbaa !9
  %9465 = load i32, ptr %39, align 4, !tbaa !9
  %9466 = xor i32 %9465, %9464
  store i32 %9466, ptr %39, align 4, !tbaa !9
  %9467 = load i32, ptr %39, align 4, !tbaa !9
  %9468 = load i32, ptr %38, align 4, !tbaa !9
  %9469 = and i32 %9468, %9467
  store i32 %9469, ptr %38, align 4, !tbaa !9
  %9470 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %9470, ptr %7, align 4, !tbaa !9
  store i32 44, ptr %39, align 4, !tbaa !9
  %9471 = load i32, ptr %39, align 4, !tbaa !9
  %9472 = load i32, ptr %38, align 4, !tbaa !9
  %9473 = mul i32 %9472, %9471
  store i32 %9473, ptr %38, align 4, !tbaa !9
  %9474 = load i32, ptr %38, align 4, !tbaa !9
  %9475 = load i32, ptr %37, align 4, !tbaa !9
  %9476 = add i32 %9475, %9474
  store i32 %9476, ptr %37, align 4, !tbaa !9
  %9477 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9477, ptr %8, align 4, !tbaa !9
  %9478 = load ptr, ptr %4, align 8, !tbaa !5
  %9479 = getelementptr inbounds %struct.w2c_hermes, ptr %9478, i32 0, i32 6
  %9480 = load i32, ptr %37, align 4, !tbaa !9
  %9481 = zext i32 %9480 to i64
  %9482 = call i32 @i32_load(ptr noundef %9479, i64 noundef %9481)
  store i32 %9482, ptr %37, align 4, !tbaa !9
  %9483 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9483, ptr %10, align 4, !tbaa !9
  %9484 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %9484, ptr %38, align 4, !tbaa !9
  %9485 = load i32, ptr %37, align 4, !tbaa !9
  %9486 = load i32, ptr %38, align 4, !tbaa !9
  %9487 = icmp eq i32 %9485, %9486
  %9488 = zext i1 %9487 to i32
  store i32 %9488, ptr %37, align 4, !tbaa !9
  %9489 = load i32, ptr %37, align 4, !tbaa !9
  %9490 = icmp ne i32 %9489, 0
  br i1 %9490, label %9491, label %9492

9491:                                             ; preds = %9440
  br label %9554

9492:                                             ; preds = %9440
  store i32 1, ptr %37, align 4, !tbaa !9
  %9493 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9493, ptr %6, align 4, !tbaa !9
  br label %9494

9494:                                             ; preds = %9542, %9492
  %9495 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %9495, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %9496 = load i32, ptr %37, align 4, !tbaa !9
  %9497 = load i32, ptr %38, align 4, !tbaa !9
  %9498 = icmp eq i32 %9496, %9497
  %9499 = zext i1 %9498 to i32
  store i32 %9499, ptr %37, align 4, !tbaa !9
  %9500 = load i32, ptr %37, align 4, !tbaa !9
  %9501 = icmp ne i32 %9500, 0
  br i1 %9501, label %9502, label %9503

9502:                                             ; preds = %9494
  br label %9544

9503:                                             ; preds = %9494
  %9504 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %9504, ptr %37, align 4, !tbaa !9
  %9505 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %9505, ptr %38, align 4, !tbaa !9
  %9506 = load i32, ptr %38, align 4, !tbaa !9
  %9507 = load i32, ptr %37, align 4, !tbaa !9
  %9508 = add i32 %9507, %9506
  store i32 %9508, ptr %37, align 4, !tbaa !9
  %9509 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9509, ptr %7, align 4, !tbaa !9
  %9510 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %9510, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %9511 = load i32, ptr %38, align 4, !tbaa !9
  %9512 = load i32, ptr %37, align 4, !tbaa !9
  %9513 = add i32 %9512, %9511
  store i32 %9513, ptr %37, align 4, !tbaa !9
  %9514 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9514, ptr %6, align 4, !tbaa !9
  %9515 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %9515, ptr %37, align 4, !tbaa !9
  %9516 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %9516, ptr %38, align 4, !tbaa !9
  %9517 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %9517, ptr %39, align 4, !tbaa !9
  %9518 = load i32, ptr %39, align 4, !tbaa !9
  %9519 = load i32, ptr %38, align 4, !tbaa !9
  %9520 = and i32 %9519, %9518
  store i32 %9520, ptr %38, align 4, !tbaa !9
  %9521 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %9521, ptr %7, align 4, !tbaa !9
  store i32 44, ptr %39, align 4, !tbaa !9
  %9522 = load i32, ptr %39, align 4, !tbaa !9
  %9523 = load i32, ptr %38, align 4, !tbaa !9
  %9524 = mul i32 %9523, %9522
  store i32 %9524, ptr %38, align 4, !tbaa !9
  %9525 = load i32, ptr %38, align 4, !tbaa !9
  %9526 = load i32, ptr %37, align 4, !tbaa !9
  %9527 = add i32 %9526, %9525
  store i32 %9527, ptr %37, align 4, !tbaa !9
  %9528 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9528, ptr %8, align 4, !tbaa !9
  %9529 = load ptr, ptr %4, align 8, !tbaa !5
  %9530 = getelementptr inbounds %struct.w2c_hermes, ptr %9529, i32 0, i32 6
  %9531 = load i32, ptr %37, align 4, !tbaa !9
  %9532 = zext i32 %9531 to i64
  %9533 = call i32 @i32_load(ptr noundef %9530, i64 noundef %9532)
  store i32 %9533, ptr %37, align 4, !tbaa !9
  %9534 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9534, ptr %10, align 4, !tbaa !9
  %9535 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %9535, ptr %38, align 4, !tbaa !9
  %9536 = load i32, ptr %37, align 4, !tbaa !9
  %9537 = load i32, ptr %38, align 4, !tbaa !9
  %9538 = icmp ne i32 %9536, %9537
  %9539 = zext i1 %9538 to i32
  store i32 %9539, ptr %37, align 4, !tbaa !9
  %9540 = load i32, ptr %37, align 4, !tbaa !9
  %9541 = icmp ne i32 %9540, 0
  br i1 %9541, label %9542, label %9543

9542:                                             ; preds = %9503
  br label %9494

9543:                                             ; preds = %9503
  br label %9554

9544:                                             ; preds = %9502, %9439
  %9545 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %9545, ptr %37, align 4, !tbaa !9
  %9546 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %9546, ptr %38, align 4, !tbaa !9
  store i32 44, ptr %39, align 4, !tbaa !9
  %9547 = load i32, ptr %39, align 4, !tbaa !9
  %9548 = load i32, ptr %38, align 4, !tbaa !9
  %9549 = mul i32 %9548, %9547
  store i32 %9549, ptr %38, align 4, !tbaa !9
  %9550 = load i32, ptr %38, align 4, !tbaa !9
  %9551 = load i32, ptr %37, align 4, !tbaa !9
  %9552 = add i32 %9551, %9550
  store i32 %9552, ptr %37, align 4, !tbaa !9
  %9553 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9553, ptr %8, align 4, !tbaa !9
  br label %9554

9554:                                             ; preds = %9544, %9543, %9491
  store i32 0, ptr %37, align 4, !tbaa !9
  %9555 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9555, ptr %13, align 4, !tbaa !9
  %9556 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %9556, ptr %37, align 4, !tbaa !9
  %9557 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %9557, ptr %38, align 4, !tbaa !9
  %9558 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %9558, ptr %39, align 4, !tbaa !9
  store i32 44, ptr %40, align 4, !tbaa !9
  %9559 = load i32, ptr %40, align 4, !tbaa !9
  %9560 = load i32, ptr %39, align 4, !tbaa !9
  %9561 = mul i32 %9560, %9559
  store i32 %9561, ptr %39, align 4, !tbaa !9
  %9562 = load i32, ptr %39, align 4, !tbaa !9
  %9563 = load i32, ptr %38, align 4, !tbaa !9
  %9564 = add i32 %9563, %9562
  store i32 %9564, ptr %38, align 4, !tbaa !9
  %9565 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %9565, ptr %39, align 4, !tbaa !9
  %9566 = load i32, ptr %38, align 4, !tbaa !9
  %9567 = load i32, ptr %39, align 4, !tbaa !9
  %9568 = icmp ne i32 %9566, %9567
  %9569 = zext i1 %9568 to i32
  store i32 %9569, ptr %38, align 4, !tbaa !9
  %9570 = load i32, ptr %38, align 4, !tbaa !9
  %9571 = icmp ne i32 %9570, 0
  br i1 %9571, label %9572, label %9580

9572:                                             ; preds = %9554
  %9573 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %9573, ptr %38, align 4, !tbaa !9
  %9574 = load ptr, ptr %4, align 8, !tbaa !5
  %9575 = getelementptr inbounds %struct.w2c_hermes, ptr %9574, i32 0, i32 6
  %9576 = load i32, ptr %38, align 4, !tbaa !9
  %9577 = zext i32 %9576 to i64
  %9578 = add i64 %9577, 20
  %9579 = call i32 @i32_load(ptr noundef %9575, i64 noundef %9578)
  store i32 %9579, ptr %38, align 4, !tbaa !9
  br label %9581

9580:                                             ; preds = %9554
  store i32 0, ptr %38, align 4, !tbaa !9
  br label %9581

9581:                                             ; preds = %9580, %9572
  %9582 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %9582, ptr %39, align 4, !tbaa !9
  %9583 = load ptr, ptr %4, align 8, !tbaa !5
  %9584 = load i32, ptr %37, align 4, !tbaa !9
  %9585 = load i32, ptr %38, align 4, !tbaa !9
  %9586 = load i32, ptr %39, align 4, !tbaa !9
  %9587 = call i32 @w2c_hermes_llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AgetNodeForBlock0x28hermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x260x29(ptr noundef %9583, i32 noundef %9584, i32 noundef %9585, i32 noundef %9586)
  store i32 %9587, ptr %37, align 4, !tbaa !9
  %9588 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9588, ptr %6, align 4, !tbaa !9
  store i32 32, ptr %37, align 4, !tbaa !9
  %9589 = load ptr, ptr %4, align 8, !tbaa !5
  %9590 = load i32, ptr %37, align 4, !tbaa !9
  %9591 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %9589, i32 noundef %9590)
  store i32 %9591, ptr %37, align 4, !tbaa !9
  %9592 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9592, ptr %11, align 4, !tbaa !9
  %9593 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %9593, ptr %37, align 4, !tbaa !9
  %9594 = load ptr, ptr %4, align 8, !tbaa !5
  %9595 = getelementptr inbounds %struct.w2c_hermes, ptr %9594, i32 0, i32 6
  %9596 = load i32, ptr %37, align 4, !tbaa !9
  %9597 = zext i32 %9596 to i64
  %9598 = add i64 %9597, 12
  %9599 = call i32 @i32_load(ptr noundef %9595, i64 noundef %9598)
  store i32 %9599, ptr %37, align 4, !tbaa !9
  %9600 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9600, ptr %7, align 4, !tbaa !9
  %9601 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %9601, ptr %37, align 4, !tbaa !9
  %9602 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %9602, ptr %38, align 4, !tbaa !9
  %9603 = load ptr, ptr %4, align 8, !tbaa !5
  %9604 = getelementptr inbounds %struct.w2c_hermes, ptr %9603, i32 0, i32 6
  %9605 = load i32, ptr %37, align 4, !tbaa !9
  %9606 = zext i32 %9605 to i64
  %9607 = add i64 %9606, 4
  %9608 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %9604, i64 noundef %9607, i32 noundef %9608)
  %9609 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %9609, ptr %37, align 4, !tbaa !9
  %9610 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %9610, ptr %38, align 4, !tbaa !9
  %9611 = load ptr, ptr %4, align 8, !tbaa !5
  %9612 = getelementptr inbounds %struct.w2c_hermes, ptr %9611, i32 0, i32 6
  %9613 = load i32, ptr %37, align 4, !tbaa !9
  %9614 = zext i32 %9613 to i64
  %9615 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %9612, i64 noundef %9614, i32 noundef %9615)
  %9616 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %9616, ptr %37, align 4, !tbaa !9
  %9617 = load i32, ptr %37, align 4, !tbaa !9
  %9618 = icmp ne i32 %9617, 0
  br i1 %9618, label %9619, label %9631

9619:                                             ; preds = %9581
  %9620 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %9620, ptr %37, align 4, !tbaa !9
  %9621 = load ptr, ptr %4, align 8, !tbaa !5
  %9622 = getelementptr inbounds %struct.w2c_hermes, ptr %9621, i32 0, i32 6
  %9623 = load i32, ptr %37, align 4, !tbaa !9
  %9624 = zext i32 %9623 to i64
  %9625 = add i64 %9624, 8
  %9626 = call i32 @i32_load(ptr noundef %9622, i64 noundef %9625)
  store i32 %9626, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %9627 = load i32, ptr %38, align 4, !tbaa !9
  %9628 = load i32, ptr %37, align 4, !tbaa !9
  %9629 = add i32 %9628, %9627
  store i32 %9629, ptr %37, align 4, !tbaa !9
  %9630 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9630, ptr %13, align 4, !tbaa !9
  br label %9631

9631:                                             ; preds = %9619, %9581
  %9632 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %9632, ptr %37, align 4, !tbaa !9
  store i32 -1, ptr %38, align 4, !tbaa !9
  %9633 = load ptr, ptr %4, align 8, !tbaa !5
  %9634 = getelementptr inbounds %struct.w2c_hermes, ptr %9633, i32 0, i32 6
  %9635 = load i32, ptr %37, align 4, !tbaa !9
  %9636 = zext i32 %9635 to i64
  %9637 = add i64 %9636, 28
  %9638 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %9634, i64 noundef %9637, i32 noundef %9638)
  %9639 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %9639, ptr %37, align 4, !tbaa !9
  store i64 0, ptr %44, align 8, !tbaa !11
  %9640 = load ptr, ptr %4, align 8, !tbaa !5
  %9641 = getelementptr inbounds %struct.w2c_hermes, ptr %9640, i32 0, i32 6
  %9642 = load i32, ptr %37, align 4, !tbaa !9
  %9643 = zext i32 %9642 to i64
  %9644 = add i64 %9643, 12
  %9645 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %9641, i64 noundef %9644, i64 noundef %9645)
  %9646 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %9646, ptr %37, align 4, !tbaa !9
  %9647 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %9647, ptr %38, align 4, !tbaa !9
  %9648 = load ptr, ptr %4, align 8, !tbaa !5
  %9649 = getelementptr inbounds %struct.w2c_hermes, ptr %9648, i32 0, i32 6
  %9650 = load i32, ptr %37, align 4, !tbaa !9
  %9651 = zext i32 %9650 to i64
  %9652 = add i64 %9651, 8
  %9653 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %9649, i64 noundef %9652, i32 noundef %9653)
  %9654 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %9654, ptr %37, align 4, !tbaa !9
  store i64 -4294967296, ptr %44, align 8, !tbaa !11
  %9655 = load ptr, ptr %4, align 8, !tbaa !5
  %9656 = getelementptr inbounds %struct.w2c_hermes, ptr %9655, i32 0, i32 6
  %9657 = load i32, ptr %37, align 4, !tbaa !9
  %9658 = zext i32 %9657 to i64
  %9659 = add i64 %9658, 20
  %9660 = load i64, ptr %44, align 8, !tbaa !11
  call void @i64_store(ptr noundef %9656, i64 noundef %9659, i64 noundef %9660)
  %9661 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %9661, ptr %37, align 4, !tbaa !9
  %9662 = load ptr, ptr %4, align 8, !tbaa !5
  %9663 = getelementptr inbounds %struct.w2c_hermes, ptr %9662, i32 0, i32 6
  %9664 = load i32, ptr %37, align 4, !tbaa !9
  %9665 = zext i32 %9664 to i64
  %9666 = add i64 %9665, 16
  %9667 = call i32 @i32_load(ptr noundef %9663, i64 noundef %9666)
  store i32 %9667, ptr %37, align 4, !tbaa !9
  %9668 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9668, ptr %7, align 4, !tbaa !9
  %9669 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %9669, ptr %38, align 4, !tbaa !9
  %9670 = load ptr, ptr %4, align 8, !tbaa !5
  %9671 = getelementptr inbounds %struct.w2c_hermes, ptr %9670, i32 0, i32 6
  %9672 = load i32, ptr %38, align 4, !tbaa !9
  %9673 = zext i32 %9672 to i64
  %9674 = add i64 %9673, 20
  %9675 = call i32 @i32_load(ptr noundef %9671, i64 noundef %9674)
  store i32 %9675, ptr %38, align 4, !tbaa !9
  %9676 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %9676, ptr %10, align 4, !tbaa !9
  %9677 = load i32, ptr %37, align 4, !tbaa !9
  %9678 = load i32, ptr %38, align 4, !tbaa !9
  %9679 = icmp ult i32 %9677, %9678
  %9680 = zext i1 %9679 to i32
  store i32 %9680, ptr %37, align 4, !tbaa !9
  %9681 = load i32, ptr %37, align 4, !tbaa !9
  %9682 = icmp ne i32 %9681, 0
  br i1 %9682, label %9683, label %9702

9683:                                             ; preds = %9631
  %9684 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %9684, ptr %37, align 4, !tbaa !9
  %9685 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %9685, ptr %38, align 4, !tbaa !9
  %9686 = load ptr, ptr %4, align 8, !tbaa !5
  %9687 = getelementptr inbounds %struct.w2c_hermes, ptr %9686, i32 0, i32 6
  %9688 = load i32, ptr %37, align 4, !tbaa !9
  %9689 = zext i32 %9688 to i64
  %9690 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %9687, i64 noundef %9689, i32 noundef %9690)
  %9691 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %9691, ptr %37, align 4, !tbaa !9
  %9692 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %9692, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %9693 = load i32, ptr %39, align 4, !tbaa !9
  %9694 = load i32, ptr %38, align 4, !tbaa !9
  %9695 = add i32 %9694, %9693
  store i32 %9695, ptr %38, align 4, !tbaa !9
  %9696 = load ptr, ptr %4, align 8, !tbaa !5
  %9697 = getelementptr inbounds %struct.w2c_hermes, ptr %9696, i32 0, i32 6
  %9698 = load i32, ptr %37, align 4, !tbaa !9
  %9699 = zext i32 %9698 to i64
  %9700 = add i64 %9699, 16
  %9701 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %9697, i64 noundef %9700, i32 noundef %9701)
  br label %9866

9702:                                             ; preds = %9631
  %9703 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %9703, ptr %37, align 4, !tbaa !9
  %9704 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %9704, ptr %38, align 4, !tbaa !9
  %9705 = load ptr, ptr %4, align 8, !tbaa !5
  %9706 = getelementptr inbounds %struct.w2c_hermes, ptr %9705, i32 0, i32 6
  %9707 = load i32, ptr %38, align 4, !tbaa !9
  %9708 = zext i32 %9707 to i64
  %9709 = add i64 %9708, 12
  %9710 = call i32 @i32_load(ptr noundef %9706, i64 noundef %9709)
  store i32 %9710, ptr %38, align 4, !tbaa !9
  %9711 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %9711, ptr %7, align 4, !tbaa !9
  %9712 = load i32, ptr %38, align 4, !tbaa !9
  %9713 = load i32, ptr %37, align 4, !tbaa !9
  %9714 = sub i32 %9713, %9712
  store i32 %9714, ptr %37, align 4, !tbaa !9
  %9715 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9715, ptr %13, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %9716 = load i32, ptr %37, align 4, !tbaa !9
  %9717 = load i32, ptr %38, align 4, !tbaa !9
  %9718 = and i32 %9717, 31
  %9719 = ashr i32 %9716, %9718
  store i32 %9719, ptr %37, align 4, !tbaa !9
  %9720 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9720, ptr %20, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %9721 = load i32, ptr %38, align 4, !tbaa !9
  %9722 = load i32, ptr %37, align 4, !tbaa !9
  %9723 = add i32 %9722, %9721
  store i32 %9723, ptr %37, align 4, !tbaa !9
  %9724 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9724, ptr %8, align 4, !tbaa !9
  store i32 1073741824, ptr %38, align 4, !tbaa !9
  %9725 = load i32, ptr %37, align 4, !tbaa !9
  %9726 = load i32, ptr %38, align 4, !tbaa !9
  %9727 = icmp uge i32 %9725, %9726
  %9728 = zext i1 %9727 to i32
  store i32 %9728, ptr %37, align 4, !tbaa !9
  %9729 = load i32, ptr %37, align 4, !tbaa !9
  %9730 = icmp ne i32 %9729, 0
  br i1 %9730, label %9731, label %9732

9731:                                             ; preds = %9702
  br label %10037

9732:                                             ; preds = %9702
  store i32 1073741823, ptr %37, align 4, !tbaa !9
  %9733 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %9733, ptr %38, align 4, !tbaa !9
  %9734 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %9734, ptr %39, align 4, !tbaa !9
  %9735 = load i32, ptr %39, align 4, !tbaa !9
  %9736 = load i32, ptr %38, align 4, !tbaa !9
  %9737 = sub i32 %9736, %9735
  store i32 %9737, ptr %38, align 4, !tbaa !9
  %9738 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %9738, ptr %10, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %9739 = load i32, ptr %38, align 4, !tbaa !9
  %9740 = load i32, ptr %39, align 4, !tbaa !9
  %9741 = and i32 %9740, 31
  %9742 = ashr i32 %9739, %9741
  store i32 %9742, ptr %38, align 4, !tbaa !9
  %9743 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %9743, ptr %16, align 4, !tbaa !9
  %9744 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %9744, ptr %39, align 4, !tbaa !9
  %9745 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %9745, ptr %40, align 4, !tbaa !9
  %9746 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %9746, ptr %41, align 4, !tbaa !9
  %9747 = load i32, ptr %40, align 4, !tbaa !9
  %9748 = load i32, ptr %41, align 4, !tbaa !9
  %9749 = icmp ult i32 %9747, %9748
  %9750 = zext i1 %9749 to i32
  store i32 %9750, ptr %40, align 4, !tbaa !9
  %9751 = load i32, ptr %40, align 4, !tbaa !9
  %9752 = icmp ne i32 %9751, 0
  br i1 %9752, label %9753, label %9755

9753:                                             ; preds = %9732
  %9754 = load i32, ptr %38, align 4, !tbaa !9
  br label %9757

9755:                                             ; preds = %9732
  %9756 = load i32, ptr %39, align 4, !tbaa !9
  br label %9757

9757:                                             ; preds = %9755, %9753
  %9758 = phi i32 [ %9754, %9753 ], [ %9756, %9755 ]
  store i32 %9758, ptr %38, align 4, !tbaa !9
  %9759 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %9759, ptr %39, align 4, !tbaa !9
  store i32 2147483644, ptr %40, align 4, !tbaa !9
  %9760 = load i32, ptr %39, align 4, !tbaa !9
  %9761 = load i32, ptr %40, align 4, !tbaa !9
  %9762 = icmp uge i32 %9760, %9761
  %9763 = zext i1 %9762 to i32
  store i32 %9763, ptr %39, align 4, !tbaa !9
  %9764 = load i32, ptr %39, align 4, !tbaa !9
  %9765 = icmp ne i32 %9764, 0
  br i1 %9765, label %9766, label %9768

9766:                                             ; preds = %9757
  %9767 = load i32, ptr %37, align 4, !tbaa !9
  br label %9770

9768:                                             ; preds = %9757
  %9769 = load i32, ptr %38, align 4, !tbaa !9
  br label %9770

9770:                                             ; preds = %9768, %9766
  %9771 = phi i32 [ %9767, %9766 ], [ %9769, %9768 ]
  store i32 %9771, ptr %37, align 4, !tbaa !9
  %9772 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9772, ptr %8, align 4, !tbaa !9
  %9773 = load i32, ptr %37, align 4, !tbaa !9
  %9774 = icmp ne i32 %9773, 0
  br i1 %9774, label %9775, label %9793

9775:                                             ; preds = %9770
  %9776 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %9776, ptr %37, align 4, !tbaa !9
  store i32 1073741824, ptr %38, align 4, !tbaa !9
  %9777 = load i32, ptr %37, align 4, !tbaa !9
  %9778 = load i32, ptr %38, align 4, !tbaa !9
  %9779 = icmp uge i32 %9777, %9778
  %9780 = zext i1 %9779 to i32
  store i32 %9780, ptr %37, align 4, !tbaa !9
  %9781 = load i32, ptr %37, align 4, !tbaa !9
  %9782 = icmp ne i32 %9781, 0
  br i1 %9782, label %9783, label %9784

9783:                                             ; preds = %9775
  br label %10035

9784:                                             ; preds = %9775
  %9785 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %9785, ptr %37, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %9786 = load i32, ptr %38, align 4, !tbaa !9
  %9787 = and i32 %9786, 31
  %9788 = load i32, ptr %37, align 4, !tbaa !9
  %9789 = shl i32 %9788, %9787
  store i32 %9789, ptr %37, align 4, !tbaa !9
  %9790 = load ptr, ptr %4, align 8, !tbaa !5
  %9791 = load i32, ptr %37, align 4, !tbaa !9
  %9792 = call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %9790, i32 noundef %9791)
  store i32 %9792, ptr %37, align 4, !tbaa !9
  br label %9794

9793:                                             ; preds = %9770
  store i32 0, ptr %37, align 4, !tbaa !9
  br label %9794

9794:                                             ; preds = %9793, %9784
  %9795 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9795, ptr %10, align 4, !tbaa !9
  %9796 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %9796, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %9797 = load i32, ptr %39, align 4, !tbaa !9
  %9798 = and i32 %9797, 31
  %9799 = load i32, ptr %38, align 4, !tbaa !9
  %9800 = shl i32 %9799, %9798
  store i32 %9800, ptr %38, align 4, !tbaa !9
  %9801 = load i32, ptr %38, align 4, !tbaa !9
  %9802 = load i32, ptr %37, align 4, !tbaa !9
  %9803 = add i32 %9802, %9801
  store i32 %9803, ptr %37, align 4, !tbaa !9
  %9804 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9804, ptr %20, align 4, !tbaa !9
  %9805 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %9805, ptr %38, align 4, !tbaa !9
  %9806 = load ptr, ptr %4, align 8, !tbaa !5
  %9807 = getelementptr inbounds %struct.w2c_hermes, ptr %9806, i32 0, i32 6
  %9808 = load i32, ptr %37, align 4, !tbaa !9
  %9809 = zext i32 %9808 to i64
  %9810 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %9807, i64 noundef %9809, i32 noundef %9810)
  %9811 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %9811, ptr %37, align 4, !tbaa !9
  %9812 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %9812, ptr %38, align 4, !tbaa !9
  %9813 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %9813, ptr %39, align 4, !tbaa !9
  %9814 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %9814, ptr %40, align 4, !tbaa !9
  %9815 = load ptr, ptr %4, align 8, !tbaa !5
  %9816 = load i32, ptr %38, align 4, !tbaa !9
  %9817 = load i32, ptr %39, align 4, !tbaa !9
  %9818 = load i32, ptr %40, align 4, !tbaa !9
  %9819 = call i32 @w2c_hermes_memmove(ptr noundef %9815, i32 noundef %9816, i32 noundef %9817, i32 noundef %9818)
  store i32 %9819, ptr %38, align 4, !tbaa !9
  %9820 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %9820, ptr %10, align 4, !tbaa !9
  %9821 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %9821, ptr %39, align 4, !tbaa !9
  store i32 2, ptr %40, align 4, !tbaa !9
  %9822 = load i32, ptr %40, align 4, !tbaa !9
  %9823 = and i32 %9822, 31
  %9824 = load i32, ptr %39, align 4, !tbaa !9
  %9825 = shl i32 %9824, %9823
  store i32 %9825, ptr %39, align 4, !tbaa !9
  %9826 = load i32, ptr %39, align 4, !tbaa !9
  %9827 = load i32, ptr %38, align 4, !tbaa !9
  %9828 = add i32 %9827, %9826
  store i32 %9828, ptr %38, align 4, !tbaa !9
  %9829 = load ptr, ptr %4, align 8, !tbaa !5
  %9830 = getelementptr inbounds %struct.w2c_hermes, ptr %9829, i32 0, i32 6
  %9831 = load i32, ptr %37, align 4, !tbaa !9
  %9832 = zext i32 %9831 to i64
  %9833 = add i64 %9832, 20
  %9834 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %9830, i64 noundef %9833, i32 noundef %9834)
  %9835 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %9835, ptr %37, align 4, !tbaa !9
  %9836 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %9836, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %9837 = load i32, ptr %39, align 4, !tbaa !9
  %9838 = load i32, ptr %38, align 4, !tbaa !9
  %9839 = add i32 %9838, %9837
  store i32 %9839, ptr %38, align 4, !tbaa !9
  %9840 = load ptr, ptr %4, align 8, !tbaa !5
  %9841 = getelementptr inbounds %struct.w2c_hermes, ptr %9840, i32 0, i32 6
  %9842 = load i32, ptr %37, align 4, !tbaa !9
  %9843 = zext i32 %9842 to i64
  %9844 = add i64 %9843, 16
  %9845 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %9841, i64 noundef %9844, i32 noundef %9845)
  %9846 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %9846, ptr %37, align 4, !tbaa !9
  %9847 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %9847, ptr %38, align 4, !tbaa !9
  %9848 = load ptr, ptr %4, align 8, !tbaa !5
  %9849 = getelementptr inbounds %struct.w2c_hermes, ptr %9848, i32 0, i32 6
  %9850 = load i32, ptr %37, align 4, !tbaa !9
  %9851 = zext i32 %9850 to i64
  %9852 = add i64 %9851, 12
  %9853 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %9849, i64 noundef %9852, i32 noundef %9853)
  %9854 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %9854, ptr %37, align 4, !tbaa !9
  %9855 = load i32, ptr %37, align 4, !tbaa !9
  %9856 = icmp ne i32 %9855, 0
  %9857 = xor i1 %9856, true
  %9858 = zext i1 %9857 to i32
  store i32 %9858, ptr %37, align 4, !tbaa !9
  %9859 = load i32, ptr %37, align 4, !tbaa !9
  %9860 = icmp ne i32 %9859, 0
  br i1 %9860, label %9861, label %9862

9861:                                             ; preds = %9794
  br label %9866

9862:                                             ; preds = %9794
  %9863 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %9863, ptr %37, align 4, !tbaa !9
  %9864 = load ptr, ptr %4, align 8, !tbaa !5
  %9865 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %9864, i32 noundef %9865)
  br label %9866

9866:                                             ; preds = %9862, %9861, %9683
  %9867 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %9867, ptr %37, align 4, !tbaa !9
  %9868 = load ptr, ptr %4, align 8, !tbaa !5
  %9869 = getelementptr inbounds %struct.w2c_hermes, ptr %9868, i32 0, i32 6
  %9870 = load i32, ptr %37, align 4, !tbaa !9
  %9871 = zext i32 %9870 to i64
  %9872 = add i64 %9871, 28
  %9873 = call i32 @i32_load(ptr noundef %9869, i64 noundef %9872)
  store i32 %9873, ptr %37, align 4, !tbaa !9
  %9874 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9874, ptr %6, align 4, !tbaa !9
  %9875 = load i32, ptr %37, align 4, !tbaa !9
  %9876 = icmp ne i32 %9875, 0
  %9877 = xor i1 %9876, true
  %9878 = zext i1 %9877 to i32
  store i32 %9878, ptr %37, align 4, !tbaa !9
  %9879 = load i32, ptr %37, align 4, !tbaa !9
  %9880 = icmp ne i32 %9879, 0
  br i1 %9880, label %9881, label %9883

9881:                                             ; preds = %9866
  store i32 0, ptr %37, align 4, !tbaa !9
  %9882 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9882, ptr %7, align 4, !tbaa !9
  br label %10039

9883:                                             ; preds = %9866
  %9884 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %9884, ptr %37, align 4, !tbaa !9
  %9885 = load ptr, ptr %4, align 8, !tbaa !5
  %9886 = getelementptr inbounds %struct.w2c_hermes, ptr %9885, i32 0, i32 6
  %9887 = load i32, ptr %37, align 4, !tbaa !9
  %9888 = zext i32 %9887 to i64
  %9889 = add i64 %9888, 12
  %9890 = call i32 @i32_load(ptr noundef %9886, i64 noundef %9889)
  store i32 %9890, ptr %37, align 4, !tbaa !9
  %9891 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9891, ptr %20, align 4, !tbaa !9
  %9892 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %9892, ptr %38, align 4, !tbaa !9
  %9893 = load ptr, ptr %4, align 8, !tbaa !5
  %9894 = getelementptr inbounds %struct.w2c_hermes, ptr %9893, i32 0, i32 6
  %9895 = load i32, ptr %38, align 4, !tbaa !9
  %9896 = zext i32 %9895 to i64
  %9897 = add i64 %9896, 16
  %9898 = call i32 @i32_load(ptr noundef %9894, i64 noundef %9897)
  store i32 %9898, ptr %38, align 4, !tbaa !9
  %9899 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %9899, ptr %16, align 4, !tbaa !9
  %9900 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %9900, ptr %39, align 4, !tbaa !9
  store i32 1, ptr %40, align 4, !tbaa !9
  %9901 = load i32, ptr %40, align 4, !tbaa !9
  %9902 = load i32, ptr %39, align 4, !tbaa !9
  %9903 = sub i32 %9902, %9901
  store i32 %9903, ptr %39, align 4, !tbaa !9
  %9904 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %9904, ptr %19, align 4, !tbaa !9
  %9905 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %9905, ptr %40, align 4, !tbaa !9
  store i32 4, ptr %41, align 4, !tbaa !9
  %9906 = load i32, ptr %41, align 4, !tbaa !9
  %9907 = and i32 %9906, 31
  %9908 = load i32, ptr %40, align 4, !tbaa !9
  %9909 = lshr i32 %9908, %9907
  store i32 %9909, ptr %40, align 4, !tbaa !9
  %9910 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %9910, ptr %41, align 4, !tbaa !9
  store i32 9, ptr %42, align 4, !tbaa !9
  %9911 = load i32, ptr %42, align 4, !tbaa !9
  %9912 = and i32 %9911, 31
  %9913 = load i32, ptr %41, align 4, !tbaa !9
  %9914 = lshr i32 %9913, %9912
  store i32 %9914, ptr %41, align 4, !tbaa !9
  %9915 = load i32, ptr %41, align 4, !tbaa !9
  %9916 = load i32, ptr %40, align 4, !tbaa !9
  %9917 = xor i32 %9916, %9915
  store i32 %9917, ptr %40, align 4, !tbaa !9
  %9918 = load i32, ptr %40, align 4, !tbaa !9
  %9919 = load i32, ptr %39, align 4, !tbaa !9
  %9920 = and i32 %9919, %9918
  store i32 %9920, ptr %39, align 4, !tbaa !9
  %9921 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %9921, ptr %10, align 4, !tbaa !9
  store i32 3, ptr %40, align 4, !tbaa !9
  %9922 = load i32, ptr %40, align 4, !tbaa !9
  %9923 = and i32 %9922, 31
  %9924 = load i32, ptr %39, align 4, !tbaa !9
  %9925 = shl i32 %9924, %9923
  store i32 %9925, ptr %39, align 4, !tbaa !9
  %9926 = load i32, ptr %39, align 4, !tbaa !9
  %9927 = load i32, ptr %38, align 4, !tbaa !9
  %9928 = add i32 %9927, %9926
  store i32 %9928, ptr %38, align 4, !tbaa !9
  %9929 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %9929, ptr %8, align 4, !tbaa !9
  %9930 = load ptr, ptr %4, align 8, !tbaa !5
  %9931 = getelementptr inbounds %struct.w2c_hermes, ptr %9930, i32 0, i32 6
  %9932 = load i32, ptr %38, align 4, !tbaa !9
  %9933 = zext i32 %9932 to i64
  %9934 = call i32 @i32_load(ptr noundef %9931, i64 noundef %9933)
  store i32 %9934, ptr %38, align 4, !tbaa !9
  %9935 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %9935, ptr %13, align 4, !tbaa !9
  %9936 = load i32, ptr %37, align 4, !tbaa !9
  %9937 = load i32, ptr %38, align 4, !tbaa !9
  %9938 = icmp eq i32 %9936, %9937
  %9939 = zext i1 %9938 to i32
  store i32 %9939, ptr %37, align 4, !tbaa !9
  %9940 = load i32, ptr %37, align 4, !tbaa !9
  %9941 = icmp ne i32 %9940, 0
  br i1 %9941, label %9942, label %9943

9942:                                             ; preds = %9883
  br label %10052

9943:                                             ; preds = %9883
  store i32 0, ptr %37, align 4, !tbaa !9
  %9944 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9944, ptr %6, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %9945 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9945, ptr %7, align 4, !tbaa !9
  br label %9946

9946:                                             ; preds = %10033, %9943
  %9947 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %9947, ptr %37, align 4, !tbaa !9
  store i32 -4, ptr %38, align 4, !tbaa !9
  %9948 = load i32, ptr %37, align 4, !tbaa !9
  %9949 = load i32, ptr %38, align 4, !tbaa !9
  %9950 = icmp eq i32 %9948, %9949
  %9951 = zext i1 %9950 to i32
  store i32 %9951, ptr %37, align 4, !tbaa !9
  %9952 = load i32, ptr %37, align 4, !tbaa !9
  %9953 = icmp ne i32 %9952, 0
  br i1 %9953, label %9954, label %9967

9954:                                             ; preds = %9946
  %9955 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %9955, ptr %37, align 4, !tbaa !9
  %9956 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %9956, ptr %38, align 4, !tbaa !9
  %9957 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %9957, ptr %39, align 4, !tbaa !9
  %9958 = load i32, ptr %39, align 4, !tbaa !9
  %9959 = icmp ne i32 %9958, 0
  br i1 %9959, label %9960, label %9962

9960:                                             ; preds = %9954
  %9961 = load i32, ptr %37, align 4, !tbaa !9
  br label %9964

9962:                                             ; preds = %9954
  %9963 = load i32, ptr %38, align 4, !tbaa !9
  br label %9964

9964:                                             ; preds = %9962, %9960
  %9965 = phi i32 [ %9961, %9960 ], [ %9963, %9962 ]
  store i32 %9965, ptr %37, align 4, !tbaa !9
  %9966 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9966, ptr %7, align 4, !tbaa !9
  br label %10039

9967:                                             ; preds = %9946
  %9968 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %9968, ptr %37, align 4, !tbaa !9
  %9969 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %9969, ptr %38, align 4, !tbaa !9
  %9970 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %9970, ptr %39, align 4, !tbaa !9
  %9971 = load i32, ptr %39, align 4, !tbaa !9
  %9972 = icmp ne i32 %9971, 0
  br i1 %9972, label %9973, label %9975

9973:                                             ; preds = %9967
  %9974 = load i32, ptr %37, align 4, !tbaa !9
  br label %9977

9975:                                             ; preds = %9967
  %9976 = load i32, ptr %38, align 4, !tbaa !9
  br label %9977

9977:                                             ; preds = %9975, %9973
  %9978 = phi i32 [ %9974, %9973 ], [ %9976, %9975 ]
  store i32 %9978, ptr %37, align 4, !tbaa !9
  %9979 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %9979, ptr %38, align 4, !tbaa !9
  %9980 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %9980, ptr %39, align 4, !tbaa !9
  store i32 -8, ptr %40, align 4, !tbaa !9
  %9981 = load i32, ptr %39, align 4, !tbaa !9
  %9982 = load i32, ptr %40, align 4, !tbaa !9
  %9983 = icmp eq i32 %9981, %9982
  %9984 = zext i1 %9983 to i32
  store i32 %9984, ptr %39, align 4, !tbaa !9
  %9985 = load i32, ptr %39, align 4, !tbaa !9
  %9986 = icmp ne i32 %9985, 0
  br i1 %9986, label %9987, label %9989

9987:                                             ; preds = %9977
  %9988 = load i32, ptr %37, align 4, !tbaa !9
  br label %9991

9989:                                             ; preds = %9977
  %9990 = load i32, ptr %38, align 4, !tbaa !9
  br label %9991

9991:                                             ; preds = %9989, %9987
  %9992 = phi i32 [ %9988, %9987 ], [ %9990, %9989 ]
  store i32 %9992, ptr %37, align 4, !tbaa !9
  %9993 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9993, ptr %6, align 4, !tbaa !9
  %9994 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %9994, ptr %37, align 4, !tbaa !9
  %9995 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %9995, ptr %38, align 4, !tbaa !9
  %9996 = load i32, ptr %38, align 4, !tbaa !9
  %9997 = load i32, ptr %37, align 4, !tbaa !9
  %9998 = add i32 %9997, %9996
  store i32 %9998, ptr %37, align 4, !tbaa !9
  %9999 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %9999, ptr %8, align 4, !tbaa !9
  %10000 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %10000, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %10001 = load i32, ptr %38, align 4, !tbaa !9
  %10002 = load i32, ptr %37, align 4, !tbaa !9
  %10003 = add i32 %10002, %10001
  store i32 %10003, ptr %37, align 4, !tbaa !9
  %10004 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %10004, ptr %7, align 4, !tbaa !9
  %10005 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %10005, ptr %37, align 4, !tbaa !9
  %10006 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %10006, ptr %38, align 4, !tbaa !9
  %10007 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %10007, ptr %39, align 4, !tbaa !9
  %10008 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %10008, ptr %40, align 4, !tbaa !9
  %10009 = load i32, ptr %40, align 4, !tbaa !9
  %10010 = load i32, ptr %39, align 4, !tbaa !9
  %10011 = and i32 %10010, %10009
  store i32 %10011, ptr %39, align 4, !tbaa !9
  %10012 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %10012, ptr %10, align 4, !tbaa !9
  store i32 3, ptr %40, align 4, !tbaa !9
  %10013 = load i32, ptr %40, align 4, !tbaa !9
  %10014 = and i32 %10013, 31
  %10015 = load i32, ptr %39, align 4, !tbaa !9
  %10016 = shl i32 %10015, %10014
  store i32 %10016, ptr %39, align 4, !tbaa !9
  %10017 = load i32, ptr %39, align 4, !tbaa !9
  %10018 = load i32, ptr %38, align 4, !tbaa !9
  %10019 = add i32 %10018, %10017
  store i32 %10019, ptr %38, align 4, !tbaa !9
  %10020 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %10020, ptr %8, align 4, !tbaa !9
  %10021 = load ptr, ptr %4, align 8, !tbaa !5
  %10022 = getelementptr inbounds %struct.w2c_hermes, ptr %10021, i32 0, i32 6
  %10023 = load i32, ptr %38, align 4, !tbaa !9
  %10024 = zext i32 %10023 to i64
  %10025 = call i32 @i32_load(ptr noundef %10022, i64 noundef %10024)
  store i32 %10025, ptr %38, align 4, !tbaa !9
  %10026 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %10026, ptr %13, align 4, !tbaa !9
  %10027 = load i32, ptr %37, align 4, !tbaa !9
  %10028 = load i32, ptr %38, align 4, !tbaa !9
  %10029 = icmp ne i32 %10027, %10028
  %10030 = zext i1 %10029 to i32
  store i32 %10030, ptr %37, align 4, !tbaa !9
  %10031 = load i32, ptr %37, align 4, !tbaa !9
  %10032 = icmp ne i32 %10031, 0
  br i1 %10032, label %10033, label %10034

10033:                                            ; preds = %9991
  br label %9946

10034:                                            ; preds = %9991
  br label %10052

10035:                                            ; preds = %9783
  %10036 = load ptr, ptr %4, align 8, !tbaa !5
  call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fthrow_out_of_range0x5Babi0x3Av150070x5D0x28char0x20const0x2A0x29(ptr noundef %10036)
  call void @wasm_rt_trap(i32 noundef 5) #8
  unreachable

10037:                                            ; preds = %9731
  %10038 = load ptr, ptr %4, align 8, !tbaa !5
  call void @w2c_hermes_abort(ptr noundef %10038)
  call void @wasm_rt_trap(i32 noundef 5) #8
  unreachable

10039:                                            ; preds = %9964, %9881
  %10040 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %10040, ptr %37, align 4, !tbaa !9
  %10041 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %10041, ptr %38, align 4, !tbaa !9
  %10042 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %10042, ptr %39, align 4, !tbaa !9
  store i32 12, ptr %40, align 4, !tbaa !9
  %10043 = load i32, ptr %40, align 4, !tbaa !9
  %10044 = load i32, ptr %39, align 4, !tbaa !9
  %10045 = add i32 %10044, %10043
  store i32 %10045, ptr %39, align 4, !tbaa !9
  %10046 = load ptr, ptr %4, align 8, !tbaa !5
  %10047 = load i32, ptr %37, align 4, !tbaa !9
  %10048 = load i32, ptr %38, align 4, !tbaa !9
  %10049 = load i32, ptr %39, align 4, !tbaa !9
  %10050 = call i32 @w2c_hermes_llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x3E0x3E0x3E0x2A0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x3E0x3E0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x3E0x3E0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x3E0x3E0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x3E0x3E0x3E0x3E0x3A0x3AInsertIntoBucket0x3Chermes0x3A0x3ABasicBlock0x2A0x20const0x260x3E0x28llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x3E0x3E0x3E0x2A0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x20const0x260x29(ptr noundef %10046, i32 noundef %10047, i32 noundef %10048, i32 noundef %10049)
  store i32 %10050, ptr %37, align 4, !tbaa !9
  %10051 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %10051, ptr %8, align 4, !tbaa !9
  br label %10052

10052:                                            ; preds = %10039, %10034, %9942
  %10053 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %10053, ptr %37, align 4, !tbaa !9
  %10054 = load ptr, ptr %4, align 8, !tbaa !5
  %10055 = getelementptr inbounds %struct.w2c_hermes, ptr %10054, i32 0, i32 6
  %10056 = load i32, ptr %37, align 4, !tbaa !9
  %10057 = zext i32 %10056 to i64
  %10058 = add i64 %10057, 4
  %10059 = call i32 @i32_load(ptr noundef %10055, i64 noundef %10058)
  store i32 %10059, ptr %37, align 4, !tbaa !9
  %10060 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %10060, ptr %6, align 4, !tbaa !9
  %10061 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %10061, ptr %37, align 4, !tbaa !9
  %10062 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %10062, ptr %38, align 4, !tbaa !9
  %10063 = load ptr, ptr %4, align 8, !tbaa !5
  %10064 = getelementptr inbounds %struct.w2c_hermes, ptr %10063, i32 0, i32 6
  %10065 = load i32, ptr %37, align 4, !tbaa !9
  %10066 = zext i32 %10065 to i64
  %10067 = add i64 %10066, 4
  %10068 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %10064, i64 noundef %10067, i32 noundef %10068)
  %10069 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %10069, ptr %37, align 4, !tbaa !9
  %10070 = load i32, ptr %37, align 4, !tbaa !9
  %10071 = icmp ne i32 %10070, 0
  %10072 = xor i1 %10071, true
  %10073 = zext i1 %10072 to i32
  store i32 %10073, ptr %37, align 4, !tbaa !9
  %10074 = load i32, ptr %37, align 4, !tbaa !9
  %10075 = icmp ne i32 %10074, 0
  br i1 %10075, label %10076, label %10077

10076:                                            ; preds = %10052
  br label %10104

10077:                                            ; preds = %10052
  %10078 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %10078, ptr %37, align 4, !tbaa !9
  %10079 = load ptr, ptr %4, align 8, !tbaa !5
  %10080 = getelementptr inbounds %struct.w2c_hermes, ptr %10079, i32 0, i32 6
  %10081 = load i32, ptr %37, align 4, !tbaa !9
  %10082 = zext i32 %10081 to i64
  %10083 = add i64 %10082, 12
  %10084 = call i32 @i32_load(ptr noundef %10080, i64 noundef %10083)
  store i32 %10084, ptr %37, align 4, !tbaa !9
  %10085 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %10085, ptr %7, align 4, !tbaa !9
  %10086 = load i32, ptr %37, align 4, !tbaa !9
  %10087 = icmp ne i32 %10086, 0
  br i1 %10087, label %10088, label %10100

10088:                                            ; preds = %10077
  %10089 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %10089, ptr %37, align 4, !tbaa !9
  %10090 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %10090, ptr %38, align 4, !tbaa !9
  %10091 = load ptr, ptr %4, align 8, !tbaa !5
  %10092 = getelementptr inbounds %struct.w2c_hermes, ptr %10091, i32 0, i32 6
  %10093 = load i32, ptr %37, align 4, !tbaa !9
  %10094 = zext i32 %10093 to i64
  %10095 = add i64 %10094, 16
  %10096 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %10092, i64 noundef %10095, i32 noundef %10096)
  %10097 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %10097, ptr %37, align 4, !tbaa !9
  %10098 = load ptr, ptr %4, align 8, !tbaa !5
  %10099 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %10098, i32 noundef %10099)
  br label %10100

10100:                                            ; preds = %10088, %10077
  %10101 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %10101, ptr %37, align 4, !tbaa !9
  %10102 = load ptr, ptr %4, align 8, !tbaa !5
  %10103 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %10102, i32 noundef %10103)
  br label %10104

10104:                                            ; preds = %10100, %10076, %9415
  %10105 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %10105, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %10106 = load i32, ptr %38, align 4, !tbaa !9
  %10107 = load i32, ptr %37, align 4, !tbaa !9
  %10108 = add i32 %10107, %10106
  store i32 %10108, ptr %37, align 4, !tbaa !9
  %10109 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %10109, ptr %12, align 4, !tbaa !9
  %10110 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %10110, ptr %38, align 4, !tbaa !9
  %10111 = load i32, ptr %37, align 4, !tbaa !9
  %10112 = load i32, ptr %38, align 4, !tbaa !9
  %10113 = icmp ne i32 %10111, %10112
  %10114 = zext i1 %10113 to i32
  store i32 %10114, ptr %37, align 4, !tbaa !9
  %10115 = load i32, ptr %37, align 4, !tbaa !9
  %10116 = icmp ne i32 %10115, 0
  br i1 %10116, label %10117, label %10118

10117:                                            ; preds = %10104
  br label %9203

10118:                                            ; preds = %10104
  br label %10119

10119:                                            ; preds = %10118, %9163
  %10120 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %10120, ptr %37, align 4, !tbaa !9
  store i32 16, ptr %38, align 4, !tbaa !9
  %10121 = load i32, ptr %38, align 4, !tbaa !9
  %10122 = load i32, ptr %37, align 4, !tbaa !9
  %10123 = add i32 %10122, %10121
  store i32 %10123, ptr %37, align 4, !tbaa !9
  %10124 = load i32, ptr %37, align 4, !tbaa !9
  %10125 = load ptr, ptr %4, align 8, !tbaa !5
  %10126 = getelementptr inbounds %struct.w2c_hermes, ptr %10125, i32 0, i32 3
  store i32 %10124, ptr %10126, align 8, !tbaa !13
  br label %10127

10127:                                            ; preds = %10119, %8638
  %10128 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %10128, ptr %37, align 4, !tbaa !9
  %10129 = load ptr, ptr %4, align 8, !tbaa !5
  %10130 = getelementptr inbounds %struct.w2c_hermes, ptr %10129, i32 0, i32 6
  %10131 = load i32, ptr %37, align 4, !tbaa !9
  %10132 = zext i32 %10131 to i64
  %10133 = add i64 %10132, 40
  %10134 = call i32 @i32_load(ptr noundef %10130, i64 noundef %10133)
  store i32 %10134, ptr %37, align 4, !tbaa !9
  %10135 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %10135, ptr %6, align 4, !tbaa !9
  %10136 = load i32, ptr %37, align 4, !tbaa !9
  %10137 = icmp ne i32 %10136, 0
  br i1 %10137, label %10138, label %10211

10138:                                            ; preds = %10127
  %10139 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %10139, ptr %37, align 4, !tbaa !9
  %10140 = load ptr, ptr %4, align 8, !tbaa !5
  %10141 = getelementptr inbounds %struct.w2c_hermes, ptr %10140, i32 0, i32 6
  %10142 = load i32, ptr %37, align 4, !tbaa !9
  %10143 = zext i32 %10142 to i64
  %10144 = add i64 %10143, 28
  %10145 = call i32 @i32_load(ptr noundef %10141, i64 noundef %10144)
  store i32 %10145, ptr %37, align 4, !tbaa !9
  %10146 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %10146, ptr %8, align 4, !tbaa !9
  %10147 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %10147, ptr %38, align 4, !tbaa !9
  store i32 44, ptr %39, align 4, !tbaa !9
  %10148 = load i32, ptr %39, align 4, !tbaa !9
  %10149 = load i32, ptr %38, align 4, !tbaa !9
  %10150 = mul i32 %10149, %10148
  store i32 %10150, ptr %38, align 4, !tbaa !9
  %10151 = load i32, ptr %38, align 4, !tbaa !9
  %10152 = load i32, ptr %37, align 4, !tbaa !9
  %10153 = add i32 %10152, %10151
  store i32 %10153, ptr %37, align 4, !tbaa !9
  %10154 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %10154, ptr %6, align 4, !tbaa !9
  br label %10155

10155:                                            ; preds = %10209, %10138
  %10156 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %10156, ptr %37, align 4, !tbaa !9
  %10157 = load ptr, ptr %4, align 8, !tbaa !5
  %10158 = getelementptr inbounds %struct.w2c_hermes, ptr %10157, i32 0, i32 6
  %10159 = load i32, ptr %37, align 4, !tbaa !9
  %10160 = zext i32 %10159 to i64
  %10161 = call i32 @i32_load(ptr noundef %10158, i64 noundef %10160)
  store i32 %10161, ptr %37, align 4, !tbaa !9
  store i32 8, ptr %38, align 4, !tbaa !9
  %10162 = load i32, ptr %38, align 4, !tbaa !9
  %10163 = load i32, ptr %37, align 4, !tbaa !9
  %10164 = add i32 %10163, %10162
  store i32 %10164, ptr %37, align 4, !tbaa !9
  %10165 = load i32, ptr %37, align 4, !tbaa !9
  switch i32 %10165, label %10171 [
    i32 0, label %10166
    i32 1, label %10167
    i32 2, label %10168
    i32 3, label %10169
    i32 4, label %10170
  ]

10166:                                            ; preds = %10155
  br label %10196

10167:                                            ; preds = %10155
  br label %10172

10168:                                            ; preds = %10155
  br label %10172

10169:                                            ; preds = %10155
  br label %10172

10170:                                            ; preds = %10155
  br label %10196

10171:                                            ; preds = %10155
  br label %10172

10172:                                            ; preds = %10171, %10169, %10168, %10167
  %10173 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %10173, ptr %37, align 4, !tbaa !9
  %10174 = load ptr, ptr %4, align 8, !tbaa !5
  %10175 = getelementptr inbounds %struct.w2c_hermes, ptr %10174, i32 0, i32 6
  %10176 = load i32, ptr %37, align 4, !tbaa !9
  %10177 = zext i32 %10176 to i64
  %10178 = add i64 %10177, 24
  %10179 = call i32 @i32_load(ptr noundef %10175, i64 noundef %10178)
  store i32 %10179, ptr %37, align 4, !tbaa !9
  %10180 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %10180, ptr %7, align 4, !tbaa !9
  %10181 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %10181, ptr %38, align 4, !tbaa !9
  store i32 36, ptr %39, align 4, !tbaa !9
  %10182 = load i32, ptr %39, align 4, !tbaa !9
  %10183 = load i32, ptr %38, align 4, !tbaa !9
  %10184 = add i32 %10183, %10182
  store i32 %10184, ptr %38, align 4, !tbaa !9
  %10185 = load i32, ptr %37, align 4, !tbaa !9
  %10186 = load i32, ptr %38, align 4, !tbaa !9
  %10187 = icmp eq i32 %10185, %10186
  %10188 = zext i1 %10187 to i32
  store i32 %10188, ptr %37, align 4, !tbaa !9
  %10189 = load i32, ptr %37, align 4, !tbaa !9
  %10190 = icmp ne i32 %10189, 0
  br i1 %10190, label %10191, label %10192

10191:                                            ; preds = %10172
  br label %10196

10192:                                            ; preds = %10172
  %10193 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %10193, ptr %37, align 4, !tbaa !9
  %10194 = load ptr, ptr %4, align 8, !tbaa !5
  %10195 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %10194, i32 noundef %10195)
  br label %10196

10196:                                            ; preds = %10192, %10191, %10170, %10166
  %10197 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %10197, ptr %37, align 4, !tbaa !9
  store i32 44, ptr %38, align 4, !tbaa !9
  %10198 = load i32, ptr %38, align 4, !tbaa !9
  %10199 = load i32, ptr %37, align 4, !tbaa !9
  %10200 = add i32 %10199, %10198
  store i32 %10200, ptr %37, align 4, !tbaa !9
  %10201 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %10201, ptr %8, align 4, !tbaa !9
  %10202 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %10202, ptr %38, align 4, !tbaa !9
  %10203 = load i32, ptr %37, align 4, !tbaa !9
  %10204 = load i32, ptr %38, align 4, !tbaa !9
  %10205 = icmp ne i32 %10203, %10204
  %10206 = zext i1 %10205 to i32
  store i32 %10206, ptr %37, align 4, !tbaa !9
  %10207 = load i32, ptr %37, align 4, !tbaa !9
  %10208 = icmp ne i32 %10207, 0
  br i1 %10208, label %10209, label %10210

10209:                                            ; preds = %10196
  br label %10155

10210:                                            ; preds = %10196
  br label %10211

10211:                                            ; preds = %10210, %10127
  %10212 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %10212, ptr %37, align 4, !tbaa !9
  %10213 = load ptr, ptr %4, align 8, !tbaa !5
  %10214 = getelementptr inbounds %struct.w2c_hermes, ptr %10213, i32 0, i32 6
  %10215 = load i32, ptr %37, align 4, !tbaa !9
  %10216 = zext i32 %10215 to i64
  %10217 = add i64 %10216, 28
  %10218 = call i32 @i32_load(ptr noundef %10214, i64 noundef %10217)
  store i32 %10218, ptr %37, align 4, !tbaa !9
  %10219 = load ptr, ptr %4, align 8, !tbaa !5
  %10220 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %10219, i32 noundef %10220)
  %10221 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %10221, ptr %37, align 4, !tbaa !9
  %10222 = load ptr, ptr %4, align 8, !tbaa !5
  %10223 = getelementptr inbounds %struct.w2c_hermes, ptr %10222, i32 0, i32 6
  %10224 = load i32, ptr %37, align 4, !tbaa !9
  %10225 = zext i32 %10224 to i64
  %10226 = add i64 %10225, 16
  %10227 = call i32 @i32_load(ptr noundef %10223, i64 noundef %10226)
  store i32 %10227, ptr %37, align 4, !tbaa !9
  %10228 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %10228, ptr %6, align 4, !tbaa !9
  %10229 = load i32, ptr %37, align 4, !tbaa !9
  %10230 = icmp ne i32 %10229, 0
  br i1 %10230, label %10231, label %10243

10231:                                            ; preds = %10211
  %10232 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %10232, ptr %37, align 4, !tbaa !9
  %10233 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %10233, ptr %38, align 4, !tbaa !9
  %10234 = load ptr, ptr %4, align 8, !tbaa !5
  %10235 = getelementptr inbounds %struct.w2c_hermes, ptr %10234, i32 0, i32 6
  %10236 = load i32, ptr %37, align 4, !tbaa !9
  %10237 = zext i32 %10236 to i64
  %10238 = add i64 %10237, 20
  %10239 = load i32, ptr %38, align 4, !tbaa !9
  call void @i32_store(ptr noundef %10235, i64 noundef %10238, i32 noundef %10239)
  %10240 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %10240, ptr %37, align 4, !tbaa !9
  %10241 = load ptr, ptr %4, align 8, !tbaa !5
  %10242 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %10241, i32 noundef %10242)
  br label %10243

10243:                                            ; preds = %10231, %10211
  %10244 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %10244, ptr %37, align 4, !tbaa !9
  store i32 48, ptr %38, align 4, !tbaa !9
  %10245 = load i32, ptr %38, align 4, !tbaa !9
  %10246 = load i32, ptr %37, align 4, !tbaa !9
  %10247 = add i32 %10246, %10245
  store i32 %10247, ptr %37, align 4, !tbaa !9
  %10248 = load i32, ptr %37, align 4, !tbaa !9
  %10249 = load ptr, ptr %4, align 8, !tbaa !5
  %10250 = getelementptr inbounds %struct.w2c_hermes, ptr %10249, i32 0, i32 3
  store i32 %10248, ptr %10250, align 8, !tbaa !13
  %10251 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %10251, ptr %37, align 4, !tbaa !9
  %10252 = load i32, ptr %37, align 4, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #7
  call void @llvm.lifetime.end.p0(i64 8, 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 4, 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
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #7
  ret i32 %10252
}

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

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

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

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

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

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

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

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

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

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


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

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

declare i32 @w2c_hermes_llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AAlwaysDescend0x28hermes0x3A0x3ABasicBlock0x2A0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x29(ptr noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

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

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

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

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

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

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

; Function Attrs: nounwind uwtable
declare dso_local void @w2c_hermes_abort(ptr noundef) local_unnamed_addr #0

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

declare void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fthrow_out_of_range0x5Babi0x3Av150070x5D0x28char0x20const0x2A0x29(ptr noundef) local_unnamed_addr #1

declare void @w2c_hermes_llvh0x3A0x3ASmallVectorBase0x3A0x3Agrow_pod0x28void0x2A0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

declare i32 @w2c_hermes_memmove(ptr noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

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

; Function Attrs: nounwind uwtable
define dso_local noundef i32 @w2c_hermes_hermes0x3A0x3ADominanceInfo0x3A0x3ADominanceInfo0x28hermes0x3A0x3AFunction0x2A0x29(ptr noundef %0, i32 noundef returned %1, i32 noundef %2) local_unnamed_addr #0 {
  %4 = getelementptr inbounds i8, ptr %0, i64 40
  %5 = zext i32 %1 to i64
  %6 = add nuw nsw i64 %5, 16
  tail call void @i64_store(ptr noundef nonnull %4, i64 noundef %6, i64 noundef 0)
  %7 = add nuw nsw i64 %5, 4
  tail call void @i64_store(ptr noundef nonnull %4, i64 noundef %7, i64 noundef 4294967296)
  %8 = add nuw nsw i64 %5, 44
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %8, i32 noundef 0)
  %9 = add nuw nsw i64 %5, 40
  tail call void @i32_store8(ptr noundef nonnull %4, i64 noundef %9, i32 noundef 0)
  %10 = add nuw nsw i64 %5, 36
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %10, i32 noundef %2)
  %11 = add i32 %1, 12
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %5, i32 noundef %11)
  %12 = add nuw nsw i64 %5, 24
  tail call void @i64_store(ptr noundef nonnull %4, i64 noundef %12, i64 noundef 0)
  %13 = getelementptr inbounds i8, ptr %0, i64 24
  %14 = load i32, ptr %13, align 8, !tbaa !5
  %15 = add i32 %14, -48
  store i32 %15, ptr %13, align 8, !tbaa !5
  %16 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %10)
  %17 = add i32 %1, 16
  %18 = zext i32 %17 to i64
  %19 = add nuw nsw i64 %18, 4
  %20 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %19)
  %.not = icmp eq i32 %20, 0
  br i1 %.not, label %21, label %24

21:                                               ; preds = %3
  %22 = add nuw nsw i64 %18, 8
  %23 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %22)
  %.not6209 = icmp eq i32 %23, 0
  br i1 %.not6209, label %.loopexit6490, label %24

24:                                               ; preds = %21, %3
  %25 = add nuw nsw i64 %18, 12
  %26 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %25)
  %27 = shl i32 %20, 2
  %.not6210 = icmp ule i32 %26, %27
  %28 = icmp ult i32 %26, 65
  %or.cond = or i1 %.not6210, %28
  br i1 %or.cond, label %129, label %29

29:                                               ; preds = %24
  %30 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %19)
  %31 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %25)
  %.not6211 = icmp eq i32 %31, 0
  br i1 %.not6211, label %.loopexit6496, label %32

32:                                               ; preds = %29
  %33 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %18)
  %34 = shl i32 %31, 3
  %35 = add i32 %33, %34
  br label %36

36:                                               ; preds = %49, %32
  %.0 = phi i32 [ %33, %32 ], [ %50, %49 ]
  %37 = zext i32 %.0 to i64
  %38 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %37)
  switch i32 %38, label %39 [
    i32 -8, label %49
    i32 -4, label %49
  ]

39:                                               ; preds = %36
  %40 = add nuw nsw i64 %37, 4
  %41 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %40)
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %40, i32 noundef 0)
  %.not6212 = icmp eq i32 %41, 0
  br i1 %.not6212, label %49, label %42

42:                                               ; preds = %39
  %43 = zext i32 %41 to i64
  %44 = add nuw nsw i64 %43, 12
  %45 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %44)
  %.not6213 = icmp eq i32 %45, 0
  br i1 %.not6213, label %48, label %46

46:                                               ; preds = %42
  %47 = add nuw nsw i64 %43, 16
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %47, i32 noundef %45)
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %45)
  br label %48

48:                                               ; preds = %46, %42
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %41)
  br label %49

49:                                               ; preds = %36, %39, %36, %48
  %50 = add i32 %.0, 8
  %.not6214 = icmp eq i32 %50, %35
  br i1 %.not6214, label %.loopexit6496, label %36

.loopexit6496:                                    ; preds = %49, %29
  %.not6215 = icmp eq i32 %30, 0
  br i1 %.not6215, label %58, label %51

51:                                               ; preds = %.loopexit6496
  %52 = add i32 %30, -1
  %53 = tail call range(i32 0, 33) i32 @llvm.ctlz.i32(i32 %52, i1 false)
  %54 = sub nsw i32 1, %53
  %55 = and i32 %54, 31
  %56 = shl nuw i32 1, %55
  %57 = tail call i32 @llvm.smax.i32(i32 %56, i32 64)
  br label %58

58:                                               ; preds = %.loopexit6496, %51
  %.05827 = phi i32 [ %57, %51 ], [ 0, %.loopexit6496 ]
  %59 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %25)
  %60 = icmp eq i32 %.05827, %59
  br i1 %60, label %61, label %84

61:                                               ; preds = %58
  tail call void @i64_store(ptr noundef nonnull %4, i64 noundef %19, i64 noundef 0)
  %.not6222 = icmp eq i32 %.05827, 0
  br i1 %.not6222, label %.loopexit6490, label %62

62:                                               ; preds = %61
  %63 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %18)
  %64 = and i32 %.05827, 7
  %.not6223 = icmp eq i32 %64, 0
  br i1 %.not6223, label %.loopexit6492, label %.preheader6491

.preheader6491:                                   ; preds = %62, %.preheader6491
  %.05936 = phi i32 [ %67, %.preheader6491 ], [ 0, %62 ]
  %.1 = phi i32 [ %66, %.preheader6491 ], [ %63, %62 ]
  %65 = zext i32 %.1 to i64
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %65, i32 noundef -4)
  %66 = add i32 %.1, 8
  %67 = add nuw nsw i32 %.05936, 1
  %.not6224 = icmp eq i32 %67, %64
  br i1 %.not6224, label %.loopexit6492, label %.preheader6491

.loopexit6492:                                    ; preds = %.preheader6491, %62
  %.2 = phi i32 [ %63, %62 ], [ %66, %.preheader6491 ]
  %68 = add nuw i32 %.05827, 536870911
  %69 = and i32 %68, 536870911
  %70 = icmp ult i32 %69, 7
  br i1 %70, label %.loopexit6490, label %71

71:                                               ; preds = %.loopexit6492
  %72 = shl i32 %.05827, 3
  %73 = add i32 %63, %72
  br label %74

74:                                               ; preds = %74, %71
  %.3 = phi i32 [ %.2, %71 ], [ %83, %74 ]
  %75 = zext i32 %.3 to i64
  %76 = add nuw nsw i64 %75, 56
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %76, i32 noundef -4)
  %77 = add nuw nsw i64 %75, 48
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %77, i32 noundef -4)
  %78 = add nuw nsw i64 %75, 40
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %78, i32 noundef -4)
  %79 = add nuw nsw i64 %75, 32
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %79, i32 noundef -4)
  %80 = add nuw nsw i64 %75, 24
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %80, i32 noundef -4)
  %81 = add nuw nsw i64 %75, 16
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %81, i32 noundef -4)
  %82 = add nuw nsw i64 %75, 8
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %82, i32 noundef -4)
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %75, i32 noundef -4)
  %83 = add i32 %.3, 64
  %.not6225 = icmp eq i32 %83, %73
  br i1 %.not6225, label %.loopexit6490, label %74

84:                                               ; preds = %58
  %85 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %18)
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %85)
  %.not6217 = icmp eq i32 %.05827, 0
  br i1 %.not6217, label %127, label %86

86:                                               ; preds = %84
  %87 = shl i32 %.05827, 2
  %88 = udiv i32 %87, 3
  %89 = add nuw nsw i32 %88, 1
  %90 = zext nneg i32 %89 to i64
  %91 = lshr i64 %90, 1
  %92 = or i64 %91, %90
  %93 = lshr i64 %92, 2
  %94 = or i64 %93, %92
  %95 = lshr i64 %94, 4
  %96 = or i64 %95, %94
  %97 = lshr i64 %96, 8
  %98 = or i64 %97, %96
  %99 = lshr i64 %98, 16
  %100 = or i64 %99, %98
  %101 = trunc nuw nsw i64 %100 to i32
  %102 = add nuw i32 %101, 1
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %25, i32 noundef %102)
  %103 = shl i32 %102, 3
  %104 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %0, i32 noundef %103) #6
  tail call void @i64_store(ptr noundef nonnull %4, i64 noundef %19, i64 noundef 0)
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %18, i32 noundef %104)
  %105 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %25)
  %.not6218 = icmp eq i32 %105, 0
  br i1 %.not6218, label %.loopexit6490, label %106

106:                                              ; preds = %86
  %107 = and i32 %105, 7
  %.not6219 = icmp eq i32 %107, 0
  br i1 %.not6219, label %.loopexit6495, label %.preheader6494

.preheader6494:                                   ; preds = %106, %.preheader6494
  %.15937 = phi i32 [ %110, %.preheader6494 ], [ 0, %106 ]
  %.4 = phi i32 [ %109, %.preheader6494 ], [ %104, %106 ]
  %108 = zext i32 %.4 to i64
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %108, i32 noundef -4)
  %109 = add i32 %.4, 8
  %110 = add nuw nsw i32 %.15937, 1
  %.not6220 = icmp eq i32 %110, %107
  br i1 %.not6220, label %.loopexit6495, label %.preheader6494

.loopexit6495:                                    ; preds = %.preheader6494, %106
  %.5 = phi i32 [ %104, %106 ], [ %109, %.preheader6494 ]
  %111 = add i32 %105, 536870911
  %112 = and i32 %111, 536870911
  %113 = icmp ult i32 %112, 7
  br i1 %113, label %.loopexit6490, label %114

114:                                              ; preds = %.loopexit6495
  %115 = shl i32 %105, 3
  %116 = add i32 %115, %104
  br label %117

117:                                              ; preds = %117, %114
  %.6 = phi i32 [ %.5, %114 ], [ %126, %117 ]
  %118 = zext i32 %.6 to i64
  %119 = add nuw nsw i64 %118, 56
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %119, i32 noundef -4)
  %120 = add nuw nsw i64 %118, 48
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %120, i32 noundef -4)
  %121 = add nuw nsw i64 %118, 40
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %121, i32 noundef -4)
  %122 = add nuw nsw i64 %118, 32
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %122, i32 noundef -4)
  %123 = add nuw nsw i64 %118, 24
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %123, i32 noundef -4)
  %124 = add nuw nsw i64 %118, 16
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %124, i32 noundef -4)
  %125 = add nuw nsw i64 %118, 8
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %125, i32 noundef -4)
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %118, i32 noundef -4)
  %126 = add i32 %.6, 64
  %.not6221 = icmp eq i32 %126, %116
  br i1 %.not6221, label %.loopexit6490, label %117

127:                                              ; preds = %84
  tail call void @i64_store(ptr noundef nonnull %4, i64 noundef %18, i64 noundef 0)
  %128 = add nuw nsw i64 %18, 8
  br label %.loopexit6490.sink.split

129:                                              ; preds = %24
  %.not6226 = icmp eq i32 %26, 0
  br i1 %.not6226, label %.loopexit6490.sink.split, label %130

130:                                              ; preds = %129
  %131 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %18)
  %132 = shl i32 %26, 3
  %133 = add i32 %131, %132
  br label %134

134:                                              ; preds = %148, %130
  %.25938 = phi i32 [ %131, %130 ], [ %149, %148 ]
  %135 = zext i32 %.25938 to i64
  %136 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %135)
  switch i32 %136, label %137 [
    i32 -8, label %147
    i32 -4, label %148
  ]

137:                                              ; preds = %134
  %138 = add nuw nsw i64 %135, 4
  %139 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %138)
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %138, i32 noundef 0)
  %.not6227 = icmp eq i32 %139, 0
  br i1 %.not6227, label %147, label %140

140:                                              ; preds = %137
  %141 = zext i32 %139 to i64
  %142 = add nuw nsw i64 %141, 12
  %143 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %142)
  %.not6228 = icmp eq i32 %143, 0
  br i1 %.not6228, label %146, label %144

144:                                              ; preds = %140
  %145 = add nuw nsw i64 %141, 16
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %145, i32 noundef %143)
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %143)
  br label %146

146:                                              ; preds = %144, %140
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %139)
  br label %147

147:                                              ; preds = %137, %134, %146
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %135, i32 noundef -4)
  br label %148

148:                                              ; preds = %134, %147
  %149 = add i32 %.25938, 8
  %.not6229 = icmp eq i32 %149, %133
  br i1 %.not6229, label %.loopexit6490.sink.split, label %134

.loopexit6490.sink.split:                         ; preds = %148, %129, %127
  %.sink = phi i64 [ %128, %127 ], [ %19, %129 ], [ %19, %148 ]
  tail call void @i64_store(ptr noundef nonnull %4, i64 noundef %.sink, i64 noundef 0)
  br label %.loopexit6490

.loopexit6490:                                    ; preds = %117, %74, %.loopexit6490.sink.split, %61, %.loopexit6492, %86, %.loopexit6495, %21
  %150 = add nuw nsw i64 %5, 32
  tail call void @i64_store(ptr noundef nonnull %4, i64 noundef %150, i64 noundef 0)
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %8, i32 noundef 0)
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %7, i32 noundef 0)
  tail call void @i32_store8(ptr noundef nonnull %4, i64 noundef %9, i32 noundef 0)
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %10, i32 noundef %16)
  %151 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %0, i32 noundef 4) #6
  %152 = zext i32 %15 to i64
  %153 = add nuw nsw i64 %152, 16
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %153, i32 noundef %151)
  %154 = add i32 %151, 4
  %155 = add nuw nsw i64 %152, 24
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %155, i32 noundef %154)
  %156 = zext i32 %151 to i64
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %156, i32 noundef 0)
  %157 = add nuw nsw i64 %152, 36
  tail call void @i64_store(ptr noundef nonnull %4, i64 noundef %157, i64 noundef 0)
  %158 = add nuw nsw i64 %152, 44
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %158, i32 noundef 0)
  %159 = add nuw nsw i64 %152, 28
  tail call void @i64_store(ptr noundef nonnull %4, i64 noundef %159, i64 noundef 0)
  %160 = add nuw nsw i64 %152, 20
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %160, i32 noundef %154)
  %161 = add nuw nsw i64 %152, 8
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %161, i32 noundef 1)
  %162 = add i32 %14, -36
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %152, i32 noundef %162)
  %163 = zext i32 %16 to i64
  %164 = add nuw nsw i64 %163, 52
  %165 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %164)
  %166 = add nuw nsw i64 %152, 4
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %166, i32 noundef 1)
  %167 = add nuw nsw i64 %152, 12
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %167, i32 noundef %165)
  %168 = icmp eq i32 %15, %1
  br i1 %168, label %183, label %169

169:                                              ; preds = %.loopexit6490
  %170 = add nuw nsw i64 %5, 8
  %171 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %170)
  %.not6230 = icmp eq i32 %171, 0
  br i1 %.not6230, label %172, label %174

172:                                              ; preds = %169
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %7, i32 noundef 0)
  tail call void @w2c_hermes_llvh0x3A0x3ASmallVectorBase0x3A0x3Agrow_pod0x28void0x2A0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef %0, i32 noundef %1, i32 noundef %11, i32 noundef 1, i32 noundef 4) #6
  %173 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %166)
  %.not6231 = icmp eq i32 %173, 0
  br i1 %.not6231, label %179, label %174

174:                                              ; preds = %172, %169
  %.7 = phi i32 [ %173, %172 ], [ 1, %169 ]
  %175 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %5)
  %176 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %152)
  %177 = shl i32 %.7, 2
  %178 = tail call i32 @w2c_hermes_0x5F_memcpy(ptr noundef %0, i32 noundef %175, i32 noundef %176, i32 noundef %177)
  br label %179

179:                                              ; preds = %172, %174
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %7, i32 noundef 1)
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %166, i32 noundef 0)
  %180 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %152)
  %181 = icmp eq i32 %180, %162
  br i1 %181, label %183, label %182

182:                                              ; preds = %179
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %180)
  br label %183

183:                                              ; preds = %179, %.loopexit6490, %182
  %184 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %5)
  %185 = zext i32 %184 to i64
  %186 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %185)
  %187 = load i32, ptr %13, align 8, !tbaa !5
  %188 = add i32 %187, -336
  store i32 %188, ptr %13, align 8, !tbaa !5
  %189 = zext i32 %188 to i64
  %190 = add nuw nsw i64 %189, 332
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %190, i32 noundef %186)
  %191 = add nuw nsw i64 %189, 76
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %191, i32 noundef %186)
  %192 = add i32 %187, -260
  %193 = add nuw nsw i64 %189, 64
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %193, i32 noundef %192)
  %194 = add nuw nsw i64 %189, 68
  tail call void @i64_store(ptr noundef nonnull %4, i64 noundef %194, i64 noundef 274877906945)
  %195 = add i32 %14, -32
  %196 = add i32 %14, -20
  %197 = zext i32 %195 to i64
  %198 = add nuw nsw i64 %197, 24
  %199 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %198)
  %.not6232 = icmp eq i32 %199, 0
  %.pre6684 = add nuw nsw i64 %197, 12
  br i1 %.not6232, label %.loopexit6488, label %200

200:                                              ; preds = %183
  %201 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %.pre6684)
  %202 = add i32 %199, -1
  %203 = lshr i32 %186, 4
  %204 = lshr i32 %186, 9
  %205 = xor i32 %203, %204
  %206 = and i32 %202, %205
  %207 = mul i32 %206, 44
  %208 = add i32 %201, %207
  %209 = zext i32 %208 to i64
  %210 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %209)
  %211 = icmp eq i32 %210, %186
  br i1 %211, label %.loopexit6486, label %.preheader6487

.preheader6487:                                   ; preds = %200, %213
  %.05991 = phi i32 [ %215, %213 ], [ 1, %200 ]
  %.05917 = phi i32 [ %220, %213 ], [ %210, %200 ]
  %.05885 = phi i32 [ %216, %213 ], [ %206, %200 ]
  %212 = icmp eq i32 %.05917, -4
  br i1 %212, label %.loopexit6488, label %213

213:                                              ; preds = %.preheader6487
  %214 = add i32 %.05885, %.05991
  %215 = add i32 %.05991, 1
  %216 = and i32 %214, %202
  %217 = mul i32 %216, 44
  %218 = add i32 %217, %201
  %219 = zext i32 %218 to i64
  %220 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %219)
  %.not6233 = icmp eq i32 %220, %186
  br i1 %.not6233, label %.preheader6485, label %.preheader6487

.preheader6485:                                   ; preds = %213, %222
  %.06029 = phi i32 [ %228, %222 ], [ %206, %213 ]
  %.05955 = phi i32 [ %225, %222 ], [ 0, %213 ]
  %.15918 = phi i32 [ %227, %222 ], [ 1, %213 ]
  %.05896 = phi i32 [ %230, %222 ], [ %208, %213 ]
  %.8 = phi i32 [ %232, %222 ], [ %210, %213 ]
  %221 = icmp eq i32 %.8, -4
  %.not6236 = icmp eq i32 %.05955, 0
  br i1 %221, label %234, label %222

222:                                              ; preds = %.preheader6485
  %223 = icmp eq i32 %.8, -8
  %224 = select i1 %223, i1 %.not6236, i1 false
  %225 = select i1 %224, i32 %.05896, i32 %.05955
  %226 = add i32 %.15918, %.06029
  %227 = add i32 %.15918, 1
  %228 = and i32 %226, %202
  %229 = mul i32 %228, 44
  %230 = add i32 %229, %201
  %231 = zext i32 %230 to i64
  %232 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %231)
  %.not6235 = icmp eq i32 %232, %186
  br i1 %.not6235, label %.loopexit6486, label %.preheader6485

.loopexit6486:                                    ; preds = %222, %200
  %.pre-phi6681 = phi i64 [ %209, %200 ], [ %231, %222 ]
  %233 = add nuw nsw i64 %.pre-phi6681, 8
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %233, i32 noundef 0)
  br label %.loopexit6488

234:                                              ; preds = %.preheader6485
  %235 = select i1 %.not6236, i32 %.05896, i32 %.05955
  %236 = add i32 %187, -4
  %237 = tail call i32 @w2c_hermes_llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x3A0x3AInsertIntoBucket0x3Chermes0x3A0x3ABasicBlock0x2A0x20const0x260x3E0x28llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x20const0x260x29(ptr noundef %0, i32 noundef %196, i32 noundef %235, i32 noundef %236) #6
  %238 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %194)
  %239 = zext i32 %237 to i64
  %240 = add nuw nsw i64 %239, 8
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %240, i32 noundef 0)
  %.not6237 = icmp eq i32 %238, 0
  br i1 %.not6237, label %.loopexit6484, label %.loopexit6488

.loopexit6488:                                    ; preds = %.preheader6487, %183, %234, %.loopexit6486
  %.15956 = phi i32 [ %238, %234 ], [ 1, %.loopexit6486 ], [ 1, %183 ], [ 1, %.preheader6487 ]
  %241 = add i32 %187, -308
  %242 = add nuw nsw i64 %189, 60
  %243 = add i32 %187, -276
  %244 = add nuw nsw i64 %197, 4
  %245 = add nuw nsw i64 %197, 8
  %246 = add i32 %187, -320
  %247 = add nuw nsw i64 %197, 28
  %248 = zext i32 %246 to i64
  %249 = add nuw nsw i64 %248, 4
  %.65961 = add i32 %187, -316
  %250 = zext i32 %.65961 to i64
  %251 = add nuw nsw i64 %248, 8
  %252 = add nuw nsw i64 %189, 16
  %253 = add nuw nsw i64 %189, 20
  %254 = add nuw nsw i64 %189, 12
  %255 = add i32 %187, -324
  %256 = add nuw nsw i64 %189, 72
  %257 = add i32 %187, -272
  br label %258

258:                                              ; preds = %572, %.loopexit6488
  %.25957 = phi i32 [ %.15956, %.loopexit6488 ], [ %573, %572 ]
  %.05872 = phi i32 [ 0, %.loopexit6488 ], [ %.15873, %572 ]
  %259 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %193)
  %260 = shl i32 %.25957, 2
  %261 = add i32 %260, -4
  %262 = add i32 %261, %259
  %263 = zext i32 %262 to i64
  %264 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %263)
  %265 = add i32 %.25957, -1
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %194, i32 noundef %265)
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %242, i32 noundef %264)
  %266 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %198)
  %.not6238 = icmp eq i32 %266, 0
  br i1 %.not6238, label %293, label %267

267:                                              ; preds = %258
  %268 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %.pre6684)
  %269 = add i32 %266, -1
  %270 = lshr i32 %264, 4
  %271 = lshr i32 %264, 9
  %272 = xor i32 %270, %271
  %273 = and i32 %269, %272
  %274 = mul i32 %273, 44
  %275 = add i32 %268, %274
  %276 = zext i32 %275 to i64
  %277 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %276)
  %278 = icmp eq i32 %264, %277
  br i1 %278, label %.loopexit6483, label %.preheader6482

.preheader6482:                                   ; preds = %267, %282
  %.26031 = phi i32 [ %292, %282 ], [ %277, %267 ]
  %.35958 = phi i32 [ %290, %282 ], [ %275, %267 ]
  %.15897 = phi i32 [ %287, %282 ], [ 1, %267 ]
  %.15886 = phi i32 [ %288, %282 ], [ %273, %267 ]
  %.9 = phi i32 [ %285, %282 ], [ 0, %267 ]
  %279 = icmp eq i32 %.26031, -4
  %.not6241 = icmp eq i32 %.9, 0
  br i1 %279, label %280, label %282

280:                                              ; preds = %.preheader6482
  %281 = select i1 %.not6241, i32 %.35958, i32 %.9
  br label %293

282:                                              ; preds = %.preheader6482
  %283 = icmp eq i32 %.26031, -8
  %284 = select i1 %283, i1 %.not6241, i1 false
  %285 = select i1 %284, i32 %.35958, i32 %.9
  %286 = add i32 %.15886, %.15897
  %287 = add i32 %.15897, 1
  %288 = and i32 %286, %269
  %289 = mul i32 %288, 44
  %290 = add i32 %289, %268
  %291 = zext i32 %290 to i64
  %292 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %291)
  %.not6240 = icmp eq i32 %264, %292
  br i1 %.not6240, label %.loopexit6483, label %.preheader6482

293:                                              ; preds = %258, %280
  %.36032 = phi i32 [ 0, %258 ], [ %281, %280 ]
  %294 = tail call i32 @w2c_hermes_llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x3A0x3AInsertIntoBucket0x3Chermes0x3A0x3ABasicBlock0x2A0x20const0x260x3E0x28llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x20const0x260x29(ptr noundef %0, i32 noundef %196, i32 noundef %.36032, i32 noundef %243) #6
  %.pre = zext i32 %294 to i64
  br label %.loopexit6483

.loopexit6483:                                    ; preds = %282, %267, %293
  %.pre-phi = phi i64 [ %276, %267 ], [ %.pre, %293 ], [ %291, %282 ]
  %295 = add nuw nsw i64 %.pre-phi, 4
  %296 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %295)
  %.not6242 = icmp eq i32 %296, 0
  br i1 %.not6242, label %297, label %572

297:                                              ; preds = %.loopexit6483
  %298 = add i32 %.05872, 1
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %295, i32 noundef %298)
  %299 = add nuw nsw i64 %.pre-phi, 12
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %299, i32 noundef %298)
  %300 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %242)
  %301 = add nuw nsw i64 %.pre-phi, 16
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %301, i32 noundef %300)
  %302 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %244)
  %303 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %245)
  %.not6243 = icmp eq i32 %302, %303
  br i1 %.not6243, label %307, label %304

304:                                              ; preds = %297
  %305 = zext i32 %302 to i64
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %305, i32 noundef %300)
  %306 = add i32 %302, 4
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %244, i32 noundef %306)
  br label %330

307:                                              ; preds = %297
  %308 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %197)
  %309 = sub i32 %302, %308
  %310 = ashr i32 %309, 2
  %311 = add nsw i32 %310, 1
  %312 = icmp ugt i32 %311, 1073741823
  br i1 %312, label %566, label %313

313:                                              ; preds = %307
  %314 = ashr i32 %309, 1
  %315 = tail call i32 @llvm.umax.i32(i32 %311, i32 %314)
  %316 = icmp ugt i32 %309, 2147483643
  %317 = select i1 %316, i32 1073741823, i32 %315
  %.not6244 = icmp eq i32 %317, 0
  br i1 %.not6244, label %._crit_edge6683, label %318

318:                                              ; preds = %313
  %319 = icmp ugt i32 %317, 1073741823
  br i1 %319, label %565, label %320

320:                                              ; preds = %318
  %321 = shl nuw i32 %317, 2
  %322 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %0, i32 noundef %321) #6
  br label %._crit_edge6683

._crit_edge6683:                                  ; preds = %313, %320
  %.pre-phi6687 = phi i32 [ %321, %320 ], [ 0, %313 ]
  %.05824 = phi i32 [ %322, %320 ], [ 0, %313 ]
  %323 = and i32 %309, -4
  %324 = add i32 %.05824, %323
  %325 = zext i32 %324 to i64
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %325, i32 noundef %300)
  %326 = tail call i32 @w2c_hermes_memmove(ptr noundef %0, i32 noundef %.05824, i32 noundef %308, i32 noundef %309) #6
  %327 = add i32 %326, %.pre-phi6687
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %245, i32 noundef %327)
  %328 = add i32 %324, 4
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %244, i32 noundef %328)
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %197, i32 noundef %326)
  %.not6245 = icmp eq i32 %308, 0
  br i1 %.not6245, label %330, label %329

329:                                              ; preds = %._crit_edge6683
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %308)
  br label %330

330:                                              ; preds = %._crit_edge6683, %329, %304
  %331 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %247)
  %332 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %242)
  %333 = tail call i32 @w2c_hermes_hermes0x3A0x3ABasicBlock0x3A0x3AgetTerminator0x280x29(ptr noundef %0, i32 noundef %332)
  %334 = tail call i32 @w2c_hermes_hermes0x3A0x3ABasicBlock0x3A0x3AgetTerminator0x280x29(ptr noundef %0, i32 noundef %332)
  %.not6246 = icmp eq i32 %334, 0
  br i1 %.not6246, label %335, label %336

335:                                              ; preds = %330
  tail call void @i64_store(ptr noundef nonnull %4, i64 noundef %249, i64 noundef 34359738368)
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %248, i32 noundef %241)
  br label %.loopexit6481

336:                                              ; preds = %330
  %337 = tail call i32 @w2c_hermes_hermes0x3A0x3ATerminatorInst0x3A0x3AgetNumSuccessors0x280x290x20const(ptr noundef %0, i32 noundef %334) #6
  tail call void @i64_store(ptr noundef nonnull %4, i64 noundef %249, i64 noundef 34359738368)
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %248, i32 noundef %241)
  %338 = icmp ugt i32 %337, 8
  br i1 %338, label %339, label %340

339:                                              ; preds = %336
  tail call void @w2c_hermes_llvh0x3A0x3ASmallVectorBase0x3A0x3Agrow_pod0x28void0x2A0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef %0, i32 noundef %246, i32 noundef %241, i32 noundef %337, i32 noundef 4) #6
  br label %341

340:                                              ; preds = %336
  %.not6247 = icmp eq i32 %337, 0
  br i1 %.not6247, label %.loopexit6481, label %341

341:                                              ; preds = %340, %339
  %342 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %248)
  %343 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %249)
  %344 = shl i32 %343, 2
  %345 = add i32 %344, %342
  br label %346

346:                                              ; preds = %346, %341
  %.15992 = phi i32 [ %345, %341 ], [ %350, %346 ]
  %.10 = phi i32 [ %337, %341 ], [ %347, %346 ]
  %347 = add i32 %.10, -1
  %348 = tail call i32 @w2c_hermes_hermes0x3A0x3ATerminatorInst0x3A0x3AgetSuccessor0x28unsigned0x20int0x290x20const(ptr noundef %0, i32 noundef %334, i32 noundef %347) #6
  %349 = zext i32 %.15992 to i64
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %349, i32 noundef %348)
  %350 = add i32 %.15992, 4
  %.not6248 = icmp eq i32 %347, 0
  br i1 %.not6248, label %.loopexit6481, label %346

.loopexit6481:                                    ; preds = %346, %335, %340
  %.46033 = phi i32 [ 0, %340 ], [ 0, %335 ], [ %337, %346 ]
  %351 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %250)
  %352 = add i32 %351, %.46033
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %250, i32 noundef %352)
  %.not6249 = icmp eq i32 %331, 0
  br i1 %.not6249, label %.loopexit6477, label %353

353:                                              ; preds = %.loopexit6481
  %354 = zext i32 %331 to i64
  %355 = add nuw nsw i64 %354, 44
  %356 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %355)
  %357 = add nuw nsw i64 %354, 56
  %358 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %357)
  %.not6250 = icmp eq i32 %358, 0
  br i1 %.not6250, label %.loopexit6479, label %359

359:                                              ; preds = %353
  %360 = add i32 %358, -1
  %361 = lshr i32 %332, 4
  %362 = lshr i32 %332, 9
  %363 = xor i32 %361, %362
  %364 = and i32 %360, %363
  %365 = shl i32 %364, 5
  %366 = add i32 %365, %356
  %367 = zext i32 %366 to i64
  %368 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %367)
  %369 = icmp eq i32 %368, %332
  br i1 %369, label %.loopexit6480, label %.preheader6478

.preheader6478:                                   ; preds = %359, %371
  %.56034 = phi i32 [ %378, %371 ], [ %368, %359 ]
  %.75962 = phi i32 [ %374, %371 ], [ %364, %359 ]
  %.25898 = phi i32 [ %373, %371 ], [ 1, %359 ]
  %370 = icmp eq i32 %.56034, -4
  br i1 %370, label %.loopexit6479, label %371

371:                                              ; preds = %.preheader6478
  %372 = add i32 %.25898, %.75962
  %373 = add i32 %.25898, 1
  %374 = and i32 %372, %360
  %375 = shl i32 %374, 5
  %376 = add i32 %375, %356
  %377 = zext i32 %376 to i64
  %378 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %377)
  %.not6251 = icmp eq i32 %378, %332
  br i1 %.not6251, label %.loopexit6480, label %.preheader6478

.loopexit6479:                                    ; preds = %.preheader6478, %353
  %379 = shl i32 %358, 5
  %380 = add i32 %379, %356
  br label %.loopexit6480

.loopexit6480:                                    ; preds = %371, %359, %.loopexit6479
  %.11 = phi i32 [ %380, %.loopexit6479 ], [ %366, %359 ], [ %376, %371 ]
  %381 = shl i32 %358, 5
  %382 = add i32 %381, %356
  %383 = icmp eq i32 %.11, %382
  br i1 %383, label %.loopexit6477, label %384

384:                                              ; preds = %.loopexit6480
  %385 = zext i32 %.11 to i64
  %386 = add nuw nsw i64 %385, 8
  %387 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %386)
  %.not6252 = icmp eq i32 %387, 0
  br i1 %.not6252, label %.loopexit6477, label %388

388:                                              ; preds = %384
  %389 = add nuw nsw i64 %385, 4
  %390 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %389)
  %391 = shl i32 %387, 2
  %392 = add i32 %390, %391
  br label %393

393:                                              ; preds = %434, %388
  %.85963 = phi i32 [ %390, %388 ], [ %435, %434 ]
  %394 = zext i32 %.85963 to i64
  %395 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %394)
  %396 = and i32 %395, -4
  %397 = and i32 %395, 2
  %.not6253 = icmp eq i32 %397, 0
  br i1 %.not6253, label %398, label %422

398:                                              ; preds = %393
  %399 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %248)
  %400 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %249)
  %401 = shl i32 %400, 2
  %402 = add i32 %401, %399
  %.not6255 = icmp eq i32 %400, 0
  br i1 %.not6255, label %.loopexit6475, label %.preheader6474

.preheader6474:                                   ; preds = %398, %406
  %.12 = phi i32 [ %407, %406 ], [ %399, %398 ]
  %403 = zext i32 %.12 to i64
  %404 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %403)
  %405 = icmp eq i32 %404, %396
  br i1 %405, label %.loopexit6475, label %406

406:                                              ; preds = %.preheader6474
  %407 = add i32 %.12, 4
  %.not6256 = icmp eq i32 %407, %402
  br i1 %.not6256, label %.loopexit6476, label %.preheader6474

.loopexit6475:                                    ; preds = %.preheader6474, %398
  %.13 = phi i32 [ %399, %398 ], [ %.12, %.preheader6474 ]
  %408 = icmp eq i32 %.13, %402
  %409 = add i32 %.13, 4
  %410 = icmp eq i32 %409, %402
  %or.cond6404 = or i1 %408, %410
  br i1 %or.cond6404, label %.loopexit6476, label %.preheader6473

.preheader6473:                                   ; preds = %.loopexit6475, %416
  %.05857 = phi i32 [ %417, %416 ], [ %409, %.loopexit6475 ]
  %.14 = phi i32 [ %.15, %416 ], [ %.13, %.loopexit6475 ]
  %411 = zext i32 %.05857 to i64
  %412 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %411)
  %.not6257 = icmp eq i32 %396, %412
  br i1 %.not6257, label %416, label %413

413:                                              ; preds = %.preheader6473
  %414 = zext i32 %.14 to i64
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %414, i32 noundef %412)
  %415 = add i32 %.14, 4
  br label %416

416:                                              ; preds = %413, %.preheader6473
  %.15 = phi i32 [ %415, %413 ], [ %.14, %.preheader6473 ]
  %417 = add i32 %.05857, 4
  %.not6258 = icmp eq i32 %417, %402
  br i1 %.not6258, label %418, label %.preheader6473

418:                                              ; preds = %416
  %419 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %248)
  br label %.loopexit6476

.loopexit6476:                                    ; preds = %406, %.loopexit6475, %418
  %.66035 = phi i32 [ %399, %.loopexit6475 ], [ %419, %418 ], [ %399, %406 ]
  %.16 = phi i32 [ %.13, %.loopexit6475 ], [ %.15, %418 ], [ %402, %406 ]
  %420 = sub i32 %.16, %.66035
  %421 = ashr i32 %420, 2
  br label %434

422:                                              ; preds = %393
  %423 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %249)
  %424 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %251)
  %.not6254 = icmp ult i32 %423, %424
  br i1 %.not6254, label %427, label %425

425:                                              ; preds = %422
  tail call void @w2c_hermes_llvh0x3A0x3ASmallVectorBase0x3A0x3Agrow_pod0x28void0x2A0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef %0, i32 noundef %246, i32 noundef %241, i32 noundef 0, i32 noundef 4) #6
  %426 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %249)
  br label %427

427:                                              ; preds = %425, %422
  %.17 = phi i32 [ %426, %425 ], [ %423, %422 ]
  %428 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %248)
  %429 = shl i32 %.17, 2
  %430 = add i32 %428, %429
  %431 = zext i32 %430 to i64
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %431, i32 noundef %396)
  %432 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %249)
  %433 = add i32 %432, 1
  br label %434

434:                                              ; preds = %427, %.loopexit6476
  %.05823 = phi i32 [ %421, %.loopexit6476 ], [ %433, %427 ]
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %249, i32 noundef %.05823)
  %435 = add i32 %.85963, 4
  %.not6259 = icmp eq i32 %435, %392
  br i1 %.not6259, label %.loopexit6477, label %393

.loopexit6477:                                    ; preds = %434, %384, %.loopexit6480, %.loopexit6481
  %436 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %252)
  %437 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %253)
  %.not6260 = icmp eq i32 %437, 0
  br i1 %.not6260, label %569, label %438

438:                                              ; preds = %.loopexit6477
  %439 = shl i32 %437, 2
  %440 = add i32 %439, %436
  br label %441

441:                                              ; preds = %563, %438
  %.76036 = phi i32 [ %436, %438 ], [ %564, %563 ]
  %442 = zext i32 %.76036 to i64
  %443 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %442)
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %254, i32 noundef %443)
  %444 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %.pre6684)
  %445 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %198)
  %.not6261 = icmp eq i32 %445, 0
  br i1 %.not6261, label %.loopexit6471, label %446

446:                                              ; preds = %441
  %447 = add i32 %445, -1
  %448 = lshr i32 %443, 4
  %449 = lshr i32 %443, 9
  %450 = xor i32 %448, %449
  %451 = and i32 %447, %450
  %452 = mul i32 %451, 44
  %453 = add i32 %452, %444
  %454 = zext i32 %453 to i64
  %455 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %454)
  %456 = icmp eq i32 %455, %443
  br i1 %456, label %.loopexit6472, label %.preheader6470

.preheader6470:                                   ; preds = %446, %458
  %.25993 = phi i32 [ %460, %458 ], [ 1, %446 ]
  %.35899 = phi i32 [ %461, %458 ], [ %451, %446 ]
  %.18 = phi i32 [ %465, %458 ], [ %455, %446 ]
  %457 = icmp eq i32 %.18, -4
  br i1 %457, label %.loopexit6471, label %458

458:                                              ; preds = %.preheader6470
  %459 = add i32 %.35899, %.25993
  %460 = add i32 %.25993, 1
  %461 = and i32 %459, %447
  %462 = mul i32 %461, 44
  %463 = add i32 %462, %444
  %464 = zext i32 %463 to i64
  %465 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %464)
  %.not6262 = icmp eq i32 %465, %443
  br i1 %.not6262, label %.loopexit6472, label %.preheader6470

.loopexit6471:                                    ; preds = %.preheader6470, %441
  %466 = mul i32 %445, 44
  %467 = add i32 %466, %444
  br label %.loopexit6472

.loopexit6472:                                    ; preds = %458, %446, %.loopexit6471
  %.95964 = phi i32 [ %467, %.loopexit6471 ], [ %453, %446 ], [ %463, %458 ]
  %468 = mul i32 %445, 44
  %469 = add i32 %468, %444
  %470 = icmp eq i32 %.95964, %469
  br i1 %470, label %495, label %471

471:                                              ; preds = %.loopexit6472
  %472 = zext i32 %.95964 to i64
  %473 = add nuw nsw i64 %472, 4
  %474 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %473)
  %.not6263 = icmp eq i32 %474, 0
  br i1 %.not6263, label %495, label %475

475:                                              ; preds = %471
  %476 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %242)
  %477 = icmp eq i32 %443, %476
  br i1 %477, label %563, label %478

478:                                              ; preds = %475
  %479 = add i32 %.95964, 24
  %480 = add i32 %.95964, 28
  %481 = zext i32 %480 to i64
  %482 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %481)
  %483 = add nuw nsw i64 %472, 32
  %484 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %483)
  %.not6264 = icmp ult i32 %482, %484
  br i1 %.not6264, label %490, label %485

485:                                              ; preds = %478
  %486 = add i32 %.95964, 36
  tail call void @w2c_hermes_llvh0x3A0x3ASmallVectorBase0x3A0x3Agrow_pod0x28void0x2A0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef %0, i32 noundef %479, i32 noundef %486, i32 noundef 0, i32 noundef 4) #6
  %487 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %242)
  %488 = add nuw nsw i64 %472, 28
  %489 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %488)
  br label %490

490:                                              ; preds = %485, %478
  %.25887 = phi i32 [ %487, %485 ], [ %476, %478 ]
  %.19 = phi i32 [ %489, %485 ], [ %482, %478 ]
  %491 = zext i32 %479 to i64
  %492 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %491)
  %493 = shl i32 %.19, 2
  %494 = add i32 %492, %493
  br label %559

495:                                              ; preds = %471, %.loopexit6472
  %496 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %242)
  %497 = tail call i32 @w2c_hermes_llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AAlwaysDescend0x28hermes0x3A0x3ABasicBlock0x2A0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x29(ptr noundef %0, i32 noundef %496, i32 noundef %443) #6
  %.not6265 = icmp eq i32 %497, 0
  br i1 %.not6265, label %563, label %498

498:                                              ; preds = %495
  %499 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %198)
  %.not6266 = icmp eq i32 %499, 0
  br i1 %.not6266, label %527, label %500

500:                                              ; preds = %498
  %501 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %254)
  %502 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %.pre6684)
  %503 = add i32 %499, -1
  %504 = lshr i32 %501, 4
  %505 = lshr i32 %501, 9
  %506 = xor i32 %504, %505
  %507 = and i32 %506, %503
  %508 = mul i32 %507, 44
  %509 = add i32 %508, %502
  %510 = zext i32 %509 to i64
  %511 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %510)
  %512 = icmp eq i32 %501, %511
  br i1 %512, label %.loopexit6469, label %.preheader6468

.preheader6468:                                   ; preds = %500, %516
  %.35994 = phi i32 [ %521, %516 ], [ 1, %500 ]
  %.105965 = phi i32 [ %524, %516 ], [ %509, %500 ]
  %.25919 = phi i32 [ %519, %516 ], [ 0, %500 ]
  %.35888 = phi i32 [ %526, %516 ], [ %511, %500 ]
  %.20 = phi i32 [ %522, %516 ], [ %507, %500 ]
  %513 = icmp eq i32 %.35888, -4
  %.not6269 = icmp eq i32 %.25919, 0
  br i1 %513, label %514, label %516

514:                                              ; preds = %.preheader6468
  %515 = select i1 %.not6269, i32 %.105965, i32 %.25919
  br label %527

516:                                              ; preds = %.preheader6468
  %517 = icmp eq i32 %.35888, -8
  %518 = select i1 %517, i1 %.not6269, i1 false
  %519 = select i1 %518, i32 %.105965, i32 %.25919
  %520 = add i32 %.20, %.35994
  %521 = add i32 %.35994, 1
  %522 = and i32 %520, %503
  %523 = mul i32 %522, 44
  %524 = add i32 %523, %502
  %525 = zext i32 %524 to i64
  %526 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %525)
  %.not6268 = icmp eq i32 %501, %526
  br i1 %.not6268, label %.loopexit6469, label %.preheader6468

527:                                              ; preds = %498, %514
  %.35920 = phi i32 [ %515, %514 ], [ 0, %498 ]
  %528 = tail call i32 @w2c_hermes_llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x3A0x3AInsertIntoBucket0x3Chermes0x3A0x3ABasicBlock0x2A0x20const0x260x3E0x28llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x20const0x260x29(ptr noundef %0, i32 noundef %196, i32 noundef %.35920, i32 noundef %255) #6
  br label %.loopexit6469

.loopexit6469:                                    ; preds = %516, %500, %527
  %.115966 = phi i32 [ %528, %527 ], [ %509, %500 ], [ %524, %516 ]
  %529 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %194)
  %530 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %256)
  %.not6270 = icmp ult i32 %529, %530
  br i1 %.not6270, label %533, label %531

531:                                              ; preds = %.loopexit6469
  tail call void @w2c_hermes_llvh0x3A0x3ASmallVectorBase0x3A0x3Agrow_pod0x28void0x2A0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef %0, i32 noundef %257, i32 noundef %192, i32 noundef 0, i32 noundef 4) #6
  %532 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %194)
  br label %533

533:                                              ; preds = %531, %.loopexit6469
  %.45921 = phi i32 [ %532, %531 ], [ %529, %.loopexit6469 ]
  %534 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %193)
  %535 = shl i32 %.45921, 2
  %536 = add i32 %534, %535
  %537 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %254)
  %538 = zext i32 %536 to i64
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %538, i32 noundef %537)
  %539 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %194)
  %540 = add i32 %539, 1
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %194, i32 noundef %540)
  %541 = zext i32 %.115966 to i64
  %542 = add nuw nsw i64 %541, 8
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %542, i32 noundef %298)
  %543 = add i32 %.115966, 24
  %544 = add i32 %.115966, 28
  %545 = zext i32 %544 to i64
  %546 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %545)
  %547 = add nuw nsw i64 %541, 32
  %548 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %547)
  %.not6271 = icmp ult i32 %546, %548
  br i1 %.not6271, label %553, label %549

549:                                              ; preds = %533
  %550 = add i32 %.115966, 36
  tail call void @w2c_hermes_llvh0x3A0x3ASmallVectorBase0x3A0x3Agrow_pod0x28void0x2A0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef %0, i32 noundef %543, i32 noundef %550, i32 noundef 0, i32 noundef 4) #6
  %551 = add nuw nsw i64 %541, 28
  %552 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %551)
  br label %553

553:                                              ; preds = %549, %533
  %.21 = phi i32 [ %552, %549 ], [ %546, %533 ]
  %554 = zext i32 %543 to i64
  %555 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %554)
  %556 = shl i32 %.21, 2
  %557 = add i32 %555, %556
  %558 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %242)
  br label %559

559:                                              ; preds = %553, %490
  %.sink6780 = phi i32 [ %557, %553 ], [ %494, %490 ]
  %.sink6779 = phi i32 [ %558, %553 ], [ %.25887, %490 ]
  %.pre-phi6678 = phi i64 [ %545, %553 ], [ %481, %490 ]
  %560 = zext i32 %.sink6780 to i64
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %560, i32 noundef %.sink6779)
  %561 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %.pre-phi6678)
  %562 = add i32 %561, 1
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %.pre-phi6678, i32 noundef %562)
  br label %563

563:                                              ; preds = %495, %475, %559
  %564 = add i32 %.76036, 4
  %.not6272 = icmp eq i32 %440, %564
  br i1 %.not6272, label %567, label %441

565:                                              ; preds = %318
  tail call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fthrow_out_of_range0x5Babi0x3Av150070x5D0x28char0x20const0x2A0x29(ptr noundef %0) #6
  tail call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

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

567:                                              ; preds = %563
  %568 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %252)
  br label %569

569:                                              ; preds = %.loopexit6477, %567
  %.15825 = phi i32 [ %436, %.loopexit6477 ], [ %568, %567 ]
  %570 = icmp eq i32 %241, %.15825
  br i1 %570, label %572, label %571

571:                                              ; preds = %569
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %.15825)
  br label %572

572:                                              ; preds = %569, %.loopexit6483, %571
  %.15873 = phi i32 [ %.05872, %.loopexit6483 ], [ %298, %569 ], [ %298, %571 ]
  %573 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %194)
  %.not6273 = icmp eq i32 %573, 0
  br i1 %.not6273, label %.loopexit6484, label %258

.loopexit6484:                                    ; preds = %572, %234
  %574 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %193)
  %.not6274 = icmp eq i32 %192, %574
  br i1 %.not6274, label %576, label %575

575:                                              ; preds = %.loopexit6484
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %574)
  br label %576

576:                                              ; preds = %575, %.loopexit6484
  %577 = add i32 %187, -16
  store i32 %577, ptr %13, align 8, !tbaa !5
  %578 = add nuw nsw i64 %197, 4
  %579 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %578)
  %580 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %197)
  %581 = sub i32 %579, %580
  %582 = ashr i32 %581, 2
  %583 = icmp ugt i32 %581, 4
  br i1 %583, label %584, label %.loopexit6467

584:                                              ; preds = %576
  %585 = tail call i32 @llvm.umax.i32(i32 %582, i32 2)
  %586 = zext i32 %577 to i64
  %587 = add nuw nsw i64 %586, 12
  %588 = add nuw nsw i64 %197, 12
  %589 = add i32 %187, -4
  br label %590

590:                                              ; preds = %.loopexit6466, %584
  %.86037 = phi i32 [ 1, %584 ], [ %632, %.loopexit6466 ]
  %.45900 = phi i32 [ %580, %584 ], [ %.55901, %.loopexit6466 ]
  %591 = shl i32 %.86037, 2
  %592 = add i32 %.45900, %591
  %593 = zext i32 %592 to i64
  %594 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %593)
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %587, i32 noundef %594)
  %595 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %198)
  %.not6275 = icmp eq i32 %595, 0
  br i1 %.not6275, label %622, label %596

596:                                              ; preds = %590
  %597 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %588)
  %598 = add i32 %595, -1
  %599 = lshr i32 %594, 4
  %600 = lshr i32 %594, 9
  %601 = xor i32 %599, %600
  %602 = and i32 %598, %601
  %603 = mul i32 %602, 44
  %604 = add i32 %597, %603
  %605 = zext i32 %604 to i64
  %606 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %605)
  %607 = icmp eq i32 %594, %606
  br i1 %607, label %.loopexit6466, label %.preheader6465

.preheader6465:                                   ; preds = %596, %611
  %.45995 = phi i32 [ %619, %611 ], [ %604, %596 ]
  %.125967 = phi i32 [ %616, %611 ], [ 1, %596 ]
  %.65923 = phi i32 [ %621, %611 ], [ %606, %596 ]
  %.25874 = phi i32 [ %617, %611 ], [ %602, %596 ]
  %.22 = phi i32 [ %614, %611 ], [ 0, %596 ]
  %608 = icmp eq i32 %.65923, -4
  %.not6278 = icmp eq i32 %.22, 0
  br i1 %608, label %609, label %611

609:                                              ; preds = %.preheader6465
  %610 = select i1 %.not6278, i32 %.45995, i32 %.22
  br label %622

611:                                              ; preds = %.preheader6465
  %612 = icmp eq i32 %.65923, -8
  %613 = select i1 %612, i1 %.not6278, i1 false
  %614 = select i1 %613, i32 %.45995, i32 %.22
  %615 = add i32 %.25874, %.125967
  %616 = add i32 %.125967, 1
  %617 = and i32 %615, %598
  %618 = mul i32 %617, 44
  %619 = add i32 %618, %597
  %620 = zext i32 %619 to i64
  %621 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %620)
  %.not6277 = icmp eq i32 %594, %621
  br i1 %.not6277, label %.loopexit6466, label %.preheader6465

622:                                              ; preds = %590, %609
  %.55996 = phi i32 [ %610, %609 ], [ 0, %590 ]
  %623 = tail call i32 @w2c_hermes_llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x3A0x3AInsertIntoBucket0x3Chermes0x3A0x3ABasicBlock0x2A0x20const0x260x3E0x28llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x20const0x260x29(ptr noundef %0, i32 noundef %196, i32 noundef %.55996, i32 noundef %589) #6
  %624 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %197)
  %.pre6650 = zext i32 %623 to i64
  br label %.loopexit6466

.loopexit6466:                                    ; preds = %611, %596, %622
  %.pre-phi6651 = phi i64 [ %605, %596 ], [ %.pre6650, %622 ], [ %620, %611 ]
  %.55901 = phi i32 [ %.45900, %596 ], [ %624, %622 ], [ %.45900, %611 ]
  %625 = add nuw nsw i64 %.pre-phi6651, 8
  %626 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %625)
  %627 = shl i32 %626, 2
  %628 = add i32 %627, %.55901
  %629 = zext i32 %628 to i64
  %630 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %629)
  %631 = add nuw nsw i64 %.pre-phi6651, 20
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %631, i32 noundef %630)
  %632 = add nuw i32 %.86037, 1
  %.not6279 = icmp eq i32 %632, %585
  br i1 %.not6279, label %.loopexit6467, label %590

.loopexit6467:                                    ; preds = %.loopexit6466, %576
  %633 = add nsw i32 %582, -1
  %634 = icmp ugt i32 %633, 1
  br i1 %634, label %.preheader6463, label %.loopexit6464

.preheader6463:                                   ; preds = %.loopexit6467
  %635 = zext i32 %577 to i64
  %636 = add nuw nsw i64 %635, 8
  %637 = add nuw nsw i64 %197, 12
  %638 = add i32 %187, -8
  %639 = zext i32 %196 to i64
  %640 = add nuw nsw i64 %5, 28
  %641 = add nuw nsw i64 %197, 16
  %642 = add nuw nsw i64 %197, 20
  br label %643

643:                                              ; preds = %.preheader6463, %.loopexit6460
  %.96038 = phi i32 [ %1140, %.loopexit6460 ], [ %633, %.preheader6463 ]
  %.23 = phi i32 [ %.96038, %.loopexit6460 ], [ %582, %.preheader6463 ]
  %644 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %197)
  %645 = shl i32 %.96038, 2
  %646 = add i32 %644, %645
  %647 = zext i32 %646 to i64
  %648 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %647)
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %636, i32 noundef %648)
  %649 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %198)
  %.not6280 = icmp eq i32 %649, 0
  br i1 %.not6280, label %676, label %650

650:                                              ; preds = %643
  %651 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %637)
  %652 = add i32 %649, -1
  %653 = lshr i32 %648, 4
  %654 = lshr i32 %648, 9
  %655 = xor i32 %653, %654
  %656 = and i32 %652, %655
  %657 = mul i32 %656, 44
  %658 = add i32 %651, %657
  %659 = zext i32 %658 to i64
  %660 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %659)
  %661 = icmp eq i32 %648, %660
  br i1 %661, label %.loopexit6462, label %.preheader6461

.preheader6461:                                   ; preds = %650, %665
  %.106039 = phi i32 [ %671, %665 ], [ %656, %650 ]
  %.75998 = phi i32 [ %675, %665 ], [ %660, %650 ]
  %.35939 = phi i32 [ %670, %665 ], [ 1, %650 ]
  %.75924 = phi i32 [ %673, %665 ], [ %658, %650 ]
  %.35875 = phi i32 [ %668, %665 ], [ 0, %650 ]
  %662 = icmp eq i32 %.75998, -4
  %.not6283 = icmp eq i32 %.35875, 0
  br i1 %662, label %663, label %665

663:                                              ; preds = %.preheader6461
  %664 = select i1 %.not6283, i32 %.75924, i32 %.35875
  br label %676

665:                                              ; preds = %.preheader6461
  %666 = icmp eq i32 %.75998, -8
  %667 = select i1 %666, i1 %.not6283, i1 false
  %668 = select i1 %667, i32 %.75924, i32 %.35875
  %669 = add i32 %.35939, %.106039
  %670 = add i32 %.35939, 1
  %671 = and i32 %669, %652
  %672 = mul i32 %671, 44
  %673 = add i32 %672, %651
  %674 = zext i32 %673 to i64
  %675 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %674)
  %.not6282 = icmp eq i32 %648, %675
  br i1 %.not6282, label %.loopexit6462, label %.preheader6461

676:                                              ; preds = %643, %663
  %.116040 = phi i32 [ %664, %663 ], [ 0, %643 ]
  %677 = tail call i32 @w2c_hermes_llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x3A0x3AInsertIntoBucket0x3Chermes0x3A0x3ABasicBlock0x2A0x20const0x260x3E0x28llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x20const0x260x29(ptr noundef %0, i32 noundef %196, i32 noundef %.116040, i32 noundef %638) #6
  %.pre6652 = zext i32 %677 to i64
  br label %.loopexit6462

.loopexit6462:                                    ; preds = %665, %650, %676
  %.pre-phi6653 = phi i64 [ %659, %650 ], [ %.pre6652, %676 ], [ %674, %665 ]
  %678 = add nuw nsw i64 %.pre-phi6653, 8
  %679 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %678)
  %680 = add nuw nsw i64 %.pre-phi6653, 12
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %680, i32 noundef %679)
  %681 = add nuw nsw i64 %.pre-phi6653, 28
  %682 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %681)
  %.not6284 = icmp eq i32 %682, 0
  br i1 %.not6284, label %.loopexit6460, label %683

683:                                              ; preds = %.loopexit6462
  %684 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %198)
  %.not6285 = icmp eq i32 %684, 0
  br i1 %.not6285, label %.loopexit6460, label %685

685:                                              ; preds = %683
  %686 = add nuw nsw i64 %.pre-phi6653, 24
  %687 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %686)
  %688 = shl i32 %682, 2
  %689 = add i32 %687, %688
  br label %690

690:                                              ; preds = %1138, %685
  %.126041 = phi i32 [ %684, %685 ], [ %1139, %1138 ]
  %.85999 = phi i32 [ %687, %685 ], [ %1136, %1138 ]
  %.not6286 = icmp eq i32 %.126041, 0
  br i1 %.not6286, label %.loopexit6458, label %691

691:                                              ; preds = %690
  %692 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %639)
  %693 = add i32 %.126041, -1
  %694 = zext i32 %.85999 to i64
  %695 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %694)
  %696 = lshr i32 %695, 4
  %697 = lshr i32 %695, 9
  %698 = xor i32 %696, %697
  %699 = and i32 %698, %693
  %700 = mul i32 %699, 44
  %701 = add i32 %700, %692
  %702 = zext i32 %701 to i64
  %703 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %702)
  %.not6287 = icmp eq i32 %703, %695
  br i1 %.not6287, label %.loopexit6459, label %.preheader6457

.preheader6457:                                   ; preds = %691, %705
  %.136042 = phi i32 [ %712, %705 ], [ %703, %691 ]
  %.135968 = phi i32 [ %707, %705 ], [ 1, %691 ]
  %.65902 = phi i32 [ %708, %705 ], [ %699, %691 ]
  %704 = icmp eq i32 %.136042, -4
  br i1 %704, label %.loopexit6458, label %705

705:                                              ; preds = %.preheader6457
  %706 = add i32 %.65902, %.135968
  %707 = add i32 %.135968, 1
  %708 = and i32 %706, %693
  %709 = mul i32 %708, 44
  %710 = add i32 %709, %692
  %711 = zext i32 %710 to i64
  %712 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %711)
  %.not6288 = icmp eq i32 %712, %695
  br i1 %.not6288, label %.loopexit6459, label %.preheader6457

.loopexit6459:                                    ; preds = %705, %691
  %713 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %6)
  %714 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %640)
  %.not6289 = icmp eq i32 %714, 0
  br i1 %.not6289, label %.loopexit6455, label %715

715:                                              ; preds = %.loopexit6459
  %716 = add i32 %714, -1
  %717 = and i32 %716, %698
  %718 = shl nuw nsw i32 %717, 3
  %719 = add i32 %718, %713
  %720 = zext i32 %719 to i64
  %721 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %720)
  %722 = icmp eq i32 %721, %695
  br i1 %722, label %.loopexit6456, label %.preheader6454

.preheader6454:                                   ; preds = %715, %724
  %.145969 = phi i32 [ %727, %724 ], [ %717, %715 ]
  %.45940 = phi i32 [ %731, %724 ], [ %721, %715 ]
  %.45876 = phi i32 [ %726, %724 ], [ 1, %715 ]
  %723 = icmp eq i32 %.45940, -4
  br i1 %723, label %.loopexit6455, label %724

724:                                              ; preds = %.preheader6454
  %725 = add i32 %.45876, %.145969
  %726 = add i32 %.45876, 1
  %727 = and i32 %725, %716
  %728 = shl i32 %727, 3
  %729 = add i32 %728, %713
  %730 = zext i32 %729 to i64
  %731 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %730)
  %.not6290 = icmp eq i32 %731, %695
  br i1 %.not6290, label %.loopexit6456, label %.preheader6454

.loopexit6455:                                    ; preds = %.preheader6454, %.loopexit6459
  %732 = shl i32 %714, 3
  %733 = add i32 %732, %713
  br label %.loopexit6456

.loopexit6456:                                    ; preds = %724, %715, %.loopexit6455
  %.05858 = phi i32 [ %733, %.loopexit6455 ], [ %719, %715 ], [ %729, %724 ]
  %734 = shl i32 %714, 3
  %735 = add i32 %734, %713
  %736 = icmp eq i32 %.05858, %735
  br i1 %736, label %745, label %737

737:                                              ; preds = %.loopexit6456
  %738 = zext i32 %.05858 to i64
  %739 = add nuw nsw i64 %738, 4
  %740 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %739)
  %.not6291 = icmp eq i32 %740, 0
  br i1 %.not6291, label %745, label %741

741:                                              ; preds = %737
  %742 = zext i32 %740 to i64
  %743 = add nuw nsw i64 %742, 8
  %744 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %743)
  br label %745

745:                                              ; preds = %741, %737, %.loopexit6456
  %746 = load i32, ptr %13, align 8, !tbaa !5
  %747 = add i32 %746, -320
  store i32 %747, ptr %13, align 8, !tbaa !5
  %748 = zext i32 %747 to i64
  %749 = add nuw nsw i64 %748, 316
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %749, i32 noundef %695)
  %750 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %198)
  %.not6292 = icmp eq i32 %750, 0
  br i1 %.not6292, label %774, label %751

751:                                              ; preds = %745
  %752 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %637)
  %753 = add i32 %750, -1
  %754 = and i32 %753, %698
  %755 = mul i32 %754, 44
  %756 = add i32 %752, %755
  %757 = zext i32 %756 to i64
  %758 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %757)
  %759 = icmp eq i32 %758, %695
  br i1 %759, label %.loopexit6453, label %.preheader6452

.preheader6452:                                   ; preds = %751, %763
  %.155970 = phi i32 [ %773, %763 ], [ %758, %751 ]
  %.75903 = phi i32 [ %766, %763 ], [ 0, %751 ]
  %.55877 = phi i32 [ %769, %763 ], [ %754, %751 ]
  %.15859 = phi i32 [ %768, %763 ], [ 1, %751 ]
  %.05839 = phi i32 [ %771, %763 ], [ %756, %751 ]
  %760 = icmp eq i32 %.155970, -4
  %.not6295 = icmp eq i32 %.75903, 0
  br i1 %760, label %761, label %763

761:                                              ; preds = %.preheader6452
  %762 = select i1 %.not6295, i32 %.05839, i32 %.75903
  br label %774

763:                                              ; preds = %.preheader6452
  %764 = icmp eq i32 %.155970, -8
  %765 = select i1 %764, i1 %.not6295, i1 false
  %766 = select i1 %765, i32 %.05839, i32 %.75903
  %767 = add i32 %.15859, %.55877
  %768 = add i32 %.15859, 1
  %769 = and i32 %767, %753
  %770 = mul i32 %769, 44
  %771 = add i32 %770, %752
  %772 = zext i32 %771 to i64
  %773 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %772)
  %.not6294 = icmp eq i32 %773, %695
  br i1 %.not6294, label %.loopexit6453, label %.preheader6452

774:                                              ; preds = %745, %761
  %.55941 = phi i32 [ %762, %761 ], [ 0, %745 ]
  %775 = add i32 %746, -4
  %776 = tail call i32 @w2c_hermes_llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x3A0x3AInsertIntoBucket0x3Chermes0x3A0x3ABasicBlock0x2A0x20const0x260x3E0x28llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x20const0x260x29(ptr noundef %0, i32 noundef %196, i32 noundef %.55941, i32 noundef %775) #6
  %.pre6667 = zext i32 %776 to i64
  br label %.loopexit6453

.loopexit6453:                                    ; preds = %763, %751, %774
  %.pre-phi6668 = phi i64 [ %757, %751 ], [ %.pre6667, %774 ], [ %772, %763 ]
  %777 = add nuw nsw i64 %.pre-phi6668, 4
  %778 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %777)
  %779 = icmp ugt i32 %.23, %778
  br i1 %779, label %780, label %782

780:                                              ; preds = %.loopexit6453
  %781 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %749)
  br label %1002

782:                                              ; preds = %.loopexit6453
  %783 = add nuw nsw i64 %748, 180
  tail call void @i64_store(ptr noundef nonnull %4, i64 noundef %783, i64 noundef 137438953472)
  %784 = add i32 %746, -132
  %785 = add nuw nsw i64 %748, 176
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %785, i32 noundef %784)
  %786 = add nuw nsw i64 %748, 44
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %786, i32 noundef 0)
  %787 = add nuw nsw i64 %748, 36
  tail call void @i64_store(ptr noundef nonnull %4, i64 noundef %787, i64 noundef 32)
  %788 = add i32 %746, -272
  %789 = add nuw nsw i64 %748, 32
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %789, i32 noundef %788)
  %790 = add nuw nsw i64 %748, 28
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %790, i32 noundef %788)
  %791 = add nuw nsw i64 %.pre-phi6668, 8
  %792 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %791)
  %793 = icmp ugt i32 %.23, %792
  br i1 %793, label %794, label %797

794:                                              ; preds = %782
  %795 = add nuw nsw i64 %.pre-phi6668, 16
  %796 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %795)
  br label %998

797:                                              ; preds = %782
  %798 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %749)
  %799 = add nuw nsw i64 %748, 188
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %799, i32 noundef %798)
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %783, i32 noundef 1)
  %800 = add nuw nsw i64 %748, 24
  %801 = add i32 %746, -296
  %802 = add nuw nsw i64 %748, 20
  %803 = add i32 %746, -312
  %804 = add i32 %746, -292
  %805 = add nuw nsw i64 %748, 16
  %806 = add nuw nsw i64 %748, 184
  %807 = add i32 %746, -144
  %808 = add nuw nsw i64 %748, 8
  %809 = add nuw nsw i64 %748, 4
  %810 = add i32 %746, -300
  %811 = add i32 %746, -316
  br label %812

812:                                              ; preds = %990, %797
  %.165971 = phi i32 [ 1, %797 ], [ %.265981, %990 ]
  %813 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %785)
  %814 = shl i32 %.165971, 2
  %815 = add i32 %814, -4
  %816 = add i32 %815, %813
  %817 = zext i32 %816 to i64
  %818 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %817)
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %800, i32 noundef %818)
  %819 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %198)
  %.not6296 = icmp eq i32 %819, 0
  br i1 %.not6296, label %846, label %820

820:                                              ; preds = %812
  %821 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %637)
  %822 = add i32 %819, -1
  %823 = lshr i32 %818, 4
  %824 = lshr i32 %818, 9
  %825 = xor i32 %823, %824
  %826 = and i32 %822, %825
  %827 = mul i32 %826, 44
  %828 = add i32 %821, %827
  %829 = zext i32 %828 to i64
  %830 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %829)
  %831 = icmp eq i32 %818, %830
  br i1 %831, label %.loopexit6444, label %.preheader6443

.preheader6443:                                   ; preds = %820, %835
  %.65942 = phi i32 [ %843, %835 ], [ %828, %820 ]
  %.65878 = phi i32 [ %845, %835 ], [ %830, %820 ]
  %.25860 = phi i32 [ %838, %835 ], [ 0, %820 ]
  %.05853 = phi i32 [ %840, %835 ], [ 1, %820 ]
  %.05841 = phi i32 [ %841, %835 ], [ %826, %820 ]
  %832 = icmp eq i32 %.65878, -4
  %.not6299 = icmp eq i32 %.25860, 0
  br i1 %832, label %833, label %835

833:                                              ; preds = %.preheader6443
  %834 = select i1 %.not6299, i32 %.65942, i32 %.25860
  br label %846

835:                                              ; preds = %.preheader6443
  %836 = icmp eq i32 %.65878, -8
  %837 = select i1 %836, i1 %.not6299, i1 false
  %838 = select i1 %837, i32 %.65942, i32 %.25860
  %839 = add i32 %.05841, %.05853
  %840 = add i32 %.05853, 1
  %841 = and i32 %839, %822
  %842 = mul i32 %841, 44
  %843 = add i32 %842, %821
  %844 = zext i32 %843 to i64
  %845 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %844)
  %.not6298 = icmp eq i32 %818, %845
  br i1 %.not6298, label %.loopexit6444, label %.preheader6443

846:                                              ; preds = %812, %833
  %.75943 = phi i32 [ %834, %833 ], [ 0, %812 ]
  %847 = tail call i32 @w2c_hermes_llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x3A0x3AInsertIntoBucket0x3Chermes0x3A0x3ABasicBlock0x2A0x20const0x260x3E0x28llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x20const0x260x29(ptr noundef %0, i32 noundef %196, i32 noundef %.75943, i32 noundef %801) #6
  %.pre6670 = zext i32 %847 to i64
  br label %.loopexit6444

.loopexit6444:                                    ; preds = %835, %820, %846
  %.pre-phi6671 = phi i64 [ %829, %820 ], [ %.pre6670, %846 ], [ %844, %835 ]
  %.85944 = phi i32 [ %828, %820 ], [ %847, %846 ], [ %843, %835 ]
  %848 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %197)
  %849 = add nuw nsw i64 %.pre-phi6671, 8
  %850 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %849)
  %851 = shl i32 %850, 2
  %852 = add i32 %851, %848
  %853 = zext i32 %852 to i64
  %854 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %853)
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %802, i32 noundef %854)
  tail call void @w2c_hermes_llvh0x3A0x3ASmallPtrSetImpl0x3Chermes0x3A0x3ALiteral0x2A0x3E0x3A0x3Ainsert0x28hermes0x3A0x3ALiteral0x2A0x29(ptr noundef %0, i32 noundef %803, i32 noundef %804, i32 noundef %854) #6
  %855 = tail call i32 @i32_load8_u(ptr noundef nonnull %4, i64 noundef %805)
  %.not6300 = icmp eq i32 %855, 0
  br i1 %.not6300, label %872, label %856

856:                                              ; preds = %.loopexit6444
  %857 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %849)
  %858 = icmp ult i32 %857, %.23
  br i1 %858, label %872, label %859

859:                                              ; preds = %856
  %860 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %783)
  %861 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %806)
  %.not6301 = icmp ult i32 %860, %861
  br i1 %.not6301, label %864, label %862

862:                                              ; preds = %859
  tail call void @w2c_hermes_llvh0x3A0x3ASmallVectorBase0x3A0x3Agrow_pod0x28void0x2A0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef %0, i32 noundef %807, i32 noundef %784, i32 noundef 0, i32 noundef 4) #6
  %863 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %783)
  br label %864

864:                                              ; preds = %862, %859
  %.95945 = phi i32 [ %863, %862 ], [ %860, %859 ]
  %865 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %785)
  %866 = shl i32 %.95945, 2
  %867 = add i32 %865, %866
  %868 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %802)
  %869 = zext i32 %867 to i64
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %869, i32 noundef %868)
  %870 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %783)
  %871 = add i32 %870, 1
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %783, i32 noundef %871)
  br label %990

872:                                              ; preds = %856, %.loopexit6444
  %873 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %783)
  %874 = add i32 %873, -1
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %783, i32 noundef %874)
  %875 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %849)
  %876 = icmp ult i32 %875, %.23
  br i1 %876, label %990, label %877

877:                                              ; preds = %872
  %878 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %198)
  %.not6302 = icmp eq i32 %878, 0
  br i1 %.not6302, label %911, label %879

879:                                              ; preds = %877
  %880 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %802)
  %881 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %637)
  %882 = add i32 %878, -1
  %883 = lshr i32 %880, 4
  %884 = lshr i32 %880, 9
  %885 = xor i32 %883, %884
  %886 = and i32 %885, %882
  %887 = mul i32 %886, 44
  %888 = add i32 %887, %881
  %889 = zext i32 %888 to i64
  %890 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %889)
  %.not6303 = icmp eq i32 %880, %890
  br i1 %.not6303, label %905, label %.preheader6441

.preheader6441:                                   ; preds = %879, %894
  %.85904 = phi i32 [ %904, %894 ], [ %890, %879 ]
  %.75879 = phi i32 [ %899, %894 ], [ 1, %879 ]
  %.35861 = phi i32 [ %900, %894 ], [ %886, %879 ]
  %.05850 = phi i32 [ %897, %894 ], [ 0, %879 ]
  %.15842 = phi i32 [ %902, %894 ], [ %888, %879 ]
  %891 = icmp eq i32 %.85904, -4
  %.not6306 = icmp eq i32 %.05850, 0
  br i1 %891, label %892, label %894

892:                                              ; preds = %.preheader6441
  %893 = select i1 %.not6306, i32 %.15842, i32 %.05850
  br label %911

894:                                              ; preds = %.preheader6441
  %895 = icmp eq i32 %.85904, -8
  %896 = select i1 %895, i1 %.not6306, i1 false
  %897 = select i1 %896, i32 %.15842, i32 %.05850
  %898 = add i32 %.35861, %.75879
  %899 = add i32 %.75879, 1
  %900 = and i32 %898, %882
  %901 = mul i32 %900, 44
  %902 = add i32 %901, %881
  %903 = zext i32 %902 to i64
  %904 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %903)
  %.not6305 = icmp eq i32 %880, %904
  br i1 %.not6305, label %.loopexit6442, label %.preheader6441

905:                                              ; preds = %879
  %906 = add nuw nsw i64 %889, 16
  %907 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %906)
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %808, i32 noundef %907)
  %908 = add i32 %.85944, 16
  %909 = zext i32 %908 to i64
  %910 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %909)
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %809, i32 noundef %910)
  br label %920

911:                                              ; preds = %877, %892
  %.175972 = phi i32 [ %893, %892 ], [ 0, %877 ]
  %912 = tail call i32 @w2c_hermes_llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x3A0x3AInsertIntoBucket0x3Chermes0x3A0x3ABasicBlock0x2A0x20const0x260x3E0x28llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x20const0x260x29(ptr noundef %0, i32 noundef %196, i32 noundef %.175972, i32 noundef %810) #6
  %913 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %198)
  %914 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %637)
  %.pre6672 = zext i32 %912 to i64
  br label %.loopexit6442

.loopexit6442:                                    ; preds = %894, %911
  %.pre-phi6673 = phi i64 [ %.pre6672, %911 ], [ %903, %894 ]
  %.185973 = phi i32 [ %913, %911 ], [ %878, %894 ]
  %.25843 = phi i32 [ %912, %911 ], [ %902, %894 ]
  %.05835 = phi i32 [ %914, %911 ], [ %881, %894 ]
  %915 = add nuw nsw i64 %.pre-phi6673, 16
  %916 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %915)
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %808, i32 noundef %916)
  %917 = add i32 %.85944, 16
  %918 = zext i32 %917 to i64
  %919 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %918)
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %809, i32 noundef %919)
  %.not6307 = icmp eq i32 %.185973, 0
  br i1 %.not6307, label %946, label %.loopexit6442._crit_edge

.loopexit6442._crit_edge:                         ; preds = %.loopexit6442
  %.pre6696 = add i32 %.185973, -1
  br label %920

920:                                              ; preds = %.loopexit6442._crit_edge, %905
  %.pre-phi6697 = phi i32 [ %.pre6696, %.loopexit6442._crit_edge ], [ %882, %905 ]
  %.195974 = phi i32 [ %.185973, %.loopexit6442._crit_edge ], [ %878, %905 ]
  %.85880 = phi i32 [ %916, %.loopexit6442._crit_edge ], [ %907, %905 ]
  %.45862 = phi i32 [ %917, %.loopexit6442._crit_edge ], [ %908, %905 ]
  %.35844 = phi i32 [ %.25843, %.loopexit6442._crit_edge ], [ %888, %905 ]
  %.15836 = phi i32 [ %.05835, %.loopexit6442._crit_edge ], [ %881, %905 ]
  %921 = lshr i32 %.85880, 4
  %922 = lshr i32 %.85880, 9
  %923 = xor i32 %921, %922
  %924 = and i32 %923, %.pre-phi6697
  %925 = mul i32 %924, 44
  %926 = add i32 %925, %.15836
  %927 = zext i32 %926 to i64
  %928 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %927)
  %.not6308 = icmp eq i32 %928, %.85880
  br i1 %.not6308, label %943, label %.preheader6439

.preheader6439:                                   ; preds = %920, %932
  %.95905 = phi i32 [ %940, %932 ], [ %926, %920 ]
  %.45889 = phi i32 [ %935, %932 ], [ 0, %920 ]
  %.15854 = phi i32 [ %942, %932 ], [ %928, %920 ]
  %.15851 = phi i32 [ %938, %932 ], [ %924, %920 ]
  %.05833 = phi i32 [ %937, %932 ], [ 1, %920 ]
  %929 = icmp eq i32 %.15854, -4
  %.not6311 = icmp eq i32 %.45889, 0
  br i1 %929, label %930, label %932

930:                                              ; preds = %.preheader6439
  %931 = select i1 %.not6311, i32 %.95905, i32 %.45889
  br label %946

932:                                              ; preds = %.preheader6439
  %933 = icmp eq i32 %.15854, -8
  %934 = select i1 %933, i1 %.not6311, i1 false
  %935 = select i1 %934, i32 %.95905, i32 %.45889
  %936 = add i32 %.05833, %.15851
  %937 = add i32 %.05833, 1
  %938 = and i32 %936, %.pre-phi6697
  %939 = mul i32 %938, 44
  %940 = add i32 %939, %.15836
  %941 = zext i32 %940 to i64
  %942 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %941)
  %.not6310 = icmp eq i32 %.85880, %942
  br i1 %.not6310, label %.loopexit6440, label %.preheader6439

943:                                              ; preds = %920
  %944 = add nuw nsw i64 %927, 12
  %945 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %944)
  br label %952

946:                                              ; preds = %.loopexit6442, %930
  %.205975 = phi i32 [ %931, %930 ], [ 0, %.loopexit6442 ]
  %.55863 = phi i32 [ %.45862, %930 ], [ %917, %.loopexit6442 ]
  %.45845 = phi i32 [ %.35844, %930 ], [ %.25843, %.loopexit6442 ]
  %947 = tail call i32 @w2c_hermes_llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x3A0x3AInsertIntoBucket0x3Chermes0x3A0x3ABasicBlock0x2A0x20const0x260x3E0x28llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x20const0x260x29(ptr noundef %0, i32 noundef %196, i32 noundef %.205975, i32 noundef %803) #6
  %948 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %198)
  %949 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %637)
  %.pre6674 = zext i32 %947 to i64
  br label %.loopexit6440

.loopexit6440:                                    ; preds = %932, %946
  %.pre-phi6675 = phi i64 [ %.pre6674, %946 ], [ %941, %932 ]
  %.215976 = phi i32 [ %948, %946 ], [ %.195974, %932 ]
  %.65864 = phi i32 [ %.55863, %946 ], [ %.45862, %932 ]
  %.55846 = phi i32 [ %.45845, %946 ], [ %.35844, %932 ]
  %.25837 = phi i32 [ %949, %946 ], [ %.15836, %932 ]
  %950 = add nuw nsw i64 %.pre-phi6675, 12
  %951 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %950)
  %.not6312 = icmp eq i32 %.215976, 0
  br i1 %.not6312, label %977, label %.loopexit6440._crit_edge

.loopexit6440._crit_edge:                         ; preds = %.loopexit6440
  %.pre6694 = add i32 %.215976, -1
  br label %952

952:                                              ; preds = %.loopexit6440._crit_edge, %943
  %.pre-phi6695 = phi i32 [ %.pre6694, %.loopexit6440._crit_edge ], [ %.pre-phi6697, %943 ]
  %.115907 = phi i32 [ %951, %.loopexit6440._crit_edge ], [ %945, %943 ]
  %.75865 = phi i32 [ %.65864, %.loopexit6440._crit_edge ], [ %.45862, %943 ]
  %.65847 = phi i32 [ %.55846, %.loopexit6440._crit_edge ], [ %.35844, %943 ]
  %.35838 = phi i32 [ %.25837, %.loopexit6440._crit_edge ], [ %.15836, %943 ]
  %953 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %809)
  %954 = lshr i32 %953, 4
  %955 = lshr i32 %953, 9
  %956 = xor i32 %954, %955
  %957 = and i32 %956, %.pre-phi6695
  %958 = mul i32 %957, 44
  %959 = add i32 %958, %.35838
  %960 = zext i32 %959 to i64
  %961 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %960)
  %962 = icmp eq i32 %953, %961
  br i1 %962, label %.loopexit6438, label %.preheader6437

.preheader6437:                                   ; preds = %952, %966
  %.235978 = phi i32 [ %974, %966 ], [ %959, %952 ]
  %.55890 = phi i32 [ %969, %966 ], [ 0, %952 ]
  %.25855 = phi i32 [ %976, %966 ], [ %961, %952 ]
  %.25852 = phi i32 [ %972, %966 ], [ %957, %952 ]
  %.15834 = phi i32 [ %971, %966 ], [ 1, %952 ]
  %963 = icmp eq i32 %.25855, -4
  %.not6315 = icmp eq i32 %.55890, 0
  br i1 %963, label %964, label %966

964:                                              ; preds = %.preheader6437
  %965 = select i1 %.not6315, i32 %.235978, i32 %.55890
  br label %977

966:                                              ; preds = %.preheader6437
  %967 = icmp eq i32 %.25855, -8
  %968 = select i1 %967, i1 %.not6315, i1 false
  %969 = select i1 %968, i32 %.235978, i32 %.55890
  %970 = add i32 %.15834, %.25852
  %971 = add i32 %.15834, 1
  %972 = and i32 %970, %.pre-phi6695
  %973 = mul i32 %972, 44
  %974 = add i32 %973, %.35838
  %975 = zext i32 %974 to i64
  %976 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %975)
  %.not6314 = icmp eq i32 %953, %976
  br i1 %.not6314, label %.loopexit6438, label %.preheader6437

977:                                              ; preds = %.loopexit6440, %964
  %.245979 = phi i32 [ %965, %964 ], [ 0, %.loopexit6440 ]
  %.125908 = phi i32 [ %.115907, %964 ], [ %951, %.loopexit6440 ]
  %.85866 = phi i32 [ %.75865, %964 ], [ %.65864, %.loopexit6440 ]
  %.75848 = phi i32 [ %.65847, %964 ], [ %.55846, %.loopexit6440 ]
  %978 = tail call i32 @w2c_hermes_llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x3A0x3AInsertIntoBucket0x3Chermes0x3A0x3ABasicBlock0x2A0x20const0x260x3E0x28llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x20const0x260x29(ptr noundef %0, i32 noundef %196, i32 noundef %.245979, i32 noundef %811) #6
  %.pre6676 = zext i32 %978 to i64
  br label %.loopexit6438

.loopexit6438:                                    ; preds = %966, %952, %977
  %.pre-phi6677 = phi i64 [ %960, %952 ], [ %.pre6676, %977 ], [ %975, %966 ]
  %.135909 = phi i32 [ %.115907, %952 ], [ %.125908, %977 ], [ %.115907, %966 ]
  %.95867 = phi i32 [ %.75865, %952 ], [ %.85866, %977 ], [ %.75865, %966 ]
  %.85849 = phi i32 [ %.65847, %952 ], [ %.75848, %977 ], [ %.65847, %966 ]
  %979 = add nuw nsw i64 %.pre-phi6677, 12
  %980 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %979)
  %981 = icmp ugt i32 %980, %.135909
  br i1 %981, label %982, label %985

982:                                              ; preds = %.loopexit6438
  %983 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %808)
  %984 = zext i32 %.95867 to i64
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %984, i32 noundef %983)
  br label %985

985:                                              ; preds = %982, %.loopexit6438
  %986 = zext i32 %.85849 to i64
  %987 = add nuw nsw i64 %986, 8
  %988 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %987)
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %849, i32 noundef %988)
  %989 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %783)
  br label %990

990:                                              ; preds = %872, %985, %864
  %.265981 = phi i32 [ %874, %872 ], [ %989, %985 ], [ %871, %864 ]
  %.not6316 = icmp eq i32 %.265981, 0
  br i1 %.not6316, label %991, label %812

991:                                              ; preds = %990
  %992 = add nuw nsw i64 %.pre-phi6668, 16
  %993 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %992)
  %994 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %789)
  %995 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %790)
  %996 = icmp eq i32 %994, %995
  br i1 %996, label %998, label %997

997:                                              ; preds = %991
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %994)
  br label %998

998:                                              ; preds = %991, %997, %794
  %.105946 = phi i32 [ %796, %794 ], [ %993, %991 ], [ %993, %997 ]
  %999 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %785)
  %1000 = icmp eq i32 %999, %784
  br i1 %1000, label %1002, label %1001

1001:                                             ; preds = %998
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %999)
  br label %1002

1002:                                             ; preds = %998, %1001, %780
  %.115947 = phi i32 [ %781, %780 ], [ %.105946, %998 ], [ %.105946, %1001 ]
  store i32 %746, ptr %13, align 8, !tbaa !5
  %1003 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %637)
  %1004 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %198)
  %.not6317 = icmp eq i32 %1004, 0
  br i1 %.not6317, label %1030, label %1005

1005:                                             ; preds = %1002
  %1006 = add i32 %1004, -1
  %1007 = lshr i32 %.115947, 4
  %1008 = lshr i32 %.115947, 9
  %1009 = xor i32 %1007, %1008
  %1010 = and i32 %1006, %1009
  %1011 = mul i32 %1010, 44
  %1012 = add i32 %1011, %1003
  %1013 = zext i32 %1012 to i64
  %1014 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1013)
  %1015 = icmp eq i32 %.115947, %1014
  br i1 %1015, label %.loopexit6451, label %.preheader6450

.preheader6450:                                   ; preds = %1005, %1019
  %.146043 = phi i32 [ %1027, %1019 ], [ %1012, %1005 ]
  %.275982 = phi i32 [ %1025, %1019 ], [ %1010, %1005 ]
  %.125948 = phi i32 [ %1029, %1019 ], [ %1014, %1005 ]
  %.95881 = phi i32 [ %1022, %1019 ], [ 0, %1005 ]
  %.105868 = phi i32 [ %1024, %1019 ], [ 1, %1005 ]
  %1016 = icmp eq i32 %.125948, -4
  %.not6320 = icmp eq i32 %.95881, 0
  br i1 %1016, label %1017, label %1019

1017:                                             ; preds = %.preheader6450
  %1018 = select i1 %.not6320, i32 %.146043, i32 %.95881
  br label %1030

1019:                                             ; preds = %.preheader6450
  %1020 = icmp eq i32 %.125948, -8
  %1021 = select i1 %1020, i1 %.not6320, i1 false
  %1022 = select i1 %1021, i32 %.146043, i32 %.95881
  %1023 = add i32 %.105868, %.275982
  %1024 = add i32 %.105868, 1
  %1025 = and i32 %1023, %1006
  %1026 = mul i32 %1025, 44
  %1027 = add i32 %1026, %1003
  %1028 = zext i32 %1027 to i64
  %1029 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1028)
  %.not6319 = icmp eq i32 %.115947, %1029
  br i1 %.not6319, label %.loopexit6451, label %.preheader6450

1030:                                             ; preds = %1002, %1017
  %.156044 = phi i32 [ %1018, %1017 ], [ 0, %1002 ]
  %1031 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %641)
  %1032 = shl i32 %1031, 2
  %1033 = add i32 %1032, 4
  %1034 = mul i32 %1004, 3
  %.not6321 = icmp ult i32 %1033, %1034
  br i1 %.not6321, label %1037, label %1035

1035:                                             ; preds = %1030
  %1036 = shl i32 %1004, 1
  br label %1044

1037:                                             ; preds = %1030
  %1038 = xor i32 %1031, -1
  %1039 = add i32 %1004, %1038
  %1040 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %642)
  %1041 = sub i32 %1039, %1040
  %1042 = lshr i32 %1004, 3
  %1043 = icmp ugt i32 %1041, %1042
  br i1 %1043, label %1114, label %1044

1044:                                             ; preds = %1037, %1035
  %.285983 = phi i32 [ %1036, %1035 ], [ %1004, %1037 ]
  %1045 = add i32 %.285983, -1
  %1046 = zext i32 %1045 to i64
  %1047 = lshr i64 %1046, 1
  %1048 = or i64 %1047, %1046
  %1049 = lshr i64 %1048, 2
  %1050 = or i64 %1049, %1048
  %1051 = lshr i64 %1050, 4
  %1052 = or i64 %1051, %1050
  %1053 = lshr i64 %1052, 8
  %1054 = or i64 %1053, %1052
  %1055 = lshr i64 %1054, 16
  %1056 = or i64 %1055, %1054
  %1057 = trunc nuw i64 %1056 to i32
  %1058 = add i32 %1057, 1
  %1059 = icmp ult i32 %1058, 65
  %1060 = select i1 %1059, i32 64, i32 %1058
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %198, i32 noundef %1060)
  %1061 = mul i32 %1060, 44
  %1062 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %0, i32 noundef %1061) #6
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %637, i32 noundef %1062)
  %.not6322 = icmp eq i32 %1003, 0
  br i1 %.not6322, label %1063, label %1086

1063:                                             ; preds = %1044
  tail call void @i64_store(ptr noundef nonnull %4, i64 noundef %641, i64 noundef 0)
  %1064 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %198)
  %1065 = mul i32 %1064, 44
  %1066 = add i32 %1065, -44
  %1067 = udiv i32 %1066, 44
  %1068 = add nuw nsw i32 %1067, 1
  %1069 = and i32 %1068, 7
  %.not6323 = icmp eq i32 %1069, 0
  br i1 %.not6323, label %.loopexit6449, label %.preheader6448

.preheader6448:                                   ; preds = %1063, %.preheader6448
  %.166045 = phi i32 [ %1071, %.preheader6448 ], [ %1062, %1063 ]
  %.145910 = phi i32 [ %1072, %.preheader6448 ], [ 0, %1063 ]
  %1070 = zext i32 %.166045 to i64
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1070, i32 noundef -4)
  %1071 = add i32 %.166045, 44
  %1072 = add nuw nsw i32 %.145910, 1
  %.not6324 = icmp eq i32 %1072, %1069
  br i1 %.not6324, label %.loopexit6449, label %.preheader6448

.loopexit6449:                                    ; preds = %.preheader6448, %1063
  %.176046 = phi i32 [ %1062, %1063 ], [ %1071, %.preheader6448 ]
  %1073 = icmp ult i32 %1066, 308
  br i1 %1073, label %.loopexit6447, label %1074

1074:                                             ; preds = %.loopexit6449
  %1075 = add i32 %1065, %1062
  br label %1076

1076:                                             ; preds = %1076, %1074
  %.186047 = phi i32 [ %.176046, %1074 ], [ %1085, %1076 ]
  %1077 = zext i32 %.186047 to i64
  %1078 = add nuw nsw i64 %1077, 308
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1078, i32 noundef -4)
  %1079 = add nuw nsw i64 %1077, 264
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1079, i32 noundef -4)
  %1080 = add nuw nsw i64 %1077, 220
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1080, i32 noundef -4)
  %1081 = add nuw nsw i64 %1077, 176
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1081, i32 noundef -4)
  %1082 = add nuw nsw i64 %1077, 132
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1082, i32 noundef -4)
  %1083 = add nuw nsw i64 %1077, 88
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1083, i32 noundef -4)
  %1084 = add nuw nsw i64 %1077, 44
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1084, i32 noundef -4)
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1077, i32 noundef -4)
  %1085 = add i32 %.186047, 352
  %.not6325 = icmp eq i32 %1085, %1075
  br i1 %.not6325, label %.loopexit6447, label %1076

1086:                                             ; preds = %1044
  %1087 = mul i32 %1004, 44
  %1088 = add i32 %1087, %1003
  tail call void @w2c_hermes_llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x3A0x3AmoveFromOldBuckets0x28llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x29(ptr noundef %0, i32 noundef %196, i32 noundef %1003, i32 noundef %1088) #6
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %1003)
  %1089 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %637)
  %1090 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %198)
  br label %.loopexit6447

.loopexit6447:                                    ; preds = %1076, %.loopexit6449, %1086
  %.295984 = phi i32 [ %1064, %.loopexit6449 ], [ %1090, %1086 ], [ %1064, %1076 ]
  %.135949 = phi i32 [ %1062, %.loopexit6449 ], [ %1089, %1086 ], [ %1062, %1076 ]
  %1091 = add i32 %.295984, -1
  %1092 = lshr i32 %.115947, 4
  %1093 = lshr i32 %.115947, 9
  %1094 = xor i32 %1092, %1093
  %1095 = and i32 %1091, %1094
  %1096 = mul i32 %1095, 44
  %1097 = add i32 %1096, %.135949
  %1098 = zext i32 %1097 to i64
  %1099 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1098)
  %.not6326 = icmp eq i32 %1099, %.115947
  br i1 %.not6326, label %.loopexit6446, label %.preheader6445

.preheader6445:                                   ; preds = %.loopexit6447, %1103
  %.196048 = phi i32 [ %1111, %1103 ], [ %1097, %.loopexit6447 ]
  %.305985 = phi i32 [ %1106, %1103 ], [ 0, %.loopexit6447 ]
  %.155911 = phi i32 [ %1113, %1103 ], [ %1099, %.loopexit6447 ]
  %.105882 = phi i32 [ %1108, %1103 ], [ 1, %.loopexit6447 ]
  %.115869 = phi i32 [ %1109, %1103 ], [ %1095, %.loopexit6447 ]
  %1100 = icmp eq i32 %.155911, -4
  %.not6329 = icmp eq i32 %.305985, 0
  br i1 %1100, label %1101, label %1103

1101:                                             ; preds = %.preheader6445
  %1102 = select i1 %.not6329, i32 %.196048, i32 %.305985
  br label %1114

1103:                                             ; preds = %.preheader6445
  %1104 = icmp eq i32 %.155911, -8
  %1105 = select i1 %1104, i1 %.not6329, i1 false
  %1106 = select i1 %1105, i32 %.196048, i32 %.305985
  %1107 = add i32 %.115869, %.105882
  %1108 = add i32 %.105882, 1
  %1109 = and i32 %1107, %1091
  %1110 = mul i32 %1109, 44
  %1111 = add i32 %1110, %.135949
  %1112 = zext i32 %1111 to i64
  %1113 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1112)
  %.not6328 = icmp eq i32 %.115947, %1113
  br i1 %.not6328, label %.loopexit6446, label %.preheader6445

1114:                                             ; preds = %1037, %1101
  %.216050 = phi i32 [ %1102, %1101 ], [ %.156044, %1037 ]
  %1115 = zext i32 %.216050 to i64
  %1116 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1115)
  br label %.loopexit6446

.loopexit6446:                                    ; preds = %1103, %.loopexit6447, %1114
  %.226051 = phi i32 [ %.216050, %1114 ], [ %1097, %.loopexit6447 ], [ %1111, %1103 ]
  %.15828 = phi i32 [ %1116, %1114 ], [ %.115947, %.loopexit6447 ], [ %.115947, %1103 ]
  %1117 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %641)
  %1118 = add i32 %1117, 1
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %641, i32 noundef %1118)
  %.not6330 = icmp eq i32 %.15828, -4
  br i1 %.not6330, label %1122, label %1119

1119:                                             ; preds = %.loopexit6446
  %1120 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %642)
  %1121 = add i32 %1120, -1
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %642, i32 noundef %1121)
  br label %1122

1122:                                             ; preds = %1119, %.loopexit6446
  %1123 = zext i32 %.226051 to i64
  %1124 = add nuw nsw i64 %1123, 28
  tail call void @i64_store(ptr noundef nonnull %4, i64 noundef %1124, i64 noundef 0)
  %1125 = add nuw nsw i64 %1123, 20
  tail call void @i64_store(ptr noundef nonnull %4, i64 noundef %1125, i64 noundef 0)
  %1126 = add nuw nsw i64 %1123, 4
  tail call void @i64_store(ptr noundef nonnull %4, i64 noundef %1126, i64 noundef 0)
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1123, i32 noundef %.115947)
  %1127 = add nuw nsw i64 %1123, 12
  tail call void @i64_store(ptr noundef nonnull %4, i64 noundef %1127, i64 noundef 0)
  %1128 = add i32 %.226051, 36
  %1129 = zext i32 %1128 to i64
  tail call void @i64_store(ptr noundef nonnull %4, i64 noundef %1129, i64 noundef 0)
  %1130 = add nuw nsw i64 %1123, 32
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1130, i32 noundef 2)
  %1131 = add nuw nsw i64 %1123, 24
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1131, i32 noundef %1128)
  br label %.loopexit6451

.loopexit6451:                                    ; preds = %1019, %1005, %1122
  %.pre-phi6669 = phi i64 [ %1013, %1005 ], [ %1123, %1122 ], [ %1028, %1019 ]
  %1132 = add nuw nsw i64 %.pre-phi6669, 12
  %1133 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1132)
  %1134 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %680)
  %.not6331 = icmp ult i32 %1133, %1134
  br i1 %.not6331, label %1135, label %.loopexit6458

1135:                                             ; preds = %.loopexit6451
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %680, i32 noundef %1133)
  br label %.loopexit6458

.loopexit6458:                                    ; preds = %.preheader6457, %.loopexit6451, %690, %1135
  %1136 = add i32 %.85999, 4
  %1137 = icmp eq i32 %1136, %689
  br i1 %1137, label %.loopexit6460, label %1138

1138:                                             ; preds = %.loopexit6458
  %1139 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %198)
  br label %690

.loopexit6460:                                    ; preds = %.loopexit6458, %683, %.loopexit6462
  %1140 = add i32 %.96038, -1
  %1141 = icmp ugt i32 %1140, 1
  br i1 %1141, label %643, label %.loopexit6464

.loopexit6464:                                    ; preds = %.loopexit6460, %.loopexit6467
  %1142 = icmp ult i32 %581, 9
  br i1 %1142, label %.loopexit6436, label %1143

1143:                                             ; preds = %.loopexit6464
  %1144 = tail call i32 @llvm.umax.i32(i32 %582, i32 3)
  %1145 = zext i32 %577 to i64
  %1146 = add nuw nsw i64 %1145, 4
  %1147 = add nuw nsw i64 %197, 12
  %1148 = add i32 %187, -12
  %1149 = add nuw nsw i64 %197, 16
  %1150 = add nuw nsw i64 %197, 20
  br label %1151

1151:                                             ; preds = %1391, %1143
  %.35856 = phi i32 [ 2, %1143 ], [ %1394, %1391 ]
  %1152 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %197)
  %1153 = shl i32 %.35856, 2
  %1154 = add i32 %1152, %1153
  %1155 = zext i32 %1154 to i64
  %1156 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1155)
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1146, i32 noundef %1156)
  %1157 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %198)
  %.not6332 = icmp eq i32 %1157, 0
  br i1 %.not6332, label %1188, label %1158

1158:                                             ; preds = %1151
  %1159 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1147)
  %1160 = add i32 %1157, -1
  %1161 = lshr i32 %1156, 4
  %1162 = lshr i32 %1156, 9
  %1163 = xor i32 %1161, %1162
  %1164 = and i32 %1160, %1163
  %1165 = mul i32 %1164, 44
  %1166 = add i32 %1159, %1165
  %1167 = zext i32 %1166 to i64
  %1168 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1167)
  %.not6333 = icmp eq i32 %1168, %1156
  br i1 %.not6333, label %1183, label %.preheader6434

.preheader6434:                                   ; preds = %1158, %1172
  %.96000 = phi i32 [ %1180, %1172 ], [ %1166, %1158 ]
  %.315986 = phi i32 [ %1177, %1172 ], [ 1, %1158 ]
  %.145950 = phi i32 [ %1175, %1172 ], [ 0, %1158 ]
  %.95926 = phi i32 [ %1178, %1172 ], [ %1164, %1158 ]
  %.24 = phi i32 [ %1182, %1172 ], [ %1168, %1158 ]
  %1169 = icmp eq i32 %.24, -4
  %.not6336 = icmp eq i32 %.145950, 0
  br i1 %1169, label %1170, label %1172

1170:                                             ; preds = %.preheader6434
  %1171 = select i1 %.not6336, i32 %.96000, i32 %.145950
  br label %1188

1172:                                             ; preds = %.preheader6434
  %1173 = icmp eq i32 %.24, -8
  %1174 = select i1 %1173, i1 %.not6336, i1 false
  %1175 = select i1 %1174, i32 %.96000, i32 %.145950
  %1176 = add i32 %.95926, %.315986
  %1177 = add i32 %.315986, 1
  %1178 = and i32 %1176, %1160
  %1179 = mul i32 %1178, 44
  %1180 = add i32 %1179, %1159
  %1181 = zext i32 %1180 to i64
  %1182 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1181)
  %.not6335 = icmp eq i32 %1156, %1182
  br i1 %.not6335, label %.loopexit6435, label %.preheader6434

1183:                                             ; preds = %1158
  %1184 = add nuw nsw i64 %1167, 12
  %1185 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1184)
  %1186 = shl i32 %1185, 2
  %1187 = add i32 %1186, %1152
  br label %1199

1188:                                             ; preds = %1151, %1170
  %.246053 = phi i32 [ %1171, %1170 ], [ 0, %1151 ]
  %1189 = tail call i32 @w2c_hermes_llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x3A0x3AInsertIntoBucket0x3Chermes0x3A0x3ABasicBlock0x2A0x20const0x260x3E0x28llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x20const0x260x29(ptr noundef %0, i32 noundef %196, i32 noundef %.246053, i32 noundef %1148) #6
  %1190 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %198)
  %1191 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1147)
  %1192 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %197)
  %.pre6664 = zext i32 %1189 to i64
  br label %.loopexit6435

.loopexit6435:                                    ; preds = %1172, %1188
  %.pre-phi6665 = phi i64 [ %.pre6664, %1188 ], [ %1181, %1172 ]
  %.256054 = phi i32 [ %1190, %1188 ], [ %1157, %1172 ]
  %.106001 = phi i32 [ %1189, %1188 ], [ %1180, %1172 ]
  %.165912 = phi i32 [ %1192, %1188 ], [ %1152, %1172 ]
  %.125870 = phi i32 [ %1191, %1188 ], [ %1159, %1172 ]
  %1193 = add nuw nsw i64 %.pre-phi6665, 12
  %1194 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1193)
  %1195 = shl i32 %1194, 2
  %1196 = add i32 %1195, %.165912
  %.not6337 = icmp eq i32 %.256054, 0
  br i1 %.not6337, label %1197, label %.loopexit6435._crit_edge

.loopexit6435._crit_edge:                         ; preds = %.loopexit6435
  %.pre6692 = add i32 %.256054, -1
  br label %1199

1197:                                             ; preds = %.loopexit6435
  %1198 = tail call i32 @w2c_hermes_llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x3A0x3AInsertIntoBucket0x3Chermes0x3A0x3ABasicBlock0x2A0x20const0x260x3E0x28llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x20const0x260x29(ptr noundef %0, i32 noundef %196, i32 noundef 0, i32 noundef %1196) #6
  br label %.loopexit6433

1199:                                             ; preds = %.loopexit6435._crit_edge, %1183
  %.pre-phi6693 = phi i32 [ %.pre6692, %.loopexit6435._crit_edge ], [ %1160, %1183 ]
  %.116002 = phi i32 [ %.106001, %.loopexit6435._crit_edge ], [ %1166, %1183 ]
  %.175913 = phi i32 [ %1196, %.loopexit6435._crit_edge ], [ %1187, %1183 ]
  %.135871 = phi i32 [ %.125870, %.loopexit6435._crit_edge ], [ %1159, %1183 ]
  %1200 = zext i32 %.175913 to i64
  %1201 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1200)
  %1202 = lshr i32 %1201, 4
  %1203 = lshr i32 %1201, 9
  %1204 = xor i32 %1202, %1203
  %1205 = and i32 %1204, %.pre-phi6693
  %1206 = mul i32 %1205, 44
  %1207 = add i32 %1206, %.135871
  %1208 = zext i32 %1207 to i64
  %1209 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1208)
  %1210 = icmp eq i32 %1201, %1209
  br i1 %1210, label %.loopexit6433, label %.preheader6432

.preheader6432:                                   ; preds = %1199, %1215
  %.276056 = phi i32 [ %1223, %1215 ], [ %1207, %1199 ]
  %.325987 = phi i32 [ %1220, %1215 ], [ 1, %1199 ]
  %.155951 = phi i32 [ %1218, %1215 ], [ 0, %1199 ]
  %.105927 = phi i32 [ %1221, %1215 ], [ %1205, %1199 ]
  %.25 = phi i32 [ %1225, %1215 ], [ %1209, %1199 ]
  %1211 = icmp eq i32 %.25, -4
  %.not6340 = icmp eq i32 %.155951, 0
  br i1 %1211, label %1212, label %1215

1212:                                             ; preds = %.preheader6432
  %1213 = select i1 %.not6340, i32 %.276056, i32 %.155951
  %1214 = tail call i32 @w2c_hermes_llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x3A0x3AInsertIntoBucket0x3Chermes0x3A0x3ABasicBlock0x2A0x20const0x260x3E0x28llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x20const0x260x29(ptr noundef %0, i32 noundef %196, i32 noundef %1213, i32 noundef %.175913) #6
  br label %.loopexit6433

1215:                                             ; preds = %.preheader6432
  %1216 = icmp eq i32 %.25, -8
  %1217 = select i1 %1216, i1 %.not6340, i1 false
  %1218 = select i1 %1217, i32 %.276056, i32 %.155951
  %1219 = add i32 %.105927, %.325987
  %1220 = add i32 %.325987, 1
  %1221 = and i32 %1219, %.pre-phi6693
  %1222 = mul i32 %1221, 44
  %1223 = add i32 %1222, %.135871
  %1224 = zext i32 %1223 to i64
  %1225 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1224)
  %.not6339 = icmp eq i32 %1201, %1225
  br i1 %.not6339, label %.loopexit6433, label %.preheader6432

.loopexit6433:                                    ; preds = %1215, %1199, %1212, %1197
  %.286057 = phi i32 [ %1207, %1199 ], [ %1214, %1212 ], [ %1198, %1197 ], [ %1223, %1215 ]
  %.126003 = phi i32 [ %.116002, %1199 ], [ %.116002, %1212 ], [ %.106001, %1197 ], [ %.116002, %1215 ]
  %1226 = zext i32 %.286057 to i64
  %1227 = add nuw nsw i64 %1226, 4
  %1228 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1227)
  br label %.loopexit6424

.loopexit6424:                                    ; preds = %.loopexit6424.backedge, %.loopexit6433
  %.296058.in = phi i32 [ %.126003, %.loopexit6433 ], [ %.296058.in.be, %.loopexit6424.backedge ]
  %.296058 = add i32 %.296058.in, 20
  %1229 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1147)
  %1230 = zext i32 %.296058 to i64
  %1231 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1230)
  %1232 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %198)
  %.not6341 = icmp eq i32 %1232, 0
  br i1 %.not6341, label %1258, label %1233

1233:                                             ; preds = %.loopexit6424
  %1234 = add i32 %1232, -1
  %1235 = lshr i32 %1231, 4
  %1236 = lshr i32 %1231, 9
  %1237 = xor i32 %1235, %1236
  %1238 = and i32 %1234, %1237
  %1239 = mul i32 %1238, 44
  %1240 = add i32 %1239, %1229
  %1241 = zext i32 %1240 to i64
  %1242 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1241)
  %1243 = icmp eq i32 %1231, %1242
  br i1 %1243, label %.loopexit6431, label %.preheader6430

.preheader6430:                                   ; preds = %1233, %1247
  %.306059 = phi i32 [ %1252, %1247 ], [ 1, %1233 ]
  %.136004 = phi i32 [ %1255, %1247 ], [ %1240, %1233 ]
  %.335988 = phi i32 [ %1250, %1247 ], [ 0, %1233 ]
  %.115928 = phi i32 [ %1253, %1247 ], [ %1238, %1233 ]
  %.26 = phi i32 [ %1257, %1247 ], [ %1242, %1233 ]
  %1244 = icmp eq i32 %.26, -4
  %.not6344 = icmp eq i32 %.335988, 0
  br i1 %1244, label %1245, label %1247

1245:                                             ; preds = %.preheader6430
  %1246 = select i1 %.not6344, i32 %.136004, i32 %.335988
  br label %1258

1247:                                             ; preds = %.preheader6430
  %1248 = icmp eq i32 %.26, -8
  %1249 = select i1 %1248, i1 %.not6344, i1 false
  %1250 = select i1 %1249, i32 %.136004, i32 %.335988
  %1251 = add i32 %.115928, %.306059
  %1252 = add i32 %.306059, 1
  %1253 = and i32 %1251, %1234
  %1254 = mul i32 %1253, 44
  %1255 = add i32 %1254, %1229
  %1256 = zext i32 %1255 to i64
  %1257 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1256)
  %.not6343 = icmp eq i32 %1231, %1257
  br i1 %.not6343, label %.loopexit6431, label %.preheader6430

1258:                                             ; preds = %.loopexit6424, %1245
  %.146005 = phi i32 [ %1246, %1245 ], [ 0, %.loopexit6424 ]
  %1259 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1149)
  %1260 = shl i32 %1259, 2
  %1261 = add i32 %1260, 4
  %1262 = mul i32 %1232, 3
  %.not6345 = icmp ult i32 %1261, %1262
  br i1 %.not6345, label %1265, label %1263

1263:                                             ; preds = %1258
  %1264 = shl i32 %1232, 1
  br label %1272

1265:                                             ; preds = %1258
  %1266 = xor i32 %1259, -1
  %1267 = add i32 %1232, %1266
  %1268 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1150)
  %1269 = sub i32 %1267, %1268
  %1270 = lshr i32 %1232, 3
  %1271 = icmp ugt i32 %1269, %1270
  br i1 %1271, label %1342, label %1272

1272:                                             ; preds = %1265, %1263
  %.125929 = phi i32 [ %1264, %1263 ], [ %1232, %1265 ]
  %1273 = add i32 %.125929, -1
  %1274 = zext i32 %1273 to i64
  %1275 = lshr i64 %1274, 1
  %1276 = or i64 %1275, %1274
  %1277 = lshr i64 %1276, 2
  %1278 = or i64 %1277, %1276
  %1279 = lshr i64 %1278, 4
  %1280 = or i64 %1279, %1278
  %1281 = lshr i64 %1280, 8
  %1282 = or i64 %1281, %1280
  %1283 = lshr i64 %1282, 16
  %1284 = or i64 %1283, %1282
  %1285 = trunc nuw i64 %1284 to i32
  %1286 = add i32 %1285, 1
  %1287 = icmp ult i32 %1286, 65
  %1288 = select i1 %1287, i32 64, i32 %1286
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %198, i32 noundef %1288)
  %1289 = mul i32 %1288, 44
  %1290 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %0, i32 noundef %1289) #6
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1147, i32 noundef %1290)
  %.not6346 = icmp eq i32 %1229, 0
  br i1 %.not6346, label %1291, label %1314

1291:                                             ; preds = %1272
  tail call void @i64_store(ptr noundef nonnull %4, i64 noundef %1149, i64 noundef 0)
  %1292 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %198)
  %1293 = mul i32 %1292, 44
  %1294 = add i32 %1293, -44
  %1295 = udiv i32 %1294, 44
  %1296 = add nuw nsw i32 %1295, 1
  %1297 = and i32 %1296, 7
  %.not6347 = icmp eq i32 %1297, 0
  br i1 %.not6347, label %.loopexit6429, label %.preheader6428

.preheader6428:                                   ; preds = %1291, %.preheader6428
  %.316060 = phi i32 [ %1300, %.preheader6428 ], [ 0, %1291 ]
  %.156006 = phi i32 [ %1299, %.preheader6428 ], [ %1290, %1291 ]
  %1298 = zext i32 %.156006 to i64
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1298, i32 noundef -4)
  %1299 = add i32 %.156006, 44
  %1300 = add nuw nsw i32 %.316060, 1
  %.not6348 = icmp eq i32 %1300, %1297
  br i1 %.not6348, label %.loopexit6429, label %.preheader6428

.loopexit6429:                                    ; preds = %.preheader6428, %1291
  %.166007 = phi i32 [ %1290, %1291 ], [ %1299, %.preheader6428 ]
  %1301 = icmp ult i32 %1294, 308
  br i1 %1301, label %.loopexit6427, label %1302

1302:                                             ; preds = %.loopexit6429
  %1303 = add i32 %1293, %1290
  br label %1304

1304:                                             ; preds = %1304, %1302
  %.176008 = phi i32 [ %.166007, %1302 ], [ %1313, %1304 ]
  %1305 = zext i32 %.176008 to i64
  %1306 = add nuw nsw i64 %1305, 308
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1306, i32 noundef -4)
  %1307 = add nuw nsw i64 %1305, 264
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1307, i32 noundef -4)
  %1308 = add nuw nsw i64 %1305, 220
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1308, i32 noundef -4)
  %1309 = add nuw nsw i64 %1305, 176
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1309, i32 noundef -4)
  %1310 = add nuw nsw i64 %1305, 132
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1310, i32 noundef -4)
  %1311 = add nuw nsw i64 %1305, 88
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1311, i32 noundef -4)
  %1312 = add nuw nsw i64 %1305, 44
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1312, i32 noundef -4)
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1305, i32 noundef -4)
  %1313 = add i32 %.176008, 352
  %.not6349 = icmp eq i32 %1313, %1303
  br i1 %.not6349, label %.loopexit6427, label %1304

1314:                                             ; preds = %1272
  %1315 = mul i32 %1232, 44
  %1316 = add i32 %1315, %1229
  tail call void @w2c_hermes_llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x3A0x3AmoveFromOldBuckets0x28llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x29(ptr noundef %0, i32 noundef %196, i32 noundef %1229, i32 noundef %1316) #6
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %1229)
  %1317 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1147)
  %1318 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %198)
  br label %.loopexit6427

.loopexit6427:                                    ; preds = %1304, %.loopexit6429, %1314
  %.135930 = phi i32 [ %1292, %.loopexit6429 ], [ %1318, %1314 ], [ %1292, %1304 ]
  %.27 = phi i32 [ %1290, %.loopexit6429 ], [ %1317, %1314 ], [ %1290, %1304 ]
  %1319 = add i32 %.135930, -1
  %1320 = lshr i32 %1231, 4
  %1321 = lshr i32 %1231, 9
  %1322 = xor i32 %1320, %1321
  %1323 = and i32 %1319, %1322
  %1324 = mul i32 %1323, 44
  %1325 = add i32 %1324, %.27
  %1326 = zext i32 %1325 to i64
  %1327 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1326)
  %.not6350 = icmp eq i32 %1327, %1231
  br i1 %.not6350, label %.loopexit6426, label %.preheader6425

.preheader6425:                                   ; preds = %.loopexit6427, %1331
  %.326061 = phi i32 [ %1341, %1331 ], [ %1327, %.loopexit6427 ]
  %.186009 = phi i32 [ %1339, %1331 ], [ %1325, %.loopexit6427 ]
  %.345989 = phi i32 [ %1336, %1331 ], [ 1, %.loopexit6427 ]
  %.185914 = phi i32 [ %1337, %1331 ], [ %1323, %.loopexit6427 ]
  %.115883 = phi i32 [ %1334, %1331 ], [ 0, %.loopexit6427 ]
  %1328 = icmp eq i32 %.326061, -4
  %.not6353 = icmp eq i32 %.115883, 0
  br i1 %1328, label %1329, label %1331

1329:                                             ; preds = %.preheader6425
  %1330 = select i1 %.not6353, i32 %.186009, i32 %.115883
  br label %1342

1331:                                             ; preds = %.preheader6425
  %1332 = icmp eq i32 %.326061, -8
  %1333 = select i1 %1332, i1 %.not6353, i1 false
  %1334 = select i1 %1333, i32 %.186009, i32 %.115883
  %1335 = add i32 %.185914, %.345989
  %1336 = add i32 %.345989, 1
  %1337 = and i32 %1335, %1319
  %1338 = mul i32 %1337, 44
  %1339 = add i32 %1338, %.27
  %1340 = zext i32 %1339 to i64
  %1341 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1340)
  %.not6352 = icmp eq i32 %1231, %1341
  br i1 %.not6352, label %.loopexit6426, label %.preheader6425

1342:                                             ; preds = %1265, %1329
  %.206011 = phi i32 [ %1330, %1329 ], [ %.146005, %1265 ]
  %1343 = zext i32 %.206011 to i64
  %1344 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1343)
  br label %.loopexit6426

.loopexit6426:                                    ; preds = %1331, %.loopexit6427, %1342
  %.216012 = phi i32 [ %.206011, %1342 ], [ %1325, %.loopexit6427 ], [ %1339, %1331 ]
  %.25829 = phi i32 [ %1344, %1342 ], [ %1231, %.loopexit6427 ], [ %1231, %1331 ]
  %1345 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1149)
  %1346 = add i32 %1345, 1
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1149, i32 noundef %1346)
  %.not6354 = icmp eq i32 %.25829, -4
  br i1 %.not6354, label %1350, label %1347

1347:                                             ; preds = %.loopexit6426
  %1348 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1150)
  %1349 = add i32 %1348, -1
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1150, i32 noundef %1349)
  br label %1350

1350:                                             ; preds = %1347, %.loopexit6426
  %1351 = zext i32 %.216012 to i64
  %1352 = add nuw nsw i64 %1351, 28
  tail call void @i64_store(ptr noundef nonnull %4, i64 noundef %1352, i64 noundef 0)
  %1353 = add nuw nsw i64 %1351, 20
  tail call void @i64_store(ptr noundef nonnull %4, i64 noundef %1353, i64 noundef 0)
  %1354 = add nuw nsw i64 %1351, 4
  tail call void @i64_store(ptr noundef nonnull %4, i64 noundef %1354, i64 noundef 0)
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1351, i32 noundef %1231)
  %1355 = add nuw nsw i64 %1351, 12
  tail call void @i64_store(ptr noundef nonnull %4, i64 noundef %1355, i64 noundef 0)
  %1356 = add i32 %.216012, 36
  %1357 = zext i32 %1356 to i64
  tail call void @i64_store(ptr noundef nonnull %4, i64 noundef %1357, i64 noundef 0)
  %1358 = add nuw nsw i64 %1351, 32
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1358, i32 noundef 2)
  %1359 = add nuw nsw i64 %1351, 24
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1359, i32 noundef %1356)
  br label %.loopexit6431

.loopexit6431:                                    ; preds = %1247, %1233, %1350
  %.pre-phi6666 = phi i64 [ %1241, %1233 ], [ %1351, %1350 ], [ %1256, %1247 ]
  %1360 = add nuw nsw i64 %.pre-phi6666, 4
  %1361 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1360)
  %1362 = icmp ult i32 %1228, %1361
  br i1 %1362, label %1363, label %1391

1363:                                             ; preds = %.loopexit6431
  %1364 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1147)
  %1365 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %198)
  %.not6356 = icmp eq i32 %1365, 0
  br i1 %.not6356, label %1395, label %1366

1366:                                             ; preds = %1363
  %1367 = add i32 %1365, -1
  %1368 = lshr i32 %1231, 4
  %1369 = lshr i32 %1231, 9
  %1370 = xor i32 %1368, %1369
  %1371 = and i32 %1367, %1370
  %1372 = mul i32 %1371, 44
  %1373 = add i32 %1372, %1364
  %1374 = zext i32 %1373 to i64
  %1375 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1374)
  %1376 = icmp eq i32 %1231, %1375
  br i1 %1376, label %.loopexit6424.backedge, label %.preheader6423

.loopexit6424.backedge:                           ; preds = %1380, %1366, %1487
  %.296058.in.be = phi i32 [ %.316022, %1487 ], [ %1373, %1366 ], [ %1388, %1380 ]
  br label %.loopexit6424

.preheader6423:                                   ; preds = %1366, %1380
  %.336062 = phi i32 [ %1385, %1380 ], [ 1, %1366 ]
  %.236014 = phi i32 [ %1388, %1380 ], [ %1373, %1366 ]
  %.355990 = phi i32 [ %1383, %1380 ], [ 0, %1366 ]
  %.145931 = phi i32 [ %1386, %1380 ], [ %1371, %1366 ]
  %.28 = phi i32 [ %1390, %1380 ], [ %1375, %1366 ]
  %1377 = icmp eq i32 %.28, -4
  %.not6359 = icmp eq i32 %.355990, 0
  br i1 %1377, label %1378, label %1380

1378:                                             ; preds = %.preheader6423
  %1379 = select i1 %.not6359, i32 %.236014, i32 %.355990
  br label %1395

1380:                                             ; preds = %.preheader6423
  %1381 = icmp eq i32 %.28, -8
  %1382 = select i1 %1381, i1 %.not6359, i1 false
  %1383 = select i1 %1382, i32 %.236014, i32 %.355990
  %1384 = add i32 %.145931, %.336062
  %1385 = add i32 %.336062, 1
  %1386 = and i32 %1384, %1367
  %1387 = mul i32 %1386, 44
  %1388 = add i32 %1387, %1364
  %1389 = zext i32 %1388 to i64
  %1390 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1389)
  %.not6358 = icmp eq i32 %1231, %1390
  br i1 %.not6358, label %.loopexit6424.backedge, label %.preheader6423

1391:                                             ; preds = %.loopexit6431
  %1392 = zext i32 %.126003 to i64
  %1393 = add nuw nsw i64 %1392, 20
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1393, i32 noundef %1231)
  %1394 = add nuw i32 %.35856, 1
  %.not6355 = icmp eq i32 %1394, %1144
  br i1 %.not6355, label %.loopexit6436, label %1151

1395:                                             ; preds = %1363, %1378
  %.246015 = phi i32 [ %1379, %1378 ], [ 0, %1363 ]
  %1396 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1149)
  %1397 = shl i32 %1396, 2
  %1398 = add i32 %1397, 4
  %1399 = mul i32 %1365, 3
  %.not6360 = icmp ult i32 %1398, %1399
  br i1 %.not6360, label %1402, label %1400

1400:                                             ; preds = %1395
  %1401 = shl i32 %1365, 1
  br label %1409

1402:                                             ; preds = %1395
  %1403 = xor i32 %1396, -1
  %1404 = add i32 %1365, %1403
  %1405 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1150)
  %1406 = sub i32 %1404, %1405
  %1407 = lshr i32 %1365, 3
  %1408 = icmp ugt i32 %1406, %1407
  br i1 %1408, label %1479, label %1409

1409:                                             ; preds = %1402, %1400
  %.155932 = phi i32 [ %1401, %1400 ], [ %1365, %1402 ]
  %1410 = add i32 %.155932, -1
  %1411 = zext i32 %1410 to i64
  %1412 = lshr i64 %1411, 1
  %1413 = or i64 %1412, %1411
  %1414 = lshr i64 %1413, 2
  %1415 = or i64 %1414, %1413
  %1416 = lshr i64 %1415, 4
  %1417 = or i64 %1416, %1415
  %1418 = lshr i64 %1417, 8
  %1419 = or i64 %1418, %1417
  %1420 = lshr i64 %1419, 16
  %1421 = or i64 %1420, %1419
  %1422 = trunc nuw i64 %1421 to i32
  %1423 = add i32 %1422, 1
  %1424 = icmp ult i32 %1423, 65
  %1425 = select i1 %1424, i32 64, i32 %1423
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %198, i32 noundef %1425)
  %1426 = mul i32 %1425, 44
  %1427 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %0, i32 noundef %1426) #6
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1147, i32 noundef %1427)
  %.not6361 = icmp eq i32 %1364, 0
  br i1 %.not6361, label %1428, label %1451

1428:                                             ; preds = %1409
  tail call void @i64_store(ptr noundef nonnull %4, i64 noundef %1149, i64 noundef 0)
  %1429 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %198)
  %1430 = mul i32 %1429, 44
  %1431 = add i32 %1430, -44
  %1432 = udiv i32 %1431, 44
  %1433 = add nuw nsw i32 %1432, 1
  %1434 = and i32 %1433, 7
  %.not6362 = icmp eq i32 %1434, 0
  br i1 %.not6362, label %.loopexit6422, label %.preheader6421

.preheader6421:                                   ; preds = %1428, %.preheader6421
  %.346063 = phi i32 [ %1437, %.preheader6421 ], [ 0, %1428 ]
  %.256016 = phi i32 [ %1436, %.preheader6421 ], [ %1427, %1428 ]
  %1435 = zext i32 %.256016 to i64
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1435, i32 noundef -4)
  %1436 = add i32 %.256016, 44
  %1437 = add nuw nsw i32 %.346063, 1
  %.not6363 = icmp eq i32 %1437, %1434
  br i1 %.not6363, label %.loopexit6422, label %.preheader6421

.loopexit6422:                                    ; preds = %.preheader6421, %1428
  %.266017 = phi i32 [ %1427, %1428 ], [ %1436, %.preheader6421 ]
  %1438 = icmp ult i32 %1431, 308
  br i1 %1438, label %.loopexit6420, label %1439

1439:                                             ; preds = %.loopexit6422
  %1440 = add i32 %1430, %1427
  br label %1441

1441:                                             ; preds = %1441, %1439
  %.276018 = phi i32 [ %.266017, %1439 ], [ %1450, %1441 ]
  %1442 = zext i32 %.276018 to i64
  %1443 = add nuw nsw i64 %1442, 308
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1443, i32 noundef -4)
  %1444 = add nuw nsw i64 %1442, 264
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1444, i32 noundef -4)
  %1445 = add nuw nsw i64 %1442, 220
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1445, i32 noundef -4)
  %1446 = add nuw nsw i64 %1442, 176
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1446, i32 noundef -4)
  %1447 = add nuw nsw i64 %1442, 132
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1447, i32 noundef -4)
  %1448 = add nuw nsw i64 %1442, 88
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1448, i32 noundef -4)
  %1449 = add nuw nsw i64 %1442, 44
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1449, i32 noundef -4)
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1442, i32 noundef -4)
  %1450 = add i32 %.276018, 352
  %.not6364 = icmp eq i32 %1450, %1440
  br i1 %.not6364, label %.loopexit6420, label %1441

1451:                                             ; preds = %1409
  %1452 = mul i32 %1365, 44
  %1453 = add i32 %1452, %1364
  tail call void @w2c_hermes_llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x3A0x3AmoveFromOldBuckets0x28llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x29(ptr noundef %0, i32 noundef %196, i32 noundef %1364, i32 noundef %1453) #6
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %1364)
  %1454 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1147)
  %1455 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %198)
  br label %.loopexit6420

.loopexit6420:                                    ; preds = %1441, %.loopexit6422, %1451
  %.165933 = phi i32 [ %1429, %.loopexit6422 ], [ %1455, %1451 ], [ %1429, %1441 ]
  %.29 = phi i32 [ %1427, %.loopexit6422 ], [ %1454, %1451 ], [ %1427, %1441 ]
  %1456 = add i32 %.165933, -1
  %1457 = lshr i32 %1231, 4
  %1458 = lshr i32 %1231, 9
  %1459 = xor i32 %1457, %1458
  %1460 = and i32 %1456, %1459
  %1461 = mul i32 %1460, 44
  %1462 = add i32 %1461, %.29
  %1463 = zext i32 %1462 to i64
  %1464 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1463)
  %.not6365 = icmp eq i32 %1464, %1231
  br i1 %.not6365, label %.loopexit6419, label %.preheader6418

.preheader6418:                                   ; preds = %.loopexit6420, %1468
  %.356064 = phi i32 [ %1478, %1468 ], [ %1464, %.loopexit6420 ]
  %.286019 = phi i32 [ %1476, %1468 ], [ %1462, %.loopexit6420 ]
  %.36 = phi i32 [ %1473, %1468 ], [ 1, %.loopexit6420 ]
  %.195915 = phi i32 [ %1474, %1468 ], [ %1460, %.loopexit6420 ]
  %.125884 = phi i32 [ %1471, %1468 ], [ 0, %.loopexit6420 ]
  %1465 = icmp eq i32 %.356064, -4
  %.not6368 = icmp eq i32 %.125884, 0
  br i1 %1465, label %1466, label %1468

1466:                                             ; preds = %.preheader6418
  %1467 = select i1 %.not6368, i32 %.286019, i32 %.125884
  br label %1479

1468:                                             ; preds = %.preheader6418
  %1469 = icmp eq i32 %.356064, -8
  %1470 = select i1 %1469, i1 %.not6368, i1 false
  %1471 = select i1 %1470, i32 %.286019, i32 %.125884
  %1472 = add i32 %.195915, %.36
  %1473 = add i32 %.36, 1
  %1474 = and i32 %1472, %1456
  %1475 = mul i32 %1474, 44
  %1476 = add i32 %1475, %.29
  %1477 = zext i32 %1476 to i64
  %1478 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1477)
  %.not6367 = icmp eq i32 %1231, %1478
  br i1 %.not6367, label %.loopexit6419, label %.preheader6418

1479:                                             ; preds = %1402, %1466
  %.306021 = phi i32 [ %1467, %1466 ], [ %.246015, %1402 ]
  %1480 = zext i32 %.306021 to i64
  %1481 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1480)
  br label %.loopexit6419

.loopexit6419:                                    ; preds = %1468, %.loopexit6420, %1479
  %.316022 = phi i32 [ %.306021, %1479 ], [ %1462, %.loopexit6420 ], [ %1476, %1468 ]
  %.35830 = phi i32 [ %1481, %1479 ], [ %1231, %.loopexit6420 ], [ %1231, %1468 ]
  %1482 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1149)
  %1483 = add i32 %1482, 1
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1149, i32 noundef %1483)
  %.not6369 = icmp eq i32 %.35830, -4
  br i1 %.not6369, label %1487, label %1484

1484:                                             ; preds = %.loopexit6419
  %1485 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1150)
  %1486 = add i32 %1485, -1
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1150, i32 noundef %1486)
  br label %1487

1487:                                             ; preds = %1484, %.loopexit6419
  %1488 = zext i32 %.316022 to i64
  %1489 = add nuw nsw i64 %1488, 28
  tail call void @i64_store(ptr noundef nonnull %4, i64 noundef %1489, i64 noundef 0)
  %1490 = add nuw nsw i64 %1488, 20
  tail call void @i64_store(ptr noundef nonnull %4, i64 noundef %1490, i64 noundef 0)
  %1491 = add nuw nsw i64 %1488, 4
  tail call void @i64_store(ptr noundef nonnull %4, i64 noundef %1491, i64 noundef 0)
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1488, i32 noundef %1231)
  %1492 = add nuw nsw i64 %1488, 12
  tail call void @i64_store(ptr noundef nonnull %4, i64 noundef %1492, i64 noundef 0)
  %1493 = add i32 %.316022, 36
  %1494 = zext i32 %1493 to i64
  tail call void @i64_store(ptr noundef nonnull %4, i64 noundef %1494, i64 noundef 0)
  %1495 = add nuw nsw i64 %1488, 32
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1495, i32 noundef 2)
  %1496 = add nuw nsw i64 %1488, 24
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1496, i32 noundef %1493)
  br label %.loopexit6424.backedge

.loopexit6436:                                    ; preds = %1391, %.loopexit6464
  store i32 %187, ptr %13, align 8, !tbaa !5
  %1497 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %7)
  %.not6370 = icmp eq i32 %1497, 0
  br i1 %.not6370, label %1757, label %1498

1498:                                             ; preds = %.loopexit6436
  %1499 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %5)
  %1500 = zext i32 %1499 to i64
  %1501 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1500)
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %152, i32 noundef %1501)
  %1502 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef nonnull %0, i32 noundef 32) #6
  %1503 = zext i32 %1502 to i64
  %1504 = add nuw nsw i64 %1503, 4
  tail call void @i64_store(ptr noundef nonnull %4, i64 noundef %1504, i64 noundef 0)
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1503, i32 noundef %1501)
  %1505 = add nuw nsw i64 %1503, 24
  tail call void @i64_store(ptr noundef nonnull %4, i64 noundef %1505, i64 noundef -1)
  %1506 = add nuw nsw i64 %1503, 12
  tail call void @i64_store(ptr noundef nonnull %4, i64 noundef %1506, i64 noundef 0)
  %1507 = add nuw nsw i64 %1503, 20
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1507, i32 noundef 0)
  %1508 = add nuw nsw i64 %5, 28
  %1509 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1508)
  %.not6371 = icmp eq i32 %1509, 0
  br i1 %.not6371, label %1536, label %1510

1510:                                             ; preds = %1498
  %1511 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %6)
  %1512 = add i32 %1509, -1
  %1513 = lshr i32 %1501, 4
  %1514 = lshr i32 %1501, 9
  %1515 = xor i32 %1513, %1514
  %1516 = and i32 %1512, %1515
  %1517 = shl nuw nsw i32 %1516, 3
  %1518 = add i32 %1511, %1517
  %1519 = zext i32 %1518 to i64
  %1520 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1519)
  %1521 = icmp eq i32 %1501, %1520
  br i1 %1521, label %.loopexit6417, label %.preheader6416

.preheader6416:                                   ; preds = %1510, %1525
  %.336024 = phi i32 [ %1533, %1525 ], [ %1518, %1510 ]
  %.37 = phi i32 [ %1531, %1525 ], [ %1516, %1510 ]
  %.65891 = phi i32 [ %1530, %1525 ], [ 1, %1510 ]
  %.05832 = phi i32 [ %1528, %1525 ], [ 0, %1510 ]
  %.30 = phi i32 [ %1535, %1525 ], [ %1520, %1510 ]
  %1522 = icmp eq i32 %.30, -4
  %.not6374 = icmp eq i32 %.05832, 0
  br i1 %1522, label %1523, label %1525

1523:                                             ; preds = %.preheader6416
  %1524 = select i1 %.not6374, i32 %.336024, i32 %.05832
  br label %1536

1525:                                             ; preds = %.preheader6416
  %1526 = icmp eq i32 %.30, -8
  %1527 = select i1 %1526, i1 %.not6374, i1 false
  %1528 = select i1 %1527, i32 %.336024, i32 %.05832
  %1529 = add i32 %.65891, %.37
  %1530 = add i32 %.65891, 1
  %1531 = and i32 %1529, %1512
  %1532 = shl i32 %1531, 3
  %1533 = add i32 %1532, %1511
  %1534 = zext i32 %1533 to i64
  %1535 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1534)
  %.not6373 = icmp eq i32 %1501, %1535
  br i1 %.not6373, label %.loopexit6417, label %.preheader6416

1536:                                             ; preds = %1498, %1523
  %.31 = phi i32 [ 0, %1498 ], [ %1524, %1523 ]
  %1537 = tail call i32 @w2c_hermes_llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x3E0x3E0x3E0x2A0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x3E0x3E0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x3E0x3E0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x3E0x3E0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x3E0x3E0x3E0x3E0x3A0x3AInsertIntoBucket0x3Chermes0x3A0x3ABasicBlock0x2A0x20const0x260x3E0x28llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x3E0x3E0x3E0x2A0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x20const0x260x29(ptr noundef %0, i32 noundef %17, i32 noundef %.31, i32 noundef %15) #6
  %.pre6654 = zext i32 %1537 to i64
  br label %.loopexit6417

.loopexit6417:                                    ; preds = %1525, %1510, %1536
  %.pre-phi6655 = phi i64 [ %1519, %1510 ], [ %.pre6654, %1536 ], [ %1534, %1525 ]
  %1538 = add nuw nsw i64 %.pre-phi6655, 4
  %1539 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1538)
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1538, i32 noundef %1502)
  %.not6375 = icmp eq i32 %1539, 0
  br i1 %.not6375, label %1548, label %1540

1540:                                             ; preds = %.loopexit6417
  %1541 = zext i32 %1539 to i64
  %1542 = add nuw nsw i64 %1541, 12
  %1543 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1542)
  %.not6376 = icmp eq i32 %1543, 0
  br i1 %.not6376, label %1546, label %1544

1544:                                             ; preds = %1540
  %1545 = add nuw nsw i64 %1541, 16
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1545, i32 noundef %1543)
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %1543)
  br label %1546

1546:                                             ; preds = %1544, %1540
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %1539)
  %1547 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1538)
  %.pre6656 = zext i32 %1547 to i64
  br label %1548

1548:                                             ; preds = %1546, %.loopexit6417
  %.pre-phi6657 = phi i64 [ %.pre6656, %1546 ], [ %1503, %.loopexit6417 ]
  %.366065 = phi i32 [ %1547, %1546 ], [ %1502, %.loopexit6417 ]
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %150, i32 noundef %.366065)
  %1549 = load i32, ptr %13, align 8, !tbaa !5
  %1550 = add i32 %1549, -16
  store i32 %1550, ptr %13, align 8, !tbaa !5
  %1551 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %197)
  %1552 = add i32 %1551, 4
  %1553 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %.pre-phi6657)
  %1554 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %198)
  %.not6377 = icmp eq i32 %1554, 0
  br i1 %.not6377, label %1584, label %1555

1555:                                             ; preds = %1548
  %1556 = zext i32 %1552 to i64
  %1557 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1556)
  %1558 = add nuw nsw i64 %197, 12
  %1559 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1558)
  %1560 = add i32 %1554, -1
  %1561 = lshr i32 %1557, 4
  %1562 = lshr i32 %1557, 9
  %1563 = xor i32 %1561, %1562
  %1564 = and i32 %1563, %1560
  %1565 = mul i32 %1564, 44
  %1566 = add i32 %1565, %1559
  %1567 = zext i32 %1566 to i64
  %1568 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1567)
  %1569 = icmp eq i32 %1557, %1568
  br i1 %1569, label %.loopexit6415, label %.preheader6414

.preheader6414:                                   ; preds = %1555, %1573
  %.376066 = phi i32 [ %1581, %1573 ], [ %1566, %1555 ]
  %.165952 = phi i32 [ %1579, %1573 ], [ %1564, %1555 ]
  %.175934 = phi i32 [ %1576, %1573 ], [ 0, %1555 ]
  %.75892 = phi i32 [ %1583, %1573 ], [ %1568, %1555 ]
  %.32 = phi i32 [ %1578, %1573 ], [ 1, %1555 ]
  %1570 = icmp eq i32 %.75892, -4
  %.not6380 = icmp eq i32 %.175934, 0
  br i1 %1570, label %1571, label %1573

1571:                                             ; preds = %.preheader6414
  %1572 = select i1 %.not6380, i32 %.376066, i32 %.175934
  br label %1584

1573:                                             ; preds = %.preheader6414
  %1574 = icmp eq i32 %.75892, -8
  %1575 = select i1 %1574, i1 %.not6380, i1 false
  %1576 = select i1 %1575, i32 %.376066, i32 %.175934
  %1577 = add i32 %.32, %.165952
  %1578 = add i32 %.32, 1
  %1579 = and i32 %1577, %1560
  %1580 = mul i32 %1579, 44
  %1581 = add i32 %1580, %1559
  %1582 = zext i32 %1581 to i64
  %1583 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1582)
  %.not6379 = icmp eq i32 %1557, %1583
  br i1 %.not6379, label %.loopexit6415, label %.preheader6414

1584:                                             ; preds = %1548, %1571
  %.356026 = phi i32 [ %1572, %1571 ], [ 0, %1548 ]
  %1585 = tail call i32 @w2c_hermes_llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x3A0x3AInsertIntoBucket0x3Chermes0x3A0x3ABasicBlock0x2A0x20const0x260x3E0x28llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x20const0x260x29(ptr noundef %0, i32 noundef %196, i32 noundef %.356026, i32 noundef %1552) #6
  %1586 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %197)
  %.pre6658 = zext i32 %1585 to i64
  br label %.loopexit6415

.loopexit6415:                                    ; preds = %1573, %1555, %1584
  %.pre-phi6659 = phi i64 [ %1567, %1555 ], [ %.pre6658, %1584 ], [ %1582, %1573 ]
  %.366027 = phi i32 [ %1551, %1555 ], [ %1586, %1584 ], [ %1551, %1573 ]
  %1587 = add nuw nsw i64 %.pre-phi6659, 20
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1587, i32 noundef %1553)
  %1588 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %578)
  %1589 = sub i32 %1588, %.366027
  %.not6381 = icmp eq i32 %1589, 4
  br i1 %.not6381, label %.loopexit6413, label %1590

1590:                                             ; preds = %.loopexit6415
  %1591 = ashr i32 %1589, 2
  %1592 = zext i32 %1550 to i64
  %1593 = add nuw nsw i64 %1592, 12
  %1594 = add i32 %1549, -4
  %1595 = add nuw nsw i64 %197, 12
  br label %1596

1596:                                             ; preds = %1755, %1590
  %.205916 = phi i32 [ 1, %1590 ], [ %1756, %1755 ]
  %1597 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %197)
  %1598 = shl i32 %.205916, 2
  %1599 = add i32 %1597, %1598
  %1600 = zext i32 %1599 to i64
  %1601 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1600)
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1593, i32 noundef %1601)
  %1602 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1508)
  %.not6382 = icmp eq i32 %1602, 0
  br i1 %.not6382, label %1629, label %1603

1603:                                             ; preds = %1596
  %1604 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %6)
  %1605 = add i32 %1602, -1
  %1606 = lshr i32 %1601, 4
  %1607 = lshr i32 %1601, 9
  %1608 = xor i32 %1606, %1607
  %1609 = and i32 %1605, %1608
  %1610 = shl nuw nsw i32 %1609, 3
  %1611 = add i32 %1604, %1610
  %1612 = zext i32 %1611 to i64
  %1613 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1612)
  %1614 = icmp eq i32 %1601, %1613
  br i1 %1614, label %.loopexit6412, label %.preheader6411

.preheader6411:                                   ; preds = %1603, %1618
  %.396068 = phi i32 [ %1626, %1618 ], [ %1611, %1603 ]
  %.376028 = phi i32 [ %1628, %1618 ], [ %1613, %1603 ]
  %.185935 = phi i32 [ %1621, %1618 ], [ 0, %1603 ]
  %.85893 = phi i32 [ %1624, %1618 ], [ %1609, %1603 ]
  %.33 = phi i32 [ %1623, %1618 ], [ 1, %1603 ]
  %1615 = icmp eq i32 %.376028, -4
  %.not6385 = icmp eq i32 %.185935, 0
  br i1 %1615, label %1616, label %1618

1616:                                             ; preds = %.preheader6411
  %1617 = select i1 %.not6385, i32 %.396068, i32 %.185935
  br label %1629

1618:                                             ; preds = %.preheader6411
  %1619 = icmp eq i32 %.376028, -8
  %1620 = select i1 %1619, i1 %.not6385, i1 false
  %1621 = select i1 %1620, i32 %.396068, i32 %.185935
  %1622 = add i32 %.33, %.85893
  %1623 = add i32 %.33, 1
  %1624 = and i32 %1622, %1605
  %1625 = shl i32 %1624, 3
  %1626 = add i32 %1625, %1604
  %1627 = zext i32 %1626 to i64
  %1628 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1627)
  %.not6384 = icmp eq i32 %1601, %1628
  br i1 %.not6384, label %.loopexit6412, label %.preheader6411

1629:                                             ; preds = %1596, %1616
  %.38 = phi i32 [ %1617, %1616 ], [ 0, %1596 ]
  %1630 = tail call i32 @w2c_hermes_llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x3E0x3E0x3E0x2A0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x3E0x3E0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x3E0x3E0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x3E0x3E0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x3E0x3E0x3E0x3E0x3A0x3AInsertIntoBucket0x3Chermes0x3A0x3ABasicBlock0x2A0x20const0x260x3E0x28llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x3E0x3E0x3E0x2A0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x20const0x260x29(ptr noundef %0, i32 noundef %17, i32 noundef %.38, i32 noundef %1594) #6
  %.pre6660 = zext i32 %1630 to i64
  br label %.loopexit6412

.loopexit6412:                                    ; preds = %1618, %1603, %1629
  %.pre-phi6661 = phi i64 [ %1612, %1603 ], [ %.pre6660, %1629 ], [ %1627, %1618 ]
  %1631 = add nuw nsw i64 %.pre-phi6661, 4
  %1632 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1631)
  %.not6386 = icmp eq i32 %1632, 0
  br i1 %.not6386, label %1633, label %1755

1633:                                             ; preds = %.loopexit6412
  %1634 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1595)
  %1635 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %198)
  %.not6387 = icmp eq i32 %1635, 0
  br i1 %.not6387, label %.loopexit6409, label %1636

1636:                                             ; preds = %1633
  %1637 = add i32 %1635, -1
  %1638 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1593)
  %1639 = lshr i32 %1638, 4
  %1640 = lshr i32 %1638, 9
  %1641 = xor i32 %1639, %1640
  %1642 = and i32 %1641, %1637
  %1643 = mul i32 %1642, 44
  %1644 = add i32 %1643, %1634
  %1645 = zext i32 %1644 to i64
  %1646 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1645)
  %1647 = icmp eq i32 %1646, %1638
  br i1 %1647, label %.loopexit6410, label %.preheader6408

.preheader6408:                                   ; preds = %1636, %1649
  %.416070 = phi i32 [ %1652, %1649 ], [ %1642, %1636 ]
  %.175953 = phi i32 [ %1656, %1649 ], [ %1646, %1636 ]
  %.34 = phi i32 [ %1651, %1649 ], [ 1, %1636 ]
  %1648 = icmp eq i32 %.175953, -4
  br i1 %1648, label %.loopexit6409, label %1649

1649:                                             ; preds = %.preheader6408
  %1650 = add i32 %.34, %.416070
  %1651 = add i32 %.34, 1
  %1652 = and i32 %1650, %1637
  %1653 = mul i32 %1652, 44
  %1654 = add i32 %1653, %1634
  %1655 = zext i32 %1654 to i64
  %1656 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1655)
  %.not6388 = icmp eq i32 %1656, %1638
  br i1 %.not6388, label %.loopexit6410, label %.preheader6408

.loopexit6409:                                    ; preds = %.preheader6408, %1633
  %1657 = mul i32 %1635, 44
  %1658 = add i32 %1657, %1634
  br label %.loopexit6410

.loopexit6410:                                    ; preds = %1649, %1636, %.loopexit6409
  %.39 = phi i32 [ %1658, %.loopexit6409 ], [ %1644, %1636 ], [ %1654, %1649 ]
  %1659 = mul i32 %1635, 44
  %1660 = add i32 %1659, %1634
  %.not6389 = icmp eq i32 %1660, %.39
  br i1 %.not6389, label %1665, label %1661

1661:                                             ; preds = %.loopexit6410
  %1662 = zext i32 %.39 to i64
  %1663 = add nuw nsw i64 %1662, 20
  %1664 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1663)
  br label %1665

1665:                                             ; preds = %.loopexit6410, %1661
  %.25826 = phi i32 [ %1664, %1661 ], [ 0, %.loopexit6410 ]
  %1666 = tail call i32 @w2c_hermes_llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AgetNodeForBlock0x28hermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x260x29(ptr noundef %0, i32 noundef %195, i32 noundef %.25826, i32 noundef %1) #6
  %1667 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %0, i32 noundef 32) #6
  %1668 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1593)
  %1669 = zext i32 %1667 to i64
  %1670 = add nuw nsw i64 %1669, 4
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1670, i32 noundef %1666)
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1669, i32 noundef %1668)
  %.not6390 = icmp eq i32 %1666, 0
  br i1 %.not6390, label %._crit_edge6682, label %1671

1671:                                             ; preds = %1665
  %1672 = zext i32 %1666 to i64
  %1673 = add nuw nsw i64 %1672, 8
  %1674 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1673)
  %1675 = add i32 %1674, 1
  br label %._crit_edge6682

._crit_edge6682:                                  ; preds = %1665, %1671
  %.pre-phi6689 = phi i64 [ %1672, %1671 ], [ 0, %1665 ]
  %.95894 = phi i32 [ %1675, %1671 ], [ 0, %1665 ]
  %1676 = add nuw nsw i64 %1669, 28
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1676, i32 noundef -1)
  %1677 = add nuw nsw i64 %1669, 12
  tail call void @i64_store(ptr noundef nonnull %4, i64 noundef %1677, i64 noundef 0)
  %1678 = add nuw nsw i64 %1669, 8
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1678, i32 noundef %.95894)
  %1679 = add nuw nsw i64 %1669, 20
  tail call void @i64_store(ptr noundef nonnull %4, i64 noundef %1679, i64 noundef -4294967296)
  %1680 = add nuw nsw i64 %.pre-phi6689, 16
  %1681 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1680)
  %1682 = add nuw nsw i64 %.pre-phi6689, 20
  %1683 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1682)
  %1684 = icmp ult i32 %1681, %1683
  br i1 %1684, label %1685, label %1688

1685:                                             ; preds = %._crit_edge6682
  %1686 = zext i32 %1681 to i64
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1686, i32 noundef %1667)
  %1687 = add i32 %1681, 4
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1680, i32 noundef %1687)
  br label %1713

1688:                                             ; preds = %._crit_edge6682
  %1689 = add nuw nsw i64 %.pre-phi6689, 12
  %1690 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1689)
  %1691 = sub i32 %1681, %1690
  %1692 = ashr i32 %1691, 2
  %1693 = add nsw i32 %1692, 1
  %1694 = icmp ugt i32 %1693, 1073741823
  br i1 %1694, label %1743, label %1695

1695:                                             ; preds = %1688
  %1696 = sub i32 %1683, %1690
  %1697 = ashr i32 %1696, 1
  %1698 = tail call i32 @llvm.umax.i32(i32 %1693, i32 %1697)
  %1699 = icmp ugt i32 %1696, 2147483643
  %1700 = select i1 %1699, i32 1073741823, i32 %1698
  %.not6391 = icmp eq i32 %1700, 0
  br i1 %.not6391, label %._crit_edge, label %1701

1701:                                             ; preds = %1695
  %1702 = icmp ugt i32 %1700, 1073741823
  br i1 %1702, label %1742, label %1703

1703:                                             ; preds = %1701
  %1704 = shl nuw i32 %1700, 2
  %1705 = tail call i32 @w2c_hermes_operator0x20new0x28unsigned0x20long0x29(ptr noundef %0, i32 noundef %1704) #6
  br label %._crit_edge

._crit_edge:                                      ; preds = %1695, %1703
  %.pre-phi6691 = phi i32 [ %1704, %1703 ], [ 0, %1695 ]
  %.45831 = phi i32 [ %1705, %1703 ], [ 0, %1695 ]
  %1706 = and i32 %1691, -4
  %1707 = add i32 %.45831, %1706
  %1708 = zext i32 %1707 to i64
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1708, i32 noundef %1667)
  %1709 = tail call i32 @w2c_hermes_memmove(ptr noundef %0, i32 noundef %.45831, i32 noundef %1690, i32 noundef %1691) #6
  %1710 = add i32 %1709, %.pre-phi6691
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1682, i32 noundef %1710)
  %1711 = add i32 %1707, 4
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1680, i32 noundef %1711)
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1689, i32 noundef %1709)
  %.not6392 = icmp eq i32 %1690, 0
  br i1 %.not6392, label %1713, label %1712

1712:                                             ; preds = %._crit_edge
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %1690)
  br label %1713

1713:                                             ; preds = %._crit_edge, %1712, %1685
  %1714 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1508)
  %.not6393 = icmp eq i32 %1714, 0
  br i1 %.not6393, label %1744, label %1715

1715:                                             ; preds = %1713
  %1716 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1593)
  %1717 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %6)
  %1718 = add i32 %1714, -1
  %1719 = lshr i32 %1716, 4
  %1720 = lshr i32 %1716, 9
  %1721 = xor i32 %1719, %1720
  %1722 = and i32 %1721, %1718
  %1723 = shl nuw nsw i32 %1722, 3
  %1724 = add i32 %1723, %1717
  %1725 = zext i32 %1724 to i64
  %1726 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1725)
  %1727 = icmp eq i32 %1716, %1726
  br i1 %1727, label %.loopexit6407, label %.preheader

.preheader:                                       ; preds = %1715, %1731
  %.426071 = phi i32 [ %1736, %1731 ], [ 1, %1715 ]
  %.40 = phi i32 [ %1739, %1731 ], [ %1724, %1715 ]
  %.185954 = phi i32 [ %1737, %1731 ], [ %1722, %1715 ]
  %.105895 = phi i32 [ %1741, %1731 ], [ %1726, %1715 ]
  %.35 = phi i32 [ %1734, %1731 ], [ 0, %1715 ]
  %1728 = icmp eq i32 %.105895, -4
  %.not6396 = icmp eq i32 %.35, 0
  br i1 %1728, label %1729, label %1731

1729:                                             ; preds = %.preheader
  %1730 = select i1 %.not6396, i32 %.40, i32 %.35
  br label %1744

1731:                                             ; preds = %.preheader
  %1732 = icmp eq i32 %.105895, -8
  %1733 = select i1 %1732, i1 %.not6396, i1 false
  %1734 = select i1 %1733, i32 %.40, i32 %.35
  %1735 = add i32 %.185954, %.426071
  %1736 = add i32 %.426071, 1
  %1737 = and i32 %1735, %1718
  %1738 = shl i32 %1737, 3
  %1739 = add i32 %1738, %1717
  %1740 = zext i32 %1739 to i64
  %1741 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1740)
  %.not6395 = icmp eq i32 %1716, %1741
  br i1 %.not6395, label %.loopexit6407, label %.preheader

1742:                                             ; preds = %1701
  tail call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3A_0x5Fthrow_out_of_range0x5Babi0x3Av150070x5D0x28char0x20const0x2A0x29(ptr noundef %0) #6
  tail call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

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

1744:                                             ; preds = %1713, %1729
  %.43 = phi i32 [ %1730, %1729 ], [ 0, %1713 ]
  %1745 = tail call i32 @w2c_hermes_llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x3E0x3E0x3E0x2A0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x3E0x3E0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x3E0x3E0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x3E0x3E0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x3E0x3E0x3E0x3E0x3A0x3AInsertIntoBucket0x3Chermes0x3A0x3ABasicBlock0x2A0x20const0x260x3E0x28llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x3E0x3E0x3E0x2A0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x20const0x260x29(ptr noundef %0, i32 noundef %17, i32 noundef %.43, i32 noundef %1594) #6
  %.pre6662 = zext i32 %1745 to i64
  br label %.loopexit6407

.loopexit6407:                                    ; preds = %1731, %1715, %1744
  %.pre-phi6663 = phi i64 [ %1725, %1715 ], [ %.pre6662, %1744 ], [ %1740, %1731 ]
  %1746 = add nuw nsw i64 %.pre-phi6663, 4
  %1747 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1746)
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1746, i32 noundef %1667)
  %.not6397 = icmp eq i32 %1747, 0
  br i1 %.not6397, label %1755, label %1748

1748:                                             ; preds = %.loopexit6407
  %1749 = zext i32 %1747 to i64
  %1750 = add nuw nsw i64 %1749, 12
  %1751 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1750)
  %.not6398 = icmp eq i32 %1751, 0
  br i1 %.not6398, label %1754, label %1752

1752:                                             ; preds = %1748
  %1753 = add nuw nsw i64 %1749, 16
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %1753, i32 noundef %1751)
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %1751)
  br label %1754

1754:                                             ; preds = %1752, %1748
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %1747)
  br label %1755

1755:                                             ; preds = %.loopexit6407, %.loopexit6412, %1754
  %1756 = add i32 %.205916, 1
  %.not6399 = icmp eq i32 %1756, %1591
  br i1 %.not6399, label %.loopexit6413, label %1596

.loopexit6413:                                    ; preds = %1755, %.loopexit6415
  store i32 %1549, ptr %13, align 8, !tbaa !5
  br label %1757

1757:                                             ; preds = %.loopexit6413, %.loopexit6436
  %1758 = add nuw nsw i64 %152, 40
  %1759 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1758)
  %.not6400 = icmp eq i32 %1759, 0
  br i1 %.not6400, label %.loopexit, label %1760

1760:                                             ; preds = %1757
  %1761 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %159)
  %1762 = mul i32 %1759, 44
  %1763 = add i32 %1761, %1762
  br label %1764

1764:                                             ; preds = %1773, %1760
  %.42 = phi i32 [ %1761, %1760 ], [ %1774, %1773 ]
  %1765 = zext i32 %.42 to i64
  %1766 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1765)
  switch i32 %1766, label %1767 [
    i32 -8, label %1773
    i32 -4, label %1773
  ]

1767:                                             ; preds = %1764
  %1768 = add nuw nsw i64 %1765, 24
  %1769 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %1768)
  %1770 = add i32 %.42, 36
  %1771 = icmp eq i32 %1769, %1770
  br i1 %1771, label %1773, label %1772

1772:                                             ; preds = %1767
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %1769)
  br label %1773

1773:                                             ; preds = %1764, %1767, %1764, %1772
  %1774 = add i32 %.42, 44
  %.not6401 = icmp eq i32 %1774, %1763
  br i1 %.not6401, label %.loopexit, label %1764

.loopexit:                                        ; preds = %1773, %1757
  %1775 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %159)
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %1775)
  %1776 = tail call i32 @i32_load(ptr noundef nonnull %4, i64 noundef %153)
  %.not6402 = icmp eq i32 %1776, 0
  br i1 %.not6402, label %1778, label %1777

1777:                                             ; preds = %.loopexit
  tail call void @i32_store(ptr noundef nonnull %4, i64 noundef %160, i32 noundef %1776)
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %1776)
  br label %1778

1778:                                             ; preds = %1777, %.loopexit
  store i32 %14, ptr %13, align 8, !tbaa !5
  ret i32 %1
}

declare i32 @w2c_hermes_llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x3A0x3AInsertIntoBucket0x3Chermes0x3A0x3ABasicBlock0x2A0x20const0x260x3E0x28llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x20const0x260x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

declare i32 @w2c_hermes_hermes0x3A0x3ATerminatorInst0x3A0x3AgetNumSuccessors0x280x290x20const(ptr noundef, i32 noundef) local_unnamed_addr #1

declare i32 @w2c_hermes_hermes0x3A0x3ATerminatorInst0x3A0x3AgetSuccessor0x28unsigned0x20int0x290x20const(ptr noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

declare void @w2c_hermes_llvh0x3A0x3ASmallPtrSetImpl0x3Chermes0x3A0x3ALiteral0x2A0x3E0x3A0x3Ainsert0x28hermes0x3A0x3ALiteral0x2A0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

declare void @w2c_hermes_llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x3E0x3A0x3AmoveFromOldBuckets0x28llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AInfoRec0x3E0x2A0x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

declare i32 @w2c_hermes_llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x3E0x3E0x3E0x2A0x20llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x3E0x3E0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x3E0x3E0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x3E0x3E0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x3E0x3E0x3E0x3E0x3A0x3AInsertIntoBucket0x3Chermes0x3A0x3ABasicBlock0x2A0x20const0x260x3E0x28llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20std0x3A0x3A_0x5F20x3A0x3Aunique_ptr0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x2C0x20std0x3A0x3A_0x5F20x3A0x3Adefault_delete0x3Cllvh0x3A0x3ADomTreeNodeBase0x3Chermes0x3A0x3ABasicBlock0x3E0x3E0x3E0x3E0x2A0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x20const0x260x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

declare i32 @w2c_hermes_llvh0x3A0x3ADomTreeBuilder0x3A0x3ASemiNCAInfo0x3Cllvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x3E0x3A0x3AgetNodeForBlock0x28hermes0x3A0x3ABasicBlock0x2A0x2C0x20llvh0x3A0x3ADominatorTreeBase0x3Chermes0x3A0x3ABasicBlock0x2C0x20false0x3E0x260x29(ptr noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #1

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

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

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

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

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


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