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

; 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 }
%struct.wasm_rt_funcref_t = type { ptr, ptr, ptr }

@w2c_hermes_t0 = external constant ptr, align 8

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

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

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

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

; Function Attrs: inlinehint nounwind uwtable
declare hidden zeroext i1 @func_types_eq(ptr noundef, ptr noundef) #1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

declare i32 @w2c_hermes_llvh0x3A0x3Adbgs0x280x29(ptr noundef) #4

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

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

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: nounwind uwtable
define dso_local void @w2c_hermes_hermes0x3A0x3ARegisterAllocator0x3A0x3Aallocate0x28llvh0x3A0x3AArrayRef0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x29(ptr noundef %0, i32 noundef %1, i32 noundef %2) #5 {
  %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 i64, align 8
  %35 = alloca i64, align 8
  %36 = alloca i32, align 4
  %37 = alloca i32, align 4
  %38 = alloca i32, align 4
  %39 = alloca i32, align 4
  %40 = alloca i32, align 4
  %41 = alloca i32, align 4
  %42 = alloca i32, align 4
  %43 = alloca i32, align 4
  %44 = alloca i32, align 4
  %45 = alloca i32, align 4
  %46 = alloca i32, align 4
  %47 = alloca i64, align 8
  %48 = alloca i64, align 8
  %49 = 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) #6
  store i32 0, ptr %7, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #6
  store i32 0, ptr %8, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #6
  store i32 0, ptr %9, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %10) #6
  store i32 0, ptr %10, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #6
  store i32 0, ptr %11, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #6
  store i32 0, ptr %12, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #6
  store i32 0, ptr %13, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #6
  store i32 0, ptr %14, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #6
  store i32 0, ptr %15, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #6
  store i32 0, ptr %16, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #6
  store i32 0, ptr %17, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #6
  store i32 0, ptr %18, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #6
  store i32 0, ptr %19, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #6
  store i32 0, ptr %20, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #6
  store i32 0, ptr %21, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #6
  store i32 0, ptr %22, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #6
  store i32 0, ptr %23, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #6
  store i32 0, ptr %24, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #6
  store i32 0, ptr %25, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #6
  store i32 0, ptr %26, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #6
  store i32 0, ptr %27, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #6
  store i32 0, ptr %28, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #6
  store i32 0, ptr %29, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #6
  store i32 0, ptr %30, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #6
  store i32 0, ptr %31, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #6
  store i32 0, ptr %32, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #6
  store i32 0, ptr %33, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %34) #6
  store i64 0, ptr %34, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %35) #6
  store i64 0, ptr %35, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %43) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %44) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %45) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %47) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %48) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %49) #6
  %50 = load ptr, ptr %4, align 8, !tbaa !5
  %51 = getelementptr inbounds %struct.w2c_hermes, ptr %50, i32 0, i32 3
  %52 = load i32, ptr %51, align 8, !tbaa !13
  store i32 %52, ptr %36, align 4, !tbaa !9
  store i32 448, ptr %37, align 4, !tbaa !9
  %53 = load i32, ptr %37, align 4, !tbaa !9
  %54 = load i32, ptr %36, align 4, !tbaa !9
  %55 = sub i32 %54, %53
  store i32 %55, ptr %36, align 4, !tbaa !9
  %56 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %56, ptr %9, align 4, !tbaa !9
  %57 = load i32, ptr %36, align 4, !tbaa !9
  %58 = load ptr, ptr %4, align 8, !tbaa !5
  %59 = getelementptr inbounds %struct.w2c_hermes, ptr %58, i32 0, i32 3
  store i32 %57, ptr %59, align 8, !tbaa !13
  %60 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %60, ptr %36, align 4, !tbaa !9
  %61 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %61, ptr %37, 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 = call i64 @i64_load(ptr noundef %63, i64 noundef %65)
  store i64 %66, ptr %48, align 8, !tbaa !11
  %67 = load i64, ptr %48, align 8, !tbaa !11
  store i64 %67, ptr %34, align 8, !tbaa !11
  %68 = load ptr, ptr %4, align 8, !tbaa !5
  %69 = getelementptr inbounds %struct.w2c_hermes, ptr %68, i32 0, i32 6
  %70 = load i32, ptr %36, align 4, !tbaa !9
  %71 = zext i32 %70 to i64
  %72 = add i64 %71, 40
  %73 = load i64, ptr %48, align 8, !tbaa !11
  call void @i64_store(ptr noundef %69, i64 noundef %72, i64 noundef %73)
  %74 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %74, ptr %36, align 4, !tbaa !9
  %75 = load i64, ptr %34, align 8, !tbaa !11
  store i64 %75, ptr %48, align 8, !tbaa !11
  %76 = load ptr, ptr %4, align 8, !tbaa !5
  %77 = getelementptr inbounds %struct.w2c_hermes, ptr %76, i32 0, i32 6
  %78 = load i32, ptr %36, align 4, !tbaa !9
  %79 = zext i32 %78 to i64
  %80 = add i64 %79, 408
  %81 = load i64, ptr %48, align 8, !tbaa !11
  call void @i64_store(ptr noundef %77, i64 noundef %80, i64 noundef %81)
  %82 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %82, ptr %36, align 4, !tbaa !9
  %83 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %83, ptr %37, align 4, !tbaa !9
  store i32 40, ptr %38, align 4, !tbaa !9
  %84 = load i32, ptr %38, align 4, !tbaa !9
  %85 = load i32, ptr %37, align 4, !tbaa !9
  %86 = add i32 %85, %84
  store i32 %86, ptr %37, align 4, !tbaa !9
  %87 = load ptr, ptr %4, align 8, !tbaa !5
  %88 = load i32, ptr %36, align 4, !tbaa !9
  %89 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3ARegisterAllocator0x3A0x3AlowerPhis0x28llvh0x3A0x3AArrayRef0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x29(ptr noundef %87, i32 noundef %88, i32 noundef %89)
  %90 = load i64, ptr %34, align 8, !tbaa !11
  store i64 %90, ptr %47, align 8, !tbaa !11
  %91 = load i64, ptr %47, align 8, !tbaa !11
  %92 = trunc i64 %91 to i32
  store i32 %92, ptr %36, align 4, !tbaa !9
  %93 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %93, ptr %12, align 4, !tbaa !9
  %94 = load i64, ptr %34, align 8, !tbaa !11
  store i64 %94, ptr %47, align 8, !tbaa !11
  store i64 32, ptr %48, align 8, !tbaa !11
  %95 = load i64, ptr %48, align 8, !tbaa !11
  %96 = and i64 %95, 63
  %97 = load i64, ptr %47, align 8, !tbaa !11
  %98 = lshr i64 %97, %96
  store i64 %98, ptr %47, align 8, !tbaa !11
  %99 = load i64, ptr %47, align 8, !tbaa !11
  store i64 %99, ptr %35, align 8, !tbaa !11
  %100 = load i64, ptr %47, align 8, !tbaa !11
  %101 = trunc i64 %100 to i32
  store i32 %101, ptr %36, align 4, !tbaa !9
  %102 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %102, ptr %15, align 4, !tbaa !9
  %103 = load i32, ptr %36, align 4, !tbaa !9
  %104 = icmp ne i32 %103, 0
  %105 = xor i1 %104, true
  %106 = zext i1 %105 to i32
  store i32 %106, ptr %36, align 4, !tbaa !9
  %107 = load i32, ptr %36, align 4, !tbaa !9
  %108 = icmp ne i32 %107, 0
  br i1 %108, label %109, label %110

109:                                              ; preds = %3
  br label %347

110:                                              ; preds = %3
  %111 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %111, ptr %36, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %112 = load i32, ptr %37, align 4, !tbaa !9
  %113 = load i32, ptr %36, align 4, !tbaa !9
  %114 = sub i32 %113, %112
  store i32 %114, ptr %36, align 4, !tbaa !9
  store i32 1073741823, ptr %37, align 4, !tbaa !9
  %115 = load i32, ptr %37, align 4, !tbaa !9
  %116 = load i32, ptr %36, align 4, !tbaa !9
  %117 = and i32 %116, %115
  store i32 %117, ptr %36, align 4, !tbaa !9
  %118 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %118, ptr %6, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %119 = load i32, ptr %37, align 4, !tbaa !9
  %120 = load i32, ptr %36, align 4, !tbaa !9
  %121 = add i32 %120, %119
  store i32 %121, ptr %36, align 4, !tbaa !9
  %122 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %122, ptr %7, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %123 = load i32, ptr %37, align 4, !tbaa !9
  %124 = load i32, ptr %36, align 4, !tbaa !9
  %125 = and i32 %124, %123
  store i32 %125, ptr %36, align 4, !tbaa !9
  %126 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %126, ptr %17, align 4, !tbaa !9
  %127 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %127, ptr %36, align 4, !tbaa !9
  %128 = load i32, ptr %36, align 4, !tbaa !9
  %129 = icmp ne i32 %128, 0
  %130 = xor i1 %129, true
  %131 = zext i1 %130 to i32
  store i32 %131, ptr %36, align 4, !tbaa !9
  %132 = load i32, ptr %36, align 4, !tbaa !9
  %133 = icmp ne i32 %132, 0
  br i1 %133, label %134, label %137

134:                                              ; preds = %110
  %135 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %135, ptr %36, align 4, !tbaa !9
  %136 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %136, ptr %10, align 4, !tbaa !9
  br label %280

137:                                              ; preds = %110
  %138 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %138, ptr %36, align 4, !tbaa !9
  store i32 2147483646, ptr %37, align 4, !tbaa !9
  %139 = load i32, ptr %37, align 4, !tbaa !9
  %140 = load i32, ptr %36, align 4, !tbaa !9
  %141 = and i32 %140, %139
  store i32 %141, ptr %36, align 4, !tbaa !9
  %142 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %142, ptr %14, align 4, !tbaa !9
  %143 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %143, ptr %36, align 4, !tbaa !9
  %144 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %144, ptr %10, align 4, !tbaa !9
  br label %145

145:                                              ; preds = %278, %137
  store i32 0, ptr %36, align 4, !tbaa !9
  %146 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %146, ptr %6, align 4, !tbaa !9
  %147 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %147, ptr %36, align 4, !tbaa !9
  %148 = load ptr, ptr %4, align 8, !tbaa !5
  %149 = getelementptr inbounds %struct.w2c_hermes, ptr %148, i32 0, i32 6
  %150 = load i32, ptr %36, align 4, !tbaa !9
  %151 = zext i32 %150 to i64
  %152 = call i32 @i32_load(ptr noundef %149, i64 noundef %151)
  store i32 %152, ptr %36, align 4, !tbaa !9
  %153 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %153, ptr %8, align 4, !tbaa !9
  %154 = load ptr, ptr %4, align 8, !tbaa !5
  %155 = getelementptr inbounds %struct.w2c_hermes, ptr %154, i32 0, i32 6
  %156 = load i32, ptr %36, align 4, !tbaa !9
  %157 = zext i32 %156 to i64
  %158 = add i64 %157, 40
  %159 = call i32 @i32_load(ptr noundef %155, i64 noundef %158)
  store i32 %159, ptr %36, align 4, !tbaa !9
  %160 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %160, ptr %7, align 4, !tbaa !9
  %161 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %161, ptr %37, align 4, !tbaa !9
  store i32 36, ptr %38, align 4, !tbaa !9
  %162 = load i32, ptr %38, align 4, !tbaa !9
  %163 = load i32, ptr %37, align 4, !tbaa !9
  %164 = add i32 %163, %162
  store i32 %164, ptr %37, align 4, !tbaa !9
  %165 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %165, ptr %8, align 4, !tbaa !9
  %166 = load i32, ptr %36, align 4, !tbaa !9
  %167 = load i32, ptr %37, align 4, !tbaa !9
  %168 = icmp ne i32 %166, %167
  %169 = zext i1 %168 to i32
  store i32 %169, ptr %36, align 4, !tbaa !9
  %170 = load i32, ptr %36, align 4, !tbaa !9
  %171 = icmp ne i32 %170, 0
  br i1 %171, label %172, label %196

172:                                              ; preds = %145
  br label %173

173:                                              ; preds = %194, %172
  %174 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %174, ptr %36, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %175 = load i32, ptr %37, align 4, !tbaa !9
  %176 = load i32, ptr %36, align 4, !tbaa !9
  %177 = add i32 %176, %175
  store i32 %177, ptr %36, align 4, !tbaa !9
  %178 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %178, ptr %6, align 4, !tbaa !9
  %179 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %179, ptr %36, align 4, !tbaa !9
  %180 = load ptr, ptr %4, align 8, !tbaa !5
  %181 = getelementptr inbounds %struct.w2c_hermes, ptr %180, i32 0, i32 6
  %182 = load i32, ptr %36, align 4, !tbaa !9
  %183 = zext i32 %182 to i64
  %184 = add i64 %183, 4
  %185 = call i32 @i32_load(ptr noundef %181, i64 noundef %184)
  store i32 %185, ptr %36, align 4, !tbaa !9
  %186 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %186, ptr %7, align 4, !tbaa !9
  %187 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %187, ptr %37, align 4, !tbaa !9
  %188 = load i32, ptr %36, align 4, !tbaa !9
  %189 = load i32, ptr %37, align 4, !tbaa !9
  %190 = icmp ne i32 %188, %189
  %191 = zext i1 %190 to i32
  store i32 %191, ptr %36, align 4, !tbaa !9
  %192 = load i32, ptr %36, align 4, !tbaa !9
  %193 = icmp ne i32 %192, 0
  br i1 %193, label %194, label %195

194:                                              ; preds = %173
  br label %173

195:                                              ; preds = %173
  br label %196

196:                                              ; preds = %195, %145
  %197 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %197, ptr %36, align 4, !tbaa !9
  %198 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %198, ptr %37, align 4, !tbaa !9
  %199 = load i32, ptr %37, align 4, !tbaa !9
  %200 = load i32, ptr %36, align 4, !tbaa !9
  %201 = add i32 %200, %199
  store i32 %201, ptr %36, align 4, !tbaa !9
  %202 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %202, ptr %11, align 4, !tbaa !9
  store i32 0, ptr %36, align 4, !tbaa !9
  %203 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %203, ptr %6, align 4, !tbaa !9
  %204 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %204, ptr %36, align 4, !tbaa !9
  %205 = load ptr, ptr %4, align 8, !tbaa !5
  %206 = getelementptr inbounds %struct.w2c_hermes, ptr %205, i32 0, i32 6
  %207 = load i32, ptr %36, align 4, !tbaa !9
  %208 = zext i32 %207 to i64
  %209 = add i64 %208, 4
  %210 = call i32 @i32_load(ptr noundef %206, i64 noundef %209)
  store i32 %210, ptr %36, align 4, !tbaa !9
  %211 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %211, ptr %8, align 4, !tbaa !9
  %212 = load ptr, ptr %4, align 8, !tbaa !5
  %213 = getelementptr inbounds %struct.w2c_hermes, ptr %212, i32 0, i32 6
  %214 = load i32, ptr %36, align 4, !tbaa !9
  %215 = zext i32 %214 to i64
  %216 = add i64 %215, 40
  %217 = call i32 @i32_load(ptr noundef %213, i64 noundef %216)
  store i32 %217, ptr %36, align 4, !tbaa !9
  %218 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %218, ptr %7, align 4, !tbaa !9
  %219 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %219, ptr %37, align 4, !tbaa !9
  store i32 36, ptr %38, align 4, !tbaa !9
  %220 = load i32, ptr %38, align 4, !tbaa !9
  %221 = load i32, ptr %37, align 4, !tbaa !9
  %222 = add i32 %221, %220
  store i32 %222, ptr %37, align 4, !tbaa !9
  %223 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %223, ptr %8, align 4, !tbaa !9
  %224 = load i32, ptr %36, align 4, !tbaa !9
  %225 = load i32, ptr %37, align 4, !tbaa !9
  %226 = icmp ne i32 %224, %225
  %227 = zext i1 %226 to i32
  store i32 %227, ptr %36, align 4, !tbaa !9
  %228 = load i32, ptr %36, align 4, !tbaa !9
  %229 = icmp ne i32 %228, 0
  br i1 %229, label %230, label %254

230:                                              ; preds = %196
  br label %231

231:                                              ; preds = %252, %230
  %232 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %232, ptr %36, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %233 = load i32, ptr %37, align 4, !tbaa !9
  %234 = load i32, ptr %36, align 4, !tbaa !9
  %235 = add i32 %234, %233
  store i32 %235, ptr %36, align 4, !tbaa !9
  %236 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %236, ptr %6, align 4, !tbaa !9
  %237 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %237, ptr %36, 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 %36, 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 %36, align 4, !tbaa !9
  %244 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %244, ptr %7, align 4, !tbaa !9
  %245 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %245, ptr %37, align 4, !tbaa !9
  %246 = load i32, ptr %36, align 4, !tbaa !9
  %247 = load i32, ptr %37, align 4, !tbaa !9
  %248 = icmp ne i32 %246, %247
  %249 = zext i1 %248 to i32
  store i32 %249, ptr %36, align 4, !tbaa !9
  %250 = load i32, ptr %36, align 4, !tbaa !9
  %251 = icmp ne i32 %250, 0
  br i1 %251, label %252, label %253

252:                                              ; preds = %231
  br label %231

253:                                              ; preds = %231
  br label %254

254:                                              ; preds = %253, %196
  %255 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %255, ptr %36, align 4, !tbaa !9
  store i32 8, ptr %37, align 4, !tbaa !9
  %256 = load i32, ptr %37, align 4, !tbaa !9
  %257 = load i32, ptr %36, align 4, !tbaa !9
  %258 = add i32 %257, %256
  store i32 %258, ptr %36, align 4, !tbaa !9
  %259 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %259, ptr %10, align 4, !tbaa !9
  %260 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %260, ptr %36, align 4, !tbaa !9
  %261 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %261, ptr %37, align 4, !tbaa !9
  %262 = load i32, ptr %37, align 4, !tbaa !9
  %263 = load i32, ptr %36, align 4, !tbaa !9
  %264 = add i32 %263, %262
  store i32 %264, ptr %36, align 4, !tbaa !9
  %265 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %265, ptr %11, align 4, !tbaa !9
  %266 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %266, ptr %36, align 4, !tbaa !9
  store i32 2, ptr %37, align 4, !tbaa !9
  %267 = load i32, ptr %37, align 4, !tbaa !9
  %268 = load i32, ptr %36, align 4, !tbaa !9
  %269 = add i32 %268, %267
  store i32 %269, ptr %36, align 4, !tbaa !9
  %270 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %270, ptr %13, align 4, !tbaa !9
  %271 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %271, ptr %37, align 4, !tbaa !9
  %272 = load i32, ptr %36, align 4, !tbaa !9
  %273 = load i32, ptr %37, align 4, !tbaa !9
  %274 = icmp ne i32 %272, %273
  %275 = zext i1 %274 to i32
  store i32 %275, ptr %36, align 4, !tbaa !9
  %276 = load i32, ptr %36, align 4, !tbaa !9
  %277 = icmp ne i32 %276, 0
  br i1 %277, label %278, label %279

278:                                              ; preds = %254
  br label %145

279:                                              ; preds = %254
  br label %280

280:                                              ; preds = %279, %134
  %281 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %281, ptr %36, align 4, !tbaa !9
  %282 = load i32, ptr %36, align 4, !tbaa !9
  %283 = icmp ne i32 %282, 0
  %284 = xor i1 %283, true
  %285 = zext i1 %284 to i32
  store i32 %285, ptr %36, align 4, !tbaa !9
  %286 = load i32, ptr %36, align 4, !tbaa !9
  %287 = icmp ne i32 %286, 0
  br i1 %287, label %288, label %289

288:                                              ; preds = %280
  br label %347

289:                                              ; preds = %280
  store i32 0, ptr %36, align 4, !tbaa !9
  %290 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %290, ptr %6, align 4, !tbaa !9
  %291 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %291, ptr %36, align 4, !tbaa !9
  %292 = load ptr, ptr %4, align 8, !tbaa !5
  %293 = getelementptr inbounds %struct.w2c_hermes, ptr %292, i32 0, i32 6
  %294 = load i32, ptr %36, align 4, !tbaa !9
  %295 = zext i32 %294 to i64
  %296 = call i32 @i32_load(ptr noundef %293, i64 noundef %295)
  store i32 %296, ptr %36, align 4, !tbaa !9
  %297 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %297, ptr %8, align 4, !tbaa !9
  %298 = load ptr, ptr %4, align 8, !tbaa !5
  %299 = getelementptr inbounds %struct.w2c_hermes, ptr %298, i32 0, i32 6
  %300 = load i32, ptr %36, align 4, !tbaa !9
  %301 = zext i32 %300 to i64
  %302 = add i64 %301, 40
  %303 = call i32 @i32_load(ptr noundef %299, i64 noundef %302)
  store i32 %303, ptr %36, align 4, !tbaa !9
  %304 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %304, ptr %7, align 4, !tbaa !9
  %305 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %305, ptr %37, align 4, !tbaa !9
  store i32 36, ptr %38, align 4, !tbaa !9
  %306 = load i32, ptr %38, align 4, !tbaa !9
  %307 = load i32, ptr %37, align 4, !tbaa !9
  %308 = add i32 %307, %306
  store i32 %308, ptr %37, align 4, !tbaa !9
  %309 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %309, ptr %8, align 4, !tbaa !9
  %310 = load i32, ptr %36, align 4, !tbaa !9
  %311 = load i32, ptr %37, align 4, !tbaa !9
  %312 = icmp ne i32 %310, %311
  %313 = zext i1 %312 to i32
  store i32 %313, ptr %36, align 4, !tbaa !9
  %314 = load i32, ptr %36, align 4, !tbaa !9
  %315 = icmp ne i32 %314, 0
  br i1 %315, label %316, label %340

316:                                              ; preds = %289
  br label %317

317:                                              ; preds = %338, %316
  %318 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %318, ptr %36, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %319 = load i32, ptr %37, align 4, !tbaa !9
  %320 = load i32, ptr %36, align 4, !tbaa !9
  %321 = add i32 %320, %319
  store i32 %321, ptr %36, align 4, !tbaa !9
  %322 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %322, ptr %6, align 4, !tbaa !9
  %323 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %323, ptr %36, align 4, !tbaa !9
  %324 = load ptr, ptr %4, align 8, !tbaa !5
  %325 = getelementptr inbounds %struct.w2c_hermes, ptr %324, i32 0, i32 6
  %326 = load i32, ptr %36, align 4, !tbaa !9
  %327 = zext i32 %326 to i64
  %328 = add i64 %327, 4
  %329 = call i32 @i32_load(ptr noundef %325, i64 noundef %328)
  store i32 %329, ptr %36, align 4, !tbaa !9
  %330 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %330, ptr %7, align 4, !tbaa !9
  %331 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %331, ptr %37, align 4, !tbaa !9
  %332 = load i32, ptr %36, align 4, !tbaa !9
  %333 = load i32, ptr %37, align 4, !tbaa !9
  %334 = icmp ne i32 %332, %333
  %335 = zext i1 %334 to i32
  store i32 %335, ptr %36, align 4, !tbaa !9
  %336 = load i32, ptr %36, align 4, !tbaa !9
  %337 = icmp ne i32 %336, 0
  br i1 %337, label %338, label %339

338:                                              ; preds = %317
  br label %317

339:                                              ; preds = %317
  br label %340

340:                                              ; preds = %339, %289
  %341 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %341, ptr %36, align 4, !tbaa !9
  %342 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %342, ptr %37, align 4, !tbaa !9
  %343 = load i32, ptr %37, align 4, !tbaa !9
  %344 = load i32, ptr %36, align 4, !tbaa !9
  %345 = add i32 %344, %343
  store i32 %345, ptr %36, align 4, !tbaa !9
  %346 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %346, ptr %11, align 4, !tbaa !9
  br label %347

347:                                              ; preds = %340, %288, %109
  %348 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %348, ptr %36, align 4, !tbaa !9
  %349 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %349, ptr %37, align 4, !tbaa !9
  %350 = load ptr, ptr %4, align 8, !tbaa !5
  %351 = getelementptr inbounds %struct.w2c_hermes, ptr %350, i32 0, i32 6
  %352 = load i32, ptr %37, align 4, !tbaa !9
  %353 = zext i32 %352 to i64
  %354 = add i64 %353, 1112
  %355 = call i32 @i32_load(ptr noundef %351, i64 noundef %354)
  store i32 %355, ptr %37, align 4, !tbaa !9
  %356 = load i32, ptr %36, align 4, !tbaa !9
  %357 = load i32, ptr %37, align 4, !tbaa !9
  %358 = icmp ult i32 %356, %357
  %359 = zext i1 %358 to i32
  store i32 %359, ptr %36, align 4, !tbaa !9
  %360 = load i32, ptr %36, align 4, !tbaa !9
  %361 = icmp ne i32 %360, 0
  br i1 %361, label %362, label %363

362:                                              ; preds = %347
  br label %513

363:                                              ; preds = %347
  %364 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %364, ptr %36, align 4, !tbaa !9
  %365 = load ptr, ptr %4, align 8, !tbaa !5
  %366 = getelementptr inbounds %struct.w2c_hermes, ptr %365, i32 0, i32 6
  %367 = load i32, ptr %36, align 4, !tbaa !9
  %368 = zext i32 %367 to i64
  %369 = add i64 %368, 1120
  %370 = call i64 @i64_load(ptr noundef %366, i64 noundef %369)
  store i64 %370, ptr %47, align 8, !tbaa !11
  %371 = load i64, ptr %35, align 8, !tbaa !11
  store i64 %371, ptr %48, align 8, !tbaa !11
  %372 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %372, ptr %38, align 4, !tbaa !9
  %373 = load i32, ptr %38, align 4, !tbaa !9
  %374 = zext i32 %373 to i64
  store i64 %374, ptr %49, align 8, !tbaa !11
  %375 = load i64, ptr %49, align 8, !tbaa !11
  %376 = load i64, ptr %48, align 8, !tbaa !11
  %377 = mul i64 %376, %375
  store i64 %377, ptr %48, align 8, !tbaa !11
  store i64 5, ptr %49, align 8, !tbaa !11
  %378 = load i64, ptr %49, align 8, !tbaa !11
  %379 = load i64, ptr %48, align 8, !tbaa !11
  %380 = mul i64 %379, %378
  store i64 %380, ptr %48, align 8, !tbaa !11
  store i64 3, ptr %49, align 8, !tbaa !11
  %381 = load i64, ptr %49, align 8, !tbaa !11
  %382 = and i64 %381, 63
  %383 = load i64, ptr %48, align 8, !tbaa !11
  %384 = lshr i64 %383, %382
  store i64 %384, ptr %48, align 8, !tbaa !11
  %385 = load i64, ptr %47, align 8, !tbaa !11
  %386 = load i64, ptr %48, align 8, !tbaa !11
  %387 = icmp ult i64 %385, %386
  %388 = zext i1 %387 to i32
  store i32 %388, ptr %36, align 4, !tbaa !9
  %389 = load i32, ptr %36, align 4, !tbaa !9
  %390 = icmp ne i32 %389, 0
  br i1 %390, label %391, label %392

391:                                              ; preds = %363
  br label %513

392:                                              ; preds = %363
  %393 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %393, ptr %36, align 4, !tbaa !9
  %394 = load i32, ptr %36, align 4, !tbaa !9
  %395 = icmp ne i32 %394, 0
  br i1 %395, label %396, label %507

396:                                              ; preds = %392
  %397 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %397, ptr %36, align 4, !tbaa !9
  %398 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %398, ptr %37, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %399 = load i32, ptr %38, align 4, !tbaa !9
  %400 = and i32 %399, 31
  %401 = load i32, ptr %37, align 4, !tbaa !9
  %402 = shl i32 %401, %400
  store i32 %402, ptr %37, align 4, !tbaa !9
  %403 = load i32, ptr %37, align 4, !tbaa !9
  %404 = load i32, ptr %36, align 4, !tbaa !9
  %405 = add i32 %404, %403
  store i32 %405, ptr %36, align 4, !tbaa !9
  %406 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %406, ptr %10, align 4, !tbaa !9
  %407 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %407, ptr %36, align 4, !tbaa !9
  %408 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %408, ptr %8, align 4, !tbaa !9
  br label %409

409:                                              ; preds = %487, %396
  %410 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %410, ptr %36, align 4, !tbaa !9
  %411 = load ptr, ptr %4, align 8, !tbaa !5
  %412 = getelementptr inbounds %struct.w2c_hermes, ptr %411, i32 0, i32 6
  %413 = load i32, ptr %36, align 4, !tbaa !9
  %414 = zext i32 %413 to i64
  %415 = call i32 @i32_load(ptr noundef %412, i64 noundef %414)
  store i32 %415, ptr %36, align 4, !tbaa !9
  %416 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %416, ptr %7, align 4, !tbaa !9
  %417 = load ptr, ptr %4, align 8, !tbaa !5
  %418 = getelementptr inbounds %struct.w2c_hermes, ptr %417, i32 0, i32 6
  %419 = load i32, ptr %36, align 4, !tbaa !9
  %420 = zext i32 %419 to i64
  %421 = add i64 %420, 40
  %422 = call i32 @i32_load(ptr noundef %418, i64 noundef %421)
  store i32 %422, ptr %36, align 4, !tbaa !9
  %423 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %423, ptr %6, align 4, !tbaa !9
  %424 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %424, ptr %37, align 4, !tbaa !9
  store i32 36, ptr %38, align 4, !tbaa !9
  %425 = load i32, ptr %38, align 4, !tbaa !9
  %426 = load i32, ptr %37, align 4, !tbaa !9
  %427 = add i32 %426, %425
  store i32 %427, ptr %37, align 4, !tbaa !9
  %428 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %428, ptr %7, align 4, !tbaa !9
  %429 = load i32, ptr %36, align 4, !tbaa !9
  %430 = load i32, ptr %37, align 4, !tbaa !9
  %431 = icmp ne i32 %429, %430
  %432 = zext i1 %431 to i32
  store i32 %432, ptr %36, align 4, !tbaa !9
  %433 = load i32, ptr %36, align 4, !tbaa !9
  %434 = icmp ne i32 %433, 0
  br i1 %434, label %435, label %474

435:                                              ; preds = %409
  br label %436

436:                                              ; preds = %472, %435
  %437 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %437, ptr %36, align 4, !tbaa !9
  %438 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %438, ptr %37, align 4, !tbaa !9
  %439 = load ptr, ptr %4, align 8, !tbaa !5
  %440 = load i32, ptr %36, align 4, !tbaa !9
  %441 = load i32, ptr %37, align 4, !tbaa !9
  %442 = call i32 @w2c_hermes_hermes0x3A0x3ARegisterAllocator0x3A0x3AgetInstructionNumber0x28hermes0x3A0x3AInstruction0x2A0x29(ptr noundef %439, i32 noundef %440, i32 noundef %441)
  store i32 %442, ptr %36, align 4, !tbaa !9
  %443 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %443, ptr %37, align 4, !tbaa !9
  %444 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %444, ptr %38, align 4, !tbaa !9
  %445 = load ptr, ptr %4, align 8, !tbaa !5
  %446 = load i32, ptr %37, align 4, !tbaa !9
  %447 = load i32, ptr %38, align 4, !tbaa !9
  %448 = call i32 @w2c_hermes_hermes0x3A0x3ARegisterAllocator0x3A0x3AgetInstructionNumber0x28hermes0x3A0x3AInstruction0x2A0x29(ptr noundef %445, i32 noundef %446, i32 noundef %447)
  store i32 %448, ptr %37, align 4, !tbaa !9
  %449 = load i32, ptr %36, align 4, !tbaa !9
  %450 = load i32, ptr %37, align 4, !tbaa !9
  %451 = icmp ne i32 %449, %450
  %452 = zext i1 %451 to i32
  store i32 %452, ptr %36, align 4, !tbaa !9
  %453 = load i32, ptr %36, align 4, !tbaa !9
  %454 = icmp ne i32 %453, 0
  br i1 %454, label %455, label %456

455:                                              ; preds = %436
  br label %489

456:                                              ; preds = %436
  %457 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %457, ptr %36, 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 %36, align 4, !tbaa !9
  %461 = zext i32 %460 to i64
  %462 = add i64 %461, 4
  %463 = call i32 @i32_load(ptr noundef %459, i64 noundef %462)
  store i32 %463, ptr %36, align 4, !tbaa !9
  %464 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %464, ptr %6, align 4, !tbaa !9
  %465 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %465, ptr %37, align 4, !tbaa !9
  %466 = load i32, ptr %36, align 4, !tbaa !9
  %467 = load i32, ptr %37, align 4, !tbaa !9
  %468 = icmp ne i32 %466, %467
  %469 = zext i1 %468 to i32
  store i32 %469, ptr %36, align 4, !tbaa !9
  %470 = load i32, ptr %36, align 4, !tbaa !9
  %471 = icmp ne i32 %470, 0
  br i1 %471, label %472, label %473

472:                                              ; preds = %456
  br label %436

473:                                              ; preds = %456
  br label %474

474:                                              ; preds = %473, %409
  %475 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %475, ptr %36, align 4, !tbaa !9
  %476 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %476, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %477 = load i32, ptr %38, align 4, !tbaa !9
  %478 = load i32, ptr %37, align 4, !tbaa !9
  %479 = add i32 %478, %477
  store i32 %479, ptr %37, align 4, !tbaa !9
  %480 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %480, ptr %8, align 4, !tbaa !9
  %481 = load i32, ptr %36, align 4, !tbaa !9
  %482 = load i32, ptr %37, align 4, !tbaa !9
  %483 = icmp ne i32 %481, %482
  %484 = zext i1 %483 to i32
  store i32 %484, ptr %36, align 4, !tbaa !9
  %485 = load i32, ptr %36, align 4, !tbaa !9
  %486 = icmp ne i32 %485, 0
  br i1 %486, label %487, label %488

487:                                              ; preds = %474
  br label %409

488:                                              ; preds = %474
  br label %538

489:                                              ; preds = %455
  store i32 0, ptr %36, align 4, !tbaa !9
  %490 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %490, ptr %6, align 4, !tbaa !9
  store i32 162560, ptr %37, align 4, !tbaa !9
  %491 = load i32, ptr %37, align 4, !tbaa !9
  %492 = load i32, ptr %36, align 4, !tbaa !9
  %493 = add i32 %492, %491
  store i32 %493, ptr %36, align 4, !tbaa !9
  %494 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %494, ptr %37, align 4, !tbaa !9
  store i32 61865, ptr %38, align 4, !tbaa !9
  %495 = load i32, ptr %38, align 4, !tbaa !9
  %496 = load i32, ptr %37, align 4, !tbaa !9
  %497 = add i32 %496, %495
  store i32 %497, ptr %37, align 4, !tbaa !9
  store i32 624, ptr %38, align 4, !tbaa !9
  %498 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %498, ptr %39, align 4, !tbaa !9
  store i32 91419, ptr %40, align 4, !tbaa !9
  %499 = load i32, ptr %40, align 4, !tbaa !9
  %500 = load i32, ptr %39, align 4, !tbaa !9
  %501 = add i32 %500, %499
  store i32 %501, ptr %39, align 4, !tbaa !9
  %502 = load ptr, ptr %4, align 8, !tbaa !5
  %503 = load i32, ptr %36, align 4, !tbaa !9
  %504 = load i32, ptr %37, align 4, !tbaa !9
  %505 = load i32, ptr %38, align 4, !tbaa !9
  %506 = load i32, ptr %39, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %502, i32 noundef %503, i32 noundef %504, i32 noundef %505, i32 noundef %506)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

507:                                              ; preds = %392
  %508 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %508, ptr %36, align 4, !tbaa !9
  store i32 40, ptr %37, align 4, !tbaa !9
  %509 = load i32, ptr %37, align 4, !tbaa !9
  %510 = load i32, ptr %36, align 4, !tbaa !9
  %511 = add i32 %510, %509
  store i32 %511, ptr %36, align 4, !tbaa !9
  %512 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %512, ptr %20, align 4, !tbaa !9
  br label %715

513:                                              ; preds = %391, %362
  %514 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %514, ptr %36, align 4, !tbaa !9
  %515 = load i64, ptr %34, align 8, !tbaa !11
  store i64 %515, ptr %48, align 8, !tbaa !11
  %516 = load ptr, ptr %4, align 8, !tbaa !5
  %517 = getelementptr inbounds %struct.w2c_hermes, ptr %516, i32 0, i32 6
  %518 = load i32, ptr %36, align 4, !tbaa !9
  %519 = zext i32 %518 to i64
  %520 = add i64 %519, 8
  %521 = load i64, ptr %48, align 8, !tbaa !11
  call void @i64_store(ptr noundef %517, i64 noundef %520, i64 noundef %521)
  %522 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %522, ptr %36, align 4, !tbaa !9
  %523 = load i64, ptr %34, align 8, !tbaa !11
  store i64 %523, ptr %48, align 8, !tbaa !11
  %524 = load ptr, ptr %4, align 8, !tbaa !5
  %525 = getelementptr inbounds %struct.w2c_hermes, ptr %524, i32 0, i32 6
  %526 = load i32, ptr %36, align 4, !tbaa !9
  %527 = zext i32 %526 to i64
  %528 = add i64 %527, 400
  %529 = load i64, ptr %48, align 8, !tbaa !11
  call void @i64_store(ptr noundef %525, i64 noundef %528, i64 noundef %529)
  %530 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %530, ptr %36, align 4, !tbaa !9
  %531 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %531, ptr %37, align 4, !tbaa !9
  store i32 8, ptr %38, align 4, !tbaa !9
  %532 = load i32, ptr %38, align 4, !tbaa !9
  %533 = load i32, ptr %37, align 4, !tbaa !9
  %534 = add i32 %533, %532
  store i32 %534, ptr %37, align 4, !tbaa !9
  %535 = load ptr, ptr %4, align 8, !tbaa !5
  %536 = load i32, ptr %36, align 4, !tbaa !9
  %537 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3ARegisterAllocator0x3A0x3AallocateFastPass0x28llvh0x3A0x3AArrayRef0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x29(ptr noundef %535, i32 noundef %536, i32 noundef %537)
  br label %6631

538:                                              ; preds = %488
  %539 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %539, ptr %36, align 4, !tbaa !9
  store i32 40, ptr %37, align 4, !tbaa !9
  %540 = load i32, ptr %37, align 4, !tbaa !9
  %541 = load i32, ptr %36, align 4, !tbaa !9
  %542 = add i32 %541, %540
  store i32 %542, ptr %36, align 4, !tbaa !9
  %543 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %543, ptr %20, align 4, !tbaa !9
  %544 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %544, ptr %36, align 4, !tbaa !9
  %545 = load i32, ptr %36, align 4, !tbaa !9
  %546 = icmp ne i32 %545, 0
  %547 = xor i1 %546, true
  %548 = zext i1 %547 to i32
  store i32 %548, ptr %36, align 4, !tbaa !9
  %549 = load i32, ptr %36, align 4, !tbaa !9
  %550 = icmp ne i32 %549, 0
  br i1 %550, label %551, label %552

551:                                              ; preds = %538
  br label %715

552:                                              ; preds = %538
  %553 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %553, ptr %36, align 4, !tbaa !9
  %554 = load ptr, ptr %4, align 8, !tbaa !5
  %555 = getelementptr inbounds %struct.w2c_hermes, ptr %554, i32 0, i32 6
  %556 = load i32, ptr %36, align 4, !tbaa !9
  %557 = zext i32 %556 to i64
  %558 = call i32 @i32_load(ptr noundef %555, i64 noundef %557)
  store i32 %558, ptr %36, align 4, !tbaa !9
  %559 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %559, ptr %6, align 4, !tbaa !9
  %560 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %560, ptr %36, align 4, !tbaa !9
  store i32 4, ptr %37, align 4, !tbaa !9
  %561 = load i32, ptr %37, align 4, !tbaa !9
  %562 = load i32, ptr %36, align 4, !tbaa !9
  %563 = add i32 %562, %561
  store i32 %563, ptr %36, align 4, !tbaa !9
  %564 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %564, ptr %11, align 4, !tbaa !9
  %565 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %565, ptr %36, align 4, !tbaa !9
  %566 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %566, ptr %8, align 4, !tbaa !9
  br label %567

567:                                              ; preds = %647, %552
  %568 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %568, ptr %36, align 4, !tbaa !9
  %569 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %569, ptr %37, align 4, !tbaa !9
  %570 = load ptr, ptr %4, align 8, !tbaa !5
  %571 = getelementptr inbounds %struct.w2c_hermes, ptr %570, i32 0, i32 6
  %572 = load i32, ptr %37, align 4, !tbaa !9
  %573 = zext i32 %572 to i64
  %574 = call i32 @i32_load(ptr noundef %571, i64 noundef %573)
  store i32 %574, ptr %37, align 4, !tbaa !9
  %575 = load ptr, ptr %4, align 8, !tbaa !5
  %576 = getelementptr inbounds %struct.w2c_hermes, ptr %575, i32 0, i32 6
  %577 = load i32, ptr %36, align 4, !tbaa !9
  %578 = zext i32 %577 to i64
  %579 = add i64 %578, 216
  %580 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %576, i64 noundef %579, i32 noundef %580)
  %581 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %581, ptr %36, align 4, !tbaa !9
  %582 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %582, ptr %37, align 4, !tbaa !9
  store i32 216, ptr %38, align 4, !tbaa !9
  %583 = load i32, ptr %38, align 4, !tbaa !9
  %584 = load i32, ptr %37, align 4, !tbaa !9
  %585 = add i32 %584, %583
  store i32 %585, ptr %37, align 4, !tbaa !9
  %586 = load ptr, ptr %4, align 8, !tbaa !5
  %587 = load i32, ptr %36, align 4, !tbaa !9
  %588 = load i32, ptr %37, align 4, !tbaa !9
  %589 = call i32 @w2c_hermes_llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20hermes0x3A0x3ARegisterAllocator0x3A0x3ABlockLifetimeInfo0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20hermes0x3A0x3ARegisterAllocator0x3A0x3ABlockLifetimeInfo0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20hermes0x3A0x3ARegisterAllocator0x3A0x3ABlockLifetimeInfo0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20hermes0x3A0x3ARegisterAllocator0x3A0x3ABlockLifetimeInfo0x3E0x3E0x3A0x3AFindAndConstruct0x28hermes0x3A0x3ABasicBlock0x2A0x20const0x260x29(ptr noundef %586, i32 noundef %587, i32 noundef %588)
  store i32 %589, ptr %36, align 4, !tbaa !9
  %590 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %590, ptr %7, align 4, !tbaa !9
  store i32 4, ptr %37, align 4, !tbaa !9
  %591 = load i32, ptr %37, align 4, !tbaa !9
  %592 = load i32, ptr %36, align 4, !tbaa !9
  %593 = add i32 %592, %591
  store i32 %593, ptr %36, align 4, !tbaa !9
  %594 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %594, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %595 = load ptr, ptr %4, align 8, !tbaa !5
  %596 = load i32, ptr %36, align 4, !tbaa !9
  %597 = load i32, ptr %37, align 4, !tbaa !9
  %598 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_llvh0x3A0x3ABitVector0x3A0x3Aresize0x28unsigned0x20int0x2C0x20bool0x29(ptr noundef %595, i32 noundef %596, i32 noundef %597, i32 noundef %598)
  %599 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %599, ptr %36, align 4, !tbaa !9
  store i32 16, ptr %37, align 4, !tbaa !9
  %600 = load i32, ptr %37, align 4, !tbaa !9
  %601 = load i32, ptr %36, align 4, !tbaa !9
  %602 = add i32 %601, %600
  store i32 %602, ptr %36, align 4, !tbaa !9
  %603 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %603, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %604 = load ptr, ptr %4, align 8, !tbaa !5
  %605 = load i32, ptr %36, align 4, !tbaa !9
  %606 = load i32, ptr %37, align 4, !tbaa !9
  %607 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_llvh0x3A0x3ABitVector0x3A0x3Aresize0x28unsigned0x20int0x2C0x20bool0x29(ptr noundef %604, i32 noundef %605, i32 noundef %606, i32 noundef %607)
  %608 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %608, ptr %36, align 4, !tbaa !9
  store i32 28, ptr %37, align 4, !tbaa !9
  %609 = load i32, ptr %37, align 4, !tbaa !9
  %610 = load i32, ptr %36, align 4, !tbaa !9
  %611 = add i32 %610, %609
  store i32 %611, ptr %36, align 4, !tbaa !9
  %612 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %612, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %613 = load ptr, ptr %4, align 8, !tbaa !5
  %614 = load i32, ptr %36, align 4, !tbaa !9
  %615 = load i32, ptr %37, align 4, !tbaa !9
  %616 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_llvh0x3A0x3ABitVector0x3A0x3Aresize0x28unsigned0x20int0x2C0x20bool0x29(ptr noundef %613, i32 noundef %614, i32 noundef %615, i32 noundef %616)
  %617 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %617, ptr %36, align 4, !tbaa !9
  store i32 40, ptr %37, align 4, !tbaa !9
  %618 = load i32, ptr %37, align 4, !tbaa !9
  %619 = load i32, ptr %36, align 4, !tbaa !9
  %620 = add i32 %619, %618
  store i32 %620, ptr %36, align 4, !tbaa !9
  %621 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %621, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %622 = load ptr, ptr %4, align 8, !tbaa !5
  %623 = load i32, ptr %36, align 4, !tbaa !9
  %624 = load i32, ptr %37, align 4, !tbaa !9
  %625 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_llvh0x3A0x3ABitVector0x3A0x3Aresize0x28unsigned0x20int0x2C0x20bool0x29(ptr noundef %622, i32 noundef %623, i32 noundef %624, i32 noundef %625)
  %626 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %626, ptr %36, align 4, !tbaa !9
  store i32 52, ptr %37, align 4, !tbaa !9
  %627 = load i32, ptr %37, align 4, !tbaa !9
  %628 = load i32, ptr %36, align 4, !tbaa !9
  %629 = add i32 %628, %627
  store i32 %629, ptr %36, align 4, !tbaa !9
  %630 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %630, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %631 = load ptr, ptr %4, align 8, !tbaa !5
  %632 = load i32, ptr %36, align 4, !tbaa !9
  %633 = load i32, ptr %37, align 4, !tbaa !9
  %634 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_llvh0x3A0x3ABitVector0x3A0x3Aresize0x28unsigned0x20int0x2C0x20bool0x29(ptr noundef %631, i32 noundef %632, i32 noundef %633, i32 noundef %634)
  %635 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %635, ptr %36, align 4, !tbaa !9
  store i32 4, ptr %37, align 4, !tbaa !9
  %636 = load i32, ptr %37, align 4, !tbaa !9
  %637 = load i32, ptr %36, align 4, !tbaa !9
  %638 = add i32 %637, %636
  store i32 %638, ptr %36, align 4, !tbaa !9
  %639 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %639, ptr %8, align 4, !tbaa !9
  %640 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %640, ptr %37, align 4, !tbaa !9
  %641 = load i32, ptr %36, align 4, !tbaa !9
  %642 = load i32, ptr %37, align 4, !tbaa !9
  %643 = icmp ne i32 %641, %642
  %644 = zext i1 %643 to i32
  store i32 %644, ptr %36, align 4, !tbaa !9
  %645 = load i32, ptr %36, align 4, !tbaa !9
  %646 = icmp ne i32 %645, 0
  br i1 %646, label %647, label %648

647:                                              ; preds = %567
  br label %567

648:                                              ; preds = %567
  %649 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %649, ptr %36, align 4, !tbaa !9
  %650 = load i32, ptr %36, align 4, !tbaa !9
  %651 = icmp ne i32 %650, 0
  %652 = xor i1 %651, true
  %653 = zext i1 %652 to i32
  store i32 %653, ptr %36, align 4, !tbaa !9
  %654 = load i32, ptr %36, align 4, !tbaa !9
  %655 = icmp ne i32 %654, 0
  br i1 %655, label %656, label %657

656:                                              ; preds = %648
  br label %715

657:                                              ; preds = %648
  %658 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %658, ptr %36, align 4, !tbaa !9
  store i32 4, ptr %37, align 4, !tbaa !9
  %659 = load i32, ptr %37, align 4, !tbaa !9
  %660 = load i32, ptr %36, align 4, !tbaa !9
  %661 = add i32 %660, %659
  store i32 %661, ptr %36, align 4, !tbaa !9
  %662 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %662, ptr %6, align 4, !tbaa !9
  br label %663

663:                                              ; preds = %713, %657
  %664 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %664, ptr %36, align 4, !tbaa !9
  %665 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %665, ptr %37, align 4, !tbaa !9
  %666 = load ptr, ptr %4, align 8, !tbaa !5
  %667 = getelementptr inbounds %struct.w2c_hermes, ptr %666, i32 0, i32 6
  %668 = load i32, ptr %37, align 4, !tbaa !9
  %669 = zext i32 %668 to i64
  %670 = call i32 @i32_load(ptr noundef %667, i64 noundef %669)
  store i32 %670, ptr %37, align 4, !tbaa !9
  %671 = load ptr, ptr %4, align 8, !tbaa !5
  %672 = getelementptr inbounds %struct.w2c_hermes, ptr %671, i32 0, i32 6
  %673 = load i32, ptr %36, align 4, !tbaa !9
  %674 = zext i32 %673 to i64
  %675 = add i64 %674, 216
  %676 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %672, i64 noundef %675, i32 noundef %676)
  %677 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %677, ptr %36, align 4, !tbaa !9
  %678 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %678, ptr %37, align 4, !tbaa !9
  %679 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %679, ptr %38, align 4, !tbaa !9
  store i32 216, ptr %39, align 4, !tbaa !9
  %680 = load i32, ptr %39, align 4, !tbaa !9
  %681 = load i32, ptr %38, align 4, !tbaa !9
  %682 = add i32 %681, %680
  store i32 %682, ptr %38, align 4, !tbaa !9
  %683 = load ptr, ptr %4, align 8, !tbaa !5
  %684 = load i32, ptr %37, align 4, !tbaa !9
  %685 = load i32, ptr %38, align 4, !tbaa !9
  %686 = call i32 @w2c_hermes_llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20hermes0x3A0x3ARegisterAllocator0x3A0x3ABlockLifetimeInfo0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20hermes0x3A0x3ARegisterAllocator0x3A0x3ABlockLifetimeInfo0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20hermes0x3A0x3ARegisterAllocator0x3A0x3ABlockLifetimeInfo0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20hermes0x3A0x3ARegisterAllocator0x3A0x3ABlockLifetimeInfo0x3E0x3E0x3A0x3AFindAndConstruct0x28hermes0x3A0x3ABasicBlock0x2A0x20const0x260x29(ptr noundef %683, i32 noundef %684, i32 noundef %685)
  store i32 %686, ptr %37, align 4, !tbaa !9
  store i32 4, 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 = add i32 %688, %687
  store i32 %689, ptr %37, align 4, !tbaa !9
  %690 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %690, ptr %38, align 4, !tbaa !9
  %691 = load ptr, ptr %4, align 8, !tbaa !5
  %692 = getelementptr inbounds %struct.w2c_hermes, ptr %691, i32 0, i32 6
  %693 = load i32, ptr %38, align 4, !tbaa !9
  %694 = zext i32 %693 to i64
  %695 = add i64 %694, 216
  %696 = call i32 @i32_load(ptr noundef %692, i64 noundef %695)
  store i32 %696, ptr %38, align 4, !tbaa !9
  %697 = load ptr, ptr %4, align 8, !tbaa !5
  %698 = load i32, ptr %36, align 4, !tbaa !9
  %699 = load i32, ptr %37, align 4, !tbaa !9
  %700 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3ARegisterAllocator0x3A0x3AcalculateLocalLiveness0x28hermes0x3A0x3ARegisterAllocator0x3A0x3ABlockLifetimeInfo0x260x2C0x20hermes0x3A0x3ABasicBlock0x2A0x29(ptr noundef %697, i32 noundef %698, i32 noundef %699, i32 noundef %700)
  %701 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %701, ptr %36, align 4, !tbaa !9
  store i32 4, ptr %37, align 4, !tbaa !9
  %702 = load i32, ptr %37, align 4, !tbaa !9
  %703 = load i32, ptr %36, align 4, !tbaa !9
  %704 = add i32 %703, %702
  store i32 %704, ptr %36, align 4, !tbaa !9
  %705 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %705, ptr %12, align 4, !tbaa !9
  %706 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %706, ptr %37, align 4, !tbaa !9
  %707 = load i32, ptr %36, align 4, !tbaa !9
  %708 = load i32, ptr %37, align 4, !tbaa !9
  %709 = icmp ne i32 %707, %708
  %710 = zext i1 %709 to i32
  store i32 %710, ptr %36, align 4, !tbaa !9
  %711 = load i32, ptr %36, align 4, !tbaa !9
  %712 = icmp ne i32 %711, 0
  br i1 %712, label %713, label %714

713:                                              ; preds = %663
  br label %663

714:                                              ; preds = %663
  br label %715

715:                                              ; preds = %714, %656, %551, %507
  %716 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %716, ptr %36, align 4, !tbaa !9
  %717 = load i64, ptr %34, align 8, !tbaa !11
  store i64 %717, ptr %48, align 8, !tbaa !11
  %718 = load ptr, ptr %4, align 8, !tbaa !5
  %719 = getelementptr inbounds %struct.w2c_hermes, ptr %718, i32 0, i32 6
  %720 = load i32, ptr %36, align 4, !tbaa !9
  %721 = zext i32 %720 to i64
  %722 = add i64 %721, 32
  %723 = load i64, ptr %48, align 8, !tbaa !11
  call void @i64_store(ptr noundef %719, i64 noundef %722, i64 noundef %723)
  %724 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %724, ptr %36, align 4, !tbaa !9
  %725 = load i64, ptr %34, align 8, !tbaa !11
  store i64 %725, ptr %48, align 8, !tbaa !11
  %726 = load ptr, ptr %4, align 8, !tbaa !5
  %727 = getelementptr inbounds %struct.w2c_hermes, ptr %726, i32 0, i32 6
  %728 = load i32, ptr %36, align 4, !tbaa !9
  %729 = zext i32 %728 to i64
  %730 = add i64 %729, 392
  %731 = load i64, ptr %48, align 8, !tbaa !11
  call void @i64_store(ptr noundef %727, i64 noundef %730, i64 noundef %731)
  %732 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %732, ptr %36, align 4, !tbaa !9
  %733 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %733, ptr %37, align 4, !tbaa !9
  store i32 32, ptr %38, align 4, !tbaa !9
  %734 = load i32, ptr %38, align 4, !tbaa !9
  %735 = load i32, ptr %37, align 4, !tbaa !9
  %736 = add i32 %735, %734
  store i32 %736, ptr %37, align 4, !tbaa !9
  %737 = load ptr, ptr %4, align 8, !tbaa !5
  %738 = load i32, ptr %36, align 4, !tbaa !9
  %739 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3ARegisterAllocator0x3A0x3AcalculateGlobalLiveness0x28llvh0x3A0x3AArrayRef0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x29(ptr noundef %737, i32 noundef %738, i32 noundef %739)
  %740 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %740, ptr %36, align 4, !tbaa !9
  %741 = load i64, ptr %34, align 8, !tbaa !11
  store i64 %741, ptr %48, align 8, !tbaa !11
  %742 = load ptr, ptr %4, align 8, !tbaa !5
  %743 = getelementptr inbounds %struct.w2c_hermes, ptr %742, i32 0, i32 6
  %744 = load i32, ptr %36, align 4, !tbaa !9
  %745 = zext i32 %744 to i64
  %746 = add i64 %745, 24
  %747 = load i64, ptr %48, align 8, !tbaa !11
  call void @i64_store(ptr noundef %743, i64 noundef %746, i64 noundef %747)
  %748 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %748, ptr %36, align 4, !tbaa !9
  %749 = load i64, ptr %34, align 8, !tbaa !11
  store i64 %749, ptr %48, align 8, !tbaa !11
  %750 = load ptr, ptr %4, align 8, !tbaa !5
  %751 = getelementptr inbounds %struct.w2c_hermes, ptr %750, i32 0, i32 6
  %752 = load i32, ptr %36, align 4, !tbaa !9
  %753 = zext i32 %752 to i64
  %754 = add i64 %753, 384
  %755 = load i64, ptr %48, align 8, !tbaa !11
  call void @i64_store(ptr noundef %751, i64 noundef %754, i64 noundef %755)
  %756 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %756, ptr %36, align 4, !tbaa !9
  %757 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %757, ptr %37, align 4, !tbaa !9
  store i32 24, ptr %38, align 4, !tbaa !9
  %758 = load i32, ptr %38, align 4, !tbaa !9
  %759 = load i32, ptr %37, align 4, !tbaa !9
  %760 = add i32 %759, %758
  store i32 %760, ptr %37, align 4, !tbaa !9
  %761 = load ptr, ptr %4, align 8, !tbaa !5
  %762 = load i32, ptr %36, align 4, !tbaa !9
  %763 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3ARegisterAllocator0x3A0x3AcalculateLiveIntervals0x28llvh0x3A0x3AArrayRef0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x29(ptr noundef %761, i32 noundef %762, i32 noundef %763)
  %764 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %764, ptr %36, align 4, !tbaa !9
  store i32 4, ptr %37, align 4, !tbaa !9
  %765 = load i32, ptr %37, align 4, !tbaa !9
  %766 = load i32, ptr %36, align 4, !tbaa !9
  %767 = add i32 %766, %765
  store i32 %767, ptr %36, align 4, !tbaa !9
  %768 = load ptr, ptr %4, align 8, !tbaa !5
  %769 = load i32, ptr %36, align 4, !tbaa !9
  call void @w2c_hermes_llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20hermes0x3A0x3ARegisterAllocator0x3A0x3ABlockLifetimeInfo0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20hermes0x3A0x3ARegisterAllocator0x3A0x3ABlockLifetimeInfo0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20hermes0x3A0x3ARegisterAllocator0x3A0x3ABlockLifetimeInfo0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20hermes0x3A0x3ARegisterAllocator0x3A0x3ABlockLifetimeInfo0x3E0x3E0x3A0x3Aclear0x280x29(ptr noundef %768, i32 noundef %769)
  %770 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %770, ptr %36, align 4, !tbaa !9
  store i64 0, ptr %48, align 8, !tbaa !11
  %771 = load ptr, ptr %4, align 8, !tbaa !5
  %772 = getelementptr inbounds %struct.w2c_hermes, ptr %771, i32 0, i32 6
  %773 = load i32, ptr %36, align 4, !tbaa !9
  %774 = zext i32 %773 to i64
  %775 = add i64 %774, 376
  %776 = load i64, ptr %48, align 8, !tbaa !11
  call void @i64_store(ptr noundef %772, i64 noundef %775, i64 noundef %776)
  %777 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %777, ptr %36, align 4, !tbaa !9
  %778 = load i64, ptr %34, align 8, !tbaa !11
  store i64 %778, ptr %48, align 8, !tbaa !11
  %779 = load ptr, ptr %4, align 8, !tbaa !5
  %780 = getelementptr inbounds %struct.w2c_hermes, ptr %779, i32 0, i32 6
  %781 = load i32, ptr %36, align 4, !tbaa !9
  %782 = zext i32 %781 to i64
  %783 = add i64 %782, 360
  %784 = load i64, ptr %48, align 8, !tbaa !11
  call void @i64_store(ptr noundef %780, i64 noundef %783, i64 noundef %784)
  %785 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %785, ptr %36, align 4, !tbaa !9
  %786 = load i64, ptr %34, align 8, !tbaa !11
  store i64 %786, ptr %48, align 8, !tbaa !11
  %787 = load ptr, ptr %4, align 8, !tbaa !5
  %788 = getelementptr inbounds %struct.w2c_hermes, ptr %787, i32 0, i32 6
  %789 = load i32, ptr %36, align 4, !tbaa !9
  %790 = zext i32 %789 to i64
  %791 = add i64 %790, 16
  %792 = load i64, ptr %48, align 8, !tbaa !11
  call void @i64_store(ptr noundef %788, i64 noundef %791, i64 noundef %792)
  %793 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %793, ptr %36, align 4, !tbaa !9
  store i64 0, ptr %48, align 8, !tbaa !11
  %794 = load ptr, ptr %4, align 8, !tbaa !5
  %795 = getelementptr inbounds %struct.w2c_hermes, ptr %794, i32 0, i32 6
  %796 = load i32, ptr %36, align 4, !tbaa !9
  %797 = zext i32 %796 to i64
  %798 = add i64 %797, 368
  %799 = load i64, ptr %48, align 8, !tbaa !11
  call void @i64_store(ptr noundef %795, i64 noundef %798, i64 noundef %799)
  %800 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %800, ptr %36, align 4, !tbaa !9
  %801 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %801, ptr %37, align 4, !tbaa !9
  store i32 368, ptr %38, align 4, !tbaa !9
  %802 = load i32, ptr %38, align 4, !tbaa !9
  %803 = load i32, ptr %37, align 4, !tbaa !9
  %804 = add i32 %803, %802
  store i32 %804, ptr %37, align 4, !tbaa !9
  %805 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %805, ptr %38, align 4, !tbaa !9
  store i32 16, ptr %39, align 4, !tbaa !9
  %806 = load i32, ptr %39, align 4, !tbaa !9
  %807 = load i32, ptr %38, align 4, !tbaa !9
  %808 = add i32 %807, %806
  store i32 %808, ptr %38, align 4, !tbaa !9
  %809 = load ptr, ptr %4, align 8, !tbaa !5
  %810 = load i32, ptr %36, align 4, !tbaa !9
  %811 = load i32, ptr %37, align 4, !tbaa !9
  %812 = load i32, ptr %38, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3ARegisterAllocator0x3A0x3Acoalesce0x28llvh0x3A0x3ADenseMap0x3Chermes0x3A0x3AInstruction0x2A0x2C0x20hermes0x3A0x3AInstruction0x2A0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3AInstruction0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3AInstruction0x2A0x2C0x20hermes0x3A0x3AInstruction0x2A0x3E0x3E0x260x2C0x20llvh0x3A0x3AArrayRef0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x29(ptr noundef %809, i32 noundef %810, i32 noundef %811, i32 noundef %812)
  %813 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %813, ptr %36, align 4, !tbaa !9
  %814 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %814, ptr %37, align 4, !tbaa !9
  %815 = load ptr, ptr %4, align 8, !tbaa !5
  %816 = getelementptr inbounds %struct.w2c_hermes, ptr %815, i32 0, i32 6
  %817 = load i32, ptr %36, align 4, !tbaa !9
  %818 = zext i32 %817 to i64
  %819 = add i64 %818, 356
  %820 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %816, i64 noundef %819, i32 noundef %820)
  %821 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %821, ptr %36, align 4, !tbaa !9
  store i64 137438953472, ptr %48, align 8, !tbaa !11
  %822 = load ptr, ptr %4, align 8, !tbaa !5
  %823 = getelementptr inbounds %struct.w2c_hermes, ptr %822, i32 0, i32 6
  %824 = load i32, ptr %36, align 4, !tbaa !9
  %825 = zext i32 %824 to i64
  %826 = add i64 %825, 220
  %827 = load i64, ptr %48, align 8, !tbaa !11
  call void @i64_store(ptr noundef %823, i64 noundef %826, i64 noundef %827)
  %828 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %828, ptr %36, align 4, !tbaa !9
  %829 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %829, ptr %37, align 4, !tbaa !9
  store i32 228, ptr %38, align 4, !tbaa !9
  %830 = load i32, ptr %38, align 4, !tbaa !9
  %831 = load i32, ptr %37, align 4, !tbaa !9
  %832 = add i32 %831, %830
  store i32 %832, ptr %37, align 4, !tbaa !9
  %833 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %833, ptr %28, align 4, !tbaa !9
  %834 = load ptr, ptr %4, align 8, !tbaa !5
  %835 = getelementptr inbounds %struct.w2c_hermes, ptr %834, i32 0, i32 6
  %836 = load i32, ptr %36, align 4, !tbaa !9
  %837 = zext i32 %836 to i64
  %838 = add i64 %837, 216
  %839 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %835, i64 noundef %838, i32 noundef %839)
  store i32 0, ptr %36, align 4, !tbaa !9
  %840 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %840, ptr %14, align 4, !tbaa !9
  %841 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %841, ptr %36, align 4, !tbaa !9
  %842 = load ptr, ptr %4, align 8, !tbaa !5
  %843 = getelementptr inbounds %struct.w2c_hermes, ptr %842, i32 0, i32 6
  %844 = load i32, ptr %36, align 4, !tbaa !9
  %845 = zext i32 %844 to i64
  %846 = add i64 %845, 40
  %847 = call i32 @i32_load(ptr noundef %843, i64 noundef %846)
  store i32 %847, ptr %36, align 4, !tbaa !9
  %848 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %848, ptr %12, align 4, !tbaa !9
  store i32 0, ptr %37, align 4, !tbaa !9
  %849 = load i32, ptr %36, align 4, !tbaa !9
  %850 = load i32, ptr %37, align 4, !tbaa !9
  %851 = icmp sgt i32 %849, %850
  %852 = zext i1 %851 to i32
  store i32 %852, ptr %36, align 4, !tbaa !9
  %853 = load i32, ptr %36, align 4, !tbaa !9
  %854 = icmp ne i32 %853, 0
  br i1 %854, label %855, label %5591

855:                                              ; preds = %715
  br label %856

856:                                              ; preds = %1137, %855
  %857 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %857, ptr %36, align 4, !tbaa !9
  %858 = load ptr, ptr %4, align 8, !tbaa !5
  %859 = getelementptr inbounds %struct.w2c_hermes, ptr %858, i32 0, i32 6
  %860 = load i32, ptr %36, align 4, !tbaa !9
  %861 = zext i32 %860 to i64
  %862 = add i64 %861, 220
  %863 = call i32 @i32_load(ptr noundef %859, i64 noundef %862)
  store i32 %863, ptr %36, align 4, !tbaa !9
  %864 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %864, ptr %6, align 4, !tbaa !9
  %865 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %865, ptr %37, align 4, !tbaa !9
  %866 = load ptr, ptr %4, align 8, !tbaa !5
  %867 = getelementptr inbounds %struct.w2c_hermes, ptr %866, i32 0, i32 6
  %868 = load i32, ptr %37, align 4, !tbaa !9
  %869 = zext i32 %868 to i64
  %870 = add i64 %869, 224
  %871 = call i32 @i32_load(ptr noundef %867, i64 noundef %870)
  store i32 %871, ptr %37, align 4, !tbaa !9
  %872 = load i32, ptr %36, align 4, !tbaa !9
  %873 = load i32, ptr %37, align 4, !tbaa !9
  %874 = icmp uge i32 %872, %873
  %875 = zext i1 %874 to i32
  store i32 %875, ptr %36, align 4, !tbaa !9
  %876 = load i32, ptr %36, align 4, !tbaa !9
  %877 = icmp ne i32 %876, 0
  br i1 %877, label %878, label %897

878:                                              ; preds = %856
  %879 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %879, ptr %36, align 4, !tbaa !9
  store i32 216, ptr %37, align 4, !tbaa !9
  %880 = load i32, ptr %37, align 4, !tbaa !9
  %881 = load i32, ptr %36, align 4, !tbaa !9
  %882 = add i32 %881, %880
  store i32 %882, ptr %36, align 4, !tbaa !9
  %883 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %883, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %884 = load ptr, ptr %4, align 8, !tbaa !5
  %885 = load i32, ptr %36, align 4, !tbaa !9
  %886 = load i32, ptr %37, align 4, !tbaa !9
  %887 = load i32, ptr %38, align 4, !tbaa !9
  %888 = load i32, ptr %39, align 4, !tbaa !9
  call void @w2c_hermes_llvh0x3A0x3ASmallVectorBase0x3A0x3Agrow_pod0x28void0x2A0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef %884, i32 noundef %885, i32 noundef %886, i32 noundef %887, i32 noundef %888)
  %889 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %889, ptr %36, align 4, !tbaa !9
  %890 = load ptr, ptr %4, align 8, !tbaa !5
  %891 = getelementptr inbounds %struct.w2c_hermes, ptr %890, i32 0, i32 6
  %892 = load i32, ptr %36, align 4, !tbaa !9
  %893 = zext i32 %892 to i64
  %894 = add i64 %893, 220
  %895 = call i32 @i32_load(ptr noundef %891, i64 noundef %894)
  store i32 %895, ptr %36, align 4, !tbaa !9
  %896 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %896, ptr %6, align 4, !tbaa !9
  br label %897

897:                                              ; preds = %878, %856
  %898 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %898, ptr %36, align 4, !tbaa !9
  %899 = load ptr, ptr %4, align 8, !tbaa !5
  %900 = getelementptr inbounds %struct.w2c_hermes, ptr %899, i32 0, i32 6
  %901 = load i32, ptr %36, align 4, !tbaa !9
  %902 = zext i32 %901 to i64
  %903 = add i64 %902, 216
  %904 = call i32 @i32_load(ptr noundef %900, i64 noundef %903)
  store i32 %904, ptr %36, align 4, !tbaa !9
  %905 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %905, ptr %37, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %906 = load i32, ptr %38, align 4, !tbaa !9
  %907 = and i32 %906, 31
  %908 = load i32, ptr %37, align 4, !tbaa !9
  %909 = shl i32 %908, %907
  store i32 %909, ptr %37, align 4, !tbaa !9
  %910 = load i32, ptr %37, align 4, !tbaa !9
  %911 = load i32, ptr %36, align 4, !tbaa !9
  %912 = add i32 %911, %910
  store i32 %912, ptr %36, align 4, !tbaa !9
  %913 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %913, ptr %37, align 4, !tbaa !9
  %914 = load ptr, ptr %4, align 8, !tbaa !5
  %915 = getelementptr inbounds %struct.w2c_hermes, ptr %914, i32 0, i32 6
  %916 = load i32, ptr %36, align 4, !tbaa !9
  %917 = zext i32 %916 to i64
  %918 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %915, i64 noundef %917, i32 noundef %918)
  %919 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %919, ptr %36, align 4, !tbaa !9
  %920 = load ptr, ptr %4, align 8, !tbaa !5
  %921 = getelementptr inbounds %struct.w2c_hermes, ptr %920, i32 0, i32 6
  %922 = load i32, ptr %36, align 4, !tbaa !9
  %923 = zext i32 %922 to i64
  %924 = add i64 %923, 220
  %925 = call i32 @i32_load(ptr noundef %921, i64 noundef %924)
  store i32 %925, ptr %36, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %926 = load i32, ptr %37, align 4, !tbaa !9
  %927 = load i32, ptr %36, align 4, !tbaa !9
  %928 = add i32 %927, %926
  store i32 %928, ptr %36, align 4, !tbaa !9
  %929 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %929, ptr %6, align 4, !tbaa !9
  %930 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %930, ptr %37, 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, 224
  %936 = call i32 @i32_load(ptr noundef %932, i64 noundef %935)
  store i32 %936, ptr %37, align 4, !tbaa !9
  %937 = load i32, ptr %36, align 4, !tbaa !9
  %938 = load i32, ptr %37, align 4, !tbaa !9
  %939 = icmp ugt i32 %937, %938
  %940 = zext i1 %939 to i32
  store i32 %940, ptr %36, align 4, !tbaa !9
  %941 = load i32, ptr %36, align 4, !tbaa !9
  %942 = icmp ne i32 %941, 0
  br i1 %942, label %943, label %944

943:                                              ; preds = %897
  br label %5411

944:                                              ; preds = %897
  %945 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %945, ptr %36, align 4, !tbaa !9
  %946 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %946, ptr %37, align 4, !tbaa !9
  %947 = load ptr, ptr %4, align 8, !tbaa !5
  %948 = getelementptr inbounds %struct.w2c_hermes, ptr %947, i32 0, i32 6
  %949 = load i32, ptr %36, align 4, !tbaa !9
  %950 = zext i32 %949 to i64
  %951 = add i64 %950, 220
  %952 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %948, i64 noundef %951, i32 noundef %952)
  %953 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %953, ptr %36, align 4, !tbaa !9
  %954 = load ptr, ptr %4, align 8, !tbaa !5
  %955 = getelementptr inbounds %struct.w2c_hermes, ptr %954, i32 0, i32 6
  %956 = load i32, ptr %36, align 4, !tbaa !9
  %957 = zext i32 %956 to i64
  %958 = add i64 %957, 216
  %959 = call i32 @i32_load(ptr noundef %955, i64 noundef %958)
  store i32 %959, ptr %36, align 4, !tbaa !9
  %960 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %960, ptr %11, align 4, !tbaa !9
  %961 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %961, ptr %36, align 4, !tbaa !9
  %962 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %962, ptr %37, align 4, !tbaa !9
  %963 = load ptr, ptr %4, align 8, !tbaa !5
  %964 = getelementptr inbounds %struct.w2c_hermes, ptr %963, i32 0, i32 6
  %965 = load i32, ptr %37, align 4, !tbaa !9
  %966 = zext i32 %965 to i64
  %967 = add i64 %966, 356
  %968 = call i32 @i32_load(ptr noundef %964, i64 noundef %967)
  store i32 %968, ptr %37, 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 %36, align 4, !tbaa !9
  %972 = zext i32 %971 to i64
  %973 = add i64 %972, 72
  %974 = load i32, ptr %37, 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 %36, align 4, !tbaa !9
  store i32 2, ptr %37, align 4, !tbaa !9
  %976 = load i32, ptr %36, align 4, !tbaa !9
  %977 = load i32, ptr %37, align 4, !tbaa !9
  %978 = icmp slt i32 %976, %977
  %979 = zext i1 %978 to i32
  store i32 %979, ptr %36, align 4, !tbaa !9
  %980 = load i32, ptr %36, align 4, !tbaa !9
  %981 = icmp ne i32 %980, 0
  br i1 %981, label %982, label %983

982:                                              ; preds = %944
  br label %1124

983:                                              ; preds = %944
  %984 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %984, ptr %36, align 4, !tbaa !9
  store i32 72, ptr %37, align 4, !tbaa !9
  %985 = load i32, ptr %37, align 4, !tbaa !9
  %986 = load i32, ptr %36, align 4, !tbaa !9
  %987 = add i32 %986, %985
  store i32 %987, ptr %36, align 4, !tbaa !9
  %988 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %988, ptr %37, align 4, !tbaa !9
  %989 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %989, ptr %38, align 4, !tbaa !9
  store i32 1073741822, ptr %39, align 4, !tbaa !9
  %990 = load i32, ptr %39, align 4, !tbaa !9
  %991 = load i32, ptr %38, align 4, !tbaa !9
  %992 = and i32 %991, %990
  store i32 %992, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %993 = load i32, ptr %39, align 4, !tbaa !9
  %994 = load i32, ptr %38, align 4, !tbaa !9
  %995 = sub i32 %994, %993
  store i32 %995, ptr %38, align 4, !tbaa !9
  %996 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %996, ptr %10, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %997 = load i32, ptr %39, align 4, !tbaa !9
  %998 = and i32 %997, 31
  %999 = load i32, ptr %38, align 4, !tbaa !9
  %1000 = shl i32 %999, %998
  store i32 %1000, ptr %38, align 4, !tbaa !9
  %1001 = load i32, ptr %38, align 4, !tbaa !9
  %1002 = load i32, ptr %37, align 4, !tbaa !9
  %1003 = add i32 %1002, %1001
  store i32 %1003, ptr %37, align 4, !tbaa !9
  %1004 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1004, ptr %8, align 4, !tbaa !9
  %1005 = load ptr, ptr %4, align 8, !tbaa !5
  %1006 = getelementptr inbounds %struct.w2c_hermes, ptr %1005, i32 0, i32 6
  %1007 = load i32, ptr %37, align 4, !tbaa !9
  %1008 = zext i32 %1007 to i64
  %1009 = call i32 @i32_load(ptr noundef %1006, i64 noundef %1008)
  store i32 %1009, ptr %37, align 4, !tbaa !9
  %1010 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1010, ptr %38, align 4, !tbaa !9
  %1011 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1011, ptr %39, align 4, !tbaa !9
  store i32 2, ptr %40, align 4, !tbaa !9
  %1012 = load i32, ptr %40, align 4, !tbaa !9
  %1013 = and i32 %1012, 31
  %1014 = load i32, ptr %39, align 4, !tbaa !9
  %1015 = shl i32 %1014, %1013
  store i32 %1015, ptr %39, align 4, !tbaa !9
  %1016 = load i32, ptr %39, align 4, !tbaa !9
  %1017 = load i32, ptr %38, align 4, !tbaa !9
  %1018 = add i32 %1017, %1016
  store i32 %1018, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %1019 = load i32, ptr %39, align 4, !tbaa !9
  %1020 = load i32, ptr %38, align 4, !tbaa !9
  %1021 = sub i32 %1020, %1019
  store i32 %1021, ptr %38, align 4, !tbaa !9
  %1022 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %1022, ptr %7, align 4, !tbaa !9
  %1023 = load ptr, ptr %4, align 8, !tbaa !5
  %1024 = getelementptr inbounds %struct.w2c_hermes, ptr %1023, i32 0, i32 6
  %1025 = load i32, ptr %38, align 4, !tbaa !9
  %1026 = zext i32 %1025 to i64
  %1027 = call i32 @i32_load(ptr noundef %1024, i64 noundef %1026)
  store i32 %1027, ptr %38, align 4, !tbaa !9
  %1028 = load ptr, ptr %4, align 8, !tbaa !5
  %1029 = load i32, ptr %36, align 4, !tbaa !9
  %1030 = load i32, ptr %37, align 4, !tbaa !9
  %1031 = load i32, ptr %38, align 4, !tbaa !9
  %1032 = call i32 @w2c_hermes_hermes0x3A0x3ARegisterAllocator0x3A0x3Aallocate0x28llvh0x3A0x3AArrayRef0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x290x3A0x3A0x24_10x3A0x3Aoperator0x280x290x28unsigned0x20int0x2C0x20unsigned0x20int0x290x20const(ptr noundef %1028, i32 noundef %1029, i32 noundef %1030, i32 noundef %1031)
  store i32 %1032, ptr %36, align 4, !tbaa !9
  %1033 = load i32, ptr %36, align 4, !tbaa !9
  %1034 = icmp ne i32 %1033, 0
  %1035 = xor i1 %1034, true
  %1036 = zext i1 %1035 to i32
  store i32 %1036, ptr %36, align 4, !tbaa !9
  %1037 = load i32, ptr %36, align 4, !tbaa !9
  %1038 = icmp ne i32 %1037, 0
  br i1 %1038, label %1039, label %1040

1039:                                             ; preds = %983
  br label %1124

1040:                                             ; preds = %983
  %1041 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1041, ptr %36, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %1042 = load i32, ptr %37, align 4, !tbaa !9
  %1043 = and i32 %1042, 31
  %1044 = load i32, ptr %36, align 4, !tbaa !9
  %1045 = lshr i32 %1044, %1043
  store i32 %1045, ptr %36, align 4, !tbaa !9
  %1046 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1046, ptr %6, align 4, !tbaa !9
  %1047 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1047, ptr %36, align 4, !tbaa !9
  %1048 = load ptr, ptr %4, align 8, !tbaa !5
  %1049 = getelementptr inbounds %struct.w2c_hermes, ptr %1048, i32 0, i32 6
  %1050 = load i32, ptr %36, align 4, !tbaa !9
  %1051 = zext i32 %1050 to i64
  %1052 = call i32 @i32_load(ptr noundef %1049, i64 noundef %1051)
  store i32 %1052, ptr %36, align 4, !tbaa !9
  %1053 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1053, ptr %13, align 4, !tbaa !9
  br label %1054

1054:                                             ; preds = %1114, %1040
  %1055 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1055, ptr %36, align 4, !tbaa !9
  %1056 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1056, ptr %37, align 4, !tbaa !9
  %1057 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1057, ptr %10, align 4, !tbaa !9
  %1058 = load ptr, ptr %4, align 8, !tbaa !5
  %1059 = getelementptr inbounds %struct.w2c_hermes, ptr %1058, i32 0, i32 6
  %1060 = load i32, ptr %37, align 4, !tbaa !9
  %1061 = zext i32 %1060 to i64
  %1062 = call i32 @i32_load(ptr noundef %1059, i64 noundef %1061)
  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 %36, align 4, !tbaa !9
  %1066 = zext i32 %1065 to i64
  %1067 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1064, i64 noundef %1066, i32 noundef %1067)
  %1068 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1068, ptr %36, align 4, !tbaa !9
  %1069 = load i32, ptr %36, 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 %36, align 4, !tbaa !9
  %1073 = load i32, ptr %36, align 4, !tbaa !9
  %1074 = icmp ne i32 %1073, 0
  br i1 %1074, label %1075, label %1076

1075:                                             ; preds = %1054
  br label %1116

1076:                                             ; preds = %1054
  %1077 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1077, ptr %36, align 4, !tbaa !9
  %1078 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1078, ptr %7, align 4, !tbaa !9
  %1079 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1079, ptr %36, align 4, !tbaa !9
  store i32 72, ptr %37, align 4, !tbaa !9
  %1080 = load i32, ptr %37, align 4, !tbaa !9
  %1081 = load i32, ptr %36, align 4, !tbaa !9
  %1082 = add i32 %1081, %1080
  store i32 %1082, ptr %36, align 4, !tbaa !9
  %1083 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1083, ptr %37, align 4, !tbaa !9
  %1084 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1084, ptr %38, align 4, !tbaa !9
  store i32 1, 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 = sub i32 %1086, %1085
  store i32 %1087, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %1088 = load i32, ptr %39, align 4, !tbaa !9
  %1089 = and i32 %1088, 31
  %1090 = load i32, ptr %38, align 4, !tbaa !9
  %1091 = lshr i32 %1090, %1089
  store i32 %1091, ptr %38, align 4, !tbaa !9
  %1092 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %1092, ptr %6, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %1093 = load i32, ptr %39, align 4, !tbaa !9
  %1094 = and i32 %1093, 31
  %1095 = load i32, ptr %38, align 4, !tbaa !9
  %1096 = shl i32 %1095, %1094
  store i32 %1096, ptr %38, align 4, !tbaa !9
  %1097 = load i32, ptr %38, align 4, !tbaa !9
  %1098 = load i32, ptr %37, align 4, !tbaa !9
  %1099 = add i32 %1098, %1097
  store i32 %1099, ptr %37, align 4, !tbaa !9
  %1100 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1100, ptr %8, align 4, !tbaa !9
  %1101 = load ptr, ptr %4, align 8, !tbaa !5
  %1102 = getelementptr inbounds %struct.w2c_hermes, ptr %1101, i32 0, i32 6
  %1103 = load i32, ptr %37, align 4, !tbaa !9
  %1104 = zext i32 %1103 to i64
  %1105 = call i32 @i32_load(ptr noundef %1102, i64 noundef %1104)
  store i32 %1105, ptr %37, align 4, !tbaa !9
  %1106 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1106, ptr %38, align 4, !tbaa !9
  %1107 = load ptr, ptr %4, align 8, !tbaa !5
  %1108 = load i32, ptr %36, align 4, !tbaa !9
  %1109 = load i32, ptr %37, align 4, !tbaa !9
  %1110 = load i32, ptr %38, align 4, !tbaa !9
  %1111 = call i32 @w2c_hermes_hermes0x3A0x3ARegisterAllocator0x3A0x3Aallocate0x28llvh0x3A0x3AArrayRef0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x290x3A0x3A0x24_10x3A0x3Aoperator0x280x290x28unsigned0x20int0x2C0x20unsigned0x20int0x290x20const(ptr noundef %1107, i32 noundef %1108, i32 noundef %1109, i32 noundef %1110)
  store i32 %1111, ptr %36, align 4, !tbaa !9
  %1112 = load i32, ptr %36, align 4, !tbaa !9
  %1113 = icmp ne i32 %1112, 0
  br i1 %1113, label %1114, label %1115

1114:                                             ; preds = %1076
  br label %1054

1115:                                             ; preds = %1076
  br label %1116

1116:                                             ; preds = %1115, %1075
  %1117 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1117, ptr %36, align 4, !tbaa !9
  %1118 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1118, ptr %37, align 4, !tbaa !9
  %1119 = load ptr, ptr %4, align 8, !tbaa !5
  %1120 = getelementptr inbounds %struct.w2c_hermes, ptr %1119, i32 0, i32 6
  %1121 = load i32, ptr %36, align 4, !tbaa !9
  %1122 = zext i32 %1121 to i64
  %1123 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1120, i64 noundef %1122, i32 noundef %1123)
  br label %1124

1124:                                             ; preds = %1116, %1039, %982
  %1125 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1125, ptr %36, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %1126 = load i32, ptr %37, align 4, !tbaa !9
  %1127 = load i32, ptr %36, align 4, !tbaa !9
  %1128 = add i32 %1127, %1126
  store i32 %1128, ptr %36, align 4, !tbaa !9
  %1129 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1129, ptr %14, align 4, !tbaa !9
  %1130 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1130, ptr %37, align 4, !tbaa !9
  %1131 = load i32, ptr %36, align 4, !tbaa !9
  %1132 = load i32, ptr %37, align 4, !tbaa !9
  %1133 = icmp ne i32 %1131, %1132
  %1134 = zext i1 %1133 to i32
  store i32 %1134, ptr %36, align 4, !tbaa !9
  %1135 = load i32, ptr %36, align 4, !tbaa !9
  %1136 = icmp ne i32 %1135, 0
  br i1 %1136, label %1137, label %1138

1137:                                             ; preds = %1124
  br label %856

1138:                                             ; preds = %1124
  %1139 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1139, ptr %36, align 4, !tbaa !9
  %1140 = load ptr, ptr %4, align 8, !tbaa !5
  %1141 = getelementptr inbounds %struct.w2c_hermes, ptr %1140, i32 0, i32 6
  %1142 = load i32, ptr %36, align 4, !tbaa !9
  %1143 = zext i32 %1142 to i64
  %1144 = add i64 %1143, 220
  %1145 = call i32 @i32_load(ptr noundef %1141, i64 noundef %1144)
  store i32 %1145, ptr %36, align 4, !tbaa !9
  %1146 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1146, ptr %6, align 4, !tbaa !9
  %1147 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1147, ptr %36, align 4, !tbaa !9
  %1148 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %1148, ptr %37, align 4, !tbaa !9
  %1149 = load ptr, ptr %4, align 8, !tbaa !5
  %1150 = getelementptr inbounds %struct.w2c_hermes, ptr %1149, i32 0, i32 6
  %1151 = load i32, ptr %36, align 4, !tbaa !9
  %1152 = zext i32 %1151 to i64
  %1153 = add i64 %1152, 212
  %1154 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1150, i64 noundef %1153, i32 noundef %1154)
  %1155 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1155, ptr %36, align 4, !tbaa !9
  store i64 137438953472, ptr %48, align 8, !tbaa !11
  %1156 = load ptr, ptr %4, align 8, !tbaa !5
  %1157 = getelementptr inbounds %struct.w2c_hermes, ptr %1156, i32 0, i32 6
  %1158 = load i32, ptr %36, align 4, !tbaa !9
  %1159 = zext i32 %1158 to i64
  %1160 = add i64 %1159, 76
  %1161 = load i64, ptr %48, align 8, !tbaa !11
  call void @i64_store(ptr noundef %1157, i64 noundef %1160, i64 noundef %1161)
  %1162 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1162, ptr %36, align 4, !tbaa !9
  %1163 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1163, ptr %37, align 4, !tbaa !9
  store i32 84, ptr %38, align 4, !tbaa !9
  %1164 = load i32, ptr %38, align 4, !tbaa !9
  %1165 = load i32, ptr %37, align 4, !tbaa !9
  %1166 = add i32 %1165, %1164
  store i32 %1166, ptr %37, align 4, !tbaa !9
  %1167 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1167, ptr %22, 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 %36, align 4, !tbaa !9
  %1171 = zext i32 %1170 to i64
  %1172 = add i64 %1171, 72
  %1173 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1169, i64 noundef %1172, i32 noundef %1173)
  %1174 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1174, ptr %36, align 4, !tbaa !9
  %1175 = load i32, ptr %36, align 4, !tbaa !9
  %1176 = icmp ne i32 %1175, 0
  %1177 = xor i1 %1176, true
  %1178 = zext i1 %1177 to i32
  store i32 %1178, ptr %36, align 4, !tbaa !9
  %1179 = load i32, ptr %36, align 4, !tbaa !9
  %1180 = icmp ne i32 %1179, 0
  br i1 %1180, label %1181, label %1182

1181:                                             ; preds = %1138
  br label %6098

1182:                                             ; preds = %1138
  %1183 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %1183, ptr %36, align 4, !tbaa !9
  store i32 1084, ptr %37, align 4, !tbaa !9
  %1184 = load i32, ptr %37, align 4, !tbaa !9
  %1185 = load i32, ptr %36, align 4, !tbaa !9
  %1186 = add i32 %1185, %1184
  store i32 %1186, ptr %36, align 4, !tbaa !9
  %1187 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1187, ptr %31, align 4, !tbaa !9
  %1188 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %1188, ptr %36, align 4, !tbaa !9
  store i32 1100, ptr %37, align 4, !tbaa !9
  %1189 = load i32, ptr %37, align 4, !tbaa !9
  %1190 = load i32, ptr %36, align 4, !tbaa !9
  %1191 = add i32 %1190, %1189
  store i32 %1191, ptr %36, align 4, !tbaa !9
  %1192 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1192, ptr %29, align 4, !tbaa !9
  %1193 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1193, ptr %36, align 4, !tbaa !9
  store i32 432, ptr %37, align 4, !tbaa !9
  %1194 = load i32, ptr %37, align 4, !tbaa !9
  %1195 = load i32, ptr %36, align 4, !tbaa !9
  %1196 = add i32 %1195, %1194
  store i32 %1196, ptr %36, align 4, !tbaa !9
  %1197 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1197, ptr %23, align 4, !tbaa !9
  br label %1198

1198:                                             ; preds = %5409, %1182
  %1199 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1199, ptr %36, align 4, !tbaa !9
  %1200 = load ptr, ptr %4, align 8, !tbaa !5
  %1201 = getelementptr inbounds %struct.w2c_hermes, ptr %1200, i32 0, i32 6
  %1202 = load i32, ptr %36, align 4, !tbaa !9
  %1203 = zext i32 %1202 to i64
  %1204 = add i64 %1203, 216
  %1205 = call i32 @i32_load(ptr noundef %1201, i64 noundef %1204)
  store i32 %1205, ptr %36, align 4, !tbaa !9
  %1206 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1206, ptr %12, align 4, !tbaa !9
  %1207 = load ptr, ptr %4, align 8, !tbaa !5
  %1208 = getelementptr inbounds %struct.w2c_hermes, ptr %1207, i32 0, i32 6
  %1209 = load i32, ptr %36, align 4, !tbaa !9
  %1210 = zext i32 %1209 to i64
  %1211 = call i32 @i32_load(ptr noundef %1208, i64 noundef %1210)
  store i32 %1211, ptr %36, align 4, !tbaa !9
  %1212 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1212, ptr %19, align 4, !tbaa !9
  %1213 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1213, ptr %36, align 4, !tbaa !9
  %1214 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1214, ptr %37, align 4, !tbaa !9
  %1215 = load ptr, ptr %4, align 8, !tbaa !5
  %1216 = getelementptr inbounds %struct.w2c_hermes, ptr %1215, i32 0, i32 6
  %1217 = load i32, ptr %37, align 4, !tbaa !9
  %1218 = zext i32 %1217 to i64
  %1219 = add i64 %1218, 356
  %1220 = call i32 @i32_load(ptr noundef %1216, i64 noundef %1219)
  store i32 %1220, ptr %37, align 4, !tbaa !9
  %1221 = load ptr, ptr %4, align 8, !tbaa !5
  %1222 = getelementptr inbounds %struct.w2c_hermes, ptr %1221, i32 0, i32 6
  %1223 = load i32, ptr %36, align 4, !tbaa !9
  %1224 = zext i32 %1223 to i64
  %1225 = add i64 %1224, 420
  %1226 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1222, i64 noundef %1225, i32 noundef %1226)
  %1227 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1227, ptr %36, align 4, !tbaa !9
  store i32 2, ptr %37, align 4, !tbaa !9
  %1228 = load i32, ptr %37, align 4, !tbaa !9
  %1229 = and i32 %1228, 31
  %1230 = load i32, ptr %36, align 4, !tbaa !9
  %1231 = shl i32 %1230, %1229
  store i32 %1231, ptr %36, align 4, !tbaa !9
  %1232 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1232, ptr %7, align 4, !tbaa !9
  store i32 5, ptr %37, align 4, !tbaa !9
  %1233 = load i32, ptr %36, align 4, !tbaa !9
  %1234 = load i32, ptr %37, align 4, !tbaa !9
  %1235 = icmp ult i32 %1233, %1234
  %1236 = zext i1 %1235 to i32
  store i32 %1236, ptr %36, align 4, !tbaa !9
  %1237 = load i32, ptr %36, align 4, !tbaa !9
  %1238 = icmp ne i32 %1237, 0
  br i1 %1238, label %1239, label %1240

1239:                                             ; preds = %1198
  br label %1560

1240:                                             ; preds = %1198
  %1241 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1241, ptr %36, align 4, !tbaa !9
  %1242 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1242, ptr %37, align 4, !tbaa !9
  %1243 = load i32, ptr %37, align 4, !tbaa !9
  %1244 = load i32, ptr %36, align 4, !tbaa !9
  %1245 = add i32 %1244, %1243
  store i32 %1245, ptr %36, align 4, !tbaa !9
  %1246 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1246, ptr %15, align 4, !tbaa !9
  %1247 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1247, ptr %36, align 4, !tbaa !9
  store i32 1073741823, ptr %37, align 4, !tbaa !9
  %1248 = load i32, ptr %37, align 4, !tbaa !9
  %1249 = load i32, ptr %36, align 4, !tbaa !9
  %1250 = and i32 %1249, %1248
  store i32 %1250, ptr %36, align 4, !tbaa !9
  %1251 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1251, ptr %13, align 4, !tbaa !9
  store i32 2, ptr %37, align 4, !tbaa !9
  %1252 = load i32, ptr %37, align 4, !tbaa !9
  %1253 = load i32, ptr %36, align 4, !tbaa !9
  %1254 = sub i32 %1253, %1252
  store i32 %1254, ptr %36, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %1255 = load i32, ptr %37, align 4, !tbaa !9
  %1256 = and i32 %1255, 31
  %1257 = load i32, ptr %36, align 4, !tbaa !9
  %1258 = lshr i32 %1257, %1256
  store i32 %1258, ptr %36, align 4, !tbaa !9
  %1259 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1259, ptr %14, align 4, !tbaa !9
  store i32 0, ptr %36, align 4, !tbaa !9
  %1260 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1260, ptr %7, align 4, !tbaa !9
  %1261 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1261, ptr %36, align 4, !tbaa !9
  %1262 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1262, ptr %8, align 4, !tbaa !9
  br label %1263

1263:                                             ; preds = %1374, %1240
  %1264 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1264, ptr %36, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %1265 = load i32, ptr %37, align 4, !tbaa !9
  %1266 = and i32 %1265, 31
  %1267 = load i32, ptr %36, align 4, !tbaa !9
  %1268 = shl i32 %1267, %1266
  store i32 %1268, ptr %36, align 4, !tbaa !9
  %1269 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1269, ptr %10, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %1270 = load i32, ptr %37, align 4, !tbaa !9
  %1271 = load i32, ptr %36, align 4, !tbaa !9
  %1272 = or i32 %1271, %1270
  store i32 %1272, ptr %36, align 4, !tbaa !9
  %1273 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1273, ptr %11, align 4, !tbaa !9
  %1274 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1274, ptr %36, align 4, !tbaa !9
  store i32 2, ptr %37, align 4, !tbaa !9
  %1275 = load i32, ptr %37, align 4, !tbaa !9
  %1276 = and i32 %1275, 31
  %1277 = load i32, ptr %36, align 4, !tbaa !9
  %1278 = shl i32 %1277, %1276
  store i32 %1278, ptr %36, align 4, !tbaa !9
  %1279 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1279, ptr %37, align 4, !tbaa !9
  %1280 = load i32, ptr %37, align 4, !tbaa !9
  %1281 = load i32, ptr %36, align 4, !tbaa !9
  %1282 = add i32 %1281, %1280
  store i32 %1282, ptr %36, align 4, !tbaa !9
  store i32 4, ptr %37, align 4, !tbaa !9
  %1283 = load i32, ptr %37, align 4, !tbaa !9
  %1284 = load i32, ptr %36, align 4, !tbaa !9
  %1285 = add i32 %1284, %1283
  store i32 %1285, ptr %36, align 4, !tbaa !9
  %1286 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1286, ptr %6, align 4, !tbaa !9
  %1287 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1287, ptr %36, align 4, !tbaa !9
  %1288 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1288, ptr %37, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %1289 = load i32, ptr %38, align 4, !tbaa !9
  %1290 = load i32, ptr %37, align 4, !tbaa !9
  %1291 = add i32 %1290, %1289
  store i32 %1291, ptr %37, align 4, !tbaa !9
  %1292 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1292, ptr %7, align 4, !tbaa !9
  %1293 = load i32, ptr %36, align 4, !tbaa !9
  %1294 = load i32, ptr %37, align 4, !tbaa !9
  %1295 = icmp sle i32 %1293, %1294
  %1296 = zext i1 %1295 to i32
  store i32 %1296, ptr %36, align 4, !tbaa !9
  %1297 = load i32, ptr %36, align 4, !tbaa !9
  %1298 = icmp ne i32 %1297, 0
  br i1 %1298, label %1299, label %1301

1299:                                             ; preds = %1263
  %1300 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1300, ptr %36, align 4, !tbaa !9
  br label %1350

1301:                                             ; preds = %1263
  %1302 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1302, ptr %36, align 4, !tbaa !9
  store i32 4, ptr %37, align 4, !tbaa !9
  %1303 = load i32, ptr %37, align 4, !tbaa !9
  %1304 = load i32, ptr %36, align 4, !tbaa !9
  %1305 = add i32 %1304, %1303
  store i32 %1305, ptr %36, align 4, !tbaa !9
  %1306 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1306, ptr %37, align 4, !tbaa !9
  %1307 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1307, ptr %38, align 4, !tbaa !9
  store i32 420, ptr %39, align 4, !tbaa !9
  %1308 = load i32, ptr %39, align 4, !tbaa !9
  %1309 = load i32, ptr %38, align 4, !tbaa !9
  %1310 = add i32 %1309, %1308
  store i32 %1310, ptr %38, align 4, !tbaa !9
  %1311 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1311, ptr %39, align 4, !tbaa !9
  %1312 = load ptr, ptr %4, align 8, !tbaa !5
  %1313 = getelementptr inbounds %struct.w2c_hermes, ptr %1312, i32 0, i32 6
  %1314 = load i32, ptr %39, align 4, !tbaa !9
  %1315 = zext i32 %1314 to i64
  %1316 = call i32 @i32_load(ptr noundef %1313, i64 noundef %1315)
  store i32 %1316, ptr %39, align 4, !tbaa !9
  %1317 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1317, ptr %40, align 4, !tbaa !9
  %1318 = load ptr, ptr %4, align 8, !tbaa !5
  %1319 = getelementptr inbounds %struct.w2c_hermes, ptr %1318, i32 0, i32 6
  %1320 = load i32, ptr %40, align 4, !tbaa !9
  %1321 = zext i32 %1320 to i64
  %1322 = add i64 %1321, 4
  %1323 = call i32 @i32_load(ptr noundef %1319, i64 noundef %1322)
  store i32 %1323, ptr %40, align 4, !tbaa !9
  %1324 = load ptr, ptr %4, align 8, !tbaa !5
  %1325 = load i32, ptr %38, align 4, !tbaa !9
  %1326 = load i32, ptr %39, align 4, !tbaa !9
  %1327 = load i32, ptr %40, align 4, !tbaa !9
  %1328 = call i32 @w2c_hermes_hermes0x3A0x3ARegisterAllocator0x3A0x3Aallocate0x28llvh0x3A0x3AArrayRef0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x290x3A0x3A0x24_10x3A0x3Aoperator0x280x290x28unsigned0x20int0x2C0x20unsigned0x20int0x290x20const(ptr noundef %1324, i32 noundef %1325, i32 noundef %1326, i32 noundef %1327)
  store i32 %1328, ptr %38, align 4, !tbaa !9
  %1329 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %1329, ptr %10, align 4, !tbaa !9
  %1330 = load i32, ptr %38, align 4, !tbaa !9
  %1331 = icmp ne i32 %1330, 0
  br i1 %1331, label %1332, label %1334

1332:                                             ; preds = %1301
  %1333 = load i32, ptr %36, align 4, !tbaa !9
  br label %1336

1334:                                             ; preds = %1301
  %1335 = load i32, ptr %37, align 4, !tbaa !9
  br label %1336

1336:                                             ; preds = %1334, %1332
  %1337 = phi i32 [ %1333, %1332 ], [ %1335, %1334 ]
  store i32 %1337, ptr %36, align 4, !tbaa !9
  %1338 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1338, ptr %6, align 4, !tbaa !9
  %1339 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1339, ptr %36, align 4, !tbaa !9
  %1340 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1340, ptr %37, align 4, !tbaa !9
  %1341 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1341, ptr %38, align 4, !tbaa !9
  %1342 = load i32, ptr %38, align 4, !tbaa !9
  %1343 = icmp ne i32 %1342, 0
  br i1 %1343, label %1344, label %1346

1344:                                             ; preds = %1336
  %1345 = load i32, ptr %36, align 4, !tbaa !9
  br label %1348

1346:                                             ; preds = %1336
  %1347 = load i32, ptr %37, align 4, !tbaa !9
  br label %1348

1348:                                             ; preds = %1346, %1344
  %1349 = phi i32 [ %1345, %1344 ], [ %1347, %1346 ]
  store i32 %1349, ptr %36, align 4, !tbaa !9
  br label %1350

1350:                                             ; preds = %1348, %1299
  %1351 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1351, ptr %7, align 4, !tbaa !9
  %1352 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1352, ptr %36, align 4, !tbaa !9
  %1353 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1353, ptr %37, align 4, !tbaa !9
  %1354 = load ptr, ptr %4, align 8, !tbaa !5
  %1355 = getelementptr inbounds %struct.w2c_hermes, ptr %1354, i32 0, i32 6
  %1356 = load i32, ptr %37, align 4, !tbaa !9
  %1357 = zext i32 %1356 to i64
  %1358 = call i32 @i32_load(ptr noundef %1355, i64 noundef %1357)
  store i32 %1358, ptr %37, align 4, !tbaa !9
  %1359 = load ptr, ptr %4, align 8, !tbaa !5
  %1360 = getelementptr inbounds %struct.w2c_hermes, ptr %1359, i32 0, i32 6
  %1361 = load i32, ptr %36, align 4, !tbaa !9
  %1362 = zext i32 %1361 to i64
  %1363 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1360, i64 noundef %1362, i32 noundef %1363)
  %1364 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1364, ptr %36, align 4, !tbaa !9
  %1365 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1365, ptr %8, align 4, !tbaa !9
  %1366 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1366, ptr %36, align 4, !tbaa !9
  %1367 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1367, ptr %37, align 4, !tbaa !9
  %1368 = load i32, ptr %36, align 4, !tbaa !9
  %1369 = load i32, ptr %37, align 4, !tbaa !9
  %1370 = icmp sle i32 %1368, %1369
  %1371 = zext i1 %1370 to i32
  store i32 %1371, ptr %36, align 4, !tbaa !9
  %1372 = load i32, ptr %36, align 4, !tbaa !9
  %1373 = icmp ne i32 %1372, 0
  br i1 %1373, label %1374, label %1375

1374:                                             ; preds = %1350
  br label %1263

1375:                                             ; preds = %1350
  %1376 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1376, ptr %36, align 4, !tbaa !9
  store i32 4, ptr %37, align 4, !tbaa !9
  %1377 = load i32, ptr %37, align 4, !tbaa !9
  %1378 = load i32, ptr %36, align 4, !tbaa !9
  %1379 = sub i32 %1378, %1377
  store i32 %1379, ptr %36, align 4, !tbaa !9
  %1380 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1380, ptr %7, align 4, !tbaa !9
  %1381 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1381, ptr %37, align 4, !tbaa !9
  %1382 = load i32, ptr %36, align 4, !tbaa !9
  %1383 = load i32, ptr %37, align 4, !tbaa !9
  %1384 = icmp eq i32 %1382, %1383
  %1385 = zext i1 %1384 to i32
  store i32 %1385, ptr %36, align 4, !tbaa !9
  %1386 = load i32, ptr %36, align 4, !tbaa !9
  %1387 = icmp ne i32 %1386, 0
  br i1 %1387, label %1388, label %1396

1388:                                             ; preds = %1375
  %1389 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1389, ptr %36, align 4, !tbaa !9
  %1390 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1390, ptr %37, align 4, !tbaa !9
  %1391 = load ptr, ptr %4, align 8, !tbaa !5
  %1392 = getelementptr inbounds %struct.w2c_hermes, ptr %1391, i32 0, i32 6
  %1393 = load i32, ptr %36, align 4, !tbaa !9
  %1394 = zext i32 %1393 to i64
  %1395 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1392, i64 noundef %1394, i32 noundef %1395)
  br label %1560

1396:                                             ; preds = %1375
  %1397 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1397, ptr %36, align 4, !tbaa !9
  %1398 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1398, ptr %37, align 4, !tbaa !9
  %1399 = load ptr, ptr %4, align 8, !tbaa !5
  %1400 = getelementptr inbounds %struct.w2c_hermes, ptr %1399, i32 0, i32 6
  %1401 = load i32, ptr %37, align 4, !tbaa !9
  %1402 = zext i32 %1401 to i64
  %1403 = call i32 @i32_load(ptr noundef %1400, i64 noundef %1402)
  store i32 %1403, ptr %37, align 4, !tbaa !9
  %1404 = load ptr, ptr %4, align 8, !tbaa !5
  %1405 = getelementptr inbounds %struct.w2c_hermes, ptr %1404, i32 0, i32 6
  %1406 = load i32, ptr %36, align 4, !tbaa !9
  %1407 = zext i32 %1406 to i64
  %1408 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1405, i64 noundef %1407, i32 noundef %1408)
  %1409 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1409, ptr %36, align 4, !tbaa !9
  %1410 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1410, ptr %37, align 4, !tbaa !9
  %1411 = load ptr, ptr %4, align 8, !tbaa !5
  %1412 = getelementptr inbounds %struct.w2c_hermes, ptr %1411, i32 0, i32 6
  %1413 = load i32, ptr %36, align 4, !tbaa !9
  %1414 = zext i32 %1413 to i64
  %1415 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1412, i64 noundef %1414, i32 noundef %1415)
  %1416 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1416, ptr %36, align 4, !tbaa !9
  %1417 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1417, ptr %37, align 4, !tbaa !9
  %1418 = load i32, ptr %37, align 4, !tbaa !9
  %1419 = load i32, ptr %36, align 4, !tbaa !9
  %1420 = sub i32 %1419, %1418
  store i32 %1420, ptr %36, align 4, !tbaa !9
  store i32 4, ptr %37, align 4, !tbaa !9
  %1421 = load i32, ptr %37, align 4, !tbaa !9
  %1422 = load i32, ptr %36, align 4, !tbaa !9
  %1423 = add i32 %1422, %1421
  store i32 %1423, ptr %36, align 4, !tbaa !9
  %1424 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1424, ptr %7, align 4, !tbaa !9
  store i32 5, ptr %37, align 4, !tbaa !9
  %1425 = load i32, ptr %36, align 4, !tbaa !9
  %1426 = load i32, ptr %37, align 4, !tbaa !9
  %1427 = icmp slt i32 %1425, %1426
  %1428 = zext i1 %1427 to i32
  store i32 %1428, ptr %36, align 4, !tbaa !9
  %1429 = load i32, ptr %36, align 4, !tbaa !9
  %1430 = icmp ne i32 %1429, 0
  br i1 %1430, label %1431, label %1432

1431:                                             ; preds = %1396
  br label %1560

1432:                                             ; preds = %1396
  %1433 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1433, ptr %36, align 4, !tbaa !9
  store i32 420, ptr %37, align 4, !tbaa !9
  %1434 = load i32, ptr %37, align 4, !tbaa !9
  %1435 = load i32, ptr %36, align 4, !tbaa !9
  %1436 = add i32 %1435, %1434
  store i32 %1436, ptr %36, align 4, !tbaa !9
  %1437 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1437, ptr %37, align 4, !tbaa !9
  %1438 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1438, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %1439 = load i32, ptr %39, align 4, !tbaa !9
  %1440 = and i32 %1439, 31
  %1441 = load i32, ptr %38, align 4, !tbaa !9
  %1442 = lshr i32 %1441, %1440
  store i32 %1442, ptr %38, align 4, !tbaa !9
  store i32 2, 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 = sub i32 %1444, %1443
  store i32 %1445, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %1446 = load i32, ptr %39, align 4, !tbaa !9
  %1447 = and i32 %1446, 31
  %1448 = load i32, ptr %38, align 4, !tbaa !9
  %1449 = lshr i32 %1448, %1447
  store i32 %1449, ptr %38, align 4, !tbaa !9
  %1450 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %1450, ptr %7, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %1451 = load i32, ptr %39, align 4, !tbaa !9
  %1452 = and i32 %1451, 31
  %1453 = load i32, ptr %38, align 4, !tbaa !9
  %1454 = shl i32 %1453, %1452
  store i32 %1454, ptr %38, align 4, !tbaa !9
  %1455 = load i32, ptr %38, align 4, !tbaa !9
  %1456 = load i32, ptr %37, align 4, !tbaa !9
  %1457 = add i32 %1456, %1455
  store i32 %1457, ptr %37, align 4, !tbaa !9
  %1458 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1458, ptr %8, align 4, !tbaa !9
  %1459 = load ptr, ptr %4, align 8, !tbaa !5
  %1460 = getelementptr inbounds %struct.w2c_hermes, ptr %1459, i32 0, i32 6
  %1461 = load i32, ptr %37, align 4, !tbaa !9
  %1462 = zext i32 %1461 to i64
  %1463 = call i32 @i32_load(ptr noundef %1460, i64 noundef %1462)
  store i32 %1463, ptr %37, align 4, !tbaa !9
  %1464 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1464, ptr %38, align 4, !tbaa !9
  %1465 = load ptr, ptr %4, align 8, !tbaa !5
  %1466 = getelementptr inbounds %struct.w2c_hermes, ptr %1465, i32 0, i32 6
  %1467 = load i32, ptr %38, align 4, !tbaa !9
  %1468 = zext i32 %1467 to i64
  %1469 = call i32 @i32_load(ptr noundef %1466, i64 noundef %1468)
  store i32 %1469, ptr %38, align 4, !tbaa !9
  %1470 = load ptr, ptr %4, align 8, !tbaa !5
  %1471 = load i32, ptr %36, align 4, !tbaa !9
  %1472 = load i32, ptr %37, align 4, !tbaa !9
  %1473 = load i32, ptr %38, align 4, !tbaa !9
  %1474 = call i32 @w2c_hermes_hermes0x3A0x3ARegisterAllocator0x3A0x3Aallocate0x28llvh0x3A0x3AArrayRef0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x290x3A0x3A0x24_10x3A0x3Aoperator0x280x290x28unsigned0x20int0x2C0x20unsigned0x20int0x290x20const(ptr noundef %1470, i32 noundef %1471, i32 noundef %1472, i32 noundef %1473)
  store i32 %1474, ptr %36, align 4, !tbaa !9
  %1475 = load i32, ptr %36, align 4, !tbaa !9
  %1476 = icmp ne i32 %1475, 0
  %1477 = xor i1 %1476, true
  %1478 = zext i1 %1477 to i32
  store i32 %1478, ptr %36, align 4, !tbaa !9
  %1479 = load i32, ptr %36, align 4, !tbaa !9
  %1480 = icmp ne i32 %1479, 0
  br i1 %1480, label %1481, label %1482

1481:                                             ; preds = %1432
  br label %1560

1482:                                             ; preds = %1432
  %1483 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1483, ptr %36, align 4, !tbaa !9
  %1484 = load ptr, ptr %4, align 8, !tbaa !5
  %1485 = getelementptr inbounds %struct.w2c_hermes, ptr %1484, i32 0, i32 6
  %1486 = load i32, ptr %36, align 4, !tbaa !9
  %1487 = zext i32 %1486 to i64
  %1488 = call i32 @i32_load(ptr noundef %1485, i64 noundef %1487)
  store i32 %1488, ptr %36, align 4, !tbaa !9
  %1489 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1489, ptr %11, align 4, !tbaa !9
  br label %1490

1490:                                             ; preds = %1550, %1482
  %1491 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1491, ptr %36, align 4, !tbaa !9
  %1492 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1492, ptr %37, align 4, !tbaa !9
  %1493 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1493, ptr %10, align 4, !tbaa !9
  %1494 = load ptr, ptr %4, align 8, !tbaa !5
  %1495 = getelementptr inbounds %struct.w2c_hermes, ptr %1494, i32 0, i32 6
  %1496 = load i32, ptr %37, align 4, !tbaa !9
  %1497 = zext i32 %1496 to i64
  %1498 = call i32 @i32_load(ptr noundef %1495, i64 noundef %1497)
  store i32 %1498, ptr %37, align 4, !tbaa !9
  %1499 = load ptr, ptr %4, align 8, !tbaa !5
  %1500 = getelementptr inbounds %struct.w2c_hermes, ptr %1499, i32 0, i32 6
  %1501 = load i32, ptr %36, align 4, !tbaa !9
  %1502 = zext i32 %1501 to i64
  %1503 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1500, i64 noundef %1502, i32 noundef %1503)
  %1504 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1504, ptr %36, align 4, !tbaa !9
  %1505 = load i32, ptr %36, align 4, !tbaa !9
  %1506 = icmp ne i32 %1505, 0
  %1507 = xor i1 %1506, true
  %1508 = zext i1 %1507 to i32
  store i32 %1508, ptr %36, align 4, !tbaa !9
  %1509 = load i32, ptr %36, align 4, !tbaa !9
  %1510 = icmp ne i32 %1509, 0
  br i1 %1510, label %1511, label %1512

1511:                                             ; preds = %1490
  br label %1552

1512:                                             ; preds = %1490
  %1513 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1513, ptr %36, align 4, !tbaa !9
  %1514 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1514, ptr %6, align 4, !tbaa !9
  %1515 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1515, ptr %36, align 4, !tbaa !9
  store i32 420, ptr %37, align 4, !tbaa !9
  %1516 = load i32, ptr %37, align 4, !tbaa !9
  %1517 = load i32, ptr %36, align 4, !tbaa !9
  %1518 = add i32 %1517, %1516
  store i32 %1518, ptr %36, align 4, !tbaa !9
  %1519 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1519, ptr %37, align 4, !tbaa !9
  %1520 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1520, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %1521 = load i32, ptr %39, align 4, !tbaa !9
  %1522 = load i32, ptr %38, align 4, !tbaa !9
  %1523 = sub i32 %1522, %1521
  store i32 %1523, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %1524 = load i32, ptr %39, align 4, !tbaa !9
  %1525 = and i32 %1524, 31
  %1526 = load i32, ptr %38, align 4, !tbaa !9
  %1527 = lshr i32 %1526, %1525
  store i32 %1527, ptr %38, align 4, !tbaa !9
  %1528 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %1528, ptr %7, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %1529 = load i32, ptr %39, align 4, !tbaa !9
  %1530 = and i32 %1529, 31
  %1531 = load i32, ptr %38, align 4, !tbaa !9
  %1532 = shl i32 %1531, %1530
  store i32 %1532, ptr %38, align 4, !tbaa !9
  %1533 = load i32, ptr %38, align 4, !tbaa !9
  %1534 = load i32, ptr %37, align 4, !tbaa !9
  %1535 = add i32 %1534, %1533
  store i32 %1535, ptr %37, align 4, !tbaa !9
  %1536 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1536, ptr %8, align 4, !tbaa !9
  %1537 = load ptr, ptr %4, align 8, !tbaa !5
  %1538 = getelementptr inbounds %struct.w2c_hermes, ptr %1537, i32 0, i32 6
  %1539 = load i32, ptr %37, align 4, !tbaa !9
  %1540 = zext i32 %1539 to i64
  %1541 = call i32 @i32_load(ptr noundef %1538, i64 noundef %1540)
  store i32 %1541, ptr %37, align 4, !tbaa !9
  %1542 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1542, ptr %38, align 4, !tbaa !9
  %1543 = load ptr, ptr %4, align 8, !tbaa !5
  %1544 = load i32, ptr %36, align 4, !tbaa !9
  %1545 = load i32, ptr %37, align 4, !tbaa !9
  %1546 = load i32, ptr %38, align 4, !tbaa !9
  %1547 = call i32 @w2c_hermes_hermes0x3A0x3ARegisterAllocator0x3A0x3Aallocate0x28llvh0x3A0x3AArrayRef0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x290x3A0x3A0x24_10x3A0x3Aoperator0x280x290x28unsigned0x20int0x2C0x20unsigned0x20int0x290x20const(ptr noundef %1543, i32 noundef %1544, i32 noundef %1545, i32 noundef %1546)
  store i32 %1547, ptr %36, align 4, !tbaa !9
  %1548 = load i32, ptr %36, align 4, !tbaa !9
  %1549 = icmp ne i32 %1548, 0
  br i1 %1549, label %1550, label %1551

1550:                                             ; preds = %1512
  br label %1490

1551:                                             ; preds = %1512
  br label %1552

1552:                                             ; preds = %1551, %1511
  %1553 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1553, ptr %36, align 4, !tbaa !9
  %1554 = load i32, ptr %11, 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 %36, align 4, !tbaa !9
  %1558 = zext i32 %1557 to i64
  %1559 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1556, i64 noundef %1558, i32 noundef %1559)
  br label %1560

1560:                                             ; preds = %1552, %1481, %1431, %1388, %1239
  %1561 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1561, ptr %36, align 4, !tbaa !9
  %1562 = load ptr, ptr %4, align 8, !tbaa !5
  %1563 = getelementptr inbounds %struct.w2c_hermes, ptr %1562, i32 0, i32 6
  %1564 = load i32, ptr %36, align 4, !tbaa !9
  %1565 = zext i32 %1564 to i64
  %1566 = add i64 %1565, 220
  %1567 = call i32 @i32_load(ptr noundef %1563, i64 noundef %1566)
  store i32 %1567, ptr %36, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %1568 = load i32, ptr %37, align 4, !tbaa !9
  %1569 = load i32, ptr %36, align 4, !tbaa !9
  %1570 = sub i32 %1569, %1568
  store i32 %1570, ptr %36, align 4, !tbaa !9
  %1571 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1571, ptr %6, align 4, !tbaa !9
  %1572 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1572, ptr %37, align 4, !tbaa !9
  %1573 = load ptr, ptr %4, align 8, !tbaa !5
  %1574 = getelementptr inbounds %struct.w2c_hermes, ptr %1573, i32 0, i32 6
  %1575 = load i32, ptr %37, align 4, !tbaa !9
  %1576 = zext i32 %1575 to i64
  %1577 = add i64 %1576, 224
  %1578 = call i32 @i32_load(ptr noundef %1574, i64 noundef %1577)
  store i32 %1578, ptr %37, align 4, !tbaa !9
  %1579 = load i32, ptr %36, align 4, !tbaa !9
  %1580 = load i32, ptr %37, align 4, !tbaa !9
  %1581 = icmp ugt i32 %1579, %1580
  %1582 = zext i1 %1581 to i32
  store i32 %1582, ptr %36, align 4, !tbaa !9
  %1583 = load i32, ptr %36, align 4, !tbaa !9
  %1584 = icmp ne i32 %1583, 0
  br i1 %1584, label %1585, label %1586

1585:                                             ; preds = %1560
  br label %5429

1586:                                             ; preds = %1560
  %1587 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1587, ptr %36, align 4, !tbaa !9
  %1588 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1588, ptr %37, align 4, !tbaa !9
  %1589 = load ptr, ptr %4, align 8, !tbaa !5
  %1590 = getelementptr inbounds %struct.w2c_hermes, ptr %1589, i32 0, i32 6
  %1591 = load i32, ptr %36, align 4, !tbaa !9
  %1592 = zext i32 %1591 to i64
  %1593 = add i64 %1592, 220
  %1594 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %1590, i64 noundef %1593, i32 noundef %1594)
  %1595 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %1595, ptr %36, align 4, !tbaa !9
  %1596 = load ptr, ptr %4, align 8, !tbaa !5
  %1597 = getelementptr inbounds %struct.w2c_hermes, ptr %1596, i32 0, i32 6
  %1598 = load i32, ptr %36, align 4, !tbaa !9
  %1599 = zext i32 %1598 to i64
  %1600 = call i32 @i32_load(ptr noundef %1597, i64 noundef %1599)
  store i32 %1600, ptr %36, align 4, !tbaa !9
  %1601 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1601, ptr %37, align 4, !tbaa !9
  %1602 = load i32, ptr %36, align 4, !tbaa !9
  %1603 = load i32, ptr %37, align 4, !tbaa !9
  %1604 = icmp ule i32 %1602, %1603
  %1605 = zext i1 %1604 to i32
  store i32 %1605, ptr %36, align 4, !tbaa !9
  %1606 = load i32, ptr %36, align 4, !tbaa !9
  %1607 = icmp ne i32 %1606, 0
  br i1 %1607, label %1608, label %1609

1608:                                             ; preds = %1586
  br label %5447

1609:                                             ; preds = %1586
  %1610 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %1610, ptr %36, align 4, !tbaa !9
  %1611 = load ptr, ptr %4, align 8, !tbaa !5
  %1612 = getelementptr inbounds %struct.w2c_hermes, ptr %1611, i32 0, i32 6
  %1613 = load i32, ptr %36, align 4, !tbaa !9
  %1614 = zext i32 %1613 to i64
  %1615 = add i64 %1614, 180
  %1616 = call i32 @i32_load(ptr noundef %1612, i64 noundef %1615)
  store i32 %1616, ptr %36, align 4, !tbaa !9
  %1617 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1617, ptr %37, align 4, !tbaa !9
  %1618 = load i32, ptr %36, align 4, !tbaa !9
  %1619 = load i32, ptr %37, align 4, !tbaa !9
  %1620 = icmp ule i32 %1618, %1619
  %1621 = zext i1 %1620 to i32
  store i32 %1621, ptr %36, align 4, !tbaa !9
  %1622 = load i32, ptr %36, align 4, !tbaa !9
  %1623 = icmp ne i32 %1622, 0
  br i1 %1623, label %1624, label %1625

1624:                                             ; preds = %1609
  br label %5465

1625:                                             ; preds = %1609
  %1626 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %1626, ptr %36, align 4, !tbaa !9
  %1627 = load ptr, ptr %4, align 8, !tbaa !5
  %1628 = getelementptr inbounds %struct.w2c_hermes, ptr %1627, i32 0, i32 6
  %1629 = load i32, ptr %36, align 4, !tbaa !9
  %1630 = zext i32 %1629 to i64
  %1631 = add i64 %1630, 176
  %1632 = call i32 @i32_load(ptr noundef %1628, i64 noundef %1631)
  store i32 %1632, ptr %36, align 4, !tbaa !9
  %1633 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1633, ptr %37, align 4, !tbaa !9
  store i32 28, ptr %38, align 4, !tbaa !9
  %1634 = load i32, ptr %38, align 4, !tbaa !9
  %1635 = load i32, ptr %37, align 4, !tbaa !9
  %1636 = mul i32 %1635, %1634
  store i32 %1636, ptr %37, align 4, !tbaa !9
  %1637 = load i32, ptr %37, align 4, !tbaa !9
  %1638 = load i32, ptr %36, align 4, !tbaa !9
  %1639 = add i32 %1638, %1637
  store i32 %1639, ptr %36, align 4, !tbaa !9
  %1640 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1640, ptr %14, align 4, !tbaa !9
  %1641 = load ptr, ptr %4, align 8, !tbaa !5
  %1642 = getelementptr inbounds %struct.w2c_hermes, ptr %1641, i32 0, i32 6
  %1643 = load i32, ptr %36, align 4, !tbaa !9
  %1644 = zext i32 %1643 to i64
  %1645 = add i64 %1644, 4
  %1646 = call i32 @i32_load(ptr noundef %1642, i64 noundef %1645)
  store i32 %1646, ptr %36, align 4, !tbaa !9
  %1647 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1647, ptr %11, align 4, !tbaa !9
  %1648 = load i32, ptr %36, align 4, !tbaa !9
  %1649 = icmp ne i32 %1648, 0
  %1650 = xor i1 %1649, true
  %1651 = zext i1 %1650 to i32
  store i32 %1651, ptr %36, align 4, !tbaa !9
  %1652 = load i32, ptr %36, align 4, !tbaa !9
  %1653 = icmp ne i32 %1652, 0
  br i1 %1653, label %1654, label %1655

1654:                                             ; preds = %1625
  br label %5483

1655:                                             ; preds = %1625
  %1656 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1656, ptr %36, align 4, !tbaa !9
  store i32 2, ptr %37, align 4, !tbaa !9
  %1657 = load i32, ptr %37, align 4, !tbaa !9
  %1658 = and i32 %1657, 31
  %1659 = load i32, ptr %36, align 4, !tbaa !9
  %1660 = shl i32 %1659, %1658
  store i32 %1660, ptr %36, align 4, !tbaa !9
  %1661 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1661, ptr %12, align 4, !tbaa !9
  %1662 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1662, ptr %36, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %1663 = load i32, ptr %37, align 4, !tbaa !9
  %1664 = load i32, ptr %36, align 4, !tbaa !9
  %1665 = sub i32 %1664, %1663
  store i32 %1665, ptr %36, align 4, !tbaa !9
  store i32 536870911, ptr %37, align 4, !tbaa !9
  %1666 = load i32, ptr %37, align 4, !tbaa !9
  %1667 = load i32, ptr %36, align 4, !tbaa !9
  %1668 = and i32 %1667, %1666
  store i32 %1668, ptr %36, align 4, !tbaa !9
  %1669 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1669, ptr %15, align 4, !tbaa !9
  %1670 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1670, ptr %36, align 4, !tbaa !9
  %1671 = load ptr, ptr %4, align 8, !tbaa !5
  %1672 = getelementptr inbounds %struct.w2c_hermes, ptr %1671, i32 0, i32 6
  %1673 = load i32, ptr %36, align 4, !tbaa !9
  %1674 = zext i32 %1673 to i64
  %1675 = call i32 @i32_load(ptr noundef %1672, i64 noundef %1674)
  store i32 %1675, ptr %36, align 4, !tbaa !9
  %1676 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1676, ptr %13, align 4, !tbaa !9
  %1677 = load ptr, ptr %4, align 8, !tbaa !5
  %1678 = getelementptr inbounds %struct.w2c_hermes, ptr %1677, i32 0, i32 6
  %1679 = load i32, ptr %36, align 4, !tbaa !9
  %1680 = zext i32 %1679 to i64
  %1681 = add i64 %1680, 4
  %1682 = call i32 @i32_load(ptr noundef %1678, i64 noundef %1681)
  store i32 %1682, ptr %36, align 4, !tbaa !9
  %1683 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1683, ptr %16, align 4, !tbaa !9
  store i32 0, ptr %36, align 4, !tbaa !9
  %1684 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1684, ptr %7, align 4, !tbaa !9
  %1685 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1685, ptr %36, align 4, !tbaa !9
  %1686 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1686, ptr %6, align 4, !tbaa !9
  %1687 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1687, ptr %36, align 4, !tbaa !9
  store i32 7, ptr %37, align 4, !tbaa !9
  %1688 = load i32, ptr %37, align 4, !tbaa !9
  %1689 = load i32, ptr %36, align 4, !tbaa !9
  %1690 = and i32 %1689, %1688
  store i32 %1690, ptr %36, align 4, !tbaa !9
  %1691 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1691, ptr %10, align 4, !tbaa !9
  %1692 = load i32, ptr %36, align 4, !tbaa !9
  %1693 = icmp ne i32 %1692, 0
  br i1 %1693, label %1694, label %1739

1694:                                             ; preds = %1655
  br label %1695

1695:                                             ; preds = %1737, %1694
  %1696 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %1696, ptr %36, align 4, !tbaa !9
  %1697 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1697, ptr %37, 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 %37, align 4, !tbaa !9
  %1701 = zext i32 %1700 to i64
  %1702 = add i64 %1701, 4
  %1703 = call i32 @i32_load(ptr noundef %1699, i64 noundef %1702)
  store i32 %1703, ptr %37, align 4, !tbaa !9
  %1704 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1704, ptr %8, align 4, !tbaa !9
  %1705 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1705, ptr %38, align 4, !tbaa !9
  %1706 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %1706, ptr %39, align 4, !tbaa !9
  %1707 = load i32, ptr %38, align 4, !tbaa !9
  %1708 = load i32, ptr %39, align 4, !tbaa !9
  %1709 = icmp ult i32 %1707, %1708
  %1710 = zext i1 %1709 to i32
  store i32 %1710, ptr %38, align 4, !tbaa !9
  %1711 = load i32, ptr %38, align 4, !tbaa !9
  %1712 = icmp ne i32 %1711, 0
  br i1 %1712, label %1713, label %1715

1713:                                             ; preds = %1695
  %1714 = load i32, ptr %36, align 4, !tbaa !9
  br label %1717

1715:                                             ; preds = %1695
  %1716 = load i32, ptr %37, align 4, !tbaa !9
  br label %1717

1717:                                             ; preds = %1715, %1713
  %1718 = phi i32 [ %1714, %1713 ], [ %1716, %1715 ]
  store i32 %1718, ptr %36, align 4, !tbaa !9
  %1719 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1719, ptr %16, align 4, !tbaa !9
  %1720 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1720, ptr %36, align 4, !tbaa !9
  store i32 8, ptr %37, align 4, !tbaa !9
  %1721 = load i32, ptr %37, align 4, !tbaa !9
  %1722 = load i32, ptr %36, align 4, !tbaa !9
  %1723 = add i32 %1722, %1721
  store i32 %1723, ptr %36, align 4, !tbaa !9
  %1724 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1724, ptr %6, align 4, !tbaa !9
  %1725 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1725, ptr %36, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %1726 = load i32, ptr %37, align 4, !tbaa !9
  %1727 = load i32, ptr %36, align 4, !tbaa !9
  %1728 = add i32 %1727, %1726
  store i32 %1728, ptr %36, align 4, !tbaa !9
  %1729 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1729, ptr %7, align 4, !tbaa !9
  %1730 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1730, ptr %37, align 4, !tbaa !9
  %1731 = load i32, ptr %36, align 4, !tbaa !9
  %1732 = load i32, ptr %37, align 4, !tbaa !9
  %1733 = icmp ne i32 %1731, %1732
  %1734 = zext i1 %1733 to i32
  store i32 %1734, ptr %36, align 4, !tbaa !9
  %1735 = load i32, ptr %36, align 4, !tbaa !9
  %1736 = icmp ne i32 %1735, 0
  br i1 %1736, label %1737, label %1738

1737:                                             ; preds = %1717
  br label %1695

1738:                                             ; preds = %1717
  br label %1739

1739:                                             ; preds = %1738, %1655
  %1740 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %1740, ptr %36, align 4, !tbaa !9
  %1741 = load ptr, ptr %4, align 8, !tbaa !5
  %1742 = getelementptr inbounds %struct.w2c_hermes, ptr %1741, i32 0, i32 6
  %1743 = load i32, ptr %36, align 4, !tbaa !9
  %1744 = zext i32 %1743 to i64
  %1745 = add i64 %1744, 36
  %1746 = call i32 @i32_load(ptr noundef %1742, i64 noundef %1745)
  store i32 %1746, ptr %36, align 4, !tbaa !9
  %1747 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1747, ptr %37, align 4, !tbaa !9
  %1748 = load i32, ptr %37, align 4, !tbaa !9
  %1749 = load i32, ptr %36, align 4, !tbaa !9
  %1750 = add i32 %1749, %1748
  store i32 %1750, ptr %36, align 4, !tbaa !9
  %1751 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1751, ptr %12, align 4, !tbaa !9
  %1752 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1752, ptr %36, align 4, !tbaa !9
  store i32 7, ptr %37, align 4, !tbaa !9
  %1753 = load i32, ptr %36, align 4, !tbaa !9
  %1754 = load i32, ptr %37, align 4, !tbaa !9
  %1755 = icmp uge i32 %1753, %1754
  %1756 = zext i1 %1755 to i32
  store i32 %1756, ptr %36, align 4, !tbaa !9
  %1757 = load i32, ptr %36, align 4, !tbaa !9
  %1758 = icmp ne i32 %1757, 0
  br i1 %1758, label %1759, label %1970

1759:                                             ; preds = %1739
  %1760 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1760, ptr %36, align 4, !tbaa !9
  %1761 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1761, ptr %37, align 4, !tbaa !9
  store i32 3, ptr %38, align 4, !tbaa !9
  %1762 = load i32, ptr %38, align 4, !tbaa !9
  %1763 = and i32 %1762, 31
  %1764 = load i32, ptr %37, align 4, !tbaa !9
  %1765 = shl i32 %1764, %1763
  store i32 %1765, ptr %37, align 4, !tbaa !9
  %1766 = load i32, ptr %37, align 4, !tbaa !9
  %1767 = load i32, ptr %36, align 4, !tbaa !9
  %1768 = add i32 %1767, %1766
  store i32 %1768, ptr %36, align 4, !tbaa !9
  %1769 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1769, ptr %10, align 4, !tbaa !9
  br label %1770

1770:                                             ; preds = %1968, %1759
  %1771 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %1771, ptr %36, align 4, !tbaa !9
  %1772 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1772, ptr %37, align 4, !tbaa !9
  %1773 = load ptr, ptr %4, align 8, !tbaa !5
  %1774 = getelementptr inbounds %struct.w2c_hermes, ptr %1773, i32 0, i32 6
  %1775 = load i32, ptr %37, align 4, !tbaa !9
  %1776 = zext i32 %1775 to i64
  %1777 = add i64 %1776, 4
  %1778 = call i32 @i32_load(ptr noundef %1774, i64 noundef %1777)
  store i32 %1778, ptr %37, align 4, !tbaa !9
  %1779 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1779, ptr %7, align 4, !tbaa !9
  %1780 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1780, ptr %38, align 4, !tbaa !9
  %1781 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %1781, ptr %39, align 4, !tbaa !9
  %1782 = load i32, ptr %38, align 4, !tbaa !9
  %1783 = load i32, ptr %39, align 4, !tbaa !9
  %1784 = icmp ult i32 %1782, %1783
  %1785 = zext i1 %1784 to i32
  store i32 %1785, ptr %38, align 4, !tbaa !9
  %1786 = load i32, ptr %38, align 4, !tbaa !9
  %1787 = icmp ne i32 %1786, 0
  br i1 %1787, label %1788, label %1790

1788:                                             ; preds = %1770
  %1789 = load i32, ptr %36, align 4, !tbaa !9
  br label %1792

1790:                                             ; preds = %1770
  %1791 = load i32, ptr %37, align 4, !tbaa !9
  br label %1792

1792:                                             ; preds = %1790, %1788
  %1793 = phi i32 [ %1789, %1788 ], [ %1791, %1790 ]
  store i32 %1793, ptr %36, align 4, !tbaa !9
  %1794 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1794, ptr %7, align 4, !tbaa !9
  %1795 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1795, ptr %37, align 4, !tbaa !9
  %1796 = load ptr, ptr %4, align 8, !tbaa !5
  %1797 = getelementptr inbounds %struct.w2c_hermes, ptr %1796, i32 0, i32 6
  %1798 = load i32, ptr %37, align 4, !tbaa !9
  %1799 = zext i32 %1798 to i64
  %1800 = add i64 %1799, 12
  %1801 = call i32 @i32_load(ptr noundef %1797, i64 noundef %1800)
  store i32 %1801, ptr %37, align 4, !tbaa !9
  %1802 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1802, ptr %8, align 4, !tbaa !9
  %1803 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1803, ptr %38, align 4, !tbaa !9
  %1804 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1804, ptr %39, align 4, !tbaa !9
  %1805 = load i32, ptr %38, align 4, !tbaa !9
  %1806 = load i32, ptr %39, align 4, !tbaa !9
  %1807 = icmp ugt i32 %1805, %1806
  %1808 = zext i1 %1807 to i32
  store i32 %1808, ptr %38, align 4, !tbaa !9
  %1809 = load i32, ptr %38, align 4, !tbaa !9
  %1810 = icmp ne i32 %1809, 0
  br i1 %1810, label %1811, label %1813

1811:                                             ; preds = %1792
  %1812 = load i32, ptr %36, align 4, !tbaa !9
  br label %1815

1813:                                             ; preds = %1792
  %1814 = load i32, ptr %37, align 4, !tbaa !9
  br label %1815

1815:                                             ; preds = %1813, %1811
  %1816 = phi i32 [ %1812, %1811 ], [ %1814, %1813 ]
  store i32 %1816, ptr %36, align 4, !tbaa !9
  %1817 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1817, ptr %7, align 4, !tbaa !9
  %1818 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1818, ptr %37, align 4, !tbaa !9
  %1819 = load ptr, ptr %4, align 8, !tbaa !5
  %1820 = getelementptr inbounds %struct.w2c_hermes, ptr %1819, i32 0, i32 6
  %1821 = load i32, ptr %37, align 4, !tbaa !9
  %1822 = zext i32 %1821 to i64
  %1823 = add i64 %1822, 20
  %1824 = call i32 @i32_load(ptr noundef %1820, i64 noundef %1823)
  store i32 %1824, ptr %37, align 4, !tbaa !9
  %1825 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1825, ptr %8, align 4, !tbaa !9
  %1826 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1826, ptr %38, align 4, !tbaa !9
  %1827 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1827, ptr %39, align 4, !tbaa !9
  %1828 = load i32, ptr %38, align 4, !tbaa !9
  %1829 = load i32, ptr %39, align 4, !tbaa !9
  %1830 = icmp ugt i32 %1828, %1829
  %1831 = zext i1 %1830 to i32
  store i32 %1831, ptr %38, align 4, !tbaa !9
  %1832 = load i32, ptr %38, align 4, !tbaa !9
  %1833 = icmp ne i32 %1832, 0
  br i1 %1833, label %1834, label %1836

1834:                                             ; preds = %1815
  %1835 = load i32, ptr %36, align 4, !tbaa !9
  br label %1838

1836:                                             ; preds = %1815
  %1837 = load i32, ptr %37, align 4, !tbaa !9
  br label %1838

1838:                                             ; preds = %1836, %1834
  %1839 = phi i32 [ %1835, %1834 ], [ %1837, %1836 ]
  store i32 %1839, ptr %36, align 4, !tbaa !9
  %1840 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1840, ptr %7, align 4, !tbaa !9
  %1841 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1841, ptr %37, align 4, !tbaa !9
  %1842 = load ptr, ptr %4, align 8, !tbaa !5
  %1843 = getelementptr inbounds %struct.w2c_hermes, ptr %1842, i32 0, i32 6
  %1844 = load i32, ptr %37, align 4, !tbaa !9
  %1845 = zext i32 %1844 to i64
  %1846 = add i64 %1845, 28
  %1847 = call i32 @i32_load(ptr noundef %1843, i64 noundef %1846)
  store i32 %1847, ptr %37, align 4, !tbaa !9
  %1848 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1848, ptr %8, align 4, !tbaa !9
  %1849 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1849, ptr %38, align 4, !tbaa !9
  %1850 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1850, ptr %39, align 4, !tbaa !9
  %1851 = load i32, ptr %38, align 4, !tbaa !9
  %1852 = load i32, ptr %39, align 4, !tbaa !9
  %1853 = icmp ugt i32 %1851, %1852
  %1854 = zext i1 %1853 to i32
  store i32 %1854, ptr %38, align 4, !tbaa !9
  %1855 = load i32, ptr %38, align 4, !tbaa !9
  %1856 = icmp ne i32 %1855, 0
  br i1 %1856, label %1857, label %1859

1857:                                             ; preds = %1838
  %1858 = load i32, ptr %36, align 4, !tbaa !9
  br label %1861

1859:                                             ; preds = %1838
  %1860 = load i32, ptr %37, align 4, !tbaa !9
  br label %1861

1861:                                             ; preds = %1859, %1857
  %1862 = phi i32 [ %1858, %1857 ], [ %1860, %1859 ]
  store i32 %1862, ptr %36, align 4, !tbaa !9
  %1863 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1863, ptr %7, align 4, !tbaa !9
  %1864 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1864, ptr %37, align 4, !tbaa !9
  %1865 = load ptr, ptr %4, align 8, !tbaa !5
  %1866 = getelementptr inbounds %struct.w2c_hermes, ptr %1865, i32 0, i32 6
  %1867 = load i32, ptr %37, align 4, !tbaa !9
  %1868 = zext i32 %1867 to i64
  %1869 = add i64 %1868, 36
  %1870 = call i32 @i32_load(ptr noundef %1866, i64 noundef %1869)
  store i32 %1870, ptr %37, align 4, !tbaa !9
  %1871 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1871, ptr %8, align 4, !tbaa !9
  %1872 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1872, ptr %38, align 4, !tbaa !9
  %1873 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1873, ptr %39, align 4, !tbaa !9
  %1874 = load i32, ptr %38, align 4, !tbaa !9
  %1875 = load i32, ptr %39, align 4, !tbaa !9
  %1876 = icmp ugt i32 %1874, %1875
  %1877 = zext i1 %1876 to i32
  store i32 %1877, ptr %38, 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 %1882

1880:                                             ; preds = %1861
  %1881 = load i32, ptr %36, align 4, !tbaa !9
  br label %1884

1882:                                             ; preds = %1861
  %1883 = load i32, ptr %37, align 4, !tbaa !9
  br label %1884

1884:                                             ; preds = %1882, %1880
  %1885 = phi i32 [ %1881, %1880 ], [ %1883, %1882 ]
  store i32 %1885, ptr %36, align 4, !tbaa !9
  %1886 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1886, ptr %7, align 4, !tbaa !9
  %1887 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1887, ptr %37, align 4, !tbaa !9
  %1888 = load ptr, ptr %4, align 8, !tbaa !5
  %1889 = getelementptr inbounds %struct.w2c_hermes, ptr %1888, i32 0, i32 6
  %1890 = load i32, ptr %37, align 4, !tbaa !9
  %1891 = zext i32 %1890 to i64
  %1892 = add i64 %1891, 44
  %1893 = call i32 @i32_load(ptr noundef %1889, i64 noundef %1892)
  store i32 %1893, ptr %37, align 4, !tbaa !9
  %1894 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1894, ptr %8, align 4, !tbaa !9
  %1895 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1895, ptr %38, align 4, !tbaa !9
  %1896 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1896, ptr %39, align 4, !tbaa !9
  %1897 = load i32, ptr %38, align 4, !tbaa !9
  %1898 = load i32, ptr %39, align 4, !tbaa !9
  %1899 = icmp ugt i32 %1897, %1898
  %1900 = zext i1 %1899 to i32
  store i32 %1900, ptr %38, align 4, !tbaa !9
  %1901 = load i32, ptr %38, align 4, !tbaa !9
  %1902 = icmp ne i32 %1901, 0
  br i1 %1902, label %1903, label %1905

1903:                                             ; preds = %1884
  %1904 = load i32, ptr %36, align 4, !tbaa !9
  br label %1907

1905:                                             ; preds = %1884
  %1906 = load i32, ptr %37, align 4, !tbaa !9
  br label %1907

1907:                                             ; preds = %1905, %1903
  %1908 = phi i32 [ %1904, %1903 ], [ %1906, %1905 ]
  store i32 %1908, ptr %36, align 4, !tbaa !9
  %1909 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1909, ptr %7, align 4, !tbaa !9
  %1910 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1910, ptr %37, 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 %37, align 4, !tbaa !9
  %1914 = zext i32 %1913 to i64
  %1915 = add i64 %1914, 52
  %1916 = call i32 @i32_load(ptr noundef %1912, i64 noundef %1915)
  store i32 %1916, ptr %37, align 4, !tbaa !9
  %1917 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1917, ptr %8, align 4, !tbaa !9
  %1918 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1918, ptr %38, align 4, !tbaa !9
  %1919 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1919, ptr %39, align 4, !tbaa !9
  %1920 = load i32, ptr %38, align 4, !tbaa !9
  %1921 = load i32, ptr %39, align 4, !tbaa !9
  %1922 = icmp ugt i32 %1920, %1921
  %1923 = zext i1 %1922 to i32
  store i32 %1923, ptr %38, align 4, !tbaa !9
  %1924 = load i32, ptr %38, align 4, !tbaa !9
  %1925 = icmp ne i32 %1924, 0
  br i1 %1925, label %1926, label %1928

1926:                                             ; preds = %1907
  %1927 = load i32, ptr %36, align 4, !tbaa !9
  br label %1930

1928:                                             ; preds = %1907
  %1929 = load i32, ptr %37, align 4, !tbaa !9
  br label %1930

1930:                                             ; preds = %1928, %1926
  %1931 = phi i32 [ %1927, %1926 ], [ %1929, %1928 ]
  store i32 %1931, ptr %36, align 4, !tbaa !9
  %1932 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1932, ptr %7, align 4, !tbaa !9
  %1933 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1933, ptr %37, 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 %37, align 4, !tbaa !9
  %1937 = zext i32 %1936 to i64
  %1938 = add i64 %1937, 60
  %1939 = call i32 @i32_load(ptr noundef %1935, i64 noundef %1938)
  store i32 %1939, ptr %37, align 4, !tbaa !9
  %1940 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %1940, ptr %8, align 4, !tbaa !9
  %1941 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1941, ptr %38, align 4, !tbaa !9
  %1942 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1942, ptr %39, align 4, !tbaa !9
  %1943 = load i32, ptr %38, align 4, !tbaa !9
  %1944 = load i32, ptr %39, align 4, !tbaa !9
  %1945 = icmp ugt i32 %1943, %1944
  %1946 = zext i1 %1945 to i32
  store i32 %1946, ptr %38, align 4, !tbaa !9
  %1947 = load i32, ptr %38, align 4, !tbaa !9
  %1948 = icmp ne i32 %1947, 0
  br i1 %1948, label %1949, label %1951

1949:                                             ; preds = %1930
  %1950 = load i32, ptr %36, align 4, !tbaa !9
  br label %1953

1951:                                             ; preds = %1930
  %1952 = load i32, ptr %37, align 4, !tbaa !9
  br label %1953

1953:                                             ; preds = %1951, %1949
  %1954 = phi i32 [ %1950, %1949 ], [ %1952, %1951 ]
  store i32 %1954, ptr %36, align 4, !tbaa !9
  %1955 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1955, ptr %16, align 4, !tbaa !9
  %1956 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %1956, ptr %36, align 4, !tbaa !9
  store i32 -64, ptr %37, align 4, !tbaa !9
  %1957 = load i32, ptr %37, align 4, !tbaa !9
  %1958 = load i32, ptr %36, align 4, !tbaa !9
  %1959 = sub i32 %1958, %1957
  store i32 %1959, ptr %36, align 4, !tbaa !9
  %1960 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1960, ptr %6, align 4, !tbaa !9
  %1961 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1961, ptr %37, align 4, !tbaa !9
  %1962 = load i32, ptr %36, align 4, !tbaa !9
  %1963 = load i32, ptr %37, align 4, !tbaa !9
  %1964 = icmp ne i32 %1962, %1963
  %1965 = zext i1 %1964 to i32
  store i32 %1965, ptr %36, align 4, !tbaa !9
  %1966 = load i32, ptr %36, align 4, !tbaa !9
  %1967 = icmp ne i32 %1966, 0
  br i1 %1967, label %1968, label %1969

1968:                                             ; preds = %1953
  br label %1770

1969:                                             ; preds = %1953
  br label %1970

1970:                                             ; preds = %1969, %1739
  %1971 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1971, ptr %36, align 4, !tbaa !9
  %1972 = load ptr, ptr %4, align 8, !tbaa !5
  %1973 = getelementptr inbounds %struct.w2c_hermes, ptr %1972, i32 0, i32 6
  %1974 = load i32, ptr %36, align 4, !tbaa !9
  %1975 = zext i32 %1974 to i64
  %1976 = call i32 @i32_load(ptr noundef %1973, i64 noundef %1975)
  store i32 %1976, ptr %36, align 4, !tbaa !9
  %1977 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %1977, ptr %18, align 4, !tbaa !9
  store i32 292576, ptr %36, align 4, !tbaa !9
  %1978 = load ptr, ptr %4, align 8, !tbaa !5
  %1979 = getelementptr inbounds %struct.w2c_hermes, ptr %1978, i32 0, i32 6
  %1980 = load i32, ptr %36, align 4, !tbaa !9
  %1981 = zext i32 %1980 to i64
  %1982 = call i32 @i32_load8_u(ptr noundef %1979, i64 noundef %1981)
  store i32 %1982, ptr %36, align 4, !tbaa !9
  %1983 = load i32, ptr %36, align 4, !tbaa !9
  %1984 = icmp ne i32 %1983, 0
  %1985 = xor i1 %1984, true
  %1986 = zext i1 %1985 to i32
  store i32 %1986, ptr %36, align 4, !tbaa !9
  %1987 = load i32, ptr %36, align 4, !tbaa !9
  %1988 = icmp ne i32 %1987, 0
  br i1 %1988, label %1989, label %1990

1989:                                             ; preds = %1970
  br label %2440

1990:                                             ; preds = %1970
  store i32 107217, ptr %36, align 4, !tbaa !9
  %1991 = load ptr, ptr %4, align 8, !tbaa !5
  %1992 = load i32, ptr %36, align 4, !tbaa !9
  %1993 = call i32 @w2c_hermes_llvh0x3A0x3AisCurrentDebugType0x28char0x20const0x2A0x29(ptr noundef %1991, i32 noundef %1992)
  store i32 %1993, ptr %36, align 4, !tbaa !9
  %1994 = load i32, ptr %36, align 4, !tbaa !9
  %1995 = icmp ne i32 %1994, 0
  %1996 = xor i1 %1995, true
  %1997 = zext i1 %1996 to i32
  store i32 %1997, ptr %36, align 4, !tbaa !9
  %1998 = load i32, ptr %36, align 4, !tbaa !9
  %1999 = icmp ne i32 %1998, 0
  br i1 %1999, label %2000, label %2001

2000:                                             ; preds = %1990
  br label %2440

2001:                                             ; preds = %1990
  %2002 = load ptr, ptr %4, align 8, !tbaa !5
  %2003 = call i32 @w2c_hermes_llvh0x3A0x3Adbgs0x280x29(ptr noundef %2002)
  store i32 %2003, ptr %36, align 4, !tbaa !9
  %2004 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %2004, ptr %6, align 4, !tbaa !9
  %2005 = load ptr, ptr %4, align 8, !tbaa !5
  %2006 = getelementptr inbounds %struct.w2c_hermes, ptr %2005, i32 0, i32 6
  %2007 = load i32, ptr %36, align 4, !tbaa !9
  %2008 = zext i32 %2007 to i64
  %2009 = add i64 %2008, 8
  %2010 = call i32 @i32_load(ptr noundef %2006, i64 noundef %2009)
  store i32 %2010, ptr %36, align 4, !tbaa !9
  %2011 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2011, ptr %37, align 4, !tbaa !9
  %2012 = load ptr, ptr %4, align 8, !tbaa !5
  %2013 = getelementptr inbounds %struct.w2c_hermes, ptr %2012, i32 0, i32 6
  %2014 = load i32, ptr %37, align 4, !tbaa !9
  %2015 = zext i32 %2014 to i64
  %2016 = add i64 %2015, 12
  %2017 = call i32 @i32_load(ptr noundef %2013, i64 noundef %2016)
  store i32 %2017, ptr %37, align 4, !tbaa !9
  %2018 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %2018, ptr %7, align 4, !tbaa !9
  %2019 = load i32, ptr %37, align 4, !tbaa !9
  %2020 = load i32, ptr %36, align 4, !tbaa !9
  %2021 = sub i32 %2020, %2019
  store i32 %2021, ptr %36, align 4, !tbaa !9
  store i32 16, ptr %37, align 4, !tbaa !9
  %2022 = load i32, ptr %36, align 4, !tbaa !9
  %2023 = load i32, ptr %37, align 4, !tbaa !9
  %2024 = icmp ule i32 %2022, %2023
  %2025 = zext i1 %2024 to i32
  store i32 %2025, ptr %36, align 4, !tbaa !9
  %2026 = load i32, ptr %36, align 4, !tbaa !9
  %2027 = icmp ne i32 %2026, 0
  br i1 %2027, label %2028, label %2036

2028:                                             ; preds = %2001
  %2029 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2029, ptr %36, align 4, !tbaa !9
  store i32 208538, ptr %37, align 4, !tbaa !9
  store i32 17, ptr %38, align 4, !tbaa !9
  %2030 = load ptr, ptr %4, align 8, !tbaa !5
  %2031 = load i32, ptr %36, align 4, !tbaa !9
  %2032 = load i32, ptr %37, align 4, !tbaa !9
  %2033 = load i32, ptr %38, align 4, !tbaa !9
  %2034 = call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Awrite0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef %2030, i32 noundef %2031, i32 noundef %2032, i32 noundef %2033)
  store i32 %2034, ptr %36, align 4, !tbaa !9
  %2035 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %2035, ptr %6, align 4, !tbaa !9
  br label %2094

2036:                                             ; preds = %2001
  %2037 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2037, ptr %36, align 4, !tbaa !9
  store i32 208538, ptr %37, align 4, !tbaa !9
  %2038 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %2038, ptr %8, align 4, !tbaa !9
  %2039 = load ptr, ptr %4, align 8, !tbaa !5
  %2040 = getelementptr inbounds %struct.w2c_hermes, ptr %2039, i32 0, i32 6
  %2041 = load i32, ptr %37, align 4, !tbaa !9
  %2042 = zext i32 %2041 to i64
  %2043 = call i64 @i64_load(ptr noundef %2040, i64 noundef %2042)
  store i64 %2043, ptr %48, align 8, !tbaa !11
  %2044 = load ptr, ptr %4, align 8, !tbaa !5
  %2045 = getelementptr inbounds %struct.w2c_hermes, ptr %2044, i32 0, i32 6
  %2046 = load i32, ptr %36, align 4, !tbaa !9
  %2047 = zext i32 %2046 to i64
  %2048 = load i64, ptr %48, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2045, i64 noundef %2047, i64 noundef %2048)
  %2049 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2049, ptr %36, align 4, !tbaa !9
  %2050 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2050, ptr %37, align 4, !tbaa !9
  %2051 = load ptr, ptr %4, align 8, !tbaa !5
  %2052 = getelementptr inbounds %struct.w2c_hermes, ptr %2051, i32 0, i32 6
  %2053 = load i32, ptr %37, align 4, !tbaa !9
  %2054 = zext i32 %2053 to i64
  %2055 = add i64 %2054, 16
  %2056 = call i32 @i32_load8_u(ptr noundef %2052, i64 noundef %2055)
  store i32 %2056, ptr %37, align 4, !tbaa !9
  %2057 = load ptr, ptr %4, align 8, !tbaa !5
  %2058 = getelementptr inbounds %struct.w2c_hermes, ptr %2057, i32 0, i32 6
  %2059 = load i32, ptr %36, align 4, !tbaa !9
  %2060 = zext i32 %2059 to i64
  %2061 = add i64 %2060, 16
  %2062 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %2058, i64 noundef %2061, i32 noundef %2062)
  %2063 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2063, ptr %36, align 4, !tbaa !9
  %2064 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2064, ptr %37, align 4, !tbaa !9
  %2065 = load ptr, ptr %4, align 8, !tbaa !5
  %2066 = getelementptr inbounds %struct.w2c_hermes, ptr %2065, i32 0, i32 6
  %2067 = load i32, ptr %37, align 4, !tbaa !9
  %2068 = zext i32 %2067 to i64
  %2069 = add i64 %2068, 8
  %2070 = call i64 @i64_load(ptr noundef %2066, i64 noundef %2069)
  store i64 %2070, ptr %48, align 8, !tbaa !11
  %2071 = load ptr, ptr %4, align 8, !tbaa !5
  %2072 = getelementptr inbounds %struct.w2c_hermes, ptr %2071, i32 0, i32 6
  %2073 = load i32, ptr %36, align 4, !tbaa !9
  %2074 = zext i32 %2073 to i64
  %2075 = add i64 %2074, 8
  %2076 = load i64, ptr %48, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2072, i64 noundef %2075, i64 noundef %2076)
  %2077 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2077, ptr %36, align 4, !tbaa !9
  %2078 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2078, ptr %37, align 4, !tbaa !9
  %2079 = load ptr, ptr %4, align 8, !tbaa !5
  %2080 = getelementptr inbounds %struct.w2c_hermes, ptr %2079, i32 0, i32 6
  %2081 = load i32, ptr %37, align 4, !tbaa !9
  %2082 = zext i32 %2081 to i64
  %2083 = add i64 %2082, 12
  %2084 = call i32 @i32_load(ptr noundef %2080, i64 noundef %2083)
  store i32 %2084, ptr %37, align 4, !tbaa !9
  store i32 17, ptr %38, align 4, !tbaa !9
  %2085 = load i32, ptr %38, align 4, !tbaa !9
  %2086 = load i32, ptr %37, align 4, !tbaa !9
  %2087 = add i32 %2086, %2085
  store i32 %2087, ptr %37, align 4, !tbaa !9
  %2088 = load ptr, ptr %4, align 8, !tbaa !5
  %2089 = getelementptr inbounds %struct.w2c_hermes, ptr %2088, i32 0, i32 6
  %2090 = load i32, ptr %36, align 4, !tbaa !9
  %2091 = zext i32 %2090 to i64
  %2092 = add i64 %2091, 12
  %2093 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2089, i64 noundef %2092, i32 noundef %2093)
  br label %2094

2094:                                             ; preds = %2036, %2028
  %2095 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2095, ptr %36, align 4, !tbaa !9
  %2096 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %2096, ptr %37, align 4, !tbaa !9
  %2097 = load ptr, ptr %4, align 8, !tbaa !5
  %2098 = load i32, ptr %36, align 4, !tbaa !9
  %2099 = load i32, ptr %37, align 4, !tbaa !9
  %2100 = call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Aoperator0x3C0x3C0x28unsigned0x20long0x29(ptr noundef %2097, i32 noundef %2098, i32 noundef %2099)
  store i32 %2100, ptr %36, align 4, !tbaa !9
  %2101 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %2101, ptr %7, align 4, !tbaa !9
  %2102 = load ptr, ptr %4, align 8, !tbaa !5
  %2103 = getelementptr inbounds %struct.w2c_hermes, ptr %2102, i32 0, i32 6
  %2104 = load i32, ptr %36, align 4, !tbaa !9
  %2105 = zext i32 %2104 to i64
  %2106 = add i64 %2105, 8
  %2107 = call i32 @i32_load(ptr noundef %2103, i64 noundef %2106)
  store i32 %2107, ptr %36, align 4, !tbaa !9
  %2108 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2108, ptr %37, align 4, !tbaa !9
  %2109 = load ptr, ptr %4, align 8, !tbaa !5
  %2110 = getelementptr inbounds %struct.w2c_hermes, ptr %2109, i32 0, i32 6
  %2111 = load i32, ptr %37, align 4, !tbaa !9
  %2112 = zext i32 %2111 to i64
  %2113 = add i64 %2112, 12
  %2114 = call i32 @i32_load(ptr noundef %2110, i64 noundef %2113)
  store i32 %2114, ptr %37, align 4, !tbaa !9
  %2115 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %2115, ptr %6, align 4, !tbaa !9
  %2116 = load i32, ptr %37, align 4, !tbaa !9
  %2117 = load i32, ptr %36, align 4, !tbaa !9
  %2118 = sub i32 %2117, %2116
  store i32 %2118, ptr %36, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %2119 = load i32, ptr %36, align 4, !tbaa !9
  %2120 = load i32, ptr %37, align 4, !tbaa !9
  %2121 = icmp ule i32 %2119, %2120
  %2122 = zext i1 %2121 to i32
  store i32 %2122, ptr %36, align 4, !tbaa !9
  %2123 = load i32, ptr %36, align 4, !tbaa !9
  %2124 = icmp ne i32 %2123, 0
  br i1 %2124, label %2125, label %2133

2125:                                             ; preds = %2094
  %2126 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2126, ptr %36, align 4, !tbaa !9
  store i32 211261, ptr %37, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %2127 = load ptr, ptr %4, align 8, !tbaa !5
  %2128 = load i32, ptr %36, align 4, !tbaa !9
  %2129 = load i32, ptr %37, align 4, !tbaa !9
  %2130 = load i32, ptr %38, align 4, !tbaa !9
  %2131 = call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Awrite0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef %2127, i32 noundef %2128, i32 noundef %2129, i32 noundef %2130)
  store i32 %2131, ptr %36, align 4, !tbaa !9
  %2132 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %2132, ptr %7, align 4, !tbaa !9
  br label %2157

2133:                                             ; preds = %2094
  %2134 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2134, ptr %36, align 4, !tbaa !9
  store i32 8250, ptr %37, align 4, !tbaa !9
  %2135 = load ptr, ptr %4, align 8, !tbaa !5
  %2136 = getelementptr inbounds %struct.w2c_hermes, ptr %2135, i32 0, i32 6
  %2137 = load i32, ptr %36, align 4, !tbaa !9
  %2138 = zext i32 %2137 to i64
  %2139 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %2136, i64 noundef %2138, i32 noundef %2139)
  %2140 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2140, ptr %36, align 4, !tbaa !9
  %2141 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2141, ptr %37, align 4, !tbaa !9
  %2142 = load ptr, ptr %4, align 8, !tbaa !5
  %2143 = getelementptr inbounds %struct.w2c_hermes, ptr %2142, i32 0, i32 6
  %2144 = load i32, ptr %37, align 4, !tbaa !9
  %2145 = zext i32 %2144 to i64
  %2146 = add i64 %2145, 12
  %2147 = call i32 @i32_load(ptr noundef %2143, i64 noundef %2146)
  store i32 %2147, ptr %37, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %2148 = load i32, ptr %38, align 4, !tbaa !9
  %2149 = load i32, ptr %37, align 4, !tbaa !9
  %2150 = add i32 %2149, %2148
  store i32 %2150, ptr %37, align 4, !tbaa !9
  %2151 = load ptr, ptr %4, align 8, !tbaa !5
  %2152 = getelementptr inbounds %struct.w2c_hermes, ptr %2151, i32 0, i32 6
  %2153 = load i32, ptr %36, align 4, !tbaa !9
  %2154 = zext i32 %2153 to i64
  %2155 = add i64 %2154, 12
  %2156 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2152, i64 noundef %2155, i32 noundef %2156)
  br label %2157

2157:                                             ; preds = %2133, %2125
  %2158 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2158, ptr %36, align 4, !tbaa !9
  store i32 420, ptr %37, align 4, !tbaa !9
  %2159 = load i32, ptr %37, align 4, !tbaa !9
  %2160 = load i32, ptr %36, align 4, !tbaa !9
  %2161 = add i32 %2160, %2159
  store i32 %2161, ptr %36, align 4, !tbaa !9
  %2162 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2162, ptr %37, align 4, !tbaa !9
  %2163 = load ptr, ptr %4, align 8, !tbaa !5
  %2164 = load i32, ptr %36, align 4, !tbaa !9
  %2165 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3AInterval0x3A0x3Acompress0x280x290x20const(ptr noundef %2163, i32 noundef %2164, i32 noundef %2165)
  %2166 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2166, ptr %36, align 4, !tbaa !9
  %2167 = load ptr, ptr %4, align 8, !tbaa !5
  %2168 = getelementptr inbounds %struct.w2c_hermes, ptr %2167, i32 0, i32 6
  %2169 = load i32, ptr %36, align 4, !tbaa !9
  %2170 = zext i32 %2169 to i64
  %2171 = add i64 %2170, 420
  %2172 = call i32 @i32_load(ptr noundef %2168, i64 noundef %2171)
  store i32 %2172, ptr %36, align 4, !tbaa !9
  %2173 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %2173, ptr %6, align 4, !tbaa !9
  %2174 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2174, ptr %36, align 4, !tbaa !9
  %2175 = load ptr, ptr %4, align 8, !tbaa !5
  %2176 = getelementptr inbounds %struct.w2c_hermes, ptr %2175, i32 0, i32 6
  %2177 = load i32, ptr %36, align 4, !tbaa !9
  %2178 = zext i32 %2177 to i64
  %2179 = add i64 %2178, 424
  %2180 = call i32 @i32_load(ptr noundef %2176, i64 noundef %2179)
  store i32 %2180, ptr %36, align 4, !tbaa !9
  %2181 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %2181, ptr %8, align 4, !tbaa !9
  %2182 = load i32, ptr %36, align 4, !tbaa !9
  %2183 = icmp ne i32 %2182, 0
  br i1 %2183, label %2184, label %2224

2184:                                             ; preds = %2157
  %2185 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2185, ptr %36, align 4, !tbaa !9
  %2186 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2186, ptr %37, align 4, !tbaa !9
  store i32 3, ptr %38, align 4, !tbaa !9
  %2187 = load i32, ptr %38, align 4, !tbaa !9
  %2188 = and i32 %2187, 31
  %2189 = load i32, ptr %37, align 4, !tbaa !9
  %2190 = shl i32 %2189, %2188
  store i32 %2190, ptr %37, align 4, !tbaa !9
  %2191 = load i32, ptr %37, align 4, !tbaa !9
  %2192 = load i32, ptr %36, align 4, !tbaa !9
  %2193 = add i32 %2192, %2191
  store i32 %2193, ptr %36, align 4, !tbaa !9
  %2194 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %2194, ptr %8, align 4, !tbaa !9
  br label %2195

2195:                                             ; preds = %2214, %2184
  %2196 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2196, ptr %36, align 4, !tbaa !9
  %2197 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2197, ptr %37, align 4, !tbaa !9
  %2198 = load ptr, ptr %4, align 8, !tbaa !5
  %2199 = load i32, ptr %36, align 4, !tbaa !9
  %2200 = load i32, ptr %37, align 4, !tbaa !9
  %2201 = call i32 @w2c_hermes_llvh0x3A0x3Aoperator0x3C0x3C0x28llvh0x3A0x3Araw_ostream0x260x2C0x20hermes0x3A0x3ASegment0x20const0x260x29(ptr noundef %2198, i32 noundef %2199, i32 noundef %2200)
  store i32 %2201, ptr %36, align 4, !tbaa !9
  %2202 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2202, ptr %36, align 4, !tbaa !9
  store i32 8, ptr %37, align 4, !tbaa !9
  %2203 = load i32, ptr %37, align 4, !tbaa !9
  %2204 = load i32, ptr %36, align 4, !tbaa !9
  %2205 = add i32 %2204, %2203
  store i32 %2205, ptr %36, align 4, !tbaa !9
  %2206 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %2206, ptr %6, align 4, !tbaa !9
  %2207 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2207, ptr %37, align 4, !tbaa !9
  %2208 = load i32, ptr %36, align 4, !tbaa !9
  %2209 = load i32, ptr %37, align 4, !tbaa !9
  %2210 = icmp ne i32 %2208, %2209
  %2211 = zext i1 %2210 to i32
  store i32 %2211, ptr %36, align 4, !tbaa !9
  %2212 = load i32, ptr %36, align 4, !tbaa !9
  %2213 = icmp ne i32 %2212, 0
  br i1 %2213, label %2214, label %2215

2214:                                             ; preds = %2195
  br label %2195

2215:                                             ; preds = %2195
  %2216 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2216, ptr %36, align 4, !tbaa !9
  %2217 = load ptr, ptr %4, align 8, !tbaa !5
  %2218 = getelementptr inbounds %struct.w2c_hermes, ptr %2217, i32 0, i32 6
  %2219 = load i32, ptr %36, align 4, !tbaa !9
  %2220 = zext i32 %2219 to i64
  %2221 = add i64 %2220, 420
  %2222 = call i32 @i32_load(ptr noundef %2218, i64 noundef %2221)
  store i32 %2222, ptr %36, align 4, !tbaa !9
  %2223 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %2223, ptr %6, align 4, !tbaa !9
  br label %2224

2224:                                             ; preds = %2215, %2157
  %2225 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2225, ptr %36, align 4, !tbaa !9
  %2226 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2226, ptr %37, align 4, !tbaa !9
  %2227 = load i32, ptr %36, align 4, !tbaa !9
  %2228 = load i32, ptr %37, align 4, !tbaa !9
  %2229 = icmp ne i32 %2227, %2228
  %2230 = zext i1 %2229 to i32
  store i32 %2230, ptr %36, align 4, !tbaa !9
  %2231 = load i32, ptr %36, align 4, !tbaa !9
  %2232 = icmp ne i32 %2231, 0
  br i1 %2232, label %2233, label %2237

2233:                                             ; preds = %2224
  %2234 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2234, ptr %36, align 4, !tbaa !9
  %2235 = load ptr, ptr %4, align 8, !tbaa !5
  %2236 = load i32, ptr %36, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %2235, i32 noundef %2236)
  br label %2237

2237:                                             ; preds = %2233, %2224
  %2238 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2238, ptr %36, align 4, !tbaa !9
  %2239 = load ptr, ptr %4, align 8, !tbaa !5
  %2240 = getelementptr inbounds %struct.w2c_hermes, ptr %2239, i32 0, i32 6
  %2241 = load i32, ptr %36, align 4, !tbaa !9
  %2242 = zext i32 %2241 to i64
  %2243 = add i64 %2242, 12
  %2244 = call i32 @i32_load(ptr noundef %2240, i64 noundef %2243)
  store i32 %2244, ptr %36, align 4, !tbaa !9
  %2245 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %2245, ptr %6, align 4, !tbaa !9
  %2246 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2246, ptr %37, align 4, !tbaa !9
  %2247 = load ptr, ptr %4, align 8, !tbaa !5
  %2248 = getelementptr inbounds %struct.w2c_hermes, ptr %2247, i32 0, i32 6
  %2249 = load i32, ptr %37, align 4, !tbaa !9
  %2250 = zext i32 %2249 to i64
  %2251 = add i64 %2250, 8
  %2252 = call i32 @i32_load(ptr noundef %2248, i64 noundef %2251)
  store i32 %2252, ptr %37, align 4, !tbaa !9
  %2253 = load i32, ptr %36, align 4, !tbaa !9
  %2254 = load i32, ptr %37, align 4, !tbaa !9
  %2255 = icmp eq i32 %2253, %2254
  %2256 = zext i1 %2255 to i32
  store i32 %2256, ptr %36, align 4, !tbaa !9
  %2257 = load i32, ptr %36, align 4, !tbaa !9
  %2258 = icmp ne i32 %2257, 0
  br i1 %2258, label %2259, label %2267

2259:                                             ; preds = %2237
  %2260 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2260, ptr %36, align 4, !tbaa !9
  store i32 211439, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %2261 = load ptr, ptr %4, align 8, !tbaa !5
  %2262 = load i32, ptr %36, align 4, !tbaa !9
  %2263 = load i32, ptr %37, align 4, !tbaa !9
  %2264 = load i32, ptr %38, align 4, !tbaa !9
  %2265 = call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Awrite0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef %2261, i32 noundef %2262, i32 noundef %2263, i32 noundef %2264)
  store i32 %2265, ptr %36, align 4, !tbaa !9
  %2266 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %2266, ptr %7, align 4, !tbaa !9
  br label %2291

2267:                                             ; preds = %2237
  %2268 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2268, ptr %36, align 4, !tbaa !9
  store i32 32, ptr %37, align 4, !tbaa !9
  %2269 = load ptr, ptr %4, align 8, !tbaa !5
  %2270 = getelementptr inbounds %struct.w2c_hermes, ptr %2269, i32 0, i32 6
  %2271 = load i32, ptr %36, align 4, !tbaa !9
  %2272 = zext i32 %2271 to i64
  %2273 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %2270, i64 noundef %2272, i32 noundef %2273)
  %2274 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2274, ptr %36, align 4, !tbaa !9
  %2275 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2275, ptr %37, align 4, !tbaa !9
  %2276 = load ptr, ptr %4, align 8, !tbaa !5
  %2277 = getelementptr inbounds %struct.w2c_hermes, ptr %2276, i32 0, i32 6
  %2278 = load i32, ptr %37, align 4, !tbaa !9
  %2279 = zext i32 %2278 to i64
  %2280 = add i64 %2279, 12
  %2281 = call i32 @i32_load(ptr noundef %2277, i64 noundef %2280)
  store i32 %2281, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %2282 = load i32, ptr %38, align 4, !tbaa !9
  %2283 = load i32, ptr %37, align 4, !tbaa !9
  %2284 = add i32 %2283, %2282
  store i32 %2284, ptr %37, align 4, !tbaa !9
  %2285 = load ptr, ptr %4, align 8, !tbaa !5
  %2286 = getelementptr inbounds %struct.w2c_hermes, ptr %2285, i32 0, i32 6
  %2287 = load i32, ptr %36, align 4, !tbaa !9
  %2288 = zext i32 %2287 to i64
  %2289 = add i64 %2288, 12
  %2290 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2286, i64 noundef %2289, i32 noundef %2290)
  br label %2291

2291:                                             ; preds = %2267, %2259
  %2292 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2292, ptr %36, align 4, !tbaa !9
  store i32 -64, ptr %37, align 4, !tbaa !9
  %2293 = load i32, ptr %37, align 4, !tbaa !9
  %2294 = load i32, ptr %36, align 4, !tbaa !9
  %2295 = sub i32 %2294, %2293
  store i32 %2295, ptr %36, align 4, !tbaa !9
  %2296 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %2296, ptr %37, align 4, !tbaa !9
  %2297 = load ptr, ptr %4, align 8, !tbaa !5
  %2298 = load i32, ptr %36, align 4, !tbaa !9
  %2299 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3AInstruction0x3A0x3AgetName0x280x29(ptr noundef %2297, i32 noundef %2298, i32 noundef %2299)
  %2300 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2300, ptr %36, align 4, !tbaa !9
  %2301 = load ptr, ptr %4, align 8, !tbaa !5
  %2302 = getelementptr inbounds %struct.w2c_hermes, ptr %2301, i32 0, i32 6
  %2303 = load i32, ptr %36, align 4, !tbaa !9
  %2304 = zext i32 %2303 to i64
  %2305 = add i64 %2304, 64
  %2306 = call i32 @i32_load(ptr noundef %2302, i64 noundef %2305)
  store i32 %2306, ptr %36, align 4, !tbaa !9
  %2307 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %2307, ptr %10, align 4, !tbaa !9
  %2308 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2308, ptr %36, align 4, !tbaa !9
  %2309 = load ptr, ptr %4, align 8, !tbaa !5
  %2310 = getelementptr inbounds %struct.w2c_hermes, ptr %2309, i32 0, i32 6
  %2311 = load i32, ptr %36, align 4, !tbaa !9
  %2312 = zext i32 %2311 to i64
  %2313 = add i64 %2312, 68
  %2314 = call i32 @i32_load(ptr noundef %2310, i64 noundef %2313)
  store i32 %2314, ptr %36, align 4, !tbaa !9
  %2315 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %2315, ptr %8, align 4, !tbaa !9
  %2316 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2316, ptr %37, align 4, !tbaa !9
  %2317 = load ptr, ptr %4, align 8, !tbaa !5
  %2318 = getelementptr inbounds %struct.w2c_hermes, ptr %2317, i32 0, i32 6
  %2319 = load i32, ptr %37, align 4, !tbaa !9
  %2320 = zext i32 %2319 to i64
  %2321 = add i64 %2320, 8
  %2322 = call i32 @i32_load(ptr noundef %2318, i64 noundef %2321)
  store i32 %2322, ptr %37, align 4, !tbaa !9
  %2323 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2323, ptr %38, align 4, !tbaa !9
  %2324 = load ptr, ptr %4, align 8, !tbaa !5
  %2325 = getelementptr inbounds %struct.w2c_hermes, ptr %2324, i32 0, i32 6
  %2326 = load i32, ptr %38, align 4, !tbaa !9
  %2327 = zext i32 %2326 to i64
  %2328 = add i64 %2327, 12
  %2329 = call i32 @i32_load(ptr noundef %2325, i64 noundef %2328)
  store i32 %2329, ptr %38, align 4, !tbaa !9
  %2330 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %2330, ptr %6, align 4, !tbaa !9
  %2331 = load i32, ptr %38, align 4, !tbaa !9
  %2332 = load i32, ptr %37, align 4, !tbaa !9
  %2333 = sub i32 %2332, %2331
  store i32 %2333, ptr %37, align 4, !tbaa !9
  %2334 = load i32, ptr %36, align 4, !tbaa !9
  %2335 = load i32, ptr %37, align 4, !tbaa !9
  %2336 = icmp ugt i32 %2334, %2335
  %2337 = zext i1 %2336 to i32
  store i32 %2337, ptr %36, align 4, !tbaa !9
  %2338 = load i32, ptr %36, align 4, !tbaa !9
  %2339 = icmp ne i32 %2338, 0
  br i1 %2339, label %2340, label %2357

2340:                                             ; preds = %2291
  %2341 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2341, ptr %36, align 4, !tbaa !9
  %2342 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2342, ptr %37, align 4, !tbaa !9
  %2343 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2343, ptr %38, align 4, !tbaa !9
  %2344 = load ptr, ptr %4, align 8, !tbaa !5
  %2345 = load i32, ptr %36, align 4, !tbaa !9
  %2346 = load i32, ptr %37, align 4, !tbaa !9
  %2347 = load i32, ptr %38, align 4, !tbaa !9
  %2348 = call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Awrite0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef %2344, i32 noundef %2345, i32 noundef %2346, i32 noundef %2347)
  store i32 %2348, ptr %36, align 4, !tbaa !9
  %2349 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %2349, ptr %7, align 4, !tbaa !9
  %2350 = load ptr, ptr %4, align 8, !tbaa !5
  %2351 = getelementptr inbounds %struct.w2c_hermes, ptr %2350, i32 0, i32 6
  %2352 = load i32, ptr %36, align 4, !tbaa !9
  %2353 = zext i32 %2352 to i64
  %2354 = add i64 %2353, 12
  %2355 = call i32 @i32_load(ptr noundef %2351, i64 noundef %2354)
  store i32 %2355, ptr %36, align 4, !tbaa !9
  %2356 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %2356, ptr %6, align 4, !tbaa !9
  br label %2394

2357:                                             ; preds = %2291
  %2358 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2358, ptr %36, align 4, !tbaa !9
  %2359 = load i32, ptr %36, align 4, !tbaa !9
  %2360 = icmp ne i32 %2359, 0
  %2361 = xor i1 %2360, true
  %2362 = zext i1 %2361 to i32
  store i32 %2362, ptr %36, align 4, !tbaa !9
  %2363 = load i32, ptr %36, align 4, !tbaa !9
  %2364 = icmp ne i32 %2363, 0
  br i1 %2364, label %2365, label %2366

2365:                                             ; preds = %2357
  br label %2394

2366:                                             ; preds = %2357
  %2367 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2367, ptr %36, align 4, !tbaa !9
  %2368 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2368, ptr %37, align 4, !tbaa !9
  %2369 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2369, ptr %38, align 4, !tbaa !9
  %2370 = load ptr, ptr %4, align 8, !tbaa !5
  %2371 = load i32, ptr %36, align 4, !tbaa !9
  %2372 = load i32, ptr %37, align 4, !tbaa !9
  %2373 = load i32, ptr %38, align 4, !tbaa !9
  %2374 = call i32 @w2c_hermes_0x5F_memcpy(ptr noundef %2370, i32 noundef %2371, i32 noundef %2372, i32 noundef %2373)
  store i32 %2374, ptr %36, align 4, !tbaa !9
  %2375 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2375, ptr %36, align 4, !tbaa !9
  %2376 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2376, ptr %37, align 4, !tbaa !9
  %2377 = load ptr, ptr %4, align 8, !tbaa !5
  %2378 = getelementptr inbounds %struct.w2c_hermes, ptr %2377, i32 0, i32 6
  %2379 = load i32, ptr %37, align 4, !tbaa !9
  %2380 = zext i32 %2379 to i64
  %2381 = add i64 %2380, 12
  %2382 = call i32 @i32_load(ptr noundef %2378, i64 noundef %2381)
  store i32 %2382, ptr %37, align 4, !tbaa !9
  %2383 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2383, ptr %38, align 4, !tbaa !9
  %2384 = load i32, ptr %38, align 4, !tbaa !9
  %2385 = load i32, ptr %37, align 4, !tbaa !9
  %2386 = add i32 %2385, %2384
  store i32 %2386, ptr %37, align 4, !tbaa !9
  %2387 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %2387, ptr %6, align 4, !tbaa !9
  %2388 = load ptr, ptr %4, align 8, !tbaa !5
  %2389 = getelementptr inbounds %struct.w2c_hermes, ptr %2388, i32 0, i32 6
  %2390 = load i32, ptr %36, align 4, !tbaa !9
  %2391 = zext i32 %2390 to i64
  %2392 = add i64 %2391, 12
  %2393 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2389, i64 noundef %2392, i32 noundef %2393)
  br label %2394

2394:                                             ; preds = %2366, %2365, %2340
  %2395 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2395, ptr %36, align 4, !tbaa !9
  %2396 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2396, ptr %37, align 4, !tbaa !9
  %2397 = load ptr, ptr %4, align 8, !tbaa !5
  %2398 = getelementptr inbounds %struct.w2c_hermes, ptr %2397, i32 0, i32 6
  %2399 = load i32, ptr %37, align 4, !tbaa !9
  %2400 = zext i32 %2399 to i64
  %2401 = add i64 %2400, 8
  %2402 = call i32 @i32_load(ptr noundef %2398, i64 noundef %2401)
  store i32 %2402, ptr %37, align 4, !tbaa !9
  %2403 = load i32, ptr %36, align 4, !tbaa !9
  %2404 = load i32, ptr %37, align 4, !tbaa !9
  %2405 = icmp eq i32 %2403, %2404
  %2406 = zext i1 %2405 to i32
  store i32 %2406, ptr %36, align 4, !tbaa !9
  %2407 = load i32, ptr %36, align 4, !tbaa !9
  %2408 = icmp ne i32 %2407, 0
  br i1 %2408, label %2409, label %2416

2409:                                             ; preds = %2394
  %2410 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2410, ptr %36, align 4, !tbaa !9
  store i32 213024, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %2411 = load ptr, ptr %4, align 8, !tbaa !5
  %2412 = load i32, ptr %36, align 4, !tbaa !9
  %2413 = load i32, ptr %37, align 4, !tbaa !9
  %2414 = load i32, ptr %38, align 4, !tbaa !9
  %2415 = call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Awrite0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef %2411, i32 noundef %2412, i32 noundef %2413, i32 noundef %2414)
  store i32 %2415, ptr %36, align 4, !tbaa !9
  br label %2440

2416:                                             ; preds = %2394
  %2417 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2417, ptr %36, align 4, !tbaa !9
  store i32 10, ptr %37, align 4, !tbaa !9
  %2418 = load ptr, ptr %4, align 8, !tbaa !5
  %2419 = getelementptr inbounds %struct.w2c_hermes, ptr %2418, i32 0, i32 6
  %2420 = load i32, ptr %36, align 4, !tbaa !9
  %2421 = zext i32 %2420 to i64
  %2422 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %2419, i64 noundef %2421, i32 noundef %2422)
  %2423 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2423, ptr %36, align 4, !tbaa !9
  %2424 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2424, ptr %37, align 4, !tbaa !9
  %2425 = load ptr, ptr %4, align 8, !tbaa !5
  %2426 = getelementptr inbounds %struct.w2c_hermes, ptr %2425, i32 0, i32 6
  %2427 = load i32, ptr %37, align 4, !tbaa !9
  %2428 = zext i32 %2427 to i64
  %2429 = add i64 %2428, 12
  %2430 = call i32 @i32_load(ptr noundef %2426, i64 noundef %2429)
  store i32 %2430, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %2431 = load i32, ptr %38, align 4, !tbaa !9
  %2432 = load i32, ptr %37, align 4, !tbaa !9
  %2433 = add i32 %2432, %2431
  store i32 %2433, ptr %37, align 4, !tbaa !9
  %2434 = load ptr, ptr %4, align 8, !tbaa !5
  %2435 = getelementptr inbounds %struct.w2c_hermes, ptr %2434, i32 0, i32 6
  %2436 = load i32, ptr %36, align 4, !tbaa !9
  %2437 = zext i32 %2436 to i64
  %2438 = add i64 %2437, 12
  %2439 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2435, i64 noundef %2438, i32 noundef %2439)
  br label %2440

2440:                                             ; preds = %2416, %2409, %2000, %1989
  %2441 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2441, ptr %36, align 4, !tbaa !9
  %2442 = load ptr, ptr %4, align 8, !tbaa !5
  %2443 = getelementptr inbounds %struct.w2c_hermes, ptr %2442, i32 0, i32 6
  %2444 = load i32, ptr %36, align 4, !tbaa !9
  %2445 = zext i32 %2444 to i64
  %2446 = add i64 %2445, 76
  %2447 = call i32 @i32_load(ptr noundef %2443, i64 noundef %2446)
  store i32 %2447, ptr %36, align 4, !tbaa !9
  %2448 = load i32, ptr %36, align 4, !tbaa !9
  %2449 = icmp ne i32 %2448, 0
  %2450 = xor i1 %2449, true
  %2451 = zext i1 %2450 to i32
  store i32 %2451, ptr %36, align 4, !tbaa !9
  %2452 = load i32, ptr %36, align 4, !tbaa !9
  %2453 = icmp ne i32 %2452, 0
  br i1 %2453, label %2454, label %2455

2454:                                             ; preds = %2440
  br label %4786

2455:                                             ; preds = %2440
  br label %2456

2456:                                             ; preds = %4784, %2455
  store i32 292576, ptr %36, align 4, !tbaa !9
  %2457 = load ptr, ptr %4, align 8, !tbaa !5
  %2458 = getelementptr inbounds %struct.w2c_hermes, ptr %2457, i32 0, i32 6
  %2459 = load i32, ptr %36, align 4, !tbaa !9
  %2460 = zext i32 %2459 to i64
  %2461 = call i32 @i32_load8_u(ptr noundef %2458, i64 noundef %2460)
  store i32 %2461, ptr %36, align 4, !tbaa !9
  %2462 = load i32, ptr %36, align 4, !tbaa !9
  %2463 = icmp ne i32 %2462, 0
  br i1 %2463, label %2464, label %2715

2464:                                             ; preds = %2456
  store i32 107217, ptr %36, align 4, !tbaa !9
  %2465 = load ptr, ptr %4, align 8, !tbaa !5
  %2466 = load i32, ptr %36, align 4, !tbaa !9
  %2467 = call i32 @w2c_hermes_llvh0x3A0x3AisCurrentDebugType0x28char0x20const0x2A0x29(ptr noundef %2465, i32 noundef %2466)
  store i32 %2467, ptr %36, align 4, !tbaa !9
  %2468 = load i32, ptr %36, align 4, !tbaa !9
  %2469 = icmp ne i32 %2468, 0
  %2470 = xor i1 %2469, true
  %2471 = zext i1 %2470 to i32
  store i32 %2471, ptr %36, align 4, !tbaa !9
  %2472 = load i32, ptr %36, align 4, !tbaa !9
  %2473 = icmp ne i32 %2472, 0
  br i1 %2473, label %2474, label %2475

2474:                                             ; preds = %2464
  br label %2699

2475:                                             ; preds = %2464
  %2476 = load ptr, ptr %4, align 8, !tbaa !5
  %2477 = call i32 @w2c_hermes_llvh0x3A0x3Adbgs0x280x29(ptr noundef %2476)
  store i32 %2477, ptr %36, align 4, !tbaa !9
  %2478 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %2478, ptr %6, align 4, !tbaa !9
  %2479 = load ptr, ptr %4, align 8, !tbaa !5
  %2480 = getelementptr inbounds %struct.w2c_hermes, ptr %2479, i32 0, i32 6
  %2481 = load i32, ptr %36, align 4, !tbaa !9
  %2482 = zext i32 %2481 to i64
  %2483 = add i64 %2482, 8
  %2484 = call i32 @i32_load(ptr noundef %2480, i64 noundef %2483)
  store i32 %2484, ptr %36, align 4, !tbaa !9
  %2485 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2485, ptr %37, align 4, !tbaa !9
  %2486 = load ptr, ptr %4, align 8, !tbaa !5
  %2487 = getelementptr inbounds %struct.w2c_hermes, ptr %2486, i32 0, i32 6
  %2488 = load i32, ptr %37, align 4, !tbaa !9
  %2489 = zext i32 %2488 to i64
  %2490 = add i64 %2489, 12
  %2491 = call i32 @i32_load(ptr noundef %2487, i64 noundef %2490)
  store i32 %2491, ptr %37, align 4, !tbaa !9
  %2492 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %2492, ptr %7, align 4, !tbaa !9
  %2493 = load i32, ptr %37, align 4, !tbaa !9
  %2494 = load i32, ptr %36, align 4, !tbaa !9
  %2495 = sub i32 %2494, %2493
  store i32 %2495, ptr %36, align 4, !tbaa !9
  store i32 23, ptr %37, align 4, !tbaa !9
  %2496 = load i32, ptr %36, align 4, !tbaa !9
  %2497 = load i32, ptr %37, align 4, !tbaa !9
  %2498 = icmp ule i32 %2496, %2497
  %2499 = zext i1 %2498 to i32
  store i32 %2499, ptr %36, align 4, !tbaa !9
  %2500 = load i32, ptr %36, align 4, !tbaa !9
  %2501 = icmp ne i32 %2500, 0
  br i1 %2501, label %2502, label %2510

2502:                                             ; preds = %2475
  %2503 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2503, ptr %36, align 4, !tbaa !9
  store i32 208556, ptr %37, align 4, !tbaa !9
  store i32 24, ptr %38, align 4, !tbaa !9
  %2504 = load ptr, ptr %4, align 8, !tbaa !5
  %2505 = load i32, ptr %36, align 4, !tbaa !9
  %2506 = load i32, ptr %37, align 4, !tbaa !9
  %2507 = load i32, ptr %38, align 4, !tbaa !9
  %2508 = call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Awrite0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef %2504, i32 noundef %2505, i32 noundef %2506, i32 noundef %2507)
  store i32 %2508, ptr %36, align 4, !tbaa !9
  %2509 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %2509, ptr %6, align 4, !tbaa !9
  br label %2568

2510:                                             ; preds = %2475
  %2511 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2511, ptr %36, align 4, !tbaa !9
  store i32 208556, ptr %37, align 4, !tbaa !9
  %2512 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %2512, ptr %8, align 4, !tbaa !9
  %2513 = load ptr, ptr %4, align 8, !tbaa !5
  %2514 = getelementptr inbounds %struct.w2c_hermes, ptr %2513, i32 0, i32 6
  %2515 = load i32, ptr %37, align 4, !tbaa !9
  %2516 = zext i32 %2515 to i64
  %2517 = call i64 @i64_load(ptr noundef %2514, i64 noundef %2516)
  store i64 %2517, ptr %48, align 8, !tbaa !11
  %2518 = load ptr, ptr %4, align 8, !tbaa !5
  %2519 = getelementptr inbounds %struct.w2c_hermes, ptr %2518, i32 0, i32 6
  %2520 = load i32, ptr %36, align 4, !tbaa !9
  %2521 = zext i32 %2520 to i64
  %2522 = load i64, ptr %48, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2519, i64 noundef %2521, i64 noundef %2522)
  %2523 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2523, ptr %36, align 4, !tbaa !9
  %2524 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2524, ptr %37, align 4, !tbaa !9
  %2525 = load ptr, ptr %4, align 8, !tbaa !5
  %2526 = getelementptr inbounds %struct.w2c_hermes, ptr %2525, i32 0, i32 6
  %2527 = load i32, ptr %37, align 4, !tbaa !9
  %2528 = zext i32 %2527 to i64
  %2529 = add i64 %2528, 16
  %2530 = call i64 @i64_load(ptr noundef %2526, i64 noundef %2529)
  store i64 %2530, ptr %48, align 8, !tbaa !11
  %2531 = load ptr, ptr %4, align 8, !tbaa !5
  %2532 = getelementptr inbounds %struct.w2c_hermes, ptr %2531, i32 0, i32 6
  %2533 = load i32, ptr %36, align 4, !tbaa !9
  %2534 = zext i32 %2533 to i64
  %2535 = add i64 %2534, 16
  %2536 = load i64, ptr %48, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2532, i64 noundef %2535, i64 noundef %2536)
  %2537 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2537, ptr %36, align 4, !tbaa !9
  %2538 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2538, ptr %37, align 4, !tbaa !9
  %2539 = load ptr, ptr %4, align 8, !tbaa !5
  %2540 = getelementptr inbounds %struct.w2c_hermes, ptr %2539, i32 0, i32 6
  %2541 = load i32, ptr %37, align 4, !tbaa !9
  %2542 = zext i32 %2541 to i64
  %2543 = add i64 %2542, 8
  %2544 = call i64 @i64_load(ptr noundef %2540, i64 noundef %2543)
  store i64 %2544, ptr %48, align 8, !tbaa !11
  %2545 = load ptr, ptr %4, align 8, !tbaa !5
  %2546 = getelementptr inbounds %struct.w2c_hermes, ptr %2545, i32 0, i32 6
  %2547 = load i32, ptr %36, align 4, !tbaa !9
  %2548 = zext i32 %2547 to i64
  %2549 = add i64 %2548, 8
  %2550 = load i64, ptr %48, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2546, i64 noundef %2549, i64 noundef %2550)
  %2551 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2551, ptr %36, align 4, !tbaa !9
  %2552 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2552, ptr %37, align 4, !tbaa !9
  %2553 = load ptr, ptr %4, align 8, !tbaa !5
  %2554 = getelementptr inbounds %struct.w2c_hermes, ptr %2553, i32 0, i32 6
  %2555 = load i32, ptr %37, align 4, !tbaa !9
  %2556 = zext i32 %2555 to i64
  %2557 = add i64 %2556, 12
  %2558 = call i32 @i32_load(ptr noundef %2554, i64 noundef %2557)
  store i32 %2558, ptr %37, align 4, !tbaa !9
  store i32 24, ptr %38, align 4, !tbaa !9
  %2559 = load i32, ptr %38, align 4, !tbaa !9
  %2560 = load i32, ptr %37, align 4, !tbaa !9
  %2561 = add i32 %2560, %2559
  store i32 %2561, ptr %37, align 4, !tbaa !9
  %2562 = load ptr, ptr %4, align 8, !tbaa !5
  %2563 = getelementptr inbounds %struct.w2c_hermes, ptr %2562, i32 0, i32 6
  %2564 = load i32, ptr %36, align 4, !tbaa !9
  %2565 = zext i32 %2564 to i64
  %2566 = add i64 %2565, 12
  %2567 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2563, i64 noundef %2566, i32 noundef %2567)
  br label %2568

2568:                                             ; preds = %2510, %2502
  %2569 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2569, ptr %36, align 4, !tbaa !9
  %2570 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %2570, ptr %37, align 4, !tbaa !9
  %2571 = load ptr, ptr %4, align 8, !tbaa !5
  %2572 = load i32, ptr %36, align 4, !tbaa !9
  %2573 = load i32, ptr %37, align 4, !tbaa !9
  %2574 = call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Aoperator0x3C0x3C0x28unsigned0x20long0x29(ptr noundef %2571, i32 noundef %2572, i32 noundef %2573)
  store i32 %2574, ptr %36, align 4, !tbaa !9
  %2575 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %2575, ptr %6, align 4, !tbaa !9
  %2576 = load ptr, ptr %4, align 8, !tbaa !5
  %2577 = getelementptr inbounds %struct.w2c_hermes, ptr %2576, i32 0, i32 6
  %2578 = load i32, ptr %36, align 4, !tbaa !9
  %2579 = zext i32 %2578 to i64
  %2580 = add i64 %2579, 8
  %2581 = call i32 @i32_load(ptr noundef %2577, i64 noundef %2580)
  store i32 %2581, ptr %36, align 4, !tbaa !9
  %2582 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2582, ptr %37, align 4, !tbaa !9
  %2583 = load ptr, ptr %4, align 8, !tbaa !5
  %2584 = getelementptr inbounds %struct.w2c_hermes, ptr %2583, i32 0, i32 6
  %2585 = load i32, ptr %37, align 4, !tbaa !9
  %2586 = zext i32 %2585 to i64
  %2587 = add i64 %2586, 12
  %2588 = call i32 @i32_load(ptr noundef %2584, i64 noundef %2587)
  store i32 %2588, ptr %37, align 4, !tbaa !9
  %2589 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %2589, ptr %7, align 4, !tbaa !9
  %2590 = load i32, ptr %37, align 4, !tbaa !9
  %2591 = load i32, ptr %36, align 4, !tbaa !9
  %2592 = sub i32 %2591, %2590
  store i32 %2592, ptr %36, align 4, !tbaa !9
  store i32 3, ptr %37, align 4, !tbaa !9
  %2593 = load i32, ptr %36, align 4, !tbaa !9
  %2594 = load i32, ptr %37, align 4, !tbaa !9
  %2595 = icmp ule i32 %2593, %2594
  %2596 = zext i1 %2595 to i32
  store i32 %2596, ptr %36, align 4, !tbaa !9
  %2597 = load i32, ptr %36, align 4, !tbaa !9
  %2598 = icmp ne i32 %2597, 0
  br i1 %2598, label %2599, label %2607

2599:                                             ; preds = %2568
  %2600 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2600, ptr %36, align 4, !tbaa !9
  store i32 119230, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %2601 = load ptr, ptr %4, align 8, !tbaa !5
  %2602 = load i32, ptr %36, align 4, !tbaa !9
  %2603 = load i32, ptr %37, align 4, !tbaa !9
  %2604 = load i32, ptr %38, align 4, !tbaa !9
  %2605 = call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Awrite0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef %2601, i32 noundef %2602, i32 noundef %2603, i32 noundef %2604)
  store i32 %2605, ptr %36, align 4, !tbaa !9
  %2606 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %2606, ptr %6, align 4, !tbaa !9
  br label %2631

2607:                                             ; preds = %2568
  %2608 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2608, ptr %36, align 4, !tbaa !9
  store i32 676417568, ptr %37, align 4, !tbaa !9
  %2609 = load ptr, ptr %4, align 8, !tbaa !5
  %2610 = getelementptr inbounds %struct.w2c_hermes, ptr %2609, i32 0, i32 6
  %2611 = load i32, ptr %36, align 4, !tbaa !9
  %2612 = zext i32 %2611 to i64
  %2613 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2610, i64 noundef %2612, i32 noundef %2613)
  %2614 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2614, ptr %36, align 4, !tbaa !9
  %2615 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2615, ptr %37, 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 %37, align 4, !tbaa !9
  %2619 = zext i32 %2618 to i64
  %2620 = add i64 %2619, 12
  %2621 = call i32 @i32_load(ptr noundef %2617, i64 noundef %2620)
  store i32 %2621, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %2622 = load i32, ptr %38, align 4, !tbaa !9
  %2623 = load i32, ptr %37, align 4, !tbaa !9
  %2624 = add i32 %2623, %2622
  store i32 %2624, ptr %37, align 4, !tbaa !9
  %2625 = load ptr, ptr %4, align 8, !tbaa !5
  %2626 = getelementptr inbounds %struct.w2c_hermes, ptr %2625, i32 0, i32 6
  %2627 = load i32, ptr %36, align 4, !tbaa !9
  %2628 = zext i32 %2627 to i64
  %2629 = add i64 %2628, 12
  %2630 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2626, i64 noundef %2629, i32 noundef %2630)
  br label %2631

2631:                                             ; preds = %2607, %2599
  %2632 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2632, ptr %36, align 4, !tbaa !9
  %2633 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2633, ptr %37, align 4, !tbaa !9
  %2634 = load ptr, ptr %4, align 8, !tbaa !5
  %2635 = getelementptr inbounds %struct.w2c_hermes, ptr %2634, i32 0, i32 6
  %2636 = load i32, ptr %37, align 4, !tbaa !9
  %2637 = zext i32 %2636 to i64
  %2638 = add i64 %2637, 76
  %2639 = call i32 @i32_load(ptr noundef %2635, i64 noundef %2638)
  store i32 %2639, ptr %37, align 4, !tbaa !9
  %2640 = load ptr, ptr %4, align 8, !tbaa !5
  %2641 = load i32, ptr %36, align 4, !tbaa !9
  %2642 = load i32, ptr %37, align 4, !tbaa !9
  %2643 = call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Aoperator0x3C0x3C0x28unsigned0x20long0x29(ptr noundef %2640, i32 noundef %2641, i32 noundef %2642)
  store i32 %2643, ptr %36, align 4, !tbaa !9
  %2644 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %2644, ptr %6, align 4, !tbaa !9
  %2645 = load ptr, ptr %4, align 8, !tbaa !5
  %2646 = getelementptr inbounds %struct.w2c_hermes, ptr %2645, i32 0, i32 6
  %2647 = load i32, ptr %36, align 4, !tbaa !9
  %2648 = zext i32 %2647 to i64
  %2649 = add i64 %2648, 8
  %2650 = call i32 @i32_load(ptr noundef %2646, i64 noundef %2649)
  store i32 %2650, ptr %36, align 4, !tbaa !9
  %2651 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2651, ptr %37, 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 %37, align 4, !tbaa !9
  %2655 = zext i32 %2654 to i64
  %2656 = add i64 %2655, 12
  %2657 = call i32 @i32_load(ptr noundef %2653, i64 noundef %2656)
  store i32 %2657, ptr %37, align 4, !tbaa !9
  %2658 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %2658, ptr %7, align 4, !tbaa !9
  %2659 = load i32, ptr %37, align 4, !tbaa !9
  %2660 = load i32, ptr %36, align 4, !tbaa !9
  %2661 = sub i32 %2660, %2659
  store i32 %2661, ptr %36, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %2662 = load i32, ptr %36, align 4, !tbaa !9
  %2663 = load i32, ptr %37, align 4, !tbaa !9
  %2664 = icmp ule i32 %2662, %2663
  %2665 = zext i1 %2664 to i32
  store i32 %2665, ptr %36, align 4, !tbaa !9
  %2666 = load i32, ptr %36, align 4, !tbaa !9
  %2667 = icmp ne i32 %2666, 0
  br i1 %2667, label %2668, label %2675

2668:                                             ; preds = %2631
  %2669 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2669, ptr %36, align 4, !tbaa !9
  store i32 212941, ptr %37, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %2670 = load ptr, ptr %4, align 8, !tbaa !5
  %2671 = load i32, ptr %36, align 4, !tbaa !9
  %2672 = load i32, ptr %37, align 4, !tbaa !9
  %2673 = load i32, ptr %38, align 4, !tbaa !9
  %2674 = call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Awrite0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef %2670, i32 noundef %2671, i32 noundef %2672, i32 noundef %2673)
  store i32 %2674, ptr %36, align 4, !tbaa !9
  br label %2699

2675:                                             ; preds = %2631
  %2676 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2676, ptr %36, align 4, !tbaa !9
  store i32 2601, ptr %37, align 4, !tbaa !9
  %2677 = load ptr, ptr %4, align 8, !tbaa !5
  %2678 = getelementptr inbounds %struct.w2c_hermes, ptr %2677, i32 0, i32 6
  %2679 = load i32, ptr %36, align 4, !tbaa !9
  %2680 = zext i32 %2679 to i64
  %2681 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %2678, i64 noundef %2680, i32 noundef %2681)
  %2682 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2682, ptr %36, align 4, !tbaa !9
  %2683 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2683, ptr %37, align 4, !tbaa !9
  %2684 = load ptr, ptr %4, align 8, !tbaa !5
  %2685 = getelementptr inbounds %struct.w2c_hermes, ptr %2684, i32 0, i32 6
  %2686 = load i32, ptr %37, align 4, !tbaa !9
  %2687 = zext i32 %2686 to i64
  %2688 = add i64 %2687, 12
  %2689 = call i32 @i32_load(ptr noundef %2685, i64 noundef %2688)
  store i32 %2689, ptr %37, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %2690 = load i32, ptr %38, align 4, !tbaa !9
  %2691 = load i32, ptr %37, align 4, !tbaa !9
  %2692 = add i32 %2691, %2690
  store i32 %2692, ptr %37, align 4, !tbaa !9
  %2693 = load ptr, ptr %4, align 8, !tbaa !5
  %2694 = getelementptr inbounds %struct.w2c_hermes, ptr %2693, i32 0, i32 6
  %2695 = load i32, ptr %36, align 4, !tbaa !9
  %2696 = zext i32 %2695 to i64
  %2697 = add i64 %2696, 12
  %2698 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2694, i64 noundef %2697, i32 noundef %2698)
  br label %2699

2699:                                             ; preds = %2675, %2668, %2474
  %2700 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2700, ptr %36, align 4, !tbaa !9
  %2701 = load ptr, ptr %4, align 8, !tbaa !5
  %2702 = getelementptr inbounds %struct.w2c_hermes, ptr %2701, i32 0, i32 6
  %2703 = load i32, ptr %36, align 4, !tbaa !9
  %2704 = zext i32 %2703 to i64
  %2705 = add i64 %2704, 76
  %2706 = call i32 @i32_load(ptr noundef %2702, i64 noundef %2705)
  store i32 %2706, ptr %36, align 4, !tbaa !9
  %2707 = load i32, ptr %36, align 4, !tbaa !9
  %2708 = icmp ne i32 %2707, 0
  %2709 = xor i1 %2708, true
  %2710 = zext i1 %2709 to i32
  store i32 %2710, ptr %36, align 4, !tbaa !9
  %2711 = load i32, ptr %36, align 4, !tbaa !9
  %2712 = icmp ne i32 %2711, 0
  br i1 %2712, label %2713, label %2714

2713:                                             ; preds = %2699
  br label %5501

2714:                                             ; preds = %2699
  br label %2715

2715:                                             ; preds = %2714, %2456
  %2716 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2716, ptr %36, align 4, !tbaa !9
  %2717 = load ptr, ptr %4, align 8, !tbaa !5
  %2718 = getelementptr inbounds %struct.w2c_hermes, ptr %2717, i32 0, i32 6
  %2719 = load i32, ptr %36, align 4, !tbaa !9
  %2720 = zext i32 %2719 to i64
  %2721 = add i64 %2720, 72
  %2722 = call i32 @i32_load(ptr noundef %2718, i64 noundef %2721)
  store i32 %2722, ptr %36, align 4, !tbaa !9
  %2723 = load ptr, ptr %4, align 8, !tbaa !5
  %2724 = getelementptr inbounds %struct.w2c_hermes, ptr %2723, i32 0, i32 6
  %2725 = load i32, ptr %36, align 4, !tbaa !9
  %2726 = zext i32 %2725 to i64
  %2727 = call i32 @i32_load(ptr noundef %2724, i64 noundef %2726)
  store i32 %2727, ptr %36, align 4, !tbaa !9
  %2728 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %2728, ptr %24, align 4, !tbaa !9
  %2729 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2729, ptr %37, align 4, !tbaa !9
  %2730 = load ptr, ptr %4, align 8, !tbaa !5
  %2731 = getelementptr inbounds %struct.w2c_hermes, ptr %2730, i32 0, i32 6
  %2732 = load i32, ptr %37, align 4, !tbaa !9
  %2733 = zext i32 %2732 to i64
  %2734 = add i64 %2733, 180
  %2735 = call i32 @i32_load(ptr noundef %2731, i64 noundef %2734)
  store i32 %2735, ptr %37, align 4, !tbaa !9
  %2736 = load i32, ptr %36, align 4, !tbaa !9
  %2737 = load i32, ptr %37, align 4, !tbaa !9
  %2738 = icmp uge i32 %2736, %2737
  %2739 = zext i1 %2738 to i32
  store i32 %2739, ptr %36, align 4, !tbaa !9
  %2740 = load i32, ptr %36, align 4, !tbaa !9
  %2741 = icmp ne i32 %2740, 0
  br i1 %2741, label %2742, label %2743

2742:                                             ; preds = %2715
  br label %5519

2743:                                             ; preds = %2715
  %2744 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %2744, ptr %36, align 4, !tbaa !9
  %2745 = load ptr, ptr %4, align 8, !tbaa !5
  %2746 = getelementptr inbounds %struct.w2c_hermes, ptr %2745, i32 0, i32 6
  %2747 = load i32, ptr %36, align 4, !tbaa !9
  %2748 = zext i32 %2747 to i64
  %2749 = add i64 %2748, 176
  %2750 = call i32 @i32_load(ptr noundef %2746, i64 noundef %2749)
  store i32 %2750, ptr %36, align 4, !tbaa !9
  %2751 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %2751, ptr %37, align 4, !tbaa !9
  store i32 28, ptr %38, align 4, !tbaa !9
  %2752 = load i32, ptr %38, align 4, !tbaa !9
  %2753 = load i32, ptr %37, align 4, !tbaa !9
  %2754 = mul i32 %2753, %2752
  store i32 %2754, ptr %37, align 4, !tbaa !9
  %2755 = load i32, ptr %37, align 4, !tbaa !9
  %2756 = load i32, ptr %36, align 4, !tbaa !9
  %2757 = add i32 %2756, %2755
  store i32 %2757, ptr %36, align 4, !tbaa !9
  %2758 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %2758, ptr %21, align 4, !tbaa !9
  store i32 292576, ptr %36, align 4, !tbaa !9
  %2759 = load ptr, ptr %4, align 8, !tbaa !5
  %2760 = getelementptr inbounds %struct.w2c_hermes, ptr %2759, i32 0, i32 6
  %2761 = load i32, ptr %36, align 4, !tbaa !9
  %2762 = zext i32 %2761 to i64
  %2763 = call i32 @i32_load8_u(ptr noundef %2760, i64 noundef %2762)
  store i32 %2763, ptr %36, align 4, !tbaa !9
  %2764 = load i32, ptr %36, align 4, !tbaa !9
  %2765 = icmp ne i32 %2764, 0
  %2766 = xor i1 %2765, true
  %2767 = zext i1 %2766 to i32
  store i32 %2767, ptr %36, align 4, !tbaa !9
  %2768 = load i32, ptr %36, align 4, !tbaa !9
  %2769 = icmp ne i32 %2768, 0
  br i1 %2769, label %2770, label %2771

2770:                                             ; preds = %2743
  br label %3008

2771:                                             ; preds = %2743
  store i32 107217, ptr %36, align 4, !tbaa !9
  %2772 = load ptr, ptr %4, align 8, !tbaa !5
  %2773 = load i32, ptr %36, align 4, !tbaa !9
  %2774 = call i32 @w2c_hermes_llvh0x3A0x3AisCurrentDebugType0x28char0x20const0x2A0x29(ptr noundef %2772, i32 noundef %2773)
  store i32 %2774, ptr %36, align 4, !tbaa !9
  %2775 = load i32, ptr %36, align 4, !tbaa !9
  %2776 = icmp ne i32 %2775, 0
  %2777 = xor i1 %2776, true
  %2778 = zext i1 %2777 to i32
  store i32 %2778, ptr %36, align 4, !tbaa !9
  %2779 = load i32, ptr %36, align 4, !tbaa !9
  %2780 = icmp ne i32 %2779, 0
  br i1 %2780, label %2781, label %2782

2781:                                             ; preds = %2771
  br label %3008

2782:                                             ; preds = %2771
  %2783 = load ptr, ptr %4, align 8, !tbaa !5
  %2784 = call i32 @w2c_hermes_llvh0x3A0x3Adbgs0x280x29(ptr noundef %2783)
  store i32 %2784, ptr %36, align 4, !tbaa !9
  %2785 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %2785, ptr %7, align 4, !tbaa !9
  %2786 = load ptr, ptr %4, align 8, !tbaa !5
  %2787 = getelementptr inbounds %struct.w2c_hermes, ptr %2786, i32 0, i32 6
  %2788 = load i32, ptr %36, align 4, !tbaa !9
  %2789 = zext i32 %2788 to i64
  %2790 = add i64 %2789, 8
  %2791 = call i32 @i32_load(ptr noundef %2787, i64 noundef %2790)
  store i32 %2791, ptr %36, align 4, !tbaa !9
  %2792 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2792, ptr %37, align 4, !tbaa !9
  %2793 = load ptr, ptr %4, align 8, !tbaa !5
  %2794 = getelementptr inbounds %struct.w2c_hermes, ptr %2793, i32 0, i32 6
  %2795 = load i32, ptr %37, align 4, !tbaa !9
  %2796 = zext i32 %2795 to i64
  %2797 = add i64 %2796, 12
  %2798 = call i32 @i32_load(ptr noundef %2794, i64 noundef %2797)
  store i32 %2798, ptr %37, align 4, !tbaa !9
  %2799 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %2799, ptr %6, align 4, !tbaa !9
  %2800 = load i32, ptr %37, align 4, !tbaa !9
  %2801 = load i32, ptr %36, align 4, !tbaa !9
  %2802 = sub i32 %2801, %2800
  store i32 %2802, ptr %36, align 4, !tbaa !9
  store i32 20, ptr %37, align 4, !tbaa !9
  %2803 = load i32, ptr %36, align 4, !tbaa !9
  %2804 = load i32, ptr %37, align 4, !tbaa !9
  %2805 = icmp ule i32 %2803, %2804
  %2806 = zext i1 %2805 to i32
  store i32 %2806, ptr %36, align 4, !tbaa !9
  %2807 = load i32, ptr %36, align 4, !tbaa !9
  %2808 = icmp ne i32 %2807, 0
  br i1 %2808, label %2809, label %2817

2809:                                             ; preds = %2782
  %2810 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2810, ptr %36, align 4, !tbaa !9
  store i32 210973, ptr %37, align 4, !tbaa !9
  store i32 21, ptr %38, align 4, !tbaa !9
  %2811 = load ptr, ptr %4, align 8, !tbaa !5
  %2812 = load i32, ptr %36, align 4, !tbaa !9
  %2813 = load i32, ptr %37, align 4, !tbaa !9
  %2814 = load i32, ptr %38, align 4, !tbaa !9
  %2815 = call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Awrite0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef %2811, i32 noundef %2812, i32 noundef %2813, i32 noundef %2814)
  store i32 %2815, ptr %36, align 4, !tbaa !9
  %2816 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %2816, ptr %7, align 4, !tbaa !9
  br label %2875

2817:                                             ; preds = %2782
  %2818 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2818, ptr %36, align 4, !tbaa !9
  store i32 210973, ptr %37, align 4, !tbaa !9
  %2819 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %2819, ptr %8, align 4, !tbaa !9
  %2820 = load ptr, ptr %4, align 8, !tbaa !5
  %2821 = getelementptr inbounds %struct.w2c_hermes, ptr %2820, i32 0, i32 6
  %2822 = load i32, ptr %37, align 4, !tbaa !9
  %2823 = zext i32 %2822 to i64
  %2824 = call i64 @i64_load(ptr noundef %2821, i64 noundef %2823)
  store i64 %2824, ptr %48, align 8, !tbaa !11
  %2825 = load ptr, ptr %4, align 8, !tbaa !5
  %2826 = getelementptr inbounds %struct.w2c_hermes, ptr %2825, i32 0, i32 6
  %2827 = load i32, ptr %36, align 4, !tbaa !9
  %2828 = zext i32 %2827 to i64
  %2829 = load i64, ptr %48, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2826, i64 noundef %2828, i64 noundef %2829)
  %2830 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2830, ptr %36, align 4, !tbaa !9
  %2831 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2831, ptr %37, align 4, !tbaa !9
  %2832 = load ptr, ptr %4, align 8, !tbaa !5
  %2833 = getelementptr inbounds %struct.w2c_hermes, ptr %2832, i32 0, i32 6
  %2834 = load i32, ptr %37, align 4, !tbaa !9
  %2835 = zext i32 %2834 to i64
  %2836 = add i64 %2835, 13
  %2837 = call i64 @i64_load(ptr noundef %2833, i64 noundef %2836)
  store i64 %2837, ptr %48, align 8, !tbaa !11
  %2838 = load ptr, ptr %4, align 8, !tbaa !5
  %2839 = getelementptr inbounds %struct.w2c_hermes, ptr %2838, i32 0, i32 6
  %2840 = load i32, ptr %36, align 4, !tbaa !9
  %2841 = zext i32 %2840 to i64
  %2842 = add i64 %2841, 13
  %2843 = load i64, ptr %48, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2839, i64 noundef %2842, i64 noundef %2843)
  %2844 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2844, ptr %36, align 4, !tbaa !9
  %2845 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2845, ptr %37, align 4, !tbaa !9
  %2846 = load ptr, ptr %4, align 8, !tbaa !5
  %2847 = getelementptr inbounds %struct.w2c_hermes, ptr %2846, i32 0, i32 6
  %2848 = load i32, ptr %37, align 4, !tbaa !9
  %2849 = zext i32 %2848 to i64
  %2850 = add i64 %2849, 8
  %2851 = call i64 @i64_load(ptr noundef %2847, i64 noundef %2850)
  store i64 %2851, ptr %48, align 8, !tbaa !11
  %2852 = load ptr, ptr %4, align 8, !tbaa !5
  %2853 = getelementptr inbounds %struct.w2c_hermes, ptr %2852, i32 0, i32 6
  %2854 = load i32, ptr %36, align 4, !tbaa !9
  %2855 = zext i32 %2854 to i64
  %2856 = add i64 %2855, 8
  %2857 = load i64, ptr %48, align 8, !tbaa !11
  call void @i64_store(ptr noundef %2853, i64 noundef %2856, i64 noundef %2857)
  %2858 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2858, ptr %36, align 4, !tbaa !9
  %2859 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2859, ptr %37, align 4, !tbaa !9
  %2860 = load ptr, ptr %4, align 8, !tbaa !5
  %2861 = getelementptr inbounds %struct.w2c_hermes, ptr %2860, i32 0, i32 6
  %2862 = load i32, ptr %37, align 4, !tbaa !9
  %2863 = zext i32 %2862 to i64
  %2864 = add i64 %2863, 12
  %2865 = call i32 @i32_load(ptr noundef %2861, i64 noundef %2864)
  store i32 %2865, ptr %37, align 4, !tbaa !9
  store i32 21, ptr %38, align 4, !tbaa !9
  %2866 = load i32, ptr %38, align 4, !tbaa !9
  %2867 = load i32, ptr %37, align 4, !tbaa !9
  %2868 = add i32 %2867, %2866
  store i32 %2868, ptr %37, align 4, !tbaa !9
  %2869 = load ptr, ptr %4, align 8, !tbaa !5
  %2870 = getelementptr inbounds %struct.w2c_hermes, ptr %2869, i32 0, i32 6
  %2871 = load i32, ptr %36, align 4, !tbaa !9
  %2872 = zext i32 %2871 to i64
  %2873 = add i64 %2872, 12
  %2874 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %2870, i64 noundef %2873, i32 noundef %2874)
  br label %2875

2875:                                             ; preds = %2817, %2809
  %2876 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2876, ptr %36, align 4, !tbaa !9
  store i32 420, ptr %37, align 4, !tbaa !9
  %2877 = load i32, ptr %37, align 4, !tbaa !9
  %2878 = load i32, ptr %36, align 4, !tbaa !9
  %2879 = add i32 %2878, %2877
  store i32 %2879, ptr %36, align 4, !tbaa !9
  %2880 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %2880, ptr %37, align 4, !tbaa !9
  %2881 = load ptr, ptr %4, align 8, !tbaa !5
  %2882 = load i32, ptr %36, align 4, !tbaa !9
  %2883 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3AInterval0x3A0x3Acompress0x280x290x20const(ptr noundef %2881, i32 noundef %2882, i32 noundef %2883)
  %2884 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2884, ptr %36, 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 %36, align 4, !tbaa !9
  %2888 = zext i32 %2887 to i64
  %2889 = add i64 %2888, 420
  %2890 = call i32 @i32_load(ptr noundef %2886, i64 noundef %2889)
  store i32 %2890, ptr %36, align 4, !tbaa !9
  %2891 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %2891, ptr %6, align 4, !tbaa !9
  %2892 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2892, ptr %36, 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 %36, align 4, !tbaa !9
  %2896 = zext i32 %2895 to i64
  %2897 = add i64 %2896, 424
  %2898 = call i32 @i32_load(ptr noundef %2894, i64 noundef %2897)
  store i32 %2898, ptr %36, align 4, !tbaa !9
  %2899 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %2899, ptr %8, align 4, !tbaa !9
  %2900 = load i32, ptr %36, align 4, !tbaa !9
  %2901 = icmp ne i32 %2900, 0
  br i1 %2901, label %2902, label %2942

2902:                                             ; preds = %2875
  %2903 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2903, ptr %36, align 4, !tbaa !9
  %2904 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2904, ptr %37, align 4, !tbaa !9
  store i32 3, ptr %38, align 4, !tbaa !9
  %2905 = load i32, ptr %38, align 4, !tbaa !9
  %2906 = and i32 %2905, 31
  %2907 = load i32, ptr %37, align 4, !tbaa !9
  %2908 = shl i32 %2907, %2906
  store i32 %2908, ptr %37, align 4, !tbaa !9
  %2909 = load i32, ptr %37, align 4, !tbaa !9
  %2910 = load i32, ptr %36, align 4, !tbaa !9
  %2911 = add i32 %2910, %2909
  store i32 %2911, ptr %36, align 4, !tbaa !9
  %2912 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %2912, ptr %8, align 4, !tbaa !9
  br label %2913

2913:                                             ; preds = %2932, %2902
  %2914 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2914, ptr %36, align 4, !tbaa !9
  %2915 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2915, ptr %37, align 4, !tbaa !9
  %2916 = load ptr, ptr %4, align 8, !tbaa !5
  %2917 = load i32, ptr %36, align 4, !tbaa !9
  %2918 = load i32, ptr %37, align 4, !tbaa !9
  %2919 = call i32 @w2c_hermes_llvh0x3A0x3Aoperator0x3C0x3C0x28llvh0x3A0x3Araw_ostream0x260x2C0x20hermes0x3A0x3ASegment0x20const0x260x29(ptr noundef %2916, i32 noundef %2917, i32 noundef %2918)
  store i32 %2919, ptr %36, align 4, !tbaa !9
  %2920 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2920, ptr %36, align 4, !tbaa !9
  store i32 8, ptr %37, align 4, !tbaa !9
  %2921 = load i32, ptr %37, align 4, !tbaa !9
  %2922 = load i32, ptr %36, align 4, !tbaa !9
  %2923 = add i32 %2922, %2921
  store i32 %2923, ptr %36, align 4, !tbaa !9
  %2924 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %2924, ptr %6, align 4, !tbaa !9
  %2925 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2925, ptr %37, align 4, !tbaa !9
  %2926 = load i32, ptr %36, align 4, !tbaa !9
  %2927 = load i32, ptr %37, align 4, !tbaa !9
  %2928 = icmp ne i32 %2926, %2927
  %2929 = zext i1 %2928 to i32
  store i32 %2929, ptr %36, align 4, !tbaa !9
  %2930 = load i32, ptr %36, align 4, !tbaa !9
  %2931 = icmp ne i32 %2930, 0
  br i1 %2931, label %2932, label %2933

2932:                                             ; preds = %2913
  br label %2913

2933:                                             ; preds = %2913
  %2934 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2934, ptr %36, align 4, !tbaa !9
  %2935 = load ptr, ptr %4, align 8, !tbaa !5
  %2936 = getelementptr inbounds %struct.w2c_hermes, ptr %2935, i32 0, i32 6
  %2937 = load i32, ptr %36, align 4, !tbaa !9
  %2938 = zext i32 %2937 to i64
  %2939 = add i64 %2938, 420
  %2940 = call i32 @i32_load(ptr noundef %2936, i64 noundef %2939)
  store i32 %2940, ptr %36, align 4, !tbaa !9
  %2941 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %2941, ptr %6, align 4, !tbaa !9
  br label %2942

2942:                                             ; preds = %2933, %2875
  %2943 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2943, ptr %36, align 4, !tbaa !9
  %2944 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %2944, ptr %37, align 4, !tbaa !9
  %2945 = load i32, ptr %36, align 4, !tbaa !9
  %2946 = load i32, ptr %37, align 4, !tbaa !9
  %2947 = icmp ne i32 %2945, %2946
  %2948 = zext i1 %2947 to i32
  store i32 %2948, ptr %36, align 4, !tbaa !9
  %2949 = load i32, ptr %36, align 4, !tbaa !9
  %2950 = icmp ne i32 %2949, 0
  br i1 %2950, label %2951, label %2955

2951:                                             ; preds = %2942
  %2952 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2952, ptr %36, align 4, !tbaa !9
  %2953 = load ptr, ptr %4, align 8, !tbaa !5
  %2954 = load i32, ptr %36, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %2953, i32 noundef %2954)
  br label %2955

2955:                                             ; preds = %2951, %2942
  %2956 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2956, ptr %36, align 4, !tbaa !9
  %2957 = load ptr, ptr %4, align 8, !tbaa !5
  %2958 = getelementptr inbounds %struct.w2c_hermes, ptr %2957, i32 0, i32 6
  %2959 = load i32, ptr %36, align 4, !tbaa !9
  %2960 = zext i32 %2959 to i64
  %2961 = add i64 %2960, 12
  %2962 = call i32 @i32_load(ptr noundef %2958, i64 noundef %2961)
  store i32 %2962, ptr %36, align 4, !tbaa !9
  %2963 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %2963, ptr %6, align 4, !tbaa !9
  %2964 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2964, ptr %37, align 4, !tbaa !9
  %2965 = load ptr, ptr %4, align 8, !tbaa !5
  %2966 = getelementptr inbounds %struct.w2c_hermes, ptr %2965, i32 0, i32 6
  %2967 = load i32, ptr %37, align 4, !tbaa !9
  %2968 = zext i32 %2967 to i64
  %2969 = add i64 %2968, 8
  %2970 = call i32 @i32_load(ptr noundef %2966, i64 noundef %2969)
  store i32 %2970, ptr %37, align 4, !tbaa !9
  %2971 = load i32, ptr %36, align 4, !tbaa !9
  %2972 = load i32, ptr %37, align 4, !tbaa !9
  %2973 = icmp eq i32 %2971, %2972
  %2974 = zext i1 %2973 to i32
  store i32 %2974, ptr %36, align 4, !tbaa !9
  %2975 = load i32, ptr %36, align 4, !tbaa !9
  %2976 = icmp ne i32 %2975, 0
  br i1 %2976, label %2977, label %2984

2977:                                             ; preds = %2955
  %2978 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2978, ptr %36, align 4, !tbaa !9
  store i32 213024, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %2979 = load ptr, ptr %4, align 8, !tbaa !5
  %2980 = load i32, ptr %36, align 4, !tbaa !9
  %2981 = load i32, ptr %37, align 4, !tbaa !9
  %2982 = load i32, ptr %38, align 4, !tbaa !9
  %2983 = call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Awrite0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef %2979, i32 noundef %2980, i32 noundef %2981, i32 noundef %2982)
  store i32 %2983, ptr %36, align 4, !tbaa !9
  br label %3008

2984:                                             ; preds = %2955
  %2985 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2985, ptr %36, align 4, !tbaa !9
  store i32 10, ptr %37, align 4, !tbaa !9
  %2986 = load ptr, ptr %4, align 8, !tbaa !5
  %2987 = getelementptr inbounds %struct.w2c_hermes, ptr %2986, i32 0, i32 6
  %2988 = load i32, ptr %36, align 4, !tbaa !9
  %2989 = zext i32 %2988 to i64
  %2990 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %2987, i64 noundef %2989, i32 noundef %2990)
  %2991 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2991, ptr %36, align 4, !tbaa !9
  %2992 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2992, ptr %37, align 4, !tbaa !9
  %2993 = load ptr, ptr %4, align 8, !tbaa !5
  %2994 = getelementptr inbounds %struct.w2c_hermes, ptr %2993, i32 0, i32 6
  %2995 = load i32, ptr %37, align 4, !tbaa !9
  %2996 = zext i32 %2995 to i64
  %2997 = add i64 %2996, 12
  %2998 = call i32 @i32_load(ptr noundef %2994, i64 noundef %2997)
  store i32 %2998, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %2999 = load i32, ptr %38, align 4, !tbaa !9
  %3000 = load i32, ptr %37, align 4, !tbaa !9
  %3001 = add i32 %3000, %2999
  store i32 %3001, ptr %37, align 4, !tbaa !9
  %3002 = load ptr, ptr %4, align 8, !tbaa !5
  %3003 = getelementptr inbounds %struct.w2c_hermes, ptr %3002, i32 0, i32 6
  %3004 = load i32, ptr %36, align 4, !tbaa !9
  %3005 = zext i32 %3004 to i64
  %3006 = add i64 %3005, 12
  %3007 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %3003, i64 noundef %3006, i32 noundef %3007)
  br label %3008

3008:                                             ; preds = %2984, %2977, %2781, %2770
  %3009 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %3009, ptr %36, align 4, !tbaa !9
  %3010 = load ptr, ptr %4, align 8, !tbaa !5
  %3011 = getelementptr inbounds %struct.w2c_hermes, ptr %3010, i32 0, i32 6
  %3012 = load i32, ptr %36, align 4, !tbaa !9
  %3013 = zext i32 %3012 to i64
  %3014 = add i64 %3013, 4
  %3015 = call i32 @i32_load(ptr noundef %3011, i64 noundef %3014)
  store i32 %3015, ptr %36, align 4, !tbaa !9
  %3016 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %3016, ptr %11, align 4, !tbaa !9
  %3017 = load i32, ptr %36, align 4, !tbaa !9
  %3018 = icmp ne i32 %3017, 0
  %3019 = xor i1 %3018, true
  %3020 = zext i1 %3019 to i32
  store i32 %3020, ptr %36, align 4, !tbaa !9
  %3021 = load i32, ptr %36, align 4, !tbaa !9
  %3022 = icmp ne i32 %3021, 0
  br i1 %3022, label %3023, label %3024

3023:                                             ; preds = %3008
  br label %5537

3024:                                             ; preds = %3008
  %3025 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3025, ptr %36, align 4, !tbaa !9
  store i32 3, ptr %37, align 4, !tbaa !9
  %3026 = load i32, ptr %37, align 4, !tbaa !9
  %3027 = and i32 %3026, 31
  %3028 = load i32, ptr %36, align 4, !tbaa !9
  %3029 = shl i32 %3028, %3027
  store i32 %3029, ptr %36, align 4, !tbaa !9
  %3030 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %3030, ptr %14, align 4, !tbaa !9
  %3031 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %3031, ptr %36, align 4, !tbaa !9
  %3032 = load ptr, ptr %4, align 8, !tbaa !5
  %3033 = getelementptr inbounds %struct.w2c_hermes, ptr %3032, i32 0, i32 6
  %3034 = load i32, ptr %36, align 4, !tbaa !9
  %3035 = zext i32 %3034 to i64
  %3036 = call i32 @i32_load(ptr noundef %3033, i64 noundef %3035)
  store i32 %3036, ptr %36, align 4, !tbaa !9
  %3037 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %3037, ptr %6, align 4, !tbaa !9
  %3038 = load ptr, ptr %4, align 8, !tbaa !5
  %3039 = getelementptr inbounds %struct.w2c_hermes, ptr %3038, i32 0, i32 6
  %3040 = load i32, ptr %36, align 4, !tbaa !9
  %3041 = zext i32 %3040 to i64
  %3042 = add i64 %3041, 4
  %3043 = call i32 @i32_load(ptr noundef %3039, i64 noundef %3042)
  store i32 %3043, ptr %36, align 4, !tbaa !9
  %3044 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %3044, ptr %8, align 4, !tbaa !9
  store i32 0, ptr %36, align 4, !tbaa !9
  %3045 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %3045, ptr %10, align 4, !tbaa !9
  %3046 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %3046, ptr %36, align 4, !tbaa !9
  %3047 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %3047, ptr %7, align 4, !tbaa !9
  %3048 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3048, ptr %36, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %3049 = load i32, ptr %37, align 4, !tbaa !9
  %3050 = load i32, ptr %36, align 4, !tbaa !9
  %3051 = sub i32 %3050, %3049
  store i32 %3051, ptr %36, align 4, !tbaa !9
  store i32 536870911, ptr %37, align 4, !tbaa !9
  %3052 = load i32, ptr %37, align 4, !tbaa !9
  %3053 = load i32, ptr %36, align 4, !tbaa !9
  %3054 = and i32 %3053, %3052
  store i32 %3054, ptr %36, align 4, !tbaa !9
  %3055 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %3055, ptr %12, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %3056 = load i32, ptr %37, align 4, !tbaa !9
  %3057 = load i32, ptr %36, align 4, !tbaa !9
  %3058 = add i32 %3057, %3056
  store i32 %3058, ptr %36, align 4, !tbaa !9
  store i32 7, ptr %37, align 4, !tbaa !9
  %3059 = load i32, ptr %37, align 4, !tbaa !9
  %3060 = load i32, ptr %36, align 4, !tbaa !9
  %3061 = and i32 %3060, %3059
  store i32 %3061, ptr %36, align 4, !tbaa !9
  %3062 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %3062, ptr %13, align 4, !tbaa !9
  %3063 = load i32, ptr %36, align 4, !tbaa !9
  %3064 = icmp ne i32 %3063, 0
  br i1 %3064, label %3065, label %3110

3065:                                             ; preds = %3024
  br label %3066

3066:                                             ; preds = %3108, %3065
  %3067 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3067, ptr %36, align 4, !tbaa !9
  %3068 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3068, ptr %37, align 4, !tbaa !9
  %3069 = load ptr, ptr %4, align 8, !tbaa !5
  %3070 = getelementptr inbounds %struct.w2c_hermes, ptr %3069, i32 0, i32 6
  %3071 = load i32, ptr %37, align 4, !tbaa !9
  %3072 = zext i32 %3071 to i64
  %3073 = add i64 %3072, 4
  %3074 = call i32 @i32_load(ptr noundef %3070, i64 noundef %3073)
  store i32 %3074, ptr %37, align 4, !tbaa !9
  %3075 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3075, ptr %11, align 4, !tbaa !9
  %3076 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3076, ptr %38, align 4, !tbaa !9
  %3077 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3077, ptr %39, align 4, !tbaa !9
  %3078 = load i32, ptr %38, align 4, !tbaa !9
  %3079 = load i32, ptr %39, align 4, !tbaa !9
  %3080 = icmp ugt i32 %3078, %3079
  %3081 = zext i1 %3080 to i32
  store i32 %3081, ptr %38, align 4, !tbaa !9
  %3082 = load i32, ptr %38, align 4, !tbaa !9
  %3083 = icmp ne i32 %3082, 0
  br i1 %3083, label %3084, label %3086

3084:                                             ; preds = %3066
  %3085 = load i32, ptr %36, align 4, !tbaa !9
  br label %3088

3086:                                             ; preds = %3066
  %3087 = load i32, ptr %37, align 4, !tbaa !9
  br label %3088

3088:                                             ; preds = %3086, %3084
  %3089 = phi i32 [ %3085, %3084 ], [ %3087, %3086 ]
  store i32 %3089, ptr %36, align 4, !tbaa !9
  %3090 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %3090, ptr %8, align 4, !tbaa !9
  %3091 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3091, ptr %36, align 4, !tbaa !9
  store i32 8, ptr %37, align 4, !tbaa !9
  %3092 = load i32, ptr %37, align 4, !tbaa !9
  %3093 = load i32, ptr %36, align 4, !tbaa !9
  %3094 = add i32 %3093, %3092
  store i32 %3094, ptr %36, align 4, !tbaa !9
  %3095 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %3095, ptr %7, align 4, !tbaa !9
  %3096 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3096, ptr %36, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %3097 = load i32, ptr %37, align 4, !tbaa !9
  %3098 = load i32, ptr %36, align 4, !tbaa !9
  %3099 = add i32 %3098, %3097
  store i32 %3099, ptr %36, align 4, !tbaa !9
  %3100 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %3100, ptr %10, align 4, !tbaa !9
  %3101 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %3101, ptr %37, align 4, !tbaa !9
  %3102 = load i32, ptr %36, align 4, !tbaa !9
  %3103 = load i32, ptr %37, align 4, !tbaa !9
  %3104 = icmp ne i32 %3102, %3103
  %3105 = zext i1 %3104 to i32
  store i32 %3105, ptr %36, align 4, !tbaa !9
  %3106 = load i32, ptr %36, align 4, !tbaa !9
  %3107 = icmp ne i32 %3106, 0
  br i1 %3107, label %3108, label %3109

3108:                                             ; preds = %3088
  br label %3066

3109:                                             ; preds = %3088
  br label %3110

3110:                                             ; preds = %3109, %3024
  %3111 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %3111, ptr %36, align 4, !tbaa !9
  %3112 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %3112, ptr %37, align 4, !tbaa !9
  %3113 = load i32, ptr %37, align 4, !tbaa !9
  %3114 = load i32, ptr %36, align 4, !tbaa !9
  %3115 = add i32 %3114, %3113
  store i32 %3115, ptr %36, align 4, !tbaa !9
  %3116 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %3116, ptr %14, align 4, !tbaa !9
  %3117 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %3117, ptr %36, align 4, !tbaa !9
  store i32 7, ptr %37, align 4, !tbaa !9
  %3118 = load i32, ptr %36, align 4, !tbaa !9
  %3119 = load i32, ptr %37, align 4, !tbaa !9
  %3120 = icmp ult i32 %3118, %3119
  %3121 = zext i1 %3120 to i32
  store i32 %3121, ptr %36, align 4, !tbaa !9
  %3122 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %3122, ptr %30, align 4, !tbaa !9
  %3123 = load i32, ptr %36, align 4, !tbaa !9
  %3124 = icmp ne i32 %3123, 0
  %3125 = xor i1 %3124, true
  %3126 = zext i1 %3125 to i32
  store i32 %3126, ptr %36, align 4, !tbaa !9
  %3127 = load i32, ptr %36, align 4, !tbaa !9
  %3128 = icmp ne i32 %3127, 0
  br i1 %3128, label %3129, label %3330

3129:                                             ; preds = %3110
  br label %3130

3130:                                             ; preds = %3328, %3129
  %3131 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3131, ptr %36, align 4, !tbaa !9
  %3132 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3132, ptr %37, align 4, !tbaa !9
  %3133 = load ptr, ptr %4, align 8, !tbaa !5
  %3134 = getelementptr inbounds %struct.w2c_hermes, ptr %3133, i32 0, i32 6
  %3135 = load i32, ptr %37, align 4, !tbaa !9
  %3136 = zext i32 %3135 to i64
  %3137 = add i64 %3136, 4
  %3138 = call i32 @i32_load(ptr noundef %3134, i64 noundef %3137)
  store i32 %3138, ptr %37, align 4, !tbaa !9
  %3139 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3139, ptr %10, align 4, !tbaa !9
  %3140 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3140, ptr %38, align 4, !tbaa !9
  %3141 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3141, ptr %39, align 4, !tbaa !9
  %3142 = load i32, ptr %38, align 4, !tbaa !9
  %3143 = load i32, ptr %39, align 4, !tbaa !9
  %3144 = icmp ugt i32 %3142, %3143
  %3145 = zext i1 %3144 to i32
  store i32 %3145, ptr %38, align 4, !tbaa !9
  %3146 = load i32, ptr %38, align 4, !tbaa !9
  %3147 = icmp ne i32 %3146, 0
  br i1 %3147, label %3148, label %3150

3148:                                             ; preds = %3130
  %3149 = load i32, ptr %36, align 4, !tbaa !9
  br label %3152

3150:                                             ; preds = %3130
  %3151 = load i32, ptr %37, align 4, !tbaa !9
  br label %3152

3152:                                             ; preds = %3150, %3148
  %3153 = phi i32 [ %3149, %3148 ], [ %3151, %3150 ]
  store i32 %3153, ptr %36, align 4, !tbaa !9
  %3154 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %3154, ptr %8, align 4, !tbaa !9
  %3155 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3155, ptr %37, align 4, !tbaa !9
  %3156 = load ptr, ptr %4, align 8, !tbaa !5
  %3157 = getelementptr inbounds %struct.w2c_hermes, ptr %3156, i32 0, i32 6
  %3158 = load i32, ptr %37, align 4, !tbaa !9
  %3159 = zext i32 %3158 to i64
  %3160 = add i64 %3159, 12
  %3161 = call i32 @i32_load(ptr noundef %3157, i64 noundef %3160)
  store i32 %3161, ptr %37, align 4, !tbaa !9
  %3162 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3162, ptr %10, align 4, !tbaa !9
  %3163 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3163, ptr %38, align 4, !tbaa !9
  %3164 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3164, ptr %39, align 4, !tbaa !9
  %3165 = load i32, ptr %38, align 4, !tbaa !9
  %3166 = load i32, ptr %39, align 4, !tbaa !9
  %3167 = icmp ugt i32 %3165, %3166
  %3168 = zext i1 %3167 to i32
  store i32 %3168, ptr %38, align 4, !tbaa !9
  %3169 = load i32, ptr %38, align 4, !tbaa !9
  %3170 = icmp ne i32 %3169, 0
  br i1 %3170, label %3171, label %3173

3171:                                             ; preds = %3152
  %3172 = load i32, ptr %36, align 4, !tbaa !9
  br label %3175

3173:                                             ; preds = %3152
  %3174 = load i32, ptr %37, align 4, !tbaa !9
  br label %3175

3175:                                             ; preds = %3173, %3171
  %3176 = phi i32 [ %3172, %3171 ], [ %3174, %3173 ]
  store i32 %3176, ptr %36, align 4, !tbaa !9
  %3177 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %3177, ptr %8, align 4, !tbaa !9
  %3178 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3178, ptr %37, 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 %37, align 4, !tbaa !9
  %3182 = zext i32 %3181 to i64
  %3183 = add i64 %3182, 20
  %3184 = call i32 @i32_load(ptr noundef %3180, i64 noundef %3183)
  store i32 %3184, ptr %37, align 4, !tbaa !9
  %3185 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3185, ptr %10, align 4, !tbaa !9
  %3186 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3186, ptr %38, align 4, !tbaa !9
  %3187 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3187, ptr %39, align 4, !tbaa !9
  %3188 = load i32, ptr %38, align 4, !tbaa !9
  %3189 = load i32, ptr %39, align 4, !tbaa !9
  %3190 = icmp ugt i32 %3188, %3189
  %3191 = zext i1 %3190 to i32
  store i32 %3191, ptr %38, align 4, !tbaa !9
  %3192 = load i32, ptr %38, align 4, !tbaa !9
  %3193 = icmp ne i32 %3192, 0
  br i1 %3193, label %3194, label %3196

3194:                                             ; preds = %3175
  %3195 = load i32, ptr %36, align 4, !tbaa !9
  br label %3198

3196:                                             ; preds = %3175
  %3197 = load i32, ptr %37, align 4, !tbaa !9
  br label %3198

3198:                                             ; preds = %3196, %3194
  %3199 = phi i32 [ %3195, %3194 ], [ %3197, %3196 ]
  store i32 %3199, ptr %36, align 4, !tbaa !9
  %3200 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %3200, ptr %8, align 4, !tbaa !9
  %3201 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3201, ptr %37, align 4, !tbaa !9
  %3202 = load ptr, ptr %4, align 8, !tbaa !5
  %3203 = getelementptr inbounds %struct.w2c_hermes, ptr %3202, i32 0, i32 6
  %3204 = load i32, ptr %37, align 4, !tbaa !9
  %3205 = zext i32 %3204 to i64
  %3206 = add i64 %3205, 28
  %3207 = call i32 @i32_load(ptr noundef %3203, i64 noundef %3206)
  store i32 %3207, ptr %37, align 4, !tbaa !9
  %3208 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3208, ptr %10, align 4, !tbaa !9
  %3209 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3209, ptr %38, align 4, !tbaa !9
  %3210 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3210, ptr %39, align 4, !tbaa !9
  %3211 = load i32, ptr %38, align 4, !tbaa !9
  %3212 = load i32, ptr %39, align 4, !tbaa !9
  %3213 = icmp ugt i32 %3211, %3212
  %3214 = zext i1 %3213 to i32
  store i32 %3214, ptr %38, align 4, !tbaa !9
  %3215 = load i32, ptr %38, align 4, !tbaa !9
  %3216 = icmp ne i32 %3215, 0
  br i1 %3216, label %3217, label %3219

3217:                                             ; preds = %3198
  %3218 = load i32, ptr %36, align 4, !tbaa !9
  br label %3221

3219:                                             ; preds = %3198
  %3220 = load i32, ptr %37, align 4, !tbaa !9
  br label %3221

3221:                                             ; preds = %3219, %3217
  %3222 = phi i32 [ %3218, %3217 ], [ %3220, %3219 ]
  store i32 %3222, ptr %36, align 4, !tbaa !9
  %3223 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %3223, ptr %8, align 4, !tbaa !9
  %3224 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3224, ptr %37, 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 %37, align 4, !tbaa !9
  %3228 = zext i32 %3227 to i64
  %3229 = add i64 %3228, 36
  %3230 = call i32 @i32_load(ptr noundef %3226, i64 noundef %3229)
  store i32 %3230, ptr %37, align 4, !tbaa !9
  %3231 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3231, ptr %10, align 4, !tbaa !9
  %3232 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3232, ptr %38, align 4, !tbaa !9
  %3233 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3233, ptr %39, align 4, !tbaa !9
  %3234 = load i32, ptr %38, align 4, !tbaa !9
  %3235 = load i32, ptr %39, align 4, !tbaa !9
  %3236 = icmp ugt i32 %3234, %3235
  %3237 = zext i1 %3236 to i32
  store i32 %3237, ptr %38, align 4, !tbaa !9
  %3238 = load i32, ptr %38, align 4, !tbaa !9
  %3239 = icmp ne i32 %3238, 0
  br i1 %3239, label %3240, label %3242

3240:                                             ; preds = %3221
  %3241 = load i32, ptr %36, align 4, !tbaa !9
  br label %3244

3242:                                             ; preds = %3221
  %3243 = load i32, ptr %37, align 4, !tbaa !9
  br label %3244

3244:                                             ; preds = %3242, %3240
  %3245 = phi i32 [ %3241, %3240 ], [ %3243, %3242 ]
  store i32 %3245, ptr %36, align 4, !tbaa !9
  %3246 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %3246, ptr %8, align 4, !tbaa !9
  %3247 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3247, ptr %37, align 4, !tbaa !9
  %3248 = load ptr, ptr %4, align 8, !tbaa !5
  %3249 = getelementptr inbounds %struct.w2c_hermes, ptr %3248, i32 0, i32 6
  %3250 = load i32, ptr %37, align 4, !tbaa !9
  %3251 = zext i32 %3250 to i64
  %3252 = add i64 %3251, 44
  %3253 = call i32 @i32_load(ptr noundef %3249, i64 noundef %3252)
  store i32 %3253, ptr %37, align 4, !tbaa !9
  %3254 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3254, ptr %10, align 4, !tbaa !9
  %3255 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3255, ptr %38, align 4, !tbaa !9
  %3256 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3256, ptr %39, align 4, !tbaa !9
  %3257 = load i32, ptr %38, align 4, !tbaa !9
  %3258 = load i32, ptr %39, align 4, !tbaa !9
  %3259 = icmp ugt i32 %3257, %3258
  %3260 = zext i1 %3259 to i32
  store i32 %3260, ptr %38, align 4, !tbaa !9
  %3261 = load i32, ptr %38, align 4, !tbaa !9
  %3262 = icmp ne i32 %3261, 0
  br i1 %3262, label %3263, label %3265

3263:                                             ; preds = %3244
  %3264 = load i32, ptr %36, align 4, !tbaa !9
  br label %3267

3265:                                             ; preds = %3244
  %3266 = load i32, ptr %37, align 4, !tbaa !9
  br label %3267

3267:                                             ; preds = %3265, %3263
  %3268 = phi i32 [ %3264, %3263 ], [ %3266, %3265 ]
  store i32 %3268, ptr %36, align 4, !tbaa !9
  %3269 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %3269, ptr %8, align 4, !tbaa !9
  %3270 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3270, ptr %37, align 4, !tbaa !9
  %3271 = load ptr, ptr %4, align 8, !tbaa !5
  %3272 = getelementptr inbounds %struct.w2c_hermes, ptr %3271, i32 0, i32 6
  %3273 = load i32, ptr %37, align 4, !tbaa !9
  %3274 = zext i32 %3273 to i64
  %3275 = add i64 %3274, 52
  %3276 = call i32 @i32_load(ptr noundef %3272, i64 noundef %3275)
  store i32 %3276, ptr %37, align 4, !tbaa !9
  %3277 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3277, ptr %10, align 4, !tbaa !9
  %3278 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3278, ptr %38, align 4, !tbaa !9
  %3279 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3279, ptr %39, align 4, !tbaa !9
  %3280 = load i32, ptr %38, align 4, !tbaa !9
  %3281 = load i32, ptr %39, align 4, !tbaa !9
  %3282 = icmp ugt i32 %3280, %3281
  %3283 = zext i1 %3282 to i32
  store i32 %3283, ptr %38, align 4, !tbaa !9
  %3284 = load i32, ptr %38, align 4, !tbaa !9
  %3285 = icmp ne i32 %3284, 0
  br i1 %3285, label %3286, label %3288

3286:                                             ; preds = %3267
  %3287 = load i32, ptr %36, align 4, !tbaa !9
  br label %3290

3288:                                             ; preds = %3267
  %3289 = load i32, ptr %37, align 4, !tbaa !9
  br label %3290

3290:                                             ; preds = %3288, %3286
  %3291 = phi i32 [ %3287, %3286 ], [ %3289, %3288 ]
  store i32 %3291, ptr %36, align 4, !tbaa !9
  %3292 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %3292, ptr %8, align 4, !tbaa !9
  %3293 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3293, ptr %37, align 4, !tbaa !9
  %3294 = load ptr, ptr %4, align 8, !tbaa !5
  %3295 = getelementptr inbounds %struct.w2c_hermes, ptr %3294, i32 0, i32 6
  %3296 = load i32, ptr %37, align 4, !tbaa !9
  %3297 = zext i32 %3296 to i64
  %3298 = add i64 %3297, 60
  %3299 = call i32 @i32_load(ptr noundef %3295, i64 noundef %3298)
  store i32 %3299, ptr %37, align 4, !tbaa !9
  %3300 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3300, ptr %10, align 4, !tbaa !9
  %3301 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3301, ptr %38, align 4, !tbaa !9
  %3302 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3302, ptr %39, align 4, !tbaa !9
  %3303 = load i32, ptr %38, align 4, !tbaa !9
  %3304 = load i32, ptr %39, align 4, !tbaa !9
  %3305 = icmp ugt i32 %3303, %3304
  %3306 = zext i1 %3305 to i32
  store i32 %3306, ptr %38, align 4, !tbaa !9
  %3307 = load i32, ptr %38, align 4, !tbaa !9
  %3308 = icmp ne i32 %3307, 0
  br i1 %3308, label %3309, label %3311

3309:                                             ; preds = %3290
  %3310 = load i32, ptr %36, align 4, !tbaa !9
  br label %3313

3311:                                             ; preds = %3290
  %3312 = load i32, ptr %37, align 4, !tbaa !9
  br label %3313

3313:                                             ; preds = %3311, %3309
  %3314 = phi i32 [ %3310, %3309 ], [ %3312, %3311 ]
  store i32 %3314, ptr %36, align 4, !tbaa !9
  %3315 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %3315, ptr %8, align 4, !tbaa !9
  %3316 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3316, ptr %36, align 4, !tbaa !9
  store i32 -64, ptr %37, align 4, !tbaa !9
  %3317 = load i32, ptr %37, align 4, !tbaa !9
  %3318 = load i32, ptr %36, align 4, !tbaa !9
  %3319 = sub i32 %3318, %3317
  store i32 %3319, ptr %36, align 4, !tbaa !9
  %3320 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %3320, ptr %7, align 4, !tbaa !9
  %3321 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %3321, ptr %37, align 4, !tbaa !9
  %3322 = load i32, ptr %36, align 4, !tbaa !9
  %3323 = load i32, ptr %37, align 4, !tbaa !9
  %3324 = icmp ne i32 %3322, %3323
  %3325 = zext i1 %3324 to i32
  store i32 %3325, ptr %36, align 4, !tbaa !9
  %3326 = load i32, ptr %36, align 4, !tbaa !9
  %3327 = icmp ne i32 %3326, 0
  br i1 %3327, label %3328, label %3329

3328:                                             ; preds = %3313
  br label %3130

3329:                                             ; preds = %3313
  br label %3330

3330:                                             ; preds = %3329, %3110
  store i32 0, ptr %36, align 4, !tbaa !9
  %3331 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %3331, ptr %12, align 4, !tbaa !9
  %3332 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %3332, ptr %36, align 4, !tbaa !9
  %3333 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %3333, ptr %7, align 4, !tbaa !9
  %3334 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %3334, ptr %36, align 4, !tbaa !9
  %3335 = load ptr, ptr %4, align 8, !tbaa !5
  %3336 = getelementptr inbounds %struct.w2c_hermes, ptr %3335, i32 0, i32 6
  %3337 = load i32, ptr %36, align 4, !tbaa !9
  %3338 = zext i32 %3337 to i64
  %3339 = call i32 @i32_load(ptr noundef %3336, i64 noundef %3338)
  store i32 %3339, ptr %36, align 4, !tbaa !9
  %3340 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %3340, ptr %11, align 4, !tbaa !9
  %3341 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %3341, ptr %10, align 4, !tbaa !9
  %3342 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %3342, ptr %36, align 4, !tbaa !9
  %3343 = load i32, ptr %36, align 4, !tbaa !9
  %3344 = icmp ne i32 %3343, 0
  br i1 %3344, label %3345, label %3389

3345:                                             ; preds = %3330
  br label %3346

3346:                                             ; preds = %3387, %3345
  %3347 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3347, ptr %36, 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 %36, align 4, !tbaa !9
  %3351 = zext i32 %3350 to i64
  %3352 = call i32 @i32_load(ptr noundef %3349, i64 noundef %3351)
  store i32 %3352, ptr %36, align 4, !tbaa !9
  %3353 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %3353, ptr %15, align 4, !tbaa !9
  %3354 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3354, ptr %37, align 4, !tbaa !9
  %3355 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3355, ptr %38, align 4, !tbaa !9
  %3356 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %3356, ptr %39, align 4, !tbaa !9
  %3357 = load i32, ptr %38, align 4, !tbaa !9
  %3358 = load i32, ptr %39, align 4, !tbaa !9
  %3359 = icmp ugt i32 %3357, %3358
  %3360 = zext i1 %3359 to i32
  store i32 %3360, ptr %38, align 4, !tbaa !9
  %3361 = load i32, ptr %38, align 4, !tbaa !9
  %3362 = icmp ne i32 %3361, 0
  br i1 %3362, label %3363, label %3365

3363:                                             ; preds = %3346
  %3364 = load i32, ptr %36, align 4, !tbaa !9
  br label %3367

3365:                                             ; preds = %3346
  %3366 = load i32, ptr %37, align 4, !tbaa !9
  br label %3367

3367:                                             ; preds = %3365, %3363
  %3368 = phi i32 [ %3364, %3363 ], [ %3366, %3365 ]
  store i32 %3368, ptr %36, align 4, !tbaa !9
  %3369 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %3369, ptr %10, align 4, !tbaa !9
  %3370 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3370, ptr %36, align 4, !tbaa !9
  store i32 8, ptr %37, align 4, !tbaa !9
  %3371 = load i32, ptr %37, align 4, !tbaa !9
  %3372 = load i32, ptr %36, align 4, !tbaa !9
  %3373 = add i32 %3372, %3371
  store i32 %3373, ptr %36, align 4, !tbaa !9
  %3374 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %3374, ptr %7, align 4, !tbaa !9
  %3375 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %3375, ptr %36, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %3376 = load i32, ptr %37, align 4, !tbaa !9
  %3377 = load i32, ptr %36, align 4, !tbaa !9
  %3378 = add i32 %3377, %3376
  store i32 %3378, ptr %36, align 4, !tbaa !9
  %3379 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %3379, ptr %12, align 4, !tbaa !9
  %3380 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %3380, ptr %37, align 4, !tbaa !9
  %3381 = load i32, ptr %36, align 4, !tbaa !9
  %3382 = load i32, ptr %37, align 4, !tbaa !9
  %3383 = icmp ne i32 %3381, %3382
  %3384 = zext i1 %3383 to i32
  store i32 %3384, ptr %36, align 4, !tbaa !9
  %3385 = load i32, ptr %36, align 4, !tbaa !9
  %3386 = icmp ne i32 %3385, 0
  br i1 %3386, label %3387, label %3388

3387:                                             ; preds = %3367
  br label %3346

3388:                                             ; preds = %3367
  br label %3389

3389:                                             ; preds = %3388, %3330
  %3390 = load i32, ptr %30, align 4, !tbaa !9
  store i32 %3390, ptr %36, align 4, !tbaa !9
  %3391 = load i32, ptr %36, align 4, !tbaa !9
  %3392 = icmp ne i32 %3391, 0
  %3393 = xor i1 %3392, true
  %3394 = zext i1 %3393 to i32
  store i32 %3394, ptr %36, align 4, !tbaa !9
  %3395 = load i32, ptr %36, align 4, !tbaa !9
  %3396 = icmp ne i32 %3395, 0
  br i1 %3396, label %3397, label %3597

3397:                                             ; preds = %3389
  br label %3398

3398:                                             ; preds = %3595, %3397
  %3399 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3399, ptr %36, align 4, !tbaa !9
  %3400 = load ptr, ptr %4, align 8, !tbaa !5
  %3401 = getelementptr inbounds %struct.w2c_hermes, ptr %3400, i32 0, i32 6
  %3402 = load i32, ptr %36, align 4, !tbaa !9
  %3403 = zext i32 %3402 to i64
  %3404 = add i64 %3403, 56
  %3405 = call i32 @i32_load(ptr noundef %3401, i64 noundef %3404)
  store i32 %3405, ptr %36, align 4, !tbaa !9
  %3406 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %3406, ptr %12, align 4, !tbaa !9
  %3407 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3407, ptr %37, align 4, !tbaa !9
  %3408 = load ptr, ptr %4, align 8, !tbaa !5
  %3409 = getelementptr inbounds %struct.w2c_hermes, ptr %3408, i32 0, i32 6
  %3410 = load i32, ptr %37, align 4, !tbaa !9
  %3411 = zext i32 %3410 to i64
  %3412 = add i64 %3411, 48
  %3413 = call i32 @i32_load(ptr noundef %3409, i64 noundef %3412)
  store i32 %3413, ptr %37, align 4, !tbaa !9
  %3414 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3414, ptr %15, align 4, !tbaa !9
  %3415 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3415, ptr %38, align 4, !tbaa !9
  %3416 = load ptr, ptr %4, align 8, !tbaa !5
  %3417 = getelementptr inbounds %struct.w2c_hermes, ptr %3416, i32 0, i32 6
  %3418 = load i32, ptr %38, align 4, !tbaa !9
  %3419 = zext i32 %3418 to i64
  %3420 = add i64 %3419, 40
  %3421 = call i32 @i32_load(ptr noundef %3417, i64 noundef %3420)
  store i32 %3421, ptr %38, align 4, !tbaa !9
  %3422 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %3422, ptr %17, align 4, !tbaa !9
  %3423 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3423, ptr %39, align 4, !tbaa !9
  %3424 = load ptr, ptr %4, align 8, !tbaa !5
  %3425 = getelementptr inbounds %struct.w2c_hermes, ptr %3424, i32 0, i32 6
  %3426 = load i32, ptr %39, align 4, !tbaa !9
  %3427 = zext i32 %3426 to i64
  %3428 = add i64 %3427, 32
  %3429 = call i32 @i32_load(ptr noundef %3425, i64 noundef %3428)
  store i32 %3429, ptr %39, align 4, !tbaa !9
  %3430 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %3430, ptr %25, align 4, !tbaa !9
  %3431 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3431, ptr %40, align 4, !tbaa !9
  %3432 = load ptr, ptr %4, align 8, !tbaa !5
  %3433 = getelementptr inbounds %struct.w2c_hermes, ptr %3432, i32 0, i32 6
  %3434 = load i32, ptr %40, align 4, !tbaa !9
  %3435 = zext i32 %3434 to i64
  %3436 = add i64 %3435, 24
  %3437 = call i32 @i32_load(ptr noundef %3433, i64 noundef %3436)
  store i32 %3437, ptr %40, align 4, !tbaa !9
  %3438 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %3438, ptr %26, align 4, !tbaa !9
  %3439 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3439, ptr %41, align 4, !tbaa !9
  %3440 = load ptr, ptr %4, align 8, !tbaa !5
  %3441 = getelementptr inbounds %struct.w2c_hermes, ptr %3440, i32 0, i32 6
  %3442 = load i32, ptr %41, align 4, !tbaa !9
  %3443 = zext i32 %3442 to i64
  %3444 = add i64 %3443, 16
  %3445 = call i32 @i32_load(ptr noundef %3441, i64 noundef %3444)
  store i32 %3445, ptr %41, align 4, !tbaa !9
  %3446 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %3446, ptr %27, align 4, !tbaa !9
  %3447 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3447, ptr %42, align 4, !tbaa !9
  %3448 = load ptr, ptr %4, align 8, !tbaa !5
  %3449 = getelementptr inbounds %struct.w2c_hermes, ptr %3448, i32 0, i32 6
  %3450 = load i32, ptr %42, align 4, !tbaa !9
  %3451 = zext i32 %3450 to i64
  %3452 = add i64 %3451, 8
  %3453 = call i32 @i32_load(ptr noundef %3449, i64 noundef %3452)
  store i32 %3453, ptr %42, align 4, !tbaa !9
  %3454 = load i32, ptr %42, align 4, !tbaa !9
  store i32 %3454, ptr %32, align 4, !tbaa !9
  %3455 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3455, ptr %43, align 4, !tbaa !9
  %3456 = load ptr, ptr %4, align 8, !tbaa !5
  %3457 = getelementptr inbounds %struct.w2c_hermes, ptr %3456, i32 0, i32 6
  %3458 = load i32, ptr %43, align 4, !tbaa !9
  %3459 = zext i32 %3458 to i64
  %3460 = call i32 @i32_load(ptr noundef %3457, i64 noundef %3459)
  store i32 %3460, ptr %43, align 4, !tbaa !9
  %3461 = load i32, ptr %43, align 4, !tbaa !9
  store i32 %3461, ptr %33, align 4, !tbaa !9
  %3462 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3462, ptr %44, align 4, !tbaa !9
  %3463 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3463, ptr %45, align 4, !tbaa !9
  %3464 = load i32, ptr %33, align 4, !tbaa !9
  store i32 %3464, ptr %46, align 4, !tbaa !9
  %3465 = load i32, ptr %45, align 4, !tbaa !9
  %3466 = load i32, ptr %46, align 4, !tbaa !9
  %3467 = icmp ugt i32 %3465, %3466
  %3468 = zext i1 %3467 to i32
  store i32 %3468, ptr %45, align 4, !tbaa !9
  %3469 = load i32, ptr %45, align 4, !tbaa !9
  %3470 = icmp ne i32 %3469, 0
  br i1 %3470, label %3471, label %3473

3471:                                             ; preds = %3398
  %3472 = load i32, ptr %43, align 4, !tbaa !9
  br label %3475

3473:                                             ; preds = %3398
  %3474 = load i32, ptr %44, align 4, !tbaa !9
  br label %3475

3475:                                             ; preds = %3473, %3471
  %3476 = phi i32 [ %3472, %3471 ], [ %3474, %3473 ]
  store i32 %3476, ptr %43, align 4, !tbaa !9
  %3477 = load i32, ptr %43, align 4, !tbaa !9
  store i32 %3477, ptr %10, align 4, !tbaa !9
  %3478 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3478, ptr %44, align 4, !tbaa !9
  %3479 = load i32, ptr %32, align 4, !tbaa !9
  store i32 %3479, ptr %45, align 4, !tbaa !9
  %3480 = load i32, ptr %44, align 4, !tbaa !9
  %3481 = load i32, ptr %45, align 4, !tbaa !9
  %3482 = icmp ugt i32 %3480, %3481
  %3483 = zext i1 %3482 to i32
  store i32 %3483, ptr %44, align 4, !tbaa !9
  %3484 = load i32, ptr %44, align 4, !tbaa !9
  %3485 = icmp ne i32 %3484, 0
  br i1 %3485, label %3486, label %3488

3486:                                             ; preds = %3475
  %3487 = load i32, ptr %42, align 4, !tbaa !9
  br label %3490

3488:                                             ; preds = %3475
  %3489 = load i32, ptr %43, align 4, !tbaa !9
  br label %3490

3490:                                             ; preds = %3488, %3486
  %3491 = phi i32 [ %3487, %3486 ], [ %3489, %3488 ]
  store i32 %3491, ptr %42, align 4, !tbaa !9
  %3492 = load i32, ptr %42, align 4, !tbaa !9
  store i32 %3492, ptr %10, align 4, !tbaa !9
  %3493 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3493, ptr %43, align 4, !tbaa !9
  %3494 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %3494, ptr %44, align 4, !tbaa !9
  %3495 = load i32, ptr %43, align 4, !tbaa !9
  %3496 = load i32, ptr %44, align 4, !tbaa !9
  %3497 = icmp ugt i32 %3495, %3496
  %3498 = zext i1 %3497 to i32
  store i32 %3498, ptr %43, align 4, !tbaa !9
  %3499 = load i32, ptr %43, align 4, !tbaa !9
  %3500 = icmp ne i32 %3499, 0
  br i1 %3500, label %3501, label %3503

3501:                                             ; preds = %3490
  %3502 = load i32, ptr %41, align 4, !tbaa !9
  br label %3505

3503:                                             ; preds = %3490
  %3504 = load i32, ptr %42, align 4, !tbaa !9
  br label %3505

3505:                                             ; preds = %3503, %3501
  %3506 = phi i32 [ %3502, %3501 ], [ %3504, %3503 ]
  store i32 %3506, ptr %41, align 4, !tbaa !9
  %3507 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %3507, ptr %10, align 4, !tbaa !9
  %3508 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3508, ptr %42, align 4, !tbaa !9
  %3509 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %3509, ptr %43, align 4, !tbaa !9
  %3510 = load i32, ptr %42, align 4, !tbaa !9
  %3511 = load i32, ptr %43, align 4, !tbaa !9
  %3512 = icmp ugt i32 %3510, %3511
  %3513 = zext i1 %3512 to i32
  store i32 %3513, ptr %42, align 4, !tbaa !9
  %3514 = load i32, ptr %42, align 4, !tbaa !9
  %3515 = icmp ne i32 %3514, 0
  br i1 %3515, label %3516, label %3518

3516:                                             ; preds = %3505
  %3517 = load i32, ptr %40, align 4, !tbaa !9
  br label %3520

3518:                                             ; preds = %3505
  %3519 = load i32, ptr %41, align 4, !tbaa !9
  br label %3520

3520:                                             ; preds = %3518, %3516
  %3521 = phi i32 [ %3517, %3516 ], [ %3519, %3518 ]
  store i32 %3521, ptr %40, align 4, !tbaa !9
  %3522 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %3522, ptr %10, align 4, !tbaa !9
  %3523 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3523, ptr %41, align 4, !tbaa !9
  %3524 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %3524, ptr %42, align 4, !tbaa !9
  %3525 = load i32, ptr %41, align 4, !tbaa !9
  %3526 = load i32, ptr %42, align 4, !tbaa !9
  %3527 = icmp ugt i32 %3525, %3526
  %3528 = zext i1 %3527 to i32
  store i32 %3528, ptr %41, align 4, !tbaa !9
  %3529 = load i32, ptr %41, align 4, !tbaa !9
  %3530 = icmp ne i32 %3529, 0
  br i1 %3530, label %3531, label %3533

3531:                                             ; preds = %3520
  %3532 = load i32, ptr %39, align 4, !tbaa !9
  br label %3535

3533:                                             ; preds = %3520
  %3534 = load i32, ptr %40, align 4, !tbaa !9
  br label %3535

3535:                                             ; preds = %3533, %3531
  %3536 = phi i32 [ %3532, %3531 ], [ %3534, %3533 ]
  store i32 %3536, ptr %39, align 4, !tbaa !9
  %3537 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %3537, ptr %10, align 4, !tbaa !9
  %3538 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3538, ptr %40, align 4, !tbaa !9
  %3539 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3539, ptr %41, align 4, !tbaa !9
  %3540 = load i32, ptr %40, align 4, !tbaa !9
  %3541 = load i32, ptr %41, align 4, !tbaa !9
  %3542 = icmp ugt i32 %3540, %3541
  %3543 = zext i1 %3542 to i32
  store i32 %3543, ptr %40, align 4, !tbaa !9
  %3544 = load i32, ptr %40, align 4, !tbaa !9
  %3545 = icmp ne i32 %3544, 0
  br i1 %3545, label %3546, label %3548

3546:                                             ; preds = %3535
  %3547 = load i32, ptr %38, align 4, !tbaa !9
  br label %3550

3548:                                             ; preds = %3535
  %3549 = load i32, ptr %39, align 4, !tbaa !9
  br label %3550

3550:                                             ; preds = %3548, %3546
  %3551 = phi i32 [ %3547, %3546 ], [ %3549, %3548 ]
  store i32 %3551, ptr %38, align 4, !tbaa !9
  %3552 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %3552, ptr %10, align 4, !tbaa !9
  %3553 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3553, ptr %39, align 4, !tbaa !9
  %3554 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %3554, ptr %40, align 4, !tbaa !9
  %3555 = load i32, ptr %39, align 4, !tbaa !9
  %3556 = load i32, ptr %40, align 4, !tbaa !9
  %3557 = icmp ugt i32 %3555, %3556
  %3558 = zext i1 %3557 to i32
  store i32 %3558, ptr %39, align 4, !tbaa !9
  %3559 = load i32, ptr %39, align 4, !tbaa !9
  %3560 = icmp ne i32 %3559, 0
  br i1 %3560, label %3561, label %3563

3561:                                             ; preds = %3550
  %3562 = load i32, ptr %37, align 4, !tbaa !9
  br label %3565

3563:                                             ; preds = %3550
  %3564 = load i32, ptr %38, align 4, !tbaa !9
  br label %3565

3565:                                             ; preds = %3563, %3561
  %3566 = phi i32 [ %3562, %3561 ], [ %3564, %3563 ]
  store i32 %3566, ptr %37, align 4, !tbaa !9
  %3567 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3567, ptr %10, align 4, !tbaa !9
  %3568 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3568, ptr %38, align 4, !tbaa !9
  %3569 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %3569, ptr %39, align 4, !tbaa !9
  %3570 = load i32, ptr %38, align 4, !tbaa !9
  %3571 = load i32, ptr %39, align 4, !tbaa !9
  %3572 = icmp ugt i32 %3570, %3571
  %3573 = zext i1 %3572 to i32
  store i32 %3573, ptr %38, align 4, !tbaa !9
  %3574 = load i32, ptr %38, align 4, !tbaa !9
  %3575 = icmp ne i32 %3574, 0
  br i1 %3575, label %3576, label %3578

3576:                                             ; preds = %3565
  %3577 = load i32, ptr %36, align 4, !tbaa !9
  br label %3580

3578:                                             ; preds = %3565
  %3579 = load i32, ptr %37, align 4, !tbaa !9
  br label %3580

3580:                                             ; preds = %3578, %3576
  %3581 = phi i32 [ %3577, %3576 ], [ %3579, %3578 ]
  store i32 %3581, ptr %36, align 4, !tbaa !9
  %3582 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %3582, ptr %10, align 4, !tbaa !9
  %3583 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3583, ptr %36, align 4, !tbaa !9
  store i32 -64, ptr %37, align 4, !tbaa !9
  %3584 = load i32, ptr %37, align 4, !tbaa !9
  %3585 = load i32, ptr %36, align 4, !tbaa !9
  %3586 = sub i32 %3585, %3584
  store i32 %3586, ptr %36, align 4, !tbaa !9
  %3587 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %3587, ptr %7, align 4, !tbaa !9
  %3588 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %3588, ptr %37, align 4, !tbaa !9
  %3589 = load i32, ptr %36, align 4, !tbaa !9
  %3590 = load i32, ptr %37, align 4, !tbaa !9
  %3591 = icmp ne i32 %3589, %3590
  %3592 = zext i1 %3591 to i32
  store i32 %3592, ptr %36, align 4, !tbaa !9
  %3593 = load i32, ptr %36, align 4, !tbaa !9
  %3594 = icmp ne i32 %3593, 0
  br i1 %3594, label %3595, label %3596

3595:                                             ; preds = %3580
  br label %3398

3596:                                             ; preds = %3580
  br label %3597

3597:                                             ; preds = %3596, %3389
  store i32 0, ptr %36, align 4, !tbaa !9
  %3598 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %3598, ptr %7, align 4, !tbaa !9
  %3599 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %3599, ptr %36, align 4, !tbaa !9
  %3600 = load i32, ptr %36, align 4, !tbaa !9
  %3601 = icmp ne i32 %3600, 0
  br i1 %3601, label %3602, label %3646

3602:                                             ; preds = %3597
  br label %3603

3603:                                             ; preds = %3644, %3602
  %3604 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %3604, ptr %36, align 4, !tbaa !9
  %3605 = load ptr, ptr %4, align 8, !tbaa !5
  %3606 = getelementptr inbounds %struct.w2c_hermes, ptr %3605, i32 0, i32 6
  %3607 = load i32, ptr %36, align 4, !tbaa !9
  %3608 = zext i32 %3607 to i64
  %3609 = call i32 @i32_load(ptr noundef %3606, i64 noundef %3608)
  store i32 %3609, ptr %36, align 4, !tbaa !9
  %3610 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %3610, ptr %12, align 4, !tbaa !9
  %3611 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3611, ptr %37, align 4, !tbaa !9
  %3612 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3612, ptr %38, align 4, !tbaa !9
  %3613 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %3613, ptr %39, align 4, !tbaa !9
  %3614 = load i32, ptr %38, align 4, !tbaa !9
  %3615 = load i32, ptr %39, align 4, !tbaa !9
  %3616 = icmp ugt i32 %3614, %3615
  %3617 = zext i1 %3616 to i32
  store i32 %3617, ptr %38, align 4, !tbaa !9
  %3618 = load i32, ptr %38, align 4, !tbaa !9
  %3619 = icmp ne i32 %3618, 0
  br i1 %3619, label %3620, label %3622

3620:                                             ; preds = %3603
  %3621 = load i32, ptr %36, align 4, !tbaa !9
  br label %3624

3622:                                             ; preds = %3603
  %3623 = load i32, ptr %37, align 4, !tbaa !9
  br label %3624

3624:                                             ; preds = %3622, %3620
  %3625 = phi i32 [ %3621, %3620 ], [ %3623, %3622 ]
  store i32 %3625, ptr %36, align 4, !tbaa !9
  %3626 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %3626, ptr %11, align 4, !tbaa !9
  %3627 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %3627, ptr %36, align 4, !tbaa !9
  store i32 8, ptr %37, align 4, !tbaa !9
  %3628 = load i32, ptr %37, align 4, !tbaa !9
  %3629 = load i32, ptr %36, align 4, !tbaa !9
  %3630 = add i32 %3629, %3628
  store i32 %3630, ptr %36, align 4, !tbaa !9
  %3631 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %3631, ptr %6, align 4, !tbaa !9
  %3632 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3632, ptr %36, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %3633 = load i32, ptr %37, align 4, !tbaa !9
  %3634 = load i32, ptr %36, align 4, !tbaa !9
  %3635 = add i32 %3634, %3633
  store i32 %3635, ptr %36, align 4, !tbaa !9
  %3636 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %3636, ptr %7, align 4, !tbaa !9
  %3637 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %3637, ptr %37, align 4, !tbaa !9
  %3638 = load i32, ptr %36, align 4, !tbaa !9
  %3639 = load i32, ptr %37, align 4, !tbaa !9
  %3640 = icmp ne i32 %3638, %3639
  %3641 = zext i1 %3640 to i32
  store i32 %3641, ptr %36, align 4, !tbaa !9
  %3642 = load i32, ptr %36, align 4, !tbaa !9
  %3643 = icmp ne i32 %3642, 0
  br i1 %3643, label %3644, label %3645

3644:                                             ; preds = %3624
  br label %3603

3645:                                             ; preds = %3624
  br label %3646

3646:                                             ; preds = %3645, %3597
  %3647 = load i32, ptr %30, align 4, !tbaa !9
  store i32 %3647, ptr %36, align 4, !tbaa !9
  %3648 = load i32, ptr %36, align 4, !tbaa !9
  %3649 = icmp ne i32 %3648, 0
  %3650 = xor i1 %3649, true
  %3651 = zext i1 %3650 to i32
  store i32 %3651, ptr %36, align 4, !tbaa !9
  %3652 = load i32, ptr %36, align 4, !tbaa !9
  %3653 = icmp ne i32 %3652, 0
  br i1 %3653, label %3654, label %3854

3654:                                             ; preds = %3646
  br label %3655

3655:                                             ; preds = %3852, %3654
  %3656 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %3656, ptr %36, align 4, !tbaa !9
  %3657 = load ptr, ptr %4, align 8, !tbaa !5
  %3658 = getelementptr inbounds %struct.w2c_hermes, ptr %3657, i32 0, i32 6
  %3659 = load i32, ptr %36, align 4, !tbaa !9
  %3660 = zext i32 %3659 to i64
  %3661 = add i64 %3660, 56
  %3662 = call i32 @i32_load(ptr noundef %3658, i64 noundef %3661)
  store i32 %3662, ptr %36, align 4, !tbaa !9
  %3663 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %3663, ptr %7, align 4, !tbaa !9
  %3664 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %3664, ptr %37, align 4, !tbaa !9
  %3665 = load ptr, ptr %4, align 8, !tbaa !5
  %3666 = getelementptr inbounds %struct.w2c_hermes, ptr %3665, i32 0, i32 6
  %3667 = load i32, ptr %37, align 4, !tbaa !9
  %3668 = zext i32 %3667 to i64
  %3669 = add i64 %3668, 48
  %3670 = call i32 @i32_load(ptr noundef %3666, i64 noundef %3669)
  store i32 %3670, ptr %37, align 4, !tbaa !9
  %3671 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3671, ptr %13, align 4, !tbaa !9
  %3672 = load i32, ptr %6, align 4, !tbaa !9
  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 %38, align 4, !tbaa !9
  %3676 = zext i32 %3675 to i64
  %3677 = add i64 %3676, 40
  %3678 = call i32 @i32_load(ptr noundef %3674, i64 noundef %3677)
  store i32 %3678, ptr %38, align 4, !tbaa !9
  %3679 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %3679, ptr %12, align 4, !tbaa !9
  %3680 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %3680, ptr %39, align 4, !tbaa !9
  %3681 = load ptr, ptr %4, align 8, !tbaa !5
  %3682 = getelementptr inbounds %struct.w2c_hermes, ptr %3681, i32 0, i32 6
  %3683 = load i32, ptr %39, align 4, !tbaa !9
  %3684 = zext i32 %3683 to i64
  %3685 = add i64 %3684, 32
  %3686 = call i32 @i32_load(ptr noundef %3682, i64 noundef %3685)
  store i32 %3686, ptr %39, align 4, !tbaa !9
  %3687 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %3687, ptr %15, align 4, !tbaa !9
  %3688 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %3688, ptr %40, align 4, !tbaa !9
  %3689 = load ptr, ptr %4, align 8, !tbaa !5
  %3690 = getelementptr inbounds %struct.w2c_hermes, ptr %3689, i32 0, i32 6
  %3691 = load i32, ptr %40, align 4, !tbaa !9
  %3692 = zext i32 %3691 to i64
  %3693 = add i64 %3692, 24
  %3694 = call i32 @i32_load(ptr noundef %3690, i64 noundef %3693)
  store i32 %3694, ptr %40, align 4, !tbaa !9
  %3695 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %3695, ptr %17, align 4, !tbaa !9
  %3696 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %3696, ptr %41, align 4, !tbaa !9
  %3697 = load ptr, ptr %4, align 8, !tbaa !5
  %3698 = getelementptr inbounds %struct.w2c_hermes, ptr %3697, i32 0, i32 6
  %3699 = load i32, ptr %41, align 4, !tbaa !9
  %3700 = zext i32 %3699 to i64
  %3701 = add i64 %3700, 16
  %3702 = call i32 @i32_load(ptr noundef %3698, i64 noundef %3701)
  store i32 %3702, ptr %41, align 4, !tbaa !9
  %3703 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %3703, ptr %25, align 4, !tbaa !9
  %3704 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %3704, ptr %42, align 4, !tbaa !9
  %3705 = load ptr, ptr %4, align 8, !tbaa !5
  %3706 = getelementptr inbounds %struct.w2c_hermes, ptr %3705, i32 0, i32 6
  %3707 = load i32, ptr %42, align 4, !tbaa !9
  %3708 = zext i32 %3707 to i64
  %3709 = add i64 %3708, 8
  %3710 = call i32 @i32_load(ptr noundef %3706, i64 noundef %3709)
  store i32 %3710, ptr %42, align 4, !tbaa !9
  %3711 = load i32, ptr %42, align 4, !tbaa !9
  store i32 %3711, ptr %26, align 4, !tbaa !9
  %3712 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %3712, ptr %43, align 4, !tbaa !9
  %3713 = load ptr, ptr %4, align 8, !tbaa !5
  %3714 = getelementptr inbounds %struct.w2c_hermes, ptr %3713, i32 0, i32 6
  %3715 = load i32, ptr %43, align 4, !tbaa !9
  %3716 = zext i32 %3715 to i64
  %3717 = call i32 @i32_load(ptr noundef %3714, i64 noundef %3716)
  store i32 %3717, ptr %43, align 4, !tbaa !9
  %3718 = load i32, ptr %43, align 4, !tbaa !9
  store i32 %3718, ptr %27, align 4, !tbaa !9
  %3719 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3719, ptr %44, align 4, !tbaa !9
  %3720 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3720, ptr %45, align 4, !tbaa !9
  %3721 = load i32, ptr %27, align 4, !tbaa !9
  store i32 %3721, ptr %46, align 4, !tbaa !9
  %3722 = load i32, ptr %45, align 4, !tbaa !9
  %3723 = load i32, ptr %46, align 4, !tbaa !9
  %3724 = icmp ugt i32 %3722, %3723
  %3725 = zext i1 %3724 to i32
  store i32 %3725, ptr %45, align 4, !tbaa !9
  %3726 = load i32, ptr %45, align 4, !tbaa !9
  %3727 = icmp ne i32 %3726, 0
  br i1 %3727, label %3728, label %3730

3728:                                             ; preds = %3655
  %3729 = load i32, ptr %43, align 4, !tbaa !9
  br label %3732

3730:                                             ; preds = %3655
  %3731 = load i32, ptr %44, align 4, !tbaa !9
  br label %3732

3732:                                             ; preds = %3730, %3728
  %3733 = phi i32 [ %3729, %3728 ], [ %3731, %3730 ]
  store i32 %3733, ptr %43, align 4, !tbaa !9
  %3734 = load i32, ptr %43, align 4, !tbaa !9
  store i32 %3734, ptr %11, align 4, !tbaa !9
  %3735 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3735, ptr %44, align 4, !tbaa !9
  %3736 = load i32, ptr %26, align 4, !tbaa !9
  store i32 %3736, ptr %45, align 4, !tbaa !9
  %3737 = load i32, ptr %44, align 4, !tbaa !9
  %3738 = load i32, ptr %45, align 4, !tbaa !9
  %3739 = icmp ugt i32 %3737, %3738
  %3740 = zext i1 %3739 to i32
  store i32 %3740, ptr %44, align 4, !tbaa !9
  %3741 = load i32, ptr %44, align 4, !tbaa !9
  %3742 = icmp ne i32 %3741, 0
  br i1 %3742, label %3743, label %3745

3743:                                             ; preds = %3732
  %3744 = load i32, ptr %42, align 4, !tbaa !9
  br label %3747

3745:                                             ; preds = %3732
  %3746 = load i32, ptr %43, align 4, !tbaa !9
  br label %3747

3747:                                             ; preds = %3745, %3743
  %3748 = phi i32 [ %3744, %3743 ], [ %3746, %3745 ]
  store i32 %3748, ptr %42, align 4, !tbaa !9
  %3749 = load i32, ptr %42, align 4, !tbaa !9
  store i32 %3749, ptr %11, align 4, !tbaa !9
  %3750 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3750, ptr %43, align 4, !tbaa !9
  %3751 = load i32, ptr %25, align 4, !tbaa !9
  store i32 %3751, ptr %44, align 4, !tbaa !9
  %3752 = load i32, ptr %43, align 4, !tbaa !9
  %3753 = load i32, ptr %44, align 4, !tbaa !9
  %3754 = icmp ugt i32 %3752, %3753
  %3755 = zext i1 %3754 to i32
  store i32 %3755, ptr %43, align 4, !tbaa !9
  %3756 = load i32, ptr %43, align 4, !tbaa !9
  %3757 = icmp ne i32 %3756, 0
  br i1 %3757, label %3758, label %3760

3758:                                             ; preds = %3747
  %3759 = load i32, ptr %41, align 4, !tbaa !9
  br label %3762

3760:                                             ; preds = %3747
  %3761 = load i32, ptr %42, align 4, !tbaa !9
  br label %3762

3762:                                             ; preds = %3760, %3758
  %3763 = phi i32 [ %3759, %3758 ], [ %3761, %3760 ]
  store i32 %3763, ptr %41, align 4, !tbaa !9
  %3764 = load i32, ptr %41, align 4, !tbaa !9
  store i32 %3764, ptr %11, align 4, !tbaa !9
  %3765 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3765, ptr %42, align 4, !tbaa !9
  %3766 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %3766, ptr %43, align 4, !tbaa !9
  %3767 = load i32, ptr %42, align 4, !tbaa !9
  %3768 = load i32, ptr %43, align 4, !tbaa !9
  %3769 = icmp ugt i32 %3767, %3768
  %3770 = zext i1 %3769 to i32
  store i32 %3770, ptr %42, align 4, !tbaa !9
  %3771 = load i32, ptr %42, align 4, !tbaa !9
  %3772 = icmp ne i32 %3771, 0
  br i1 %3772, label %3773, label %3775

3773:                                             ; preds = %3762
  %3774 = load i32, ptr %40, align 4, !tbaa !9
  br label %3777

3775:                                             ; preds = %3762
  %3776 = load i32, ptr %41, align 4, !tbaa !9
  br label %3777

3777:                                             ; preds = %3775, %3773
  %3778 = phi i32 [ %3774, %3773 ], [ %3776, %3775 ]
  store i32 %3778, ptr %40, align 4, !tbaa !9
  %3779 = load i32, ptr %40, align 4, !tbaa !9
  store i32 %3779, ptr %11, align 4, !tbaa !9
  %3780 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3780, ptr %41, align 4, !tbaa !9
  %3781 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %3781, ptr %42, align 4, !tbaa !9
  %3782 = load i32, ptr %41, align 4, !tbaa !9
  %3783 = load i32, ptr %42, align 4, !tbaa !9
  %3784 = icmp ugt i32 %3782, %3783
  %3785 = zext i1 %3784 to i32
  store i32 %3785, ptr %41, align 4, !tbaa !9
  %3786 = load i32, ptr %41, align 4, !tbaa !9
  %3787 = icmp ne i32 %3786, 0
  br i1 %3787, label %3788, label %3790

3788:                                             ; preds = %3777
  %3789 = load i32, ptr %39, align 4, !tbaa !9
  br label %3792

3790:                                             ; preds = %3777
  %3791 = load i32, ptr %40, align 4, !tbaa !9
  br label %3792

3792:                                             ; preds = %3790, %3788
  %3793 = phi i32 [ %3789, %3788 ], [ %3791, %3790 ]
  store i32 %3793, ptr %39, align 4, !tbaa !9
  %3794 = load i32, ptr %39, align 4, !tbaa !9
  store i32 %3794, ptr %11, align 4, !tbaa !9
  %3795 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3795, ptr %40, align 4, !tbaa !9
  %3796 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %3796, ptr %41, align 4, !tbaa !9
  %3797 = load i32, ptr %40, align 4, !tbaa !9
  %3798 = load i32, ptr %41, align 4, !tbaa !9
  %3799 = icmp ugt i32 %3797, %3798
  %3800 = zext i1 %3799 to i32
  store i32 %3800, ptr %40, align 4, !tbaa !9
  %3801 = load i32, ptr %40, align 4, !tbaa !9
  %3802 = icmp ne i32 %3801, 0
  br i1 %3802, label %3803, label %3805

3803:                                             ; preds = %3792
  %3804 = load i32, ptr %38, align 4, !tbaa !9
  br label %3807

3805:                                             ; preds = %3792
  %3806 = load i32, ptr %39, align 4, !tbaa !9
  br label %3807

3807:                                             ; preds = %3805, %3803
  %3808 = phi i32 [ %3804, %3803 ], [ %3806, %3805 ]
  store i32 %3808, ptr %38, align 4, !tbaa !9
  %3809 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %3809, ptr %11, align 4, !tbaa !9
  %3810 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3810, ptr %39, align 4, !tbaa !9
  %3811 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %3811, ptr %40, align 4, !tbaa !9
  %3812 = load i32, ptr %39, align 4, !tbaa !9
  %3813 = load i32, ptr %40, align 4, !tbaa !9
  %3814 = icmp ugt i32 %3812, %3813
  %3815 = zext i1 %3814 to i32
  store i32 %3815, ptr %39, align 4, !tbaa !9
  %3816 = load i32, ptr %39, align 4, !tbaa !9
  %3817 = icmp ne i32 %3816, 0
  br i1 %3817, label %3818, label %3820

3818:                                             ; preds = %3807
  %3819 = load i32, ptr %37, align 4, !tbaa !9
  br label %3822

3820:                                             ; preds = %3807
  %3821 = load i32, ptr %38, align 4, !tbaa !9
  br label %3822

3822:                                             ; preds = %3820, %3818
  %3823 = phi i32 [ %3819, %3818 ], [ %3821, %3820 ]
  store i32 %3823, ptr %37, align 4, !tbaa !9
  %3824 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3824, ptr %11, align 4, !tbaa !9
  %3825 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3825, ptr %38, align 4, !tbaa !9
  %3826 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3826, ptr %39, align 4, !tbaa !9
  %3827 = load i32, ptr %38, align 4, !tbaa !9
  %3828 = load i32, ptr %39, align 4, !tbaa !9
  %3829 = icmp ult i32 %3827, %3828
  %3830 = zext i1 %3829 to i32
  store i32 %3830, ptr %38, align 4, !tbaa !9
  %3831 = load i32, ptr %38, align 4, !tbaa !9
  %3832 = icmp ne i32 %3831, 0
  br i1 %3832, label %3833, label %3835

3833:                                             ; preds = %3822
  %3834 = load i32, ptr %36, align 4, !tbaa !9
  br label %3837

3835:                                             ; preds = %3822
  %3836 = load i32, ptr %37, align 4, !tbaa !9
  br label %3837

3837:                                             ; preds = %3835, %3833
  %3838 = phi i32 [ %3834, %3833 ], [ %3836, %3835 ]
  store i32 %3838, ptr %36, align 4, !tbaa !9
  %3839 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %3839, ptr %11, align 4, !tbaa !9
  %3840 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %3840, ptr %36, align 4, !tbaa !9
  store i32 -64, ptr %37, align 4, !tbaa !9
  %3841 = load i32, ptr %37, align 4, !tbaa !9
  %3842 = load i32, ptr %36, align 4, !tbaa !9
  %3843 = sub i32 %3842, %3841
  store i32 %3843, ptr %36, align 4, !tbaa !9
  %3844 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %3844, ptr %6, align 4, !tbaa !9
  %3845 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %3845, ptr %37, align 4, !tbaa !9
  %3846 = load i32, ptr %36, align 4, !tbaa !9
  %3847 = load i32, ptr %37, align 4, !tbaa !9
  %3848 = icmp ne i32 %3846, %3847
  %3849 = zext i1 %3848 to i32
  store i32 %3849, ptr %36, align 4, !tbaa !9
  %3850 = load i32, ptr %36, align 4, !tbaa !9
  %3851 = icmp ne i32 %3850, 0
  br i1 %3851, label %3852, label %3853

3852:                                             ; preds = %3837
  br label %3655

3853:                                             ; preds = %3837
  br label %3854

3854:                                             ; preds = %3853, %3646
  %3855 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %3855, ptr %36, align 4, !tbaa !9
  %3856 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3856, ptr %37, align 4, !tbaa !9
  %3857 = load i32, ptr %36, align 4, !tbaa !9
  %3858 = load i32, ptr %37, align 4, !tbaa !9
  %3859 = icmp ne i32 %3857, %3858
  %3860 = zext i1 %3859 to i32
  store i32 %3860, ptr %36, align 4, !tbaa !9
  %3861 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %3861, ptr %37, align 4, !tbaa !9
  %3862 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %3862, ptr %38, align 4, !tbaa !9
  %3863 = load i32, ptr %37, align 4, !tbaa !9
  %3864 = load i32, ptr %38, align 4, !tbaa !9
  %3865 = icmp ult i32 %3863, %3864
  %3866 = zext i1 %3865 to i32
  store i32 %3866, ptr %37, align 4, !tbaa !9
  %3867 = load i32, ptr %37, align 4, !tbaa !9
  %3868 = load i32, ptr %36, align 4, !tbaa !9
  %3869 = and i32 %3868, %3867
  store i32 %3869, ptr %36, align 4, !tbaa !9
  %3870 = load i32, ptr %36, align 4, !tbaa !9
  %3871 = icmp ne i32 %3870, 0
  br i1 %3871, label %3872, label %3873

3872:                                             ; preds = %3854
  br label %4786

3873:                                             ; preds = %3854
  %3874 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %3874, ptr %36, align 4, !tbaa !9
  store i32 72, ptr %37, align 4, !tbaa !9
  %3875 = load i32, ptr %37, align 4, !tbaa !9
  %3876 = load i32, ptr %36, align 4, !tbaa !9
  %3877 = add i32 %3876, %3875
  store i32 %3877, ptr %36, align 4, !tbaa !9
  %3878 = load ptr, ptr %4, align 8, !tbaa !5
  %3879 = load i32, ptr %36, align 4, !tbaa !9
  call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Apriority_queue0x3Cunsigned0x20int0x2C0x20llvh0x3A0x3ASmallVector0x3Cunsigned0x20int0x2C0x2032u0x3E0x2C0x20hermes0x3A0x3ARegisterAllocator0x3A0x3Aallocate0x28llvh0x3A0x3AArrayRef0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x290x3A0x3A0x24_00x3E0x3A0x3Apop0x280x29(ptr noundef %3878, i32 noundef %3879)
  %3880 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %3880, ptr %36, align 4, !tbaa !9
  %3881 = load ptr, ptr %4, align 8, !tbaa !5
  %3882 = getelementptr inbounds %struct.w2c_hermes, ptr %3881, i32 0, i32 6
  %3883 = load i32, ptr %36, align 4, !tbaa !9
  %3884 = zext i32 %3883 to i64
  %3885 = call i32 @i32_load(ptr noundef %3882, i64 noundef %3884)
  store i32 %3885, ptr %36, align 4, !tbaa !9
  %3886 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %3886, ptr %37, align 4, !tbaa !9
  %3887 = load i32, ptr %36, align 4, !tbaa !9
  %3888 = load i32, ptr %37, align 4, !tbaa !9
  %3889 = icmp ule i32 %3887, %3888
  %3890 = zext i1 %3889 to i32
  store i32 %3890, ptr %36, align 4, !tbaa !9
  %3891 = load i32, ptr %36, align 4, !tbaa !9
  %3892 = icmp ne i32 %3891, 0
  br i1 %3892, label %3893, label %3894

3893:                                             ; preds = %3873
  br label %5555

3894:                                             ; preds = %3873
  %3895 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %3895, ptr %36, align 4, !tbaa !9
  %3896 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %3896, ptr %37, align 4, !tbaa !9
  %3897 = load ptr, ptr %4, align 8, !tbaa !5
  %3898 = getelementptr inbounds %struct.w2c_hermes, ptr %3897, i32 0, i32 6
  %3899 = load i32, ptr %37, align 4, !tbaa !9
  %3900 = zext i32 %3899 to i64
  %3901 = add i64 %3900, 36
  %3902 = call i32 @i32_load(ptr noundef %3898, i64 noundef %3901)
  store i32 %3902, ptr %37, align 4, !tbaa !9
  %3903 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %3903, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %3904 = load i32, ptr %39, align 4, !tbaa !9
  %3905 = and i32 %3904, 31
  %3906 = load i32, ptr %38, align 4, !tbaa !9
  %3907 = shl i32 %3906, %3905
  store i32 %3907, ptr %38, align 4, !tbaa !9
  %3908 = load i32, ptr %38, align 4, !tbaa !9
  %3909 = load i32, ptr %37, align 4, !tbaa !9
  %3910 = add i32 %3909, %3908
  store i32 %3910, ptr %37, align 4, !tbaa !9
  %3911 = load ptr, ptr %4, align 8, !tbaa !5
  %3912 = getelementptr inbounds %struct.w2c_hermes, ptr %3911, i32 0, i32 6
  %3913 = load i32, ptr %37, align 4, !tbaa !9
  %3914 = zext i32 %3913 to i64
  %3915 = call i32 @i32_load(ptr noundef %3912, i64 noundef %3914)
  store i32 %3915, ptr %37, align 4, !tbaa !9
  %3916 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3916, ptr %10, align 4, !tbaa !9
  store i32 8, ptr %38, align 4, !tbaa !9
  %3917 = load i32, ptr %38, align 4, !tbaa !9
  %3918 = load i32, ptr %37, align 4, !tbaa !9
  %3919 = add i32 %3918, %3917
  store i32 %3919, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %3920 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %3920, ptr %39, align 4, !tbaa !9
  %3921 = load i32, ptr %39, align 4, !tbaa !9
  %3922 = icmp ne i32 %3921, 0
  br i1 %3922, label %3923, label %3925

3923:                                             ; preds = %3894
  %3924 = load i32, ptr %37, align 4, !tbaa !9
  br label %3927

3925:                                             ; preds = %3894
  %3926 = load i32, ptr %38, align 4, !tbaa !9
  br label %3927

3927:                                             ; preds = %3925, %3923
  %3928 = phi i32 [ %3924, %3923 ], [ %3926, %3925 ]
  store i32 %3928, ptr %37, align 4, !tbaa !9
  %3929 = load ptr, ptr %4, align 8, !tbaa !5
  %3930 = load i32, ptr %36, align 4, !tbaa !9
  %3931 = load i32, ptr %37, align 4, !tbaa !9
  %3932 = call i32 @w2c_hermes_hermes0x3A0x3ARegisterAllocator0x3A0x3AgetRegister0x28hermes0x3A0x3AValue0x2A0x29(ptr noundef %3929, i32 noundef %3930, i32 noundef %3931)
  store i32 %3932, ptr %36, align 4, !tbaa !9
  %3933 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %3933, ptr %11, align 4, !tbaa !9
  store i32 292576, ptr %36, align 4, !tbaa !9
  %3934 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %3934, ptr %6, align 4, !tbaa !9
  %3935 = load ptr, ptr %4, align 8, !tbaa !5
  %3936 = getelementptr inbounds %struct.w2c_hermes, ptr %3935, i32 0, i32 6
  %3937 = load i32, ptr %36, align 4, !tbaa !9
  %3938 = zext i32 %3937 to i64
  %3939 = call i32 @i32_load8_u(ptr noundef %3936, i64 noundef %3938)
  store i32 %3939, ptr %36, align 4, !tbaa !9
  %3940 = load i32, ptr %36, align 4, !tbaa !9
  %3941 = icmp ne i32 %3940, 0
  %3942 = xor i1 %3941, true
  %3943 = zext i1 %3942 to i32
  store i32 %3943, ptr %36, align 4, !tbaa !9
  %3944 = load i32, ptr %36, align 4, !tbaa !9
  %3945 = icmp ne i32 %3944, 0
  br i1 %3945, label %3946, label %3947

3946:                                             ; preds = %3927
  br label %4693

3947:                                             ; preds = %3927
  store i32 107217, ptr %36, align 4, !tbaa !9
  %3948 = load ptr, ptr %4, align 8, !tbaa !5
  %3949 = load i32, ptr %36, align 4, !tbaa !9
  %3950 = call i32 @w2c_hermes_llvh0x3A0x3AisCurrentDebugType0x28char0x20const0x2A0x29(ptr noundef %3948, i32 noundef %3949)
  store i32 %3950, ptr %36, align 4, !tbaa !9
  %3951 = load i32, ptr %36, align 4, !tbaa !9
  %3952 = icmp ne i32 %3951, 0
  %3953 = xor i1 %3952, true
  %3954 = zext i1 %3953 to i32
  store i32 %3954, ptr %36, align 4, !tbaa !9
  %3955 = load i32, ptr %36, align 4, !tbaa !9
  %3956 = icmp ne i32 %3955, 0
  br i1 %3956, label %3957, label %3958

3957:                                             ; preds = %3947
  br label %4693

3958:                                             ; preds = %3947
  %3959 = load ptr, ptr %4, align 8, !tbaa !5
  %3960 = call i32 @w2c_hermes_llvh0x3A0x3Adbgs0x280x29(ptr noundef %3959)
  store i32 %3960, ptr %36, align 4, !tbaa !9
  %3961 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %3961, ptr %6, align 4, !tbaa !9
  %3962 = load ptr, ptr %4, align 8, !tbaa !5
  %3963 = getelementptr inbounds %struct.w2c_hermes, ptr %3962, i32 0, i32 6
  %3964 = load i32, ptr %36, align 4, !tbaa !9
  %3965 = zext i32 %3964 to i64
  %3966 = add i64 %3965, 8
  %3967 = call i32 @i32_load(ptr noundef %3963, i64 noundef %3966)
  store i32 %3967, ptr %36, align 4, !tbaa !9
  %3968 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %3968, ptr %37, align 4, !tbaa !9
  %3969 = load ptr, ptr %4, align 8, !tbaa !5
  %3970 = getelementptr inbounds %struct.w2c_hermes, ptr %3969, i32 0, i32 6
  %3971 = load i32, ptr %37, align 4, !tbaa !9
  %3972 = zext i32 %3971 to i64
  %3973 = add i64 %3972, 12
  %3974 = call i32 @i32_load(ptr noundef %3970, i64 noundef %3973)
  store i32 %3974, ptr %37, align 4, !tbaa !9
  %3975 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3975, ptr %7, align 4, !tbaa !9
  %3976 = load i32, ptr %37, align 4, !tbaa !9
  %3977 = load i32, ptr %36, align 4, !tbaa !9
  %3978 = sub i32 %3977, %3976
  store i32 %3978, ptr %36, align 4, !tbaa !9
  store i32 14, ptr %37, align 4, !tbaa !9
  %3979 = load i32, ptr %36, align 4, !tbaa !9
  %3980 = load i32, ptr %37, align 4, !tbaa !9
  %3981 = icmp ule i32 %3979, %3980
  %3982 = zext i1 %3981 to i32
  store i32 %3982, ptr %36, align 4, !tbaa !9
  %3983 = load i32, ptr %36, align 4, !tbaa !9
  %3984 = icmp ne i32 %3983, 0
  br i1 %3984, label %3985, label %3993

3985:                                             ; preds = %3958
  %3986 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %3986, ptr %36, align 4, !tbaa !9
  store i32 121708, ptr %37, align 4, !tbaa !9
  store i32 15, ptr %38, align 4, !tbaa !9
  %3987 = load ptr, ptr %4, align 8, !tbaa !5
  %3988 = load i32, ptr %36, align 4, !tbaa !9
  %3989 = load i32, ptr %37, align 4, !tbaa !9
  %3990 = load i32, ptr %38, align 4, !tbaa !9
  %3991 = call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Awrite0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef %3987, i32 noundef %3988, i32 noundef %3989, i32 noundef %3990)
  store i32 %3991, ptr %36, align 4, !tbaa !9
  %3992 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %3992, ptr %6, align 4, !tbaa !9
  br label %4037

3993:                                             ; preds = %3958
  %3994 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %3994, ptr %36, align 4, !tbaa !9
  store i32 121708, ptr %37, align 4, !tbaa !9
  %3995 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %3995, ptr %8, align 4, !tbaa !9
  %3996 = load ptr, ptr %4, align 8, !tbaa !5
  %3997 = getelementptr inbounds %struct.w2c_hermes, ptr %3996, i32 0, i32 6
  %3998 = load i32, ptr %37, align 4, !tbaa !9
  %3999 = zext i32 %3998 to i64
  %4000 = call i64 @i64_load(ptr noundef %3997, i64 noundef %3999)
  store i64 %4000, ptr %48, align 8, !tbaa !11
  %4001 = load ptr, ptr %4, align 8, !tbaa !5
  %4002 = getelementptr inbounds %struct.w2c_hermes, ptr %4001, i32 0, i32 6
  %4003 = load i32, ptr %36, align 4, !tbaa !9
  %4004 = zext i32 %4003 to i64
  %4005 = load i64, ptr %48, align 8, !tbaa !11
  call void @i64_store(ptr noundef %4002, i64 noundef %4004, i64 noundef %4005)
  %4006 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4006, ptr %36, align 4, !tbaa !9
  %4007 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %4007, ptr %37, align 4, !tbaa !9
  %4008 = load ptr, ptr %4, align 8, !tbaa !5
  %4009 = getelementptr inbounds %struct.w2c_hermes, ptr %4008, i32 0, i32 6
  %4010 = load i32, ptr %37, align 4, !tbaa !9
  %4011 = zext i32 %4010 to i64
  %4012 = add i64 %4011, 7
  %4013 = call i64 @i64_load(ptr noundef %4009, i64 noundef %4012)
  store i64 %4013, ptr %48, align 8, !tbaa !11
  %4014 = load ptr, ptr %4, align 8, !tbaa !5
  %4015 = getelementptr inbounds %struct.w2c_hermes, ptr %4014, i32 0, i32 6
  %4016 = load i32, ptr %36, align 4, !tbaa !9
  %4017 = zext i32 %4016 to i64
  %4018 = add i64 %4017, 7
  %4019 = load i64, ptr %48, align 8, !tbaa !11
  call void @i64_store(ptr noundef %4015, i64 noundef %4018, i64 noundef %4019)
  %4020 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %4020, ptr %36, align 4, !tbaa !9
  %4021 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %4021, ptr %37, align 4, !tbaa !9
  %4022 = load ptr, ptr %4, align 8, !tbaa !5
  %4023 = getelementptr inbounds %struct.w2c_hermes, ptr %4022, i32 0, i32 6
  %4024 = load i32, ptr %37, align 4, !tbaa !9
  %4025 = zext i32 %4024 to i64
  %4026 = add i64 %4025, 12
  %4027 = call i32 @i32_load(ptr noundef %4023, i64 noundef %4026)
  store i32 %4027, ptr %37, align 4, !tbaa !9
  store i32 15, ptr %38, align 4, !tbaa !9
  %4028 = load i32, ptr %38, align 4, !tbaa !9
  %4029 = load i32, ptr %37, align 4, !tbaa !9
  %4030 = add i32 %4029, %4028
  store i32 %4030, ptr %37, align 4, !tbaa !9
  %4031 = load ptr, ptr %4, align 8, !tbaa !5
  %4032 = getelementptr inbounds %struct.w2c_hermes, ptr %4031, i32 0, i32 6
  %4033 = load i32, ptr %36, align 4, !tbaa !9
  %4034 = zext i32 %4033 to i64
  %4035 = add i64 %4034, 12
  %4036 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4032, i64 noundef %4035, i32 noundef %4036)
  br label %4037

4037:                                             ; preds = %3993, %3985
  %4038 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %4038, ptr %36, align 4, !tbaa !9
  %4039 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %4039, ptr %37, align 4, !tbaa !9
  %4040 = load ptr, ptr %4, align 8, !tbaa !5
  %4041 = load i32, ptr %36, align 4, !tbaa !9
  %4042 = load i32, ptr %37, align 4, !tbaa !9
  %4043 = call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Aoperator0x3C0x3C0x28unsigned0x20long0x29(ptr noundef %4040, i32 noundef %4041, i32 noundef %4042)
  store i32 %4043, ptr %36, align 4, !tbaa !9
  %4044 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %4044, ptr %7, align 4, !tbaa !9
  %4045 = load ptr, ptr %4, align 8, !tbaa !5
  %4046 = getelementptr inbounds %struct.w2c_hermes, ptr %4045, i32 0, i32 6
  %4047 = load i32, ptr %36, align 4, !tbaa !9
  %4048 = zext i32 %4047 to i64
  %4049 = add i64 %4048, 8
  %4050 = call i32 @i32_load(ptr noundef %4046, i64 noundef %4049)
  store i32 %4050, ptr %36, align 4, !tbaa !9
  %4051 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4051, ptr %37, align 4, !tbaa !9
  %4052 = load ptr, ptr %4, align 8, !tbaa !5
  %4053 = getelementptr inbounds %struct.w2c_hermes, ptr %4052, i32 0, i32 6
  %4054 = load i32, ptr %37, align 4, !tbaa !9
  %4055 = zext i32 %4054 to i64
  %4056 = add i64 %4055, 12
  %4057 = call i32 @i32_load(ptr noundef %4053, i64 noundef %4056)
  store i32 %4057, ptr %37, align 4, !tbaa !9
  %4058 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4058, ptr %6, align 4, !tbaa !9
  %4059 = load i32, ptr %37, align 4, !tbaa !9
  %4060 = load i32, ptr %36, align 4, !tbaa !9
  %4061 = sub i32 %4060, %4059
  store i32 %4061, ptr %36, align 4, !tbaa !9
  store i32 18, ptr %37, align 4, !tbaa !9
  %4062 = load i32, ptr %36, align 4, !tbaa !9
  %4063 = load i32, ptr %37, align 4, !tbaa !9
  %4064 = icmp ule i32 %4062, %4063
  %4065 = zext i1 %4064 to i32
  store i32 %4065, ptr %36, align 4, !tbaa !9
  %4066 = load i32, ptr %36, align 4, !tbaa !9
  %4067 = icmp ne i32 %4066, 0
  br i1 %4067, label %4068, label %4076

4068:                                             ; preds = %4037
  %4069 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4069, ptr %36, align 4, !tbaa !9
  store i32 209633, ptr %37, align 4, !tbaa !9
  store i32 19, ptr %38, align 4, !tbaa !9
  %4070 = load ptr, ptr %4, align 8, !tbaa !5
  %4071 = load i32, ptr %36, align 4, !tbaa !9
  %4072 = load i32, ptr %37, align 4, !tbaa !9
  %4073 = load i32, ptr %38, align 4, !tbaa !9
  %4074 = call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Awrite0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef %4070, i32 noundef %4071, i32 noundef %4072, i32 noundef %4073)
  store i32 %4074, ptr %36, align 4, !tbaa !9
  %4075 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %4075, ptr %7, align 4, !tbaa !9
  br label %4134

4076:                                             ; preds = %4037
  %4077 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %4077, ptr %36, align 4, !tbaa !9
  store i32 209633, ptr %37, align 4, !tbaa !9
  %4078 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4078, ptr %8, align 4, !tbaa !9
  %4079 = load ptr, ptr %4, align 8, !tbaa !5
  %4080 = getelementptr inbounds %struct.w2c_hermes, ptr %4079, i32 0, i32 6
  %4081 = load i32, ptr %37, align 4, !tbaa !9
  %4082 = zext i32 %4081 to i64
  %4083 = call i64 @i64_load(ptr noundef %4080, i64 noundef %4082)
  store i64 %4083, ptr %48, align 8, !tbaa !11
  %4084 = load ptr, ptr %4, align 8, !tbaa !5
  %4085 = getelementptr inbounds %struct.w2c_hermes, ptr %4084, i32 0, i32 6
  %4086 = load i32, ptr %36, align 4, !tbaa !9
  %4087 = zext i32 %4086 to i64
  %4088 = load i64, ptr %48, align 8, !tbaa !11
  call void @i64_store(ptr noundef %4085, i64 noundef %4087, i64 noundef %4088)
  %4089 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %4089, ptr %36, align 4, !tbaa !9
  %4090 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %4090, ptr %37, align 4, !tbaa !9
  %4091 = load ptr, ptr %4, align 8, !tbaa !5
  %4092 = getelementptr inbounds %struct.w2c_hermes, ptr %4091, i32 0, i32 6
  %4093 = load i32, ptr %37, align 4, !tbaa !9
  %4094 = zext i32 %4093 to i64
  %4095 = add i64 %4094, 15
  %4096 = call i32 @i32_load(ptr noundef %4092, i64 noundef %4095)
  store i32 %4096, ptr %37, align 4, !tbaa !9
  %4097 = load ptr, ptr %4, align 8, !tbaa !5
  %4098 = getelementptr inbounds %struct.w2c_hermes, ptr %4097, i32 0, i32 6
  %4099 = load i32, ptr %36, align 4, !tbaa !9
  %4100 = zext i32 %4099 to i64
  %4101 = add i64 %4100, 15
  %4102 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4098, i64 noundef %4101, i32 noundef %4102)
  %4103 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %4103, ptr %36, align 4, !tbaa !9
  %4104 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %4104, ptr %37, align 4, !tbaa !9
  %4105 = load ptr, ptr %4, align 8, !tbaa !5
  %4106 = getelementptr inbounds %struct.w2c_hermes, ptr %4105, i32 0, i32 6
  %4107 = load i32, ptr %37, align 4, !tbaa !9
  %4108 = zext i32 %4107 to i64
  %4109 = add i64 %4108, 8
  %4110 = call i64 @i64_load(ptr noundef %4106, i64 noundef %4109)
  store i64 %4110, ptr %48, align 8, !tbaa !11
  %4111 = load ptr, ptr %4, align 8, !tbaa !5
  %4112 = getelementptr inbounds %struct.w2c_hermes, ptr %4111, i32 0, i32 6
  %4113 = load i32, ptr %36, align 4, !tbaa !9
  %4114 = zext i32 %4113 to i64
  %4115 = add i64 %4114, 8
  %4116 = load i64, ptr %48, align 8, !tbaa !11
  call void @i64_store(ptr noundef %4112, i64 noundef %4115, i64 noundef %4116)
  %4117 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4117, ptr %36, align 4, !tbaa !9
  %4118 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4118, ptr %37, align 4, !tbaa !9
  %4119 = load ptr, ptr %4, align 8, !tbaa !5
  %4120 = getelementptr inbounds %struct.w2c_hermes, ptr %4119, i32 0, i32 6
  %4121 = load i32, ptr %37, align 4, !tbaa !9
  %4122 = zext i32 %4121 to i64
  %4123 = add i64 %4122, 12
  %4124 = call i32 @i32_load(ptr noundef %4120, i64 noundef %4123)
  store i32 %4124, ptr %37, align 4, !tbaa !9
  store i32 19, ptr %38, align 4, !tbaa !9
  %4125 = load i32, ptr %38, align 4, !tbaa !9
  %4126 = load i32, ptr %37, align 4, !tbaa !9
  %4127 = add i32 %4126, %4125
  store i32 %4127, ptr %37, align 4, !tbaa !9
  %4128 = load ptr, ptr %4, align 8, !tbaa !5
  %4129 = getelementptr inbounds %struct.w2c_hermes, ptr %4128, i32 0, i32 6
  %4130 = load i32, ptr %36, align 4, !tbaa !9
  %4131 = zext i32 %4130 to i64
  %4132 = add i64 %4131, 12
  %4133 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4129, i64 noundef %4132, i32 noundef %4133)
  br label %4134

4134:                                             ; preds = %4076, %4068
  %4135 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %4135, ptr %36, align 4, !tbaa !9
  store i32 420, ptr %37, align 4, !tbaa !9
  %4136 = load i32, ptr %37, align 4, !tbaa !9
  %4137 = load i32, ptr %36, align 4, !tbaa !9
  %4138 = add i32 %4137, %4136
  store i32 %4138, ptr %36, align 4, !tbaa !9
  %4139 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %4139, ptr %37, align 4, !tbaa !9
  %4140 = load ptr, ptr %4, align 8, !tbaa !5
  %4141 = load i32, ptr %36, align 4, !tbaa !9
  %4142 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3AInterval0x3A0x3Acompress0x280x290x20const(ptr noundef %4140, i32 noundef %4141, i32 noundef %4142)
  %4143 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %4143, ptr %36, align 4, !tbaa !9
  %4144 = load ptr, ptr %4, align 8, !tbaa !5
  %4145 = getelementptr inbounds %struct.w2c_hermes, ptr %4144, i32 0, i32 6
  %4146 = load i32, ptr %36, align 4, !tbaa !9
  %4147 = zext i32 %4146 to i64
  %4148 = add i64 %4147, 420
  %4149 = call i32 @i32_load(ptr noundef %4145, i64 noundef %4148)
  store i32 %4149, ptr %36, align 4, !tbaa !9
  %4150 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %4150, ptr %6, align 4, !tbaa !9
  %4151 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %4151, ptr %36, align 4, !tbaa !9
  %4152 = load ptr, ptr %4, align 8, !tbaa !5
  %4153 = getelementptr inbounds %struct.w2c_hermes, ptr %4152, i32 0, i32 6
  %4154 = load i32, ptr %36, align 4, !tbaa !9
  %4155 = zext i32 %4154 to i64
  %4156 = add i64 %4155, 424
  %4157 = call i32 @i32_load(ptr noundef %4153, i64 noundef %4156)
  store i32 %4157, ptr %36, align 4, !tbaa !9
  %4158 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %4158, ptr %8, align 4, !tbaa !9
  %4159 = load i32, ptr %36, align 4, !tbaa !9
  %4160 = icmp ne i32 %4159, 0
  br i1 %4160, label %4161, label %4201

4161:                                             ; preds = %4134
  %4162 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %4162, ptr %36, align 4, !tbaa !9
  %4163 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %4163, ptr %37, align 4, !tbaa !9
  store i32 3, ptr %38, align 4, !tbaa !9
  %4164 = load i32, ptr %38, align 4, !tbaa !9
  %4165 = and i32 %4164, 31
  %4166 = load i32, ptr %37, align 4, !tbaa !9
  %4167 = shl i32 %4166, %4165
  store i32 %4167, ptr %37, align 4, !tbaa !9
  %4168 = load i32, ptr %37, align 4, !tbaa !9
  %4169 = load i32, ptr %36, align 4, !tbaa !9
  %4170 = add i32 %4169, %4168
  store i32 %4170, ptr %36, align 4, !tbaa !9
  %4171 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %4171, ptr %8, align 4, !tbaa !9
  br label %4172

4172:                                             ; preds = %4191, %4161
  %4173 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4173, ptr %36, align 4, !tbaa !9
  %4174 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %4174, ptr %37, align 4, !tbaa !9
  %4175 = load ptr, ptr %4, align 8, !tbaa !5
  %4176 = load i32, ptr %36, align 4, !tbaa !9
  %4177 = load i32, ptr %37, align 4, !tbaa !9
  %4178 = call i32 @w2c_hermes_llvh0x3A0x3Aoperator0x3C0x3C0x28llvh0x3A0x3Araw_ostream0x260x2C0x20hermes0x3A0x3ASegment0x20const0x260x29(ptr noundef %4175, i32 noundef %4176, i32 noundef %4177)
  store i32 %4178, ptr %36, align 4, !tbaa !9
  %4179 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %4179, ptr %36, align 4, !tbaa !9
  store i32 8, ptr %37, align 4, !tbaa !9
  %4180 = load i32, ptr %37, align 4, !tbaa !9
  %4181 = load i32, ptr %36, align 4, !tbaa !9
  %4182 = add i32 %4181, %4180
  store i32 %4182, ptr %36, align 4, !tbaa !9
  %4183 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %4183, ptr %6, align 4, !tbaa !9
  %4184 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %4184, ptr %37, align 4, !tbaa !9
  %4185 = load i32, ptr %36, align 4, !tbaa !9
  %4186 = load i32, ptr %37, align 4, !tbaa !9
  %4187 = icmp ne i32 %4185, %4186
  %4188 = zext i1 %4187 to i32
  store i32 %4188, ptr %36, align 4, !tbaa !9
  %4189 = load i32, ptr %36, align 4, !tbaa !9
  %4190 = icmp ne i32 %4189, 0
  br i1 %4190, label %4191, label %4192

4191:                                             ; preds = %4172
  br label %4172

4192:                                             ; preds = %4172
  %4193 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %4193, ptr %36, 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 %36, align 4, !tbaa !9
  %4197 = zext i32 %4196 to i64
  %4198 = add i64 %4197, 420
  %4199 = call i32 @i32_load(ptr noundef %4195, i64 noundef %4198)
  store i32 %4199, ptr %36, align 4, !tbaa !9
  %4200 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %4200, ptr %6, align 4, !tbaa !9
  br label %4201

4201:                                             ; preds = %4192, %4134
  %4202 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %4202, ptr %36, align 4, !tbaa !9
  %4203 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %4203, ptr %37, align 4, !tbaa !9
  %4204 = load i32, ptr %36, align 4, !tbaa !9
  %4205 = load i32, ptr %37, align 4, !tbaa !9
  %4206 = icmp ne i32 %4204, %4205
  %4207 = zext i1 %4206 to i32
  store i32 %4207, ptr %36, align 4, !tbaa !9
  %4208 = load i32, ptr %36, align 4, !tbaa !9
  %4209 = icmp ne i32 %4208, 0
  br i1 %4209, label %4210, label %4214

4210:                                             ; preds = %4201
  %4211 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %4211, ptr %36, align 4, !tbaa !9
  %4212 = load ptr, ptr %4, align 8, !tbaa !5
  %4213 = load i32, ptr %36, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %4212, i32 noundef %4213)
  br label %4214

4214:                                             ; preds = %4210, %4201
  %4215 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4215, ptr %36, align 4, !tbaa !9
  %4216 = load ptr, ptr %4, align 8, !tbaa !5
  %4217 = getelementptr inbounds %struct.w2c_hermes, ptr %4216, i32 0, i32 6
  %4218 = load i32, ptr %36, align 4, !tbaa !9
  %4219 = zext i32 %4218 to i64
  %4220 = add i64 %4219, 8
  %4221 = call i32 @i32_load(ptr noundef %4217, i64 noundef %4220)
  store i32 %4221, ptr %36, align 4, !tbaa !9
  %4222 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4222, ptr %37, align 4, !tbaa !9
  %4223 = load ptr, ptr %4, align 8, !tbaa !5
  %4224 = getelementptr inbounds %struct.w2c_hermes, ptr %4223, i32 0, i32 6
  %4225 = load i32, ptr %37, align 4, !tbaa !9
  %4226 = zext i32 %4225 to i64
  %4227 = add i64 %4226, 12
  %4228 = call i32 @i32_load(ptr noundef %4224, i64 noundef %4227)
  store i32 %4228, ptr %37, align 4, !tbaa !9
  %4229 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4229, ptr %6, align 4, !tbaa !9
  %4230 = load i32, ptr %37, align 4, !tbaa !9
  %4231 = load i32, ptr %36, align 4, !tbaa !9
  %4232 = sub i32 %4231, %4230
  store i32 %4232, ptr %36, align 4, !tbaa !9
  store i32 29, ptr %37, align 4, !tbaa !9
  %4233 = load i32, ptr %36, align 4, !tbaa !9
  %4234 = load i32, ptr %37, align 4, !tbaa !9
  %4235 = icmp ule i32 %4233, %4234
  %4236 = zext i1 %4235 to i32
  store i32 %4236, ptr %36, align 4, !tbaa !9
  %4237 = load i32, ptr %36, align 4, !tbaa !9
  %4238 = icmp ne i32 %4237, 0
  br i1 %4238, label %4239, label %4254

4239:                                             ; preds = %4214
  %4240 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4240, ptr %36, align 4, !tbaa !9
  store i32 209200, ptr %37, align 4, !tbaa !9
  store i32 30, ptr %38, align 4, !tbaa !9
  %4241 = load ptr, ptr %4, align 8, !tbaa !5
  %4242 = load i32, ptr %36, align 4, !tbaa !9
  %4243 = load i32, ptr %37, align 4, !tbaa !9
  %4244 = load i32, ptr %38, align 4, !tbaa !9
  %4245 = call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Awrite0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef %4241, i32 noundef %4242, i32 noundef %4243, i32 noundef %4244)
  store i32 %4245, ptr %36, align 4, !tbaa !9
  %4246 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %4246, ptr %7, align 4, !tbaa !9
  %4247 = load ptr, ptr %4, align 8, !tbaa !5
  %4248 = getelementptr inbounds %struct.w2c_hermes, ptr %4247, i32 0, i32 6
  %4249 = load i32, ptr %36, align 4, !tbaa !9
  %4250 = zext i32 %4249 to i64
  %4251 = add i64 %4250, 12
  %4252 = call i32 @i32_load(ptr noundef %4248, i64 noundef %4251)
  store i32 %4252, ptr %36, align 4, !tbaa !9
  %4253 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %4253, ptr %6, align 4, !tbaa !9
  br label %4327

4254:                                             ; preds = %4214
  %4255 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %4255, ptr %36, align 4, !tbaa !9
  store i32 209200, ptr %37, align 4, !tbaa !9
  %4256 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4256, ptr %8, align 4, !tbaa !9
  %4257 = load ptr, ptr %4, align 8, !tbaa !5
  %4258 = getelementptr inbounds %struct.w2c_hermes, ptr %4257, i32 0, i32 6
  %4259 = load i32, ptr %37, align 4, !tbaa !9
  %4260 = zext i32 %4259 to i64
  %4261 = call i64 @i64_load(ptr noundef %4258, i64 noundef %4260)
  store i64 %4261, ptr %48, align 8, !tbaa !11
  %4262 = load ptr, ptr %4, align 8, !tbaa !5
  %4263 = getelementptr inbounds %struct.w2c_hermes, ptr %4262, i32 0, i32 6
  %4264 = load i32, ptr %36, align 4, !tbaa !9
  %4265 = zext i32 %4264 to i64
  %4266 = load i64, ptr %48, align 8, !tbaa !11
  call void @i64_store(ptr noundef %4263, i64 noundef %4265, i64 noundef %4266)
  %4267 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %4267, ptr %36, align 4, !tbaa !9
  %4268 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %4268, ptr %37, align 4, !tbaa !9
  %4269 = load ptr, ptr %4, align 8, !tbaa !5
  %4270 = getelementptr inbounds %struct.w2c_hermes, ptr %4269, i32 0, i32 6
  %4271 = load i32, ptr %37, align 4, !tbaa !9
  %4272 = zext i32 %4271 to i64
  %4273 = add i64 %4272, 22
  %4274 = call i64 @i64_load(ptr noundef %4270, i64 noundef %4273)
  store i64 %4274, ptr %48, align 8, !tbaa !11
  %4275 = load ptr, ptr %4, align 8, !tbaa !5
  %4276 = getelementptr inbounds %struct.w2c_hermes, ptr %4275, i32 0, i32 6
  %4277 = load i32, ptr %36, align 4, !tbaa !9
  %4278 = zext i32 %4277 to i64
  %4279 = add i64 %4278, 22
  %4280 = load i64, ptr %48, align 8, !tbaa !11
  call void @i64_store(ptr noundef %4276, i64 noundef %4279, i64 noundef %4280)
  %4281 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %4281, ptr %36, align 4, !tbaa !9
  %4282 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %4282, ptr %37, align 4, !tbaa !9
  %4283 = load ptr, ptr %4, align 8, !tbaa !5
  %4284 = getelementptr inbounds %struct.w2c_hermes, ptr %4283, i32 0, i32 6
  %4285 = load i32, ptr %37, align 4, !tbaa !9
  %4286 = zext i32 %4285 to i64
  %4287 = add i64 %4286, 16
  %4288 = call i64 @i64_load(ptr noundef %4284, i64 noundef %4287)
  store i64 %4288, ptr %48, align 8, !tbaa !11
  %4289 = load ptr, ptr %4, align 8, !tbaa !5
  %4290 = getelementptr inbounds %struct.w2c_hermes, ptr %4289, i32 0, i32 6
  %4291 = load i32, ptr %36, align 4, !tbaa !9
  %4292 = zext i32 %4291 to i64
  %4293 = add i64 %4292, 16
  %4294 = load i64, ptr %48, align 8, !tbaa !11
  call void @i64_store(ptr noundef %4290, i64 noundef %4293, i64 noundef %4294)
  %4295 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %4295, ptr %36, align 4, !tbaa !9
  %4296 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %4296, ptr %37, align 4, !tbaa !9
  %4297 = load ptr, ptr %4, align 8, !tbaa !5
  %4298 = getelementptr inbounds %struct.w2c_hermes, ptr %4297, i32 0, i32 6
  %4299 = load i32, ptr %37, align 4, !tbaa !9
  %4300 = zext i32 %4299 to i64
  %4301 = add i64 %4300, 8
  %4302 = call i64 @i64_load(ptr noundef %4298, i64 noundef %4301)
  store i64 %4302, ptr %48, align 8, !tbaa !11
  %4303 = load ptr, ptr %4, align 8, !tbaa !5
  %4304 = getelementptr inbounds %struct.w2c_hermes, ptr %4303, i32 0, i32 6
  %4305 = load i32, ptr %36, align 4, !tbaa !9
  %4306 = zext i32 %4305 to i64
  %4307 = add i64 %4306, 8
  %4308 = load i64, ptr %48, align 8, !tbaa !11
  call void @i64_store(ptr noundef %4304, i64 noundef %4307, i64 noundef %4308)
  %4309 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4309, ptr %36, align 4, !tbaa !9
  %4310 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4310, ptr %37, align 4, !tbaa !9
  %4311 = load ptr, ptr %4, align 8, !tbaa !5
  %4312 = getelementptr inbounds %struct.w2c_hermes, ptr %4311, i32 0, i32 6
  %4313 = load i32, ptr %37, align 4, !tbaa !9
  %4314 = zext i32 %4313 to i64
  %4315 = add i64 %4314, 12
  %4316 = call i32 @i32_load(ptr noundef %4312, i64 noundef %4315)
  store i32 %4316, ptr %37, align 4, !tbaa !9
  store i32 30, ptr %38, align 4, !tbaa !9
  %4317 = load i32, ptr %38, align 4, !tbaa !9
  %4318 = load i32, ptr %37, align 4, !tbaa !9
  %4319 = add i32 %4318, %4317
  store i32 %4319, ptr %37, align 4, !tbaa !9
  %4320 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4320, ptr %6, align 4, !tbaa !9
  %4321 = load ptr, ptr %4, align 8, !tbaa !5
  %4322 = getelementptr inbounds %struct.w2c_hermes, ptr %4321, i32 0, i32 6
  %4323 = load i32, ptr %36, align 4, !tbaa !9
  %4324 = zext i32 %4323 to i64
  %4325 = add i64 %4324, 12
  %4326 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4322, i64 noundef %4325, i32 noundef %4326)
  br label %4327

4327:                                             ; preds = %4254, %4239
  %4328 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4328, ptr %36, align 4, !tbaa !9
  %4329 = load ptr, ptr %4, align 8, !tbaa !5
  %4330 = getelementptr inbounds %struct.w2c_hermes, ptr %4329, i32 0, i32 6
  %4331 = load i32, ptr %36, align 4, !tbaa !9
  %4332 = zext i32 %4331 to i64
  %4333 = add i64 %4332, 8
  %4334 = call i32 @i32_load(ptr noundef %4330, i64 noundef %4333)
  store i32 %4334, ptr %36, align 4, !tbaa !9
  %4335 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %4335, ptr %37, align 4, !tbaa !9
  %4336 = load i32, ptr %37, align 4, !tbaa !9
  %4337 = load i32, ptr %36, align 4, !tbaa !9
  %4338 = sub i32 %4337, %4336
  store i32 %4338, ptr %36, align 4, !tbaa !9
  %4339 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %4339, ptr %8, align 4, !tbaa !9
  %4340 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %4340, ptr %36, align 4, !tbaa !9
  store i32 -1, ptr %37, align 4, !tbaa !9
  %4341 = load i32, ptr %36, align 4, !tbaa !9
  %4342 = load i32, ptr %37, align 4, !tbaa !9
  %4343 = icmp eq i32 %4341, %4342
  %4344 = zext i1 %4343 to i32
  store i32 %4344, ptr %36, align 4, !tbaa !9
  %4345 = load i32, ptr %36, align 4, !tbaa !9
  %4346 = icmp ne i32 %4345, 0
  br i1 %4346, label %4347, label %4386

4347:                                             ; preds = %4327
  %4348 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %4348, ptr %36, align 4, !tbaa !9
  store i32 3, ptr %37, align 4, !tbaa !9
  %4349 = load i32, ptr %36, align 4, !tbaa !9
  %4350 = load i32, ptr %37, align 4, !tbaa !9
  %4351 = icmp ule i32 %4349, %4350
  %4352 = zext i1 %4351 to i32
  store i32 %4352, ptr %36, align 4, !tbaa !9
  %4353 = load i32, ptr %36, align 4, !tbaa !9
  %4354 = icmp ne i32 %4353, 0
  br i1 %4354, label %4355, label %4362

4355:                                             ; preds = %4347
  %4356 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4356, ptr %36, align 4, !tbaa !9
  store i32 72856, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %4357 = load ptr, ptr %4, align 8, !tbaa !5
  %4358 = load i32, ptr %36, align 4, !tbaa !9
  %4359 = load i32, ptr %37, align 4, !tbaa !9
  %4360 = load i32, ptr %38, align 4, !tbaa !9
  %4361 = call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Awrite0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef %4357, i32 noundef %4358, i32 noundef %4359, i32 noundef %4360)
  store i32 %4361, ptr %36, align 4, !tbaa !9
  br label %4453

4362:                                             ; preds = %4347
  %4363 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %4363, ptr %36, align 4, !tbaa !9
  store i32 1819047246, ptr %37, align 4, !tbaa !9
  %4364 = load ptr, ptr %4, align 8, !tbaa !5
  %4365 = getelementptr inbounds %struct.w2c_hermes, ptr %4364, i32 0, i32 6
  %4366 = load i32, ptr %36, align 4, !tbaa !9
  %4367 = zext i32 %4366 to i64
  %4368 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4365, i64 noundef %4367, i32 noundef %4368)
  %4369 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4369, ptr %36, align 4, !tbaa !9
  %4370 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4370, ptr %37, align 4, !tbaa !9
  %4371 = load ptr, ptr %4, align 8, !tbaa !5
  %4372 = getelementptr inbounds %struct.w2c_hermes, ptr %4371, i32 0, i32 6
  %4373 = load i32, ptr %37, align 4, !tbaa !9
  %4374 = zext i32 %4373 to i64
  %4375 = add i64 %4374, 12
  %4376 = call i32 @i32_load(ptr noundef %4372, i64 noundef %4375)
  store i32 %4376, ptr %37, align 4, !tbaa !9
  store i32 4, ptr %38, align 4, !tbaa !9
  %4377 = load i32, ptr %38, align 4, !tbaa !9
  %4378 = load i32, ptr %37, align 4, !tbaa !9
  %4379 = add i32 %4378, %4377
  store i32 %4379, ptr %37, align 4, !tbaa !9
  %4380 = load ptr, ptr %4, align 8, !tbaa !5
  %4381 = getelementptr inbounds %struct.w2c_hermes, ptr %4380, i32 0, i32 6
  %4382 = load i32, ptr %36, align 4, !tbaa !9
  %4383 = zext i32 %4382 to i64
  %4384 = add i64 %4383, 12
  %4385 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4381, i64 noundef %4384, i32 noundef %4385)
  br label %4453

4386:                                             ; preds = %4327
  %4387 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %4387, ptr %36, align 4, !tbaa !9
  store i32 2, ptr %37, align 4, !tbaa !9
  %4388 = load i32, ptr %36, align 4, !tbaa !9
  %4389 = load i32, ptr %37, align 4, !tbaa !9
  %4390 = icmp ule i32 %4388, %4389
  %4391 = zext i1 %4390 to i32
  store i32 %4391, ptr %36, align 4, !tbaa !9
  %4392 = load i32, ptr %36, align 4, !tbaa !9
  %4393 = icmp ne i32 %4392, 0
  br i1 %4393, label %4394, label %4401

4394:                                             ; preds = %4386
  %4395 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4395, ptr %36, align 4, !tbaa !9
  store i32 87766, ptr %37, align 4, !tbaa !9
  store i32 3, ptr %38, align 4, !tbaa !9
  %4396 = load ptr, ptr %4, align 8, !tbaa !5
  %4397 = load i32, ptr %36, align 4, !tbaa !9
  %4398 = load i32, ptr %37, align 4, !tbaa !9
  %4399 = load i32, ptr %38, align 4, !tbaa !9
  %4400 = call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Awrite0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef %4396, i32 noundef %4397, i32 noundef %4398, i32 noundef %4399)
  store i32 %4400, ptr %36, align 4, !tbaa !9
  br label %4446

4401:                                             ; preds = %4386
  %4402 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %4402, ptr %36, align 4, !tbaa !9
  store i32 87766, ptr %37, align 4, !tbaa !9
  %4403 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4403, ptr %8, align 4, !tbaa !9
  %4404 = load ptr, ptr %4, align 8, !tbaa !5
  %4405 = getelementptr inbounds %struct.w2c_hermes, ptr %4404, i32 0, i32 6
  %4406 = load i32, ptr %37, align 4, !tbaa !9
  %4407 = zext i32 %4406 to i64
  %4408 = call i32 @i32_load16_u(ptr noundef %4405, i64 noundef %4407)
  store i32 %4408, ptr %37, align 4, !tbaa !9
  %4409 = load ptr, ptr %4, align 8, !tbaa !5
  %4410 = getelementptr inbounds %struct.w2c_hermes, ptr %4409, i32 0, i32 6
  %4411 = load i32, ptr %36, align 4, !tbaa !9
  %4412 = zext i32 %4411 to i64
  %4413 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %4410, i64 noundef %4412, i32 noundef %4413)
  %4414 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %4414, ptr %36, align 4, !tbaa !9
  %4415 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %4415, ptr %37, align 4, !tbaa !9
  %4416 = load ptr, ptr %4, align 8, !tbaa !5
  %4417 = getelementptr inbounds %struct.w2c_hermes, ptr %4416, i32 0, i32 6
  %4418 = load i32, ptr %37, align 4, !tbaa !9
  %4419 = zext i32 %4418 to i64
  %4420 = add i64 %4419, 2
  %4421 = call i32 @i32_load8_u(ptr noundef %4417, i64 noundef %4420)
  store i32 %4421, ptr %37, align 4, !tbaa !9
  %4422 = load ptr, ptr %4, align 8, !tbaa !5
  %4423 = getelementptr inbounds %struct.w2c_hermes, ptr %4422, i32 0, i32 6
  %4424 = load i32, ptr %36, align 4, !tbaa !9
  %4425 = zext i32 %4424 to i64
  %4426 = add i64 %4425, 2
  %4427 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %4423, i64 noundef %4426, i32 noundef %4427)
  %4428 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4428, ptr %36, align 4, !tbaa !9
  %4429 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4429, ptr %37, align 4, !tbaa !9
  %4430 = load ptr, ptr %4, align 8, !tbaa !5
  %4431 = getelementptr inbounds %struct.w2c_hermes, ptr %4430, i32 0, i32 6
  %4432 = load i32, ptr %37, align 4, !tbaa !9
  %4433 = zext i32 %4432 to i64
  %4434 = add i64 %4433, 12
  %4435 = call i32 @i32_load(ptr noundef %4431, i64 noundef %4434)
  store i32 %4435, ptr %37, align 4, !tbaa !9
  store i32 3, ptr %38, align 4, !tbaa !9
  %4436 = load i32, ptr %38, align 4, !tbaa !9
  %4437 = load i32, ptr %37, align 4, !tbaa !9
  %4438 = add i32 %4437, %4436
  store i32 %4438, ptr %37, align 4, !tbaa !9
  %4439 = load ptr, ptr %4, align 8, !tbaa !5
  %4440 = getelementptr inbounds %struct.w2c_hermes, ptr %4439, i32 0, i32 6
  %4441 = load i32, ptr %36, align 4, !tbaa !9
  %4442 = zext i32 %4441 to i64
  %4443 = add i64 %4442, 12
  %4444 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4440, i64 noundef %4443, i32 noundef %4444)
  %4445 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4445, ptr %36, align 4, !tbaa !9
  br label %4446

4446:                                             ; preds = %4401, %4394
  %4447 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %4447, ptr %6, align 4, !tbaa !9
  %4448 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %4448, ptr %37, align 4, !tbaa !9
  %4449 = load ptr, ptr %4, align 8, !tbaa !5
  %4450 = load i32, ptr %36, align 4, !tbaa !9
  %4451 = load i32, ptr %37, align 4, !tbaa !9
  %4452 = call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Aoperator0x3C0x3C0x28unsigned0x20long0x29(ptr noundef %4449, i32 noundef %4450, i32 noundef %4451)
  store i32 %4452, ptr %36, align 4, !tbaa !9
  br label %4453

4453:                                             ; preds = %4446, %4362, %4355
  %4454 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4454, ptr %36, align 4, !tbaa !9
  %4455 = load ptr, ptr %4, align 8, !tbaa !5
  %4456 = getelementptr inbounds %struct.w2c_hermes, ptr %4455, i32 0, i32 6
  %4457 = load i32, ptr %36, align 4, !tbaa !9
  %4458 = zext i32 %4457 to i64
  %4459 = add i64 %4458, 8
  %4460 = call i32 @i32_load(ptr noundef %4456, i64 noundef %4459)
  store i32 %4460, ptr %36, align 4, !tbaa !9
  %4461 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4461, ptr %37, align 4, !tbaa !9
  %4462 = load ptr, ptr %4, align 8, !tbaa !5
  %4463 = getelementptr inbounds %struct.w2c_hermes, ptr %4462, i32 0, i32 6
  %4464 = load i32, ptr %37, align 4, !tbaa !9
  %4465 = zext i32 %4464 to i64
  %4466 = add i64 %4465, 12
  %4467 = call i32 @i32_load(ptr noundef %4463, i64 noundef %4466)
  store i32 %4467, ptr %37, align 4, !tbaa !9
  %4468 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4468, ptr %6, align 4, !tbaa !9
  %4469 = load i32, ptr %37, align 4, !tbaa !9
  %4470 = load i32, ptr %36, align 4, !tbaa !9
  %4471 = sub i32 %4470, %4469
  store i32 %4471, ptr %36, align 4, !tbaa !9
  store i32 20, ptr %37, align 4, !tbaa !9
  %4472 = load i32, ptr %36, align 4, !tbaa !9
  %4473 = load i32, ptr %37, align 4, !tbaa !9
  %4474 = icmp ule i32 %4472, %4473
  %4475 = zext i1 %4474 to i32
  store i32 %4475, ptr %36, align 4, !tbaa !9
  %4476 = load i32, ptr %36, align 4, !tbaa !9
  %4477 = icmp ne i32 %4476, 0
  br i1 %4477, label %4478, label %4486

4478:                                             ; preds = %4453
  %4479 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4479, ptr %36, align 4, !tbaa !9
  store i32 209367, ptr %37, align 4, !tbaa !9
  store i32 21, ptr %38, align 4, !tbaa !9
  %4480 = load ptr, ptr %4, align 8, !tbaa !5
  %4481 = load i32, ptr %36, align 4, !tbaa !9
  %4482 = load i32, ptr %37, align 4, !tbaa !9
  %4483 = load i32, ptr %38, align 4, !tbaa !9
  %4484 = call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Awrite0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef %4480, i32 noundef %4481, i32 noundef %4482, i32 noundef %4483)
  store i32 %4484, ptr %36, align 4, !tbaa !9
  %4485 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %4485, ptr %7, align 4, !tbaa !9
  br label %4544

4486:                                             ; preds = %4453
  %4487 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %4487, ptr %36, align 4, !tbaa !9
  store i32 209367, ptr %37, align 4, !tbaa !9
  %4488 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4488, ptr %8, align 4, !tbaa !9
  %4489 = load ptr, ptr %4, align 8, !tbaa !5
  %4490 = getelementptr inbounds %struct.w2c_hermes, ptr %4489, i32 0, i32 6
  %4491 = load i32, ptr %37, align 4, !tbaa !9
  %4492 = zext i32 %4491 to i64
  %4493 = call i64 @i64_load(ptr noundef %4490, i64 noundef %4492)
  store i64 %4493, ptr %48, align 8, !tbaa !11
  %4494 = load ptr, ptr %4, align 8, !tbaa !5
  %4495 = getelementptr inbounds %struct.w2c_hermes, ptr %4494, i32 0, i32 6
  %4496 = load i32, ptr %36, align 4, !tbaa !9
  %4497 = zext i32 %4496 to i64
  %4498 = load i64, ptr %48, align 8, !tbaa !11
  call void @i64_store(ptr noundef %4495, i64 noundef %4497, i64 noundef %4498)
  %4499 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %4499, ptr %36, align 4, !tbaa !9
  %4500 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %4500, ptr %37, align 4, !tbaa !9
  %4501 = load ptr, ptr %4, align 8, !tbaa !5
  %4502 = getelementptr inbounds %struct.w2c_hermes, ptr %4501, i32 0, i32 6
  %4503 = load i32, ptr %37, align 4, !tbaa !9
  %4504 = zext i32 %4503 to i64
  %4505 = add i64 %4504, 13
  %4506 = call i64 @i64_load(ptr noundef %4502, i64 noundef %4505)
  store i64 %4506, ptr %48, align 8, !tbaa !11
  %4507 = load ptr, ptr %4, align 8, !tbaa !5
  %4508 = getelementptr inbounds %struct.w2c_hermes, ptr %4507, i32 0, i32 6
  %4509 = load i32, ptr %36, align 4, !tbaa !9
  %4510 = zext i32 %4509 to i64
  %4511 = add i64 %4510, 13
  %4512 = load i64, ptr %48, align 8, !tbaa !11
  call void @i64_store(ptr noundef %4508, i64 noundef %4511, i64 noundef %4512)
  %4513 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %4513, ptr %36, align 4, !tbaa !9
  %4514 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %4514, ptr %37, align 4, !tbaa !9
  %4515 = load ptr, ptr %4, align 8, !tbaa !5
  %4516 = getelementptr inbounds %struct.w2c_hermes, ptr %4515, i32 0, i32 6
  %4517 = load i32, ptr %37, align 4, !tbaa !9
  %4518 = zext i32 %4517 to i64
  %4519 = add i64 %4518, 8
  %4520 = call i64 @i64_load(ptr noundef %4516, i64 noundef %4519)
  store i64 %4520, ptr %48, align 8, !tbaa !11
  %4521 = load ptr, ptr %4, align 8, !tbaa !5
  %4522 = getelementptr inbounds %struct.w2c_hermes, ptr %4521, i32 0, i32 6
  %4523 = load i32, ptr %36, align 4, !tbaa !9
  %4524 = zext i32 %4523 to i64
  %4525 = add i64 %4524, 8
  %4526 = load i64, ptr %48, align 8, !tbaa !11
  call void @i64_store(ptr noundef %4522, i64 noundef %4525, i64 noundef %4526)
  %4527 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4527, ptr %36, align 4, !tbaa !9
  %4528 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4528, ptr %37, align 4, !tbaa !9
  %4529 = load ptr, ptr %4, align 8, !tbaa !5
  %4530 = getelementptr inbounds %struct.w2c_hermes, ptr %4529, i32 0, i32 6
  %4531 = load i32, ptr %37, align 4, !tbaa !9
  %4532 = zext i32 %4531 to i64
  %4533 = add i64 %4532, 12
  %4534 = call i32 @i32_load(ptr noundef %4530, i64 noundef %4533)
  store i32 %4534, ptr %37, align 4, !tbaa !9
  store i32 21, ptr %38, align 4, !tbaa !9
  %4535 = load i32, ptr %38, align 4, !tbaa !9
  %4536 = load i32, ptr %37, align 4, !tbaa !9
  %4537 = add i32 %4536, %4535
  store i32 %4537, ptr %37, 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 %36, align 4, !tbaa !9
  %4541 = zext i32 %4540 to i64
  %4542 = add i64 %4541, 12
  %4543 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4539, i64 noundef %4542, i32 noundef %4543)
  br label %4544

4544:                                             ; preds = %4486, %4478
  %4545 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %4545, ptr %36, align 4, !tbaa !9
  store i32 56, ptr %37, align 4, !tbaa !9
  %4546 = load i32, ptr %37, align 4, !tbaa !9
  %4547 = load i32, ptr %36, align 4, !tbaa !9
  %4548 = add i32 %4547, %4546
  store i32 %4548, ptr %36, align 4, !tbaa !9
  %4549 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4549, ptr %37, align 4, !tbaa !9
  %4550 = load ptr, ptr %4, align 8, !tbaa !5
  %4551 = load i32, ptr %36, align 4, !tbaa !9
  %4552 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3AInstruction0x3A0x3AgetName0x280x29(ptr noundef %4550, i32 noundef %4551, i32 noundef %4552)
  %4553 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %4553, ptr %36, align 4, !tbaa !9
  %4554 = load ptr, ptr %4, align 8, !tbaa !5
  %4555 = getelementptr inbounds %struct.w2c_hermes, ptr %4554, i32 0, i32 6
  %4556 = load i32, ptr %36, align 4, !tbaa !9
  %4557 = zext i32 %4556 to i64
  %4558 = add i64 %4557, 56
  %4559 = call i32 @i32_load(ptr noundef %4555, i64 noundef %4558)
  store i32 %4559, ptr %36, align 4, !tbaa !9
  %4560 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %4560, ptr %13, align 4, !tbaa !9
  %4561 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %4561, ptr %36, align 4, !tbaa !9
  %4562 = load ptr, ptr %4, align 8, !tbaa !5
  %4563 = getelementptr inbounds %struct.w2c_hermes, ptr %4562, i32 0, i32 6
  %4564 = load i32, ptr %36, align 4, !tbaa !9
  %4565 = zext i32 %4564 to i64
  %4566 = add i64 %4565, 60
  %4567 = call i32 @i32_load(ptr noundef %4563, i64 noundef %4566)
  store i32 %4567, ptr %36, align 4, !tbaa !9
  %4568 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %4568, ptr %8, align 4, !tbaa !9
  %4569 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4569, ptr %37, 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 %37, align 4, !tbaa !9
  %4573 = zext i32 %4572 to i64
  %4574 = add i64 %4573, 8
  %4575 = call i32 @i32_load(ptr noundef %4571, i64 noundef %4574)
  store i32 %4575, ptr %37, align 4, !tbaa !9
  %4576 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4576, ptr %38, align 4, !tbaa !9
  %4577 = load ptr, ptr %4, align 8, !tbaa !5
  %4578 = getelementptr inbounds %struct.w2c_hermes, ptr %4577, i32 0, i32 6
  %4579 = load i32, ptr %38, align 4, !tbaa !9
  %4580 = zext i32 %4579 to i64
  %4581 = add i64 %4580, 12
  %4582 = call i32 @i32_load(ptr noundef %4578, i64 noundef %4581)
  store i32 %4582, ptr %38, align 4, !tbaa !9
  %4583 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %4583, ptr %6, align 4, !tbaa !9
  %4584 = load i32, ptr %38, align 4, !tbaa !9
  %4585 = load i32, ptr %37, align 4, !tbaa !9
  %4586 = sub i32 %4585, %4584
  store i32 %4586, ptr %37, align 4, !tbaa !9
  %4587 = load i32, ptr %36, align 4, !tbaa !9
  %4588 = load i32, ptr %37, align 4, !tbaa !9
  %4589 = icmp ugt i32 %4587, %4588
  %4590 = zext i1 %4589 to i32
  store i32 %4590, ptr %36, align 4, !tbaa !9
  %4591 = load i32, ptr %36, align 4, !tbaa !9
  %4592 = icmp ne i32 %4591, 0
  br i1 %4592, label %4593, label %4610

4593:                                             ; preds = %4544
  %4594 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4594, ptr %36, align 4, !tbaa !9
  %4595 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %4595, ptr %37, align 4, !tbaa !9
  %4596 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %4596, ptr %38, align 4, !tbaa !9
  %4597 = load ptr, ptr %4, align 8, !tbaa !5
  %4598 = load i32, ptr %36, align 4, !tbaa !9
  %4599 = load i32, ptr %37, align 4, !tbaa !9
  %4600 = load i32, ptr %38, align 4, !tbaa !9
  %4601 = call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Awrite0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef %4597, i32 noundef %4598, i32 noundef %4599, i32 noundef %4600)
  store i32 %4601, ptr %36, align 4, !tbaa !9
  %4602 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %4602, ptr %7, align 4, !tbaa !9
  %4603 = load ptr, ptr %4, align 8, !tbaa !5
  %4604 = getelementptr inbounds %struct.w2c_hermes, ptr %4603, i32 0, i32 6
  %4605 = load i32, ptr %36, align 4, !tbaa !9
  %4606 = zext i32 %4605 to i64
  %4607 = add i64 %4606, 12
  %4608 = call i32 @i32_load(ptr noundef %4604, i64 noundef %4607)
  store i32 %4608, ptr %36, align 4, !tbaa !9
  %4609 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %4609, ptr %6, align 4, !tbaa !9
  br label %4647

4610:                                             ; preds = %4544
  %4611 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %4611, ptr %36, align 4, !tbaa !9
  %4612 = load i32, ptr %36, align 4, !tbaa !9
  %4613 = icmp ne i32 %4612, 0
  %4614 = xor i1 %4613, true
  %4615 = zext i1 %4614 to i32
  store i32 %4615, ptr %36, align 4, !tbaa !9
  %4616 = load i32, ptr %36, align 4, !tbaa !9
  %4617 = icmp ne i32 %4616, 0
  br i1 %4617, label %4618, label %4619

4618:                                             ; preds = %4610
  br label %4647

4619:                                             ; preds = %4610
  %4620 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %4620, ptr %36, align 4, !tbaa !9
  %4621 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %4621, ptr %37, align 4, !tbaa !9
  %4622 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %4622, ptr %38, align 4, !tbaa !9
  %4623 = load ptr, ptr %4, align 8, !tbaa !5
  %4624 = load i32, ptr %36, align 4, !tbaa !9
  %4625 = load i32, ptr %37, align 4, !tbaa !9
  %4626 = load i32, ptr %38, align 4, !tbaa !9
  %4627 = call i32 @w2c_hermes_0x5F_memcpy(ptr noundef %4623, i32 noundef %4624, i32 noundef %4625, i32 noundef %4626)
  store i32 %4627, ptr %36, align 4, !tbaa !9
  %4628 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4628, ptr %36, align 4, !tbaa !9
  %4629 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4629, ptr %37, align 4, !tbaa !9
  %4630 = load ptr, ptr %4, align 8, !tbaa !5
  %4631 = getelementptr inbounds %struct.w2c_hermes, ptr %4630, i32 0, i32 6
  %4632 = load i32, ptr %37, align 4, !tbaa !9
  %4633 = zext i32 %4632 to i64
  %4634 = add i64 %4633, 12
  %4635 = call i32 @i32_load(ptr noundef %4631, i64 noundef %4634)
  store i32 %4635, ptr %37, align 4, !tbaa !9
  %4636 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %4636, ptr %38, align 4, !tbaa !9
  %4637 = load i32, ptr %38, align 4, !tbaa !9
  %4638 = load i32, ptr %37, align 4, !tbaa !9
  %4639 = add i32 %4638, %4637
  store i32 %4639, ptr %37, align 4, !tbaa !9
  %4640 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4640, ptr %6, 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 %36, align 4, !tbaa !9
  %4644 = zext i32 %4643 to i64
  %4645 = add i64 %4644, 12
  %4646 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4642, i64 noundef %4645, i32 noundef %4646)
  br label %4647

4647:                                             ; preds = %4619, %4618, %4593
  %4648 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %4648, ptr %36, align 4, !tbaa !9
  %4649 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4649, ptr %37, align 4, !tbaa !9
  %4650 = load ptr, ptr %4, align 8, !tbaa !5
  %4651 = getelementptr inbounds %struct.w2c_hermes, ptr %4650, i32 0, i32 6
  %4652 = load i32, ptr %37, align 4, !tbaa !9
  %4653 = zext i32 %4652 to i64
  %4654 = add i64 %4653, 8
  %4655 = call i32 @i32_load(ptr noundef %4651, i64 noundef %4654)
  store i32 %4655, ptr %37, align 4, !tbaa !9
  %4656 = load i32, ptr %36, align 4, !tbaa !9
  %4657 = load i32, ptr %37, align 4, !tbaa !9
  %4658 = icmp eq i32 %4656, %4657
  %4659 = zext i1 %4658 to i32
  store i32 %4659, ptr %36, align 4, !tbaa !9
  %4660 = load i32, ptr %36, align 4, !tbaa !9
  %4661 = icmp ne i32 %4660, 0
  br i1 %4661, label %4662, label %4669

4662:                                             ; preds = %4647
  %4663 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4663, ptr %36, align 4, !tbaa !9
  store i32 213024, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %4664 = load ptr, ptr %4, align 8, !tbaa !5
  %4665 = load i32, ptr %36, align 4, !tbaa !9
  %4666 = load i32, ptr %37, align 4, !tbaa !9
  %4667 = load i32, ptr %38, align 4, !tbaa !9
  %4668 = call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Awrite0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef %4664, i32 noundef %4665, i32 noundef %4666, i32 noundef %4667)
  store i32 %4668, ptr %36, align 4, !tbaa !9
  br label %4693

4669:                                             ; preds = %4647
  %4670 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %4670, ptr %36, align 4, !tbaa !9
  store i32 10, ptr %37, align 4, !tbaa !9
  %4671 = load ptr, ptr %4, align 8, !tbaa !5
  %4672 = getelementptr inbounds %struct.w2c_hermes, ptr %4671, i32 0, i32 6
  %4673 = load i32, ptr %36, align 4, !tbaa !9
  %4674 = zext i32 %4673 to i64
  %4675 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %4672, i64 noundef %4674, i32 noundef %4675)
  %4676 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4676, ptr %36, align 4, !tbaa !9
  %4677 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4677, ptr %37, align 4, !tbaa !9
  %4678 = load ptr, ptr %4, align 8, !tbaa !5
  %4679 = getelementptr inbounds %struct.w2c_hermes, ptr %4678, i32 0, i32 6
  %4680 = load i32, ptr %37, align 4, !tbaa !9
  %4681 = zext i32 %4680 to i64
  %4682 = add i64 %4681, 12
  %4683 = call i32 @i32_load(ptr noundef %4679, i64 noundef %4682)
  store i32 %4683, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %4684 = load i32, ptr %38, align 4, !tbaa !9
  %4685 = load i32, ptr %37, align 4, !tbaa !9
  %4686 = add i32 %4685, %4684
  store i32 %4686, ptr %37, align 4, !tbaa !9
  %4687 = load ptr, ptr %4, align 8, !tbaa !5
  %4688 = getelementptr inbounds %struct.w2c_hermes, ptr %4687, i32 0, i32 6
  %4689 = load i32, ptr %36, align 4, !tbaa !9
  %4690 = zext i32 %4689 to i64
  %4691 = add i64 %4690, 12
  %4692 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %4688, i64 noundef %4691, i32 noundef %4692)
  br label %4693

4693:                                             ; preds = %4669, %4662, %3957, %3946
  %4694 = load i32, ptr %29, align 4, !tbaa !9
  store i32 %4694, ptr %36, align 4, !tbaa !9
  %4695 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %4695, ptr %37, align 4, !tbaa !9
  %4696 = load ptr, ptr %4, align 8, !tbaa !5
  %4697 = load i32, ptr %36, align 4, !tbaa !9
  %4698 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3ARegisterFile0x3A0x3AkillRegister0x28hermes0x3A0x3ARegister0x29(ptr noundef %4696, i32 noundef %4697, i32 noundef %4698)
  %4699 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %4699, ptr %36, align 4, !tbaa !9
  %4700 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4700, ptr %37, align 4, !tbaa !9
  %4701 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %4701, ptr %38, align 4, !tbaa !9
  %4702 = load ptr, ptr %4, align 8, !tbaa !5
  %4703 = getelementptr inbounds %struct.w2c_hermes, ptr %4702, i32 0, i32 6
  %4704 = load i32, ptr %38, align 4, !tbaa !9
  %4705 = zext i32 %4704 to i64
  %4706 = call i32 @i32_load(ptr noundef %4703, i64 noundef %4705)
  store i32 %4706, ptr %38, align 4, !tbaa !9
  %4707 = load ptr, ptr %4, align 8, !tbaa !5
  %4708 = getelementptr inbounds %struct.w2c_hermes, ptr %4707, i32 0, i32 6
  %4709 = load i32, ptr %38, align 4, !tbaa !9
  %4710 = zext i32 %4709 to i64
  %4711 = add i64 %4710, 12
  %4712 = call i32 @i32_load(ptr noundef %4708, i64 noundef %4711)
  store i32 %4712, ptr %38, align 4, !tbaa !9
  %4713 = load i32, ptr %38, align 4, !tbaa !9
  %4714 = load ptr, ptr %4, align 8, !tbaa !5
  %4715 = getelementptr inbounds %struct.w2c_hermes, ptr %4714, i32 0, i32 7
  %4716 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %4715, i32 0, i32 2
  %4717 = load i32, ptr %4716, align 4, !tbaa !18
  %4718 = icmp ult i32 %4713, %4717
  br i1 %4718, label %4719, label %4742

4719:                                             ; preds = %4693
  %4720 = load ptr, ptr %4, align 8, !tbaa !5
  %4721 = getelementptr inbounds %struct.w2c_hermes, ptr %4720, i32 0, i32 7
  %4722 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %4721, i32 0, i32 0
  %4723 = load ptr, ptr %4722, align 8, !tbaa !19
  %4724 = load i32, ptr %38, align 4, !tbaa !9
  %4725 = zext i32 %4724 to i64
  %4726 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %4723, i64 %4725
  %4727 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %4726, i32 0, i32 1
  %4728 = load ptr, ptr %4727, align 8, !tbaa !20
  %4729 = icmp ne ptr %4728, null
  br i1 %4729, label %4730, label %4742

4730:                                             ; preds = %4719
  %4731 = load ptr, ptr @w2c_hermes_t0, align 8, !tbaa !5
  %4732 = load ptr, ptr %4, align 8, !tbaa !5
  %4733 = getelementptr inbounds %struct.w2c_hermes, ptr %4732, i32 0, i32 7
  %4734 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %4733, i32 0, i32 0
  %4735 = load ptr, ptr %4734, align 8, !tbaa !19
  %4736 = load i32, ptr %38, align 4, !tbaa !9
  %4737 = zext i32 %4736 to i64
  %4738 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %4735, i64 %4737
  %4739 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %4738, i32 0, i32 0
  %4740 = load ptr, ptr %4739, align 8, !tbaa !22
  %4741 = call zeroext i1 @func_types_eq(ptr noundef %4731, ptr noundef %4740)
  br label %4742

4742:                                             ; preds = %4730, %4719, %4693
  %4743 = phi i1 [ false, %4719 ], [ false, %4693 ], [ %4741, %4730 ]
  %4744 = xor i1 %4743, true
  %4745 = xor i1 %4744, true
  %4746 = zext i1 %4745 to i32
  %4747 = sext i32 %4746 to i64
  %4748 = call i64 @llvm.expect.i64(i64 %4747, i64 1)
  %4749 = icmp ne i64 %4748, 0
  br i1 %4749, label %4752, label %4750

4750:                                             ; preds = %4742
  call void @wasm_rt_trap(i32 noundef 6) #7
  unreachable

4751:                                             ; No predecessors!
  br label %4752

4752:                                             ; preds = %4751, %4742
  %4753 = phi i1 [ true, %4742 ], [ false, %4751 ]
  %4754 = zext i1 %4753 to i32
  %4755 = load ptr, ptr %4, align 8, !tbaa !5
  %4756 = getelementptr inbounds %struct.w2c_hermes, ptr %4755, i32 0, i32 7
  %4757 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %4756, i32 0, i32 0
  %4758 = load ptr, ptr %4757, align 8, !tbaa !19
  %4759 = load i32, ptr %38, align 4, !tbaa !9
  %4760 = zext i32 %4759 to i64
  %4761 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %4758, i64 %4760
  %4762 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %4761, i32 0, i32 1
  %4763 = load ptr, ptr %4762, align 8, !tbaa !20
  %4764 = load ptr, ptr %4, align 8, !tbaa !5
  %4765 = getelementptr inbounds %struct.w2c_hermes, ptr %4764, i32 0, i32 7
  %4766 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %4765, i32 0, i32 0
  %4767 = load ptr, ptr %4766, align 8, !tbaa !19
  %4768 = load i32, ptr %38, align 4, !tbaa !9
  %4769 = zext i32 %4768 to i64
  %4770 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %4767, i64 %4769
  %4771 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %4770, i32 0, i32 2
  %4772 = load ptr, ptr %4771, align 8, !tbaa !23
  %4773 = load i32, ptr %36, align 4, !tbaa !9
  %4774 = load i32, ptr %37, align 4, !tbaa !9
  call void %4763(ptr noundef %4772, i32 noundef %4773, i32 noundef %4774)
  %4775 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %4775, ptr %36, align 4, !tbaa !9
  %4776 = load ptr, ptr %4, align 8, !tbaa !5
  %4777 = getelementptr inbounds %struct.w2c_hermes, ptr %4776, i32 0, i32 6
  %4778 = load i32, ptr %36, align 4, !tbaa !9
  %4779 = zext i32 %4778 to i64
  %4780 = add i64 %4779, 76
  %4781 = call i32 @i32_load(ptr noundef %4777, i64 noundef %4780)
  store i32 %4781, ptr %36, align 4, !tbaa !9
  %4782 = load i32, ptr %36, align 4, !tbaa !9
  %4783 = icmp ne i32 %4782, 0
  br i1 %4783, label %4784, label %4785

4784:                                             ; preds = %4752
  br label %2456

4785:                                             ; preds = %4752
  br label %4786

4786:                                             ; preds = %4785, %3872, %2454
  %4787 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %4787, ptr %36, align 4, !tbaa !9
  %4788 = load ptr, ptr %4, align 8, !tbaa !5
  %4789 = getelementptr inbounds %struct.w2c_hermes, ptr %4788, i32 0, i32 6
  %4790 = load i32, ptr %36, align 4, !tbaa !9
  %4791 = zext i32 %4790 to i64
  %4792 = add i64 %4791, 380
  %4793 = call i32 @i32_load(ptr noundef %4789, i64 noundef %4792)
  store i32 %4793, ptr %36, align 4, !tbaa !9
  %4794 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %4794, ptr %6, align 4, !tbaa !9
  %4795 = load i32, ptr %36, align 4, !tbaa !9
  %4796 = icmp ne i32 %4795, 0
  %4797 = xor i1 %4796, true
  %4798 = zext i1 %4797 to i32
  store i32 %4798, ptr %36, align 4, !tbaa !9
  %4799 = load i32, ptr %36, align 4, !tbaa !9
  %4800 = icmp ne i32 %4799, 0
  br i1 %4800, label %4801, label %4802

4801:                                             ; preds = %4786
  br label %4936

4802:                                             ; preds = %4786
  %4803 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %4803, ptr %36, align 4, !tbaa !9
  store i32 8, ptr %37, align 4, !tbaa !9
  %4804 = load i32, ptr %37, align 4, !tbaa !9
  %4805 = load i32, ptr %36, align 4, !tbaa !9
  %4806 = add i32 %4805, %4804
  store i32 %4806, ptr %36, align 4, !tbaa !9
  %4807 = load i32, ptr %36, align 4, !tbaa !9
  switch i32 %4807, label %4813 [
    i32 0, label %4808
    i32 1, label %4809
    i32 2, label %4810
    i32 3, label %4811
    i32 4, label %4812
  ]

4808:                                             ; preds = %4802
  br label %4814

4809:                                             ; preds = %4802
  br label %4832

4810:                                             ; preds = %4802
  br label %4832

4811:                                             ; preds = %4802
  br label %4832

4812:                                             ; preds = %4802
  br label %4814

4813:                                             ; preds = %4802
  br label %4832

4814:                                             ; preds = %4812, %4808
  store i32 0, ptr %36, align 4, !tbaa !9
  %4815 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %4815, ptr %6, align 4, !tbaa !9
  store i32 204136, ptr %37, align 4, !tbaa !9
  %4816 = load i32, ptr %37, align 4, !tbaa !9
  %4817 = load i32, ptr %36, align 4, !tbaa !9
  %4818 = add i32 %4817, %4816
  store i32 %4818, ptr %36, align 4, !tbaa !9
  %4819 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %4819, ptr %37, align 4, !tbaa !9
  store i32 81389, ptr %38, align 4, !tbaa !9
  %4820 = load i32, ptr %38, align 4, !tbaa !9
  %4821 = load i32, ptr %37, align 4, !tbaa !9
  %4822 = add i32 %4821, %4820
  store i32 %4822, ptr %37, align 4, !tbaa !9
  store i32 597, ptr %38, align 4, !tbaa !9
  %4823 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %4823, ptr %39, align 4, !tbaa !9
  store i32 48929, ptr %40, align 4, !tbaa !9
  %4824 = load i32, ptr %40, align 4, !tbaa !9
  %4825 = load i32, ptr %39, align 4, !tbaa !9
  %4826 = add i32 %4825, %4824
  store i32 %4826, ptr %39, align 4, !tbaa !9
  %4827 = load ptr, ptr %4, align 8, !tbaa !5
  %4828 = load i32, ptr %36, align 4, !tbaa !9
  %4829 = load i32, ptr %37, align 4, !tbaa !9
  %4830 = load i32, ptr %38, align 4, !tbaa !9
  %4831 = load i32, ptr %39, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %4827, i32 noundef %4828, i32 noundef %4829, i32 noundef %4830, i32 noundef %4831)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

4832:                                             ; preds = %4813, %4811, %4810, %4809
  %4833 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %4833, ptr %36, align 4, !tbaa !9
  %4834 = load ptr, ptr %4, align 8, !tbaa !5
  %4835 = getelementptr inbounds %struct.w2c_hermes, ptr %4834, i32 0, i32 6
  %4836 = load i32, ptr %36, align 4, !tbaa !9
  %4837 = zext i32 %4836 to i64
  %4838 = add i64 %4837, 368
  %4839 = call i32 @i32_load(ptr noundef %4835, i64 noundef %4838)
  store i32 %4839, ptr %36, align 4, !tbaa !9
  %4840 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %4840, ptr %8, align 4, !tbaa !9
  %4841 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %4841, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %4842 = load i32, ptr %38, align 4, !tbaa !9
  %4843 = load i32, ptr %37, align 4, !tbaa !9
  %4844 = sub i32 %4843, %4842
  store i32 %4844, ptr %37, align 4, !tbaa !9
  %4845 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4845, ptr %10, align 4, !tbaa !9
  %4846 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %4846, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %4847 = load i32, ptr %39, align 4, !tbaa !9
  %4848 = and i32 %4847, 31
  %4849 = load i32, ptr %38, align 4, !tbaa !9
  %4850 = lshr i32 %4849, %4848
  store i32 %4850, ptr %38, align 4, !tbaa !9
  %4851 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %4851, ptr %39, align 4, !tbaa !9
  store i32 9, ptr %40, align 4, !tbaa !9
  %4852 = load i32, ptr %40, align 4, !tbaa !9
  %4853 = and i32 %4852, 31
  %4854 = load i32, ptr %39, align 4, !tbaa !9
  %4855 = lshr i32 %4854, %4853
  store i32 %4855, ptr %39, align 4, !tbaa !9
  %4856 = load i32, ptr %39, align 4, !tbaa !9
  %4857 = load i32, ptr %38, align 4, !tbaa !9
  %4858 = xor i32 %4857, %4856
  store i32 %4858, ptr %38, align 4, !tbaa !9
  %4859 = load i32, ptr %38, align 4, !tbaa !9
  %4860 = load i32, ptr %37, align 4, !tbaa !9
  %4861 = and i32 %4860, %4859
  store i32 %4861, ptr %37, align 4, !tbaa !9
  %4862 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4862, ptr %7, align 4, !tbaa !9
  store i32 3, ptr %38, align 4, !tbaa !9
  %4863 = load i32, ptr %38, align 4, !tbaa !9
  %4864 = and i32 %4863, 31
  %4865 = load i32, ptr %37, align 4, !tbaa !9
  %4866 = shl i32 %4865, %4864
  store i32 %4866, ptr %37, align 4, !tbaa !9
  %4867 = load i32, ptr %37, align 4, !tbaa !9
  %4868 = load i32, ptr %36, align 4, !tbaa !9
  %4869 = add i32 %4868, %4867
  store i32 %4869, ptr %36, align 4, !tbaa !9
  %4870 = load ptr, ptr %4, align 8, !tbaa !5
  %4871 = getelementptr inbounds %struct.w2c_hermes, ptr %4870, i32 0, i32 6
  %4872 = load i32, ptr %36, align 4, !tbaa !9
  %4873 = zext i32 %4872 to i64
  %4874 = call i32 @i32_load(ptr noundef %4871, i64 noundef %4873)
  store i32 %4874, ptr %36, align 4, !tbaa !9
  %4875 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %4875, ptr %6, align 4, !tbaa !9
  %4876 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %4876, ptr %37, align 4, !tbaa !9
  %4877 = load i32, ptr %36, align 4, !tbaa !9
  %4878 = load i32, ptr %37, align 4, !tbaa !9
  %4879 = icmp eq i32 %4877, %4878
  %4880 = zext i1 %4879 to i32
  store i32 %4880, ptr %36, align 4, !tbaa !9
  %4881 = load i32, ptr %36, align 4, !tbaa !9
  %4882 = icmp ne i32 %4881, 0
  br i1 %4882, label %4883, label %4884

4883:                                             ; preds = %4832
  br label %5398

4884:                                             ; preds = %4832
  store i32 1, ptr %36, align 4, !tbaa !9
  %4885 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %4885, ptr %11, align 4, !tbaa !9
  br label %4886

4886:                                             ; preds = %4934, %4884
  %4887 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %4887, ptr %36, align 4, !tbaa !9
  store i32 -4, ptr %37, align 4, !tbaa !9
  %4888 = load i32, ptr %36, align 4, !tbaa !9
  %4889 = load i32, ptr %37, align 4, !tbaa !9
  %4890 = icmp eq i32 %4888, %4889
  %4891 = zext i1 %4890 to i32
  store i32 %4891, ptr %36, align 4, !tbaa !9
  %4892 = load i32, ptr %36, align 4, !tbaa !9
  %4893 = icmp ne i32 %4892, 0
  br i1 %4893, label %4894, label %4895

4894:                                             ; preds = %4886
  br label %4936

4895:                                             ; preds = %4886
  %4896 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %4896, ptr %36, align 4, !tbaa !9
  %4897 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %4897, ptr %37, align 4, !tbaa !9
  %4898 = load i32, ptr %37, align 4, !tbaa !9
  %4899 = load i32, ptr %36, align 4, !tbaa !9
  %4900 = add i32 %4899, %4898
  store i32 %4900, ptr %36, align 4, !tbaa !9
  %4901 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %4901, ptr %6, align 4, !tbaa !9
  %4902 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %4902, ptr %36, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %4903 = load i32, ptr %37, align 4, !tbaa !9
  %4904 = load i32, ptr %36, align 4, !tbaa !9
  %4905 = add i32 %4904, %4903
  store i32 %4905, ptr %36, align 4, !tbaa !9
  %4906 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %4906, ptr %11, align 4, !tbaa !9
  %4907 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %4907, ptr %36, align 4, !tbaa !9
  %4908 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %4908, ptr %37, align 4, !tbaa !9
  %4909 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %4909, ptr %38, align 4, !tbaa !9
  %4910 = load i32, ptr %38, align 4, !tbaa !9
  %4911 = load i32, ptr %37, align 4, !tbaa !9
  %4912 = and i32 %4911, %4910
  store i32 %4912, ptr %37, align 4, !tbaa !9
  %4913 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %4913, ptr %7, align 4, !tbaa !9
  store i32 3, ptr %38, align 4, !tbaa !9
  %4914 = load i32, ptr %38, align 4, !tbaa !9
  %4915 = and i32 %4914, 31
  %4916 = load i32, ptr %37, align 4, !tbaa !9
  %4917 = shl i32 %4916, %4915
  store i32 %4917, ptr %37, align 4, !tbaa !9
  %4918 = load i32, ptr %37, align 4, !tbaa !9
  %4919 = load i32, ptr %36, align 4, !tbaa !9
  %4920 = add i32 %4919, %4918
  store i32 %4920, ptr %36, align 4, !tbaa !9
  %4921 = load ptr, ptr %4, align 8, !tbaa !5
  %4922 = getelementptr inbounds %struct.w2c_hermes, ptr %4921, i32 0, i32 6
  %4923 = load i32, ptr %36, align 4, !tbaa !9
  %4924 = zext i32 %4923 to i64
  %4925 = call i32 @i32_load(ptr noundef %4922, i64 noundef %4924)
  store i32 %4925, ptr %36, align 4, !tbaa !9
  %4926 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %4926, ptr %6, align 4, !tbaa !9
  %4927 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %4927, ptr %37, align 4, !tbaa !9
  %4928 = load i32, ptr %36, align 4, !tbaa !9
  %4929 = load i32, ptr %37, align 4, !tbaa !9
  %4930 = icmp ne i32 %4928, %4929
  %4931 = zext i1 %4930 to i32
  store i32 %4931, ptr %36, align 4, !tbaa !9
  %4932 = load i32, ptr %36, align 4, !tbaa !9
  %4933 = icmp ne i32 %4932, 0
  br i1 %4933, label %4934, label %4935

4934:                                             ; preds = %4895
  br label %4886

4935:                                             ; preds = %4895
  br label %5398

4936:                                             ; preds = %4894, %4801
  %4937 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %4937, ptr %36, align 4, !tbaa !9
  store i32 8, ptr %37, align 4, !tbaa !9
  %4938 = load i32, ptr %37, align 4, !tbaa !9
  %4939 = load i32, ptr %36, align 4, !tbaa !9
  %4940 = add i32 %4939, %4938
  store i32 %4940, ptr %36, align 4, !tbaa !9
  store i32 0, ptr %37, align 4, !tbaa !9
  %4941 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %4941, ptr %38, align 4, !tbaa !9
  %4942 = load i32, ptr %38, align 4, !tbaa !9
  %4943 = icmp ne i32 %4942, 0
  br i1 %4943, label %4944, label %4946

4944:                                             ; preds = %4936
  %4945 = load i32, ptr %36, align 4, !tbaa !9
  br label %4948

4946:                                             ; preds = %4936
  %4947 = load i32, ptr %37, align 4, !tbaa !9
  br label %4948

4948:                                             ; preds = %4946, %4944
  %4949 = phi i32 [ %4945, %4944 ], [ %4947, %4946 ]
  store i32 %4949, ptr %36, align 4, !tbaa !9
  %4950 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %4950, ptr %6, align 4, !tbaa !9
  %4951 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %4951, ptr %36, 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 %36, align 4, !tbaa !9
  %4955 = zext i32 %4954 to i64
  %4956 = add i64 %4955, 1096
  %4957 = call i32 @i32_load(ptr noundef %4953, i64 noundef %4956)
  store i32 %4957, ptr %36, align 4, !tbaa !9
  %4958 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %4958, ptr %7, align 4, !tbaa !9
  %4959 = load i32, ptr %36, align 4, !tbaa !9
  %4960 = icmp ne i32 %4959, 0
  %4961 = xor i1 %4960, true
  %4962 = zext i1 %4961 to i32
  store i32 %4962, ptr %36, align 4, !tbaa !9
  %4963 = load i32, ptr %36, align 4, !tbaa !9
  %4964 = icmp ne i32 %4963, 0
  br i1 %4964, label %4965, label %4966

4965:                                             ; preds = %4948
  br label %5100

4966:                                             ; preds = %4948
  %4967 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %4967, ptr %36, align 4, !tbaa !9
  store i32 8, ptr %37, align 4, !tbaa !9
  %4968 = load i32, ptr %37, align 4, !tbaa !9
  %4969 = load i32, ptr %36, align 4, !tbaa !9
  %4970 = add i32 %4969, %4968
  store i32 %4970, ptr %36, align 4, !tbaa !9
  %4971 = load i32, ptr %36, align 4, !tbaa !9
  switch i32 %4971, label %4977 [
    i32 0, label %4972
    i32 1, label %4973
    i32 2, label %4974
    i32 3, label %4975
    i32 4, label %4976
  ]

4972:                                             ; preds = %4966
  br label %4978

4973:                                             ; preds = %4966
  br label %4996

4974:                                             ; preds = %4966
  br label %4996

4975:                                             ; preds = %4966
  br label %4996

4976:                                             ; preds = %4966
  br label %4978

4977:                                             ; preds = %4966
  br label %4996

4978:                                             ; preds = %4976, %4972
  store i32 0, ptr %36, align 4, !tbaa !9
  %4979 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %4979, ptr %6, align 4, !tbaa !9
  store i32 204136, ptr %37, align 4, !tbaa !9
  %4980 = load i32, ptr %37, align 4, !tbaa !9
  %4981 = load i32, ptr %36, align 4, !tbaa !9
  %4982 = add i32 %4981, %4980
  store i32 %4982, ptr %36, align 4, !tbaa !9
  %4983 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %4983, ptr %37, align 4, !tbaa !9
  store i32 81389, ptr %38, align 4, !tbaa !9
  %4984 = load i32, ptr %38, align 4, !tbaa !9
  %4985 = load i32, ptr %37, align 4, !tbaa !9
  %4986 = add i32 %4985, %4984
  store i32 %4986, ptr %37, align 4, !tbaa !9
  store i32 597, ptr %38, align 4, !tbaa !9
  %4987 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %4987, ptr %39, align 4, !tbaa !9
  store i32 48929, ptr %40, align 4, !tbaa !9
  %4988 = load i32, ptr %40, align 4, !tbaa !9
  %4989 = load i32, ptr %39, align 4, !tbaa !9
  %4990 = add i32 %4989, %4988
  store i32 %4990, ptr %39, align 4, !tbaa !9
  %4991 = load ptr, ptr %4, align 8, !tbaa !5
  %4992 = load i32, ptr %36, align 4, !tbaa !9
  %4993 = load i32, ptr %37, align 4, !tbaa !9
  %4994 = load i32, ptr %38, align 4, !tbaa !9
  %4995 = load i32, ptr %39, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %4991, i32 noundef %4992, i32 noundef %4993, i32 noundef %4994, i32 noundef %4995)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

4996:                                             ; preds = %4977, %4975, %4974, %4973
  %4997 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %4997, ptr %36, align 4, !tbaa !9
  %4998 = load ptr, ptr %4, align 8, !tbaa !5
  %4999 = getelementptr inbounds %struct.w2c_hermes, ptr %4998, i32 0, i32 6
  %5000 = load i32, ptr %36, align 4, !tbaa !9
  %5001 = zext i32 %5000 to i64
  %5002 = add i64 %5001, 1084
  %5003 = call i32 @i32_load(ptr noundef %4999, i64 noundef %5002)
  store i32 %5003, ptr %36, align 4, !tbaa !9
  %5004 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %5004, ptr %10, align 4, !tbaa !9
  %5005 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5005, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %5006 = load i32, ptr %38, align 4, !tbaa !9
  %5007 = load i32, ptr %37, align 4, !tbaa !9
  %5008 = sub i32 %5007, %5006
  store i32 %5008, ptr %37, align 4, !tbaa !9
  %5009 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5009, ptr %11, align 4, !tbaa !9
  %5010 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5010, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %5011 = load i32, ptr %39, align 4, !tbaa !9
  %5012 = and i32 %5011, 31
  %5013 = load i32, ptr %38, align 4, !tbaa !9
  %5014 = lshr i32 %5013, %5012
  store i32 %5014, ptr %38, align 4, !tbaa !9
  %5015 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5015, ptr %39, align 4, !tbaa !9
  store i32 9, ptr %40, align 4, !tbaa !9
  %5016 = load i32, ptr %40, align 4, !tbaa !9
  %5017 = and i32 %5016, 31
  %5018 = load i32, ptr %39, align 4, !tbaa !9
  %5019 = lshr i32 %5018, %5017
  store i32 %5019, ptr %39, align 4, !tbaa !9
  %5020 = load i32, ptr %39, align 4, !tbaa !9
  %5021 = load i32, ptr %38, align 4, !tbaa !9
  %5022 = xor i32 %5021, %5020
  store i32 %5022, ptr %38, align 4, !tbaa !9
  %5023 = load i32, ptr %38, align 4, !tbaa !9
  %5024 = load i32, ptr %37, align 4, !tbaa !9
  %5025 = and i32 %5024, %5023
  store i32 %5025, ptr %37, align 4, !tbaa !9
  %5026 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5026, ptr %8, align 4, !tbaa !9
  store i32 3, ptr %38, align 4, !tbaa !9
  %5027 = load i32, ptr %38, align 4, !tbaa !9
  %5028 = and i32 %5027, 31
  %5029 = load i32, ptr %37, align 4, !tbaa !9
  %5030 = shl i32 %5029, %5028
  store i32 %5030, ptr %37, align 4, !tbaa !9
  %5031 = load i32, ptr %37, align 4, !tbaa !9
  %5032 = load i32, ptr %36, align 4, !tbaa !9
  %5033 = add i32 %5032, %5031
  store i32 %5033, ptr %36, align 4, !tbaa !9
  %5034 = load ptr, ptr %4, align 8, !tbaa !5
  %5035 = getelementptr inbounds %struct.w2c_hermes, ptr %5034, i32 0, i32 6
  %5036 = load i32, ptr %36, align 4, !tbaa !9
  %5037 = zext i32 %5036 to i64
  %5038 = call i32 @i32_load(ptr noundef %5035, i64 noundef %5037)
  store i32 %5038, ptr %36, align 4, !tbaa !9
  %5039 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %5039, ptr %7, align 4, !tbaa !9
  %5040 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5040, ptr %37, align 4, !tbaa !9
  %5041 = load i32, ptr %36, align 4, !tbaa !9
  %5042 = load i32, ptr %37, align 4, !tbaa !9
  %5043 = icmp eq i32 %5041, %5042
  %5044 = zext i1 %5043 to i32
  store i32 %5044, ptr %36, align 4, !tbaa !9
  %5045 = load i32, ptr %36, align 4, !tbaa !9
  %5046 = icmp ne i32 %5045, 0
  br i1 %5046, label %5047, label %5048

5047:                                             ; preds = %4996
  br label %5130

5048:                                             ; preds = %4996
  store i32 1, ptr %36, align 4, !tbaa !9
  %5049 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %5049, ptr %13, align 4, !tbaa !9
  br label %5050

5050:                                             ; preds = %5098, %5048
  %5051 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5051, ptr %36, align 4, !tbaa !9
  store i32 -4, ptr %37, align 4, !tbaa !9
  %5052 = load i32, ptr %36, align 4, !tbaa !9
  %5053 = load i32, ptr %37, align 4, !tbaa !9
  %5054 = icmp eq i32 %5052, %5053
  %5055 = zext i1 %5054 to i32
  store i32 %5055, ptr %36, align 4, !tbaa !9
  %5056 = load i32, ptr %36, align 4, !tbaa !9
  %5057 = icmp ne i32 %5056, 0
  br i1 %5057, label %5058, label %5059

5058:                                             ; preds = %5050
  br label %5100

5059:                                             ; preds = %5050
  %5060 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %5060, ptr %36, align 4, !tbaa !9
  %5061 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %5061, ptr %37, align 4, !tbaa !9
  %5062 = load i32, ptr %37, align 4, !tbaa !9
  %5063 = load i32, ptr %36, align 4, !tbaa !9
  %5064 = add i32 %5063, %5062
  store i32 %5064, ptr %36, align 4, !tbaa !9
  %5065 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %5065, ptr %7, align 4, !tbaa !9
  %5066 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %5066, ptr %36, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %5067 = load i32, ptr %37, align 4, !tbaa !9
  %5068 = load i32, ptr %36, align 4, !tbaa !9
  %5069 = add i32 %5068, %5067
  store i32 %5069, ptr %36, align 4, !tbaa !9
  %5070 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %5070, ptr %13, align 4, !tbaa !9
  %5071 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5071, ptr %36, align 4, !tbaa !9
  %5072 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5072, ptr %37, align 4, !tbaa !9
  %5073 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %5073, ptr %38, align 4, !tbaa !9
  %5074 = load i32, ptr %38, align 4, !tbaa !9
  %5075 = load i32, ptr %37, align 4, !tbaa !9
  %5076 = and i32 %5075, %5074
  store i32 %5076, ptr %37, align 4, !tbaa !9
  %5077 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5077, ptr %8, align 4, !tbaa !9
  store i32 3, ptr %38, align 4, !tbaa !9
  %5078 = load i32, ptr %38, align 4, !tbaa !9
  %5079 = and i32 %5078, 31
  %5080 = load i32, ptr %37, align 4, !tbaa !9
  %5081 = shl i32 %5080, %5079
  store i32 %5081, ptr %37, align 4, !tbaa !9
  %5082 = load i32, ptr %37, align 4, !tbaa !9
  %5083 = load i32, ptr %36, align 4, !tbaa !9
  %5084 = add i32 %5083, %5082
  store i32 %5084, ptr %36, align 4, !tbaa !9
  %5085 = load ptr, ptr %4, align 8, !tbaa !5
  %5086 = getelementptr inbounds %struct.w2c_hermes, ptr %5085, i32 0, i32 6
  %5087 = load i32, ptr %36, align 4, !tbaa !9
  %5088 = zext i32 %5087 to i64
  %5089 = call i32 @i32_load(ptr noundef %5086, i64 noundef %5088)
  store i32 %5089, ptr %36, align 4, !tbaa !9
  %5090 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %5090, ptr %7, align 4, !tbaa !9
  %5091 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5091, ptr %37, align 4, !tbaa !9
  %5092 = load i32, ptr %36, align 4, !tbaa !9
  %5093 = load i32, ptr %37, align 4, !tbaa !9
  %5094 = icmp ne i32 %5092, %5093
  %5095 = zext i1 %5094 to i32
  store i32 %5095, ptr %36, align 4, !tbaa !9
  %5096 = load i32, ptr %36, align 4, !tbaa !9
  %5097 = icmp ne i32 %5096, 0
  br i1 %5097, label %5098, label %5099

5098:                                             ; preds = %5059
  br label %5050

5099:                                             ; preds = %5059
  br label %5130

5100:                                             ; preds = %5058, %4965
  %5101 = load i32, ptr %29, align 4, !tbaa !9
  store i32 %5101, ptr %36, align 4, !tbaa !9
  %5102 = load ptr, ptr %4, align 8, !tbaa !5
  %5103 = load i32, ptr %36, align 4, !tbaa !9
  %5104 = call i32 @w2c_hermes_hermes0x3A0x3ARegisterFile0x3A0x3AallocateRegister0x280x29(ptr noundef %5102, i32 noundef %5103)
  store i32 %5104, ptr %36, align 4, !tbaa !9
  %5105 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %5105, ptr %7, align 4, !tbaa !9
  %5106 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5106, ptr %36, align 4, !tbaa !9
  %5107 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5107, ptr %37, align 4, !tbaa !9
  %5108 = load ptr, ptr %4, align 8, !tbaa !5
  %5109 = getelementptr inbounds %struct.w2c_hermes, ptr %5108, i32 0, i32 6
  %5110 = load i32, ptr %36, align 4, !tbaa !9
  %5111 = zext i32 %5110 to i64
  %5112 = add i64 %5111, 420
  %5113 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5109, i64 noundef %5112, i32 noundef %5113)
  %5114 = load i32, ptr %31, align 4, !tbaa !9
  store i32 %5114, ptr %36, align 4, !tbaa !9
  %5115 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5115, ptr %37, align 4, !tbaa !9
  store i32 420, ptr %38, align 4, !tbaa !9
  %5116 = load i32, ptr %38, align 4, !tbaa !9
  %5117 = load i32, ptr %37, align 4, !tbaa !9
  %5118 = add i32 %5117, %5116
  store i32 %5118, ptr %37, align 4, !tbaa !9
  %5119 = load ptr, ptr %4, align 8, !tbaa !5
  %5120 = load i32, ptr %36, align 4, !tbaa !9
  %5121 = load i32, ptr %37, align 4, !tbaa !9
  %5122 = call i32 @w2c_hermes_llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3ARegister0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3AValue0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3ARegister0x3E0x3E0x2C0x20hermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3ARegister0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3AValue0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3ARegister0x3E0x3E0x3A0x3AFindAndConstruct0x28hermes0x3A0x3AValue0x2A0x20const0x260x29(ptr noundef %5119, i32 noundef %5120, i32 noundef %5121)
  store i32 %5122, ptr %36, align 4, !tbaa !9
  %5123 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5123, ptr %37, align 4, !tbaa !9
  %5124 = load ptr, ptr %4, align 8, !tbaa !5
  %5125 = getelementptr inbounds %struct.w2c_hermes, ptr %5124, i32 0, i32 6
  %5126 = load i32, ptr %36, align 4, !tbaa !9
  %5127 = zext i32 %5126 to i64
  %5128 = add i64 %5127, 4
  %5129 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5125, i64 noundef %5128, i32 noundef %5129)
  br label %5130

5130:                                             ; preds = %5100, %5099, %5047
  %5131 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5131, ptr %36, align 4, !tbaa !9
  %5132 = load ptr, ptr %4, align 8, !tbaa !5
  %5133 = getelementptr inbounds %struct.w2c_hermes, ptr %5132, i32 0, i32 6
  %5134 = load i32, ptr %36, align 4, !tbaa !9
  %5135 = zext i32 %5134 to i64
  %5136 = add i64 %5135, 76
  %5137 = call i32 @i32_load(ptr noundef %5133, i64 noundef %5136)
  store i32 %5137, ptr %36, align 4, !tbaa !9
  %5138 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %5138, ptr %6, align 4, !tbaa !9
  %5139 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5139, ptr %37, align 4, !tbaa !9
  %5140 = load ptr, ptr %4, align 8, !tbaa !5
  %5141 = getelementptr inbounds %struct.w2c_hermes, ptr %5140, i32 0, i32 6
  %5142 = load i32, ptr %37, align 4, !tbaa !9
  %5143 = zext i32 %5142 to i64
  %5144 = add i64 %5143, 80
  %5145 = call i32 @i32_load(ptr noundef %5141, i64 noundef %5144)
  store i32 %5145, ptr %37, align 4, !tbaa !9
  %5146 = load i32, ptr %36, align 4, !tbaa !9
  %5147 = load i32, ptr %37, align 4, !tbaa !9
  %5148 = icmp uge i32 %5146, %5147
  %5149 = zext i1 %5148 to i32
  store i32 %5149, ptr %36, align 4, !tbaa !9
  %5150 = load i32, ptr %36, align 4, !tbaa !9
  %5151 = icmp ne i32 %5150, 0
  br i1 %5151, label %5152, label %5171

5152:                                             ; preds = %5130
  %5153 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5153, ptr %36, align 4, !tbaa !9
  store i32 72, ptr %37, align 4, !tbaa !9
  %5154 = load i32, ptr %37, align 4, !tbaa !9
  %5155 = load i32, ptr %36, align 4, !tbaa !9
  %5156 = add i32 %5155, %5154
  store i32 %5156, ptr %36, align 4, !tbaa !9
  %5157 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %5157, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %5158 = load ptr, ptr %4, align 8, !tbaa !5
  %5159 = load i32, ptr %36, align 4, !tbaa !9
  %5160 = load i32, ptr %37, align 4, !tbaa !9
  %5161 = load i32, ptr %38, align 4, !tbaa !9
  %5162 = load i32, ptr %39, align 4, !tbaa !9
  call void @w2c_hermes_llvh0x3A0x3ASmallVectorBase0x3A0x3Agrow_pod0x28void0x2A0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef %5158, i32 noundef %5159, i32 noundef %5160, i32 noundef %5161, i32 noundef %5162)
  %5163 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5163, ptr %36, align 4, !tbaa !9
  %5164 = load ptr, ptr %4, align 8, !tbaa !5
  %5165 = getelementptr inbounds %struct.w2c_hermes, ptr %5164, i32 0, i32 6
  %5166 = load i32, ptr %36, align 4, !tbaa !9
  %5167 = zext i32 %5166 to i64
  %5168 = add i64 %5167, 76
  %5169 = call i32 @i32_load(ptr noundef %5165, i64 noundef %5168)
  store i32 %5169, ptr %36, align 4, !tbaa !9
  %5170 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %5170, ptr %6, align 4, !tbaa !9
  br label %5171

5171:                                             ; preds = %5152, %5130
  %5172 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5172, ptr %36, align 4, !tbaa !9
  %5173 = load ptr, ptr %4, align 8, !tbaa !5
  %5174 = getelementptr inbounds %struct.w2c_hermes, ptr %5173, i32 0, i32 6
  %5175 = load i32, ptr %36, align 4, !tbaa !9
  %5176 = zext i32 %5175 to i64
  %5177 = add i64 %5176, 72
  %5178 = call i32 @i32_load(ptr noundef %5174, i64 noundef %5177)
  store i32 %5178, ptr %36, align 4, !tbaa !9
  %5179 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5179, ptr %37, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %5180 = load i32, ptr %38, align 4, !tbaa !9
  %5181 = and i32 %5180, 31
  %5182 = load i32, ptr %37, align 4, !tbaa !9
  %5183 = shl i32 %5182, %5181
  store i32 %5183, ptr %37, align 4, !tbaa !9
  %5184 = load i32, ptr %37, align 4, !tbaa !9
  %5185 = load i32, ptr %36, align 4, !tbaa !9
  %5186 = add i32 %5185, %5184
  store i32 %5186, ptr %36, align 4, !tbaa !9
  %5187 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %5187, ptr %37, align 4, !tbaa !9
  %5188 = load ptr, ptr %4, align 8, !tbaa !5
  %5189 = getelementptr inbounds %struct.w2c_hermes, ptr %5188, i32 0, i32 6
  %5190 = load i32, ptr %36, align 4, !tbaa !9
  %5191 = zext i32 %5190 to i64
  %5192 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5189, i64 noundef %5191, i32 noundef %5192)
  %5193 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5193, ptr %36, align 4, !tbaa !9
  %5194 = load ptr, ptr %4, align 8, !tbaa !5
  %5195 = getelementptr inbounds %struct.w2c_hermes, ptr %5194, i32 0, i32 6
  %5196 = load i32, ptr %36, align 4, !tbaa !9
  %5197 = zext i32 %5196 to i64
  %5198 = add i64 %5197, 76
  %5199 = call i32 @i32_load(ptr noundef %5195, i64 noundef %5198)
  store i32 %5199, ptr %36, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %5200 = load i32, ptr %37, align 4, !tbaa !9
  %5201 = load i32, ptr %36, align 4, !tbaa !9
  %5202 = add i32 %5201, %5200
  store i32 %5202, ptr %36, align 4, !tbaa !9
  %5203 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %5203, ptr %6, align 4, !tbaa !9
  %5204 = load i32, ptr %9, 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, 80
  %5210 = call i32 @i32_load(ptr noundef %5206, i64 noundef %5209)
  store i32 %5210, ptr %37, align 4, !tbaa !9
  %5211 = load i32, ptr %36, align 4, !tbaa !9
  %5212 = load i32, ptr %37, align 4, !tbaa !9
  %5213 = icmp ugt i32 %5211, %5212
  %5214 = zext i1 %5213 to i32
  store i32 %5214, ptr %36, align 4, !tbaa !9
  %5215 = load i32, ptr %36, align 4, !tbaa !9
  %5216 = icmp ne i32 %5215, 0
  br i1 %5216, label %5217, label %5218

5217:                                             ; preds = %5171
  br label %5573

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

5256:                                             ; preds = %5218
  br label %5398

5257:                                             ; preds = %5218
  %5258 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5258, ptr %36, align 4, !tbaa !9
  store i32 420, ptr %37, align 4, !tbaa !9
  %5259 = load i32, ptr %37, align 4, !tbaa !9
  %5260 = load i32, ptr %36, align 4, !tbaa !9
  %5261 = add i32 %5260, %5259
  store i32 %5261, ptr %36, align 4, !tbaa !9
  %5262 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %5262, ptr %37, align 4, !tbaa !9
  %5263 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5263, ptr %38, align 4, !tbaa !9
  store i32 1073741822, ptr %39, align 4, !tbaa !9
  %5264 = load i32, ptr %39, align 4, !tbaa !9
  %5265 = load i32, ptr %38, align 4, !tbaa !9
  %5266 = and i32 %5265, %5264
  store i32 %5266, ptr %38, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %5267 = load i32, ptr %39, align 4, !tbaa !9
  %5268 = load i32, ptr %38, align 4, !tbaa !9
  %5269 = sub i32 %5268, %5267
  store i32 %5269, ptr %38, align 4, !tbaa !9
  %5270 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %5270, ptr %10, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %5271 = load i32, ptr %39, align 4, !tbaa !9
  %5272 = and i32 %5271, 31
  %5273 = load i32, ptr %38, align 4, !tbaa !9
  %5274 = shl i32 %5273, %5272
  store i32 %5274, ptr %38, align 4, !tbaa !9
  %5275 = load i32, ptr %38, align 4, !tbaa !9
  %5276 = load i32, ptr %37, align 4, !tbaa !9
  %5277 = add i32 %5276, %5275
  store i32 %5277, ptr %37, align 4, !tbaa !9
  %5278 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5278, ptr %8, align 4, !tbaa !9
  %5279 = load ptr, ptr %4, align 8, !tbaa !5
  %5280 = getelementptr inbounds %struct.w2c_hermes, ptr %5279, i32 0, i32 6
  %5281 = load i32, ptr %37, align 4, !tbaa !9
  %5282 = zext i32 %5281 to i64
  %5283 = call i32 @i32_load(ptr noundef %5280, i64 noundef %5282)
  store i32 %5283, ptr %37, align 4, !tbaa !9
  %5284 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %5284, ptr %38, align 4, !tbaa !9
  %5285 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5285, ptr %39, align 4, !tbaa !9
  store i32 2, ptr %40, align 4, !tbaa !9
  %5286 = load i32, ptr %40, align 4, !tbaa !9
  %5287 = and i32 %5286, 31
  %5288 = load i32, ptr %39, align 4, !tbaa !9
  %5289 = shl i32 %5288, %5287
  store i32 %5289, ptr %39, align 4, !tbaa !9
  %5290 = load i32, ptr %39, align 4, !tbaa !9
  %5291 = load i32, ptr %38, align 4, !tbaa !9
  %5292 = add i32 %5291, %5290
  store i32 %5292, ptr %38, align 4, !tbaa !9
  store i32 4, ptr %39, align 4, !tbaa !9
  %5293 = load i32, ptr %39, align 4, !tbaa !9
  %5294 = load i32, ptr %38, align 4, !tbaa !9
  %5295 = sub i32 %5294, %5293
  store i32 %5295, ptr %38, align 4, !tbaa !9
  %5296 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %5296, ptr %7, align 4, !tbaa !9
  %5297 = load ptr, ptr %4, align 8, !tbaa !5
  %5298 = getelementptr inbounds %struct.w2c_hermes, ptr %5297, i32 0, i32 6
  %5299 = load i32, ptr %38, align 4, !tbaa !9
  %5300 = zext i32 %5299 to i64
  %5301 = call i32 @i32_load(ptr noundef %5298, i64 noundef %5300)
  store i32 %5301, ptr %38, align 4, !tbaa !9
  %5302 = load ptr, ptr %4, align 8, !tbaa !5
  %5303 = load i32, ptr %36, align 4, !tbaa !9
  %5304 = load i32, ptr %37, align 4, !tbaa !9
  %5305 = load i32, ptr %38, align 4, !tbaa !9
  %5306 = call i32 @w2c_hermes_hermes0x3A0x3ARegisterAllocator0x3A0x3Aallocate0x28llvh0x3A0x3AArrayRef0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x290x3A0x3A0x24_00x3A0x3Aoperator0x280x290x28unsigned0x20int0x2C0x20unsigned0x20int0x290x20const(ptr noundef %5302, i32 noundef %5303, i32 noundef %5304, i32 noundef %5305)
  store i32 %5306, ptr %36, align 4, !tbaa !9
  %5307 = load i32, ptr %36, align 4, !tbaa !9
  %5308 = icmp ne i32 %5307, 0
  %5309 = xor i1 %5308, true
  %5310 = zext i1 %5309 to i32
  store i32 %5310, ptr %36, align 4, !tbaa !9
  %5311 = load i32, ptr %36, align 4, !tbaa !9
  %5312 = icmp ne i32 %5311, 0
  br i1 %5312, label %5313, label %5314

5313:                                             ; preds = %5257
  br label %5398

5314:                                             ; preds = %5257
  %5315 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5315, ptr %36, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %5316 = load i32, ptr %37, align 4, !tbaa !9
  %5317 = and i32 %5316, 31
  %5318 = load i32, ptr %36, align 4, !tbaa !9
  %5319 = lshr i32 %5318, %5317
  store i32 %5319, ptr %36, align 4, !tbaa !9
  %5320 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %5320, ptr %6, align 4, !tbaa !9
  %5321 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5321, ptr %36, align 4, !tbaa !9
  %5322 = load ptr, ptr %4, align 8, !tbaa !5
  %5323 = getelementptr inbounds %struct.w2c_hermes, ptr %5322, i32 0, i32 6
  %5324 = load i32, ptr %36, align 4, !tbaa !9
  %5325 = zext i32 %5324 to i64
  %5326 = call i32 @i32_load(ptr noundef %5323, i64 noundef %5325)
  store i32 %5326, ptr %36, align 4, !tbaa !9
  %5327 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %5327, ptr %13, align 4, !tbaa !9
  br label %5328

5328:                                             ; preds = %5388, %5314
  %5329 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5329, ptr %36, align 4, !tbaa !9
  %5330 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %5330, ptr %37, align 4, !tbaa !9
  %5331 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5331, ptr %10, align 4, !tbaa !9
  %5332 = load ptr, ptr %4, align 8, !tbaa !5
  %5333 = getelementptr inbounds %struct.w2c_hermes, ptr %5332, i32 0, i32 6
  %5334 = load i32, ptr %37, align 4, !tbaa !9
  %5335 = zext i32 %5334 to i64
  %5336 = call i32 @i32_load(ptr noundef %5333, i64 noundef %5335)
  store i32 %5336, ptr %37, align 4, !tbaa !9
  %5337 = load ptr, ptr %4, align 8, !tbaa !5
  %5338 = getelementptr inbounds %struct.w2c_hermes, ptr %5337, i32 0, i32 6
  %5339 = load i32, ptr %36, align 4, !tbaa !9
  %5340 = zext i32 %5339 to i64
  %5341 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5338, i64 noundef %5340, i32 noundef %5341)
  %5342 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5342, ptr %36, align 4, !tbaa !9
  %5343 = load i32, ptr %36, align 4, !tbaa !9
  %5344 = icmp ne i32 %5343, 0
  %5345 = xor i1 %5344, true
  %5346 = zext i1 %5345 to i32
  store i32 %5346, ptr %36, align 4, !tbaa !9
  %5347 = load i32, ptr %36, align 4, !tbaa !9
  %5348 = icmp ne i32 %5347, 0
  br i1 %5348, label %5349, label %5350

5349:                                             ; preds = %5328
  br label %5390

5350:                                             ; preds = %5328
  %5351 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5351, ptr %36, align 4, !tbaa !9
  %5352 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %5352, ptr %7, align 4, !tbaa !9
  %5353 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5353, ptr %36, align 4, !tbaa !9
  store i32 420, ptr %37, align 4, !tbaa !9
  %5354 = load i32, ptr %37, align 4, !tbaa !9
  %5355 = load i32, ptr %36, align 4, !tbaa !9
  %5356 = add i32 %5355, %5354
  store i32 %5356, ptr %36, align 4, !tbaa !9
  %5357 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %5357, ptr %37, align 4, !tbaa !9
  %5358 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5358, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %5359 = load i32, ptr %39, align 4, !tbaa !9
  %5360 = load i32, ptr %38, align 4, !tbaa !9
  %5361 = sub i32 %5360, %5359
  store i32 %5361, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %5362 = load i32, ptr %39, align 4, !tbaa !9
  %5363 = and i32 %5362, 31
  %5364 = load i32, ptr %38, align 4, !tbaa !9
  %5365 = lshr i32 %5364, %5363
  store i32 %5365, ptr %38, align 4, !tbaa !9
  %5366 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %5366, ptr %6, align 4, !tbaa !9
  store i32 2, ptr %39, align 4, !tbaa !9
  %5367 = load i32, ptr %39, align 4, !tbaa !9
  %5368 = and i32 %5367, 31
  %5369 = load i32, ptr %38, align 4, !tbaa !9
  %5370 = shl i32 %5369, %5368
  store i32 %5370, ptr %38, align 4, !tbaa !9
  %5371 = load i32, ptr %38, align 4, !tbaa !9
  %5372 = load i32, ptr %37, align 4, !tbaa !9
  %5373 = add i32 %5372, %5371
  store i32 %5373, ptr %37, align 4, !tbaa !9
  %5374 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5374, ptr %8, align 4, !tbaa !9
  %5375 = load ptr, ptr %4, align 8, !tbaa !5
  %5376 = getelementptr inbounds %struct.w2c_hermes, ptr %5375, i32 0, i32 6
  %5377 = load i32, ptr %37, align 4, !tbaa !9
  %5378 = zext i32 %5377 to i64
  %5379 = call i32 @i32_load(ptr noundef %5376, i64 noundef %5378)
  store i32 %5379, ptr %37, align 4, !tbaa !9
  %5380 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %5380, ptr %38, align 4, !tbaa !9
  %5381 = load ptr, ptr %4, align 8, !tbaa !5
  %5382 = load i32, ptr %36, align 4, !tbaa !9
  %5383 = load i32, ptr %37, align 4, !tbaa !9
  %5384 = load i32, ptr %38, align 4, !tbaa !9
  %5385 = call i32 @w2c_hermes_hermes0x3A0x3ARegisterAllocator0x3A0x3Aallocate0x28llvh0x3A0x3AArrayRef0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x290x3A0x3A0x24_00x3A0x3Aoperator0x280x290x28unsigned0x20int0x2C0x20unsigned0x20int0x290x20const(ptr noundef %5381, i32 noundef %5382, i32 noundef %5383, i32 noundef %5384)
  store i32 %5385, ptr %36, align 4, !tbaa !9
  %5386 = load i32, ptr %36, align 4, !tbaa !9
  %5387 = icmp ne i32 %5386, 0
  br i1 %5387, label %5388, label %5389

5388:                                             ; preds = %5350
  br label %5328

5389:                                             ; preds = %5350
  br label %5390

5390:                                             ; preds = %5389, %5349
  %5391 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5391, ptr %36, align 4, !tbaa !9
  %5392 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %5392, ptr %37, align 4, !tbaa !9
  %5393 = load ptr, ptr %4, align 8, !tbaa !5
  %5394 = getelementptr inbounds %struct.w2c_hermes, ptr %5393, i32 0, i32 6
  %5395 = load i32, ptr %36, align 4, !tbaa !9
  %5396 = zext i32 %5395 to i64
  %5397 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5394, i64 noundef %5396, i32 noundef %5397)
  br label %5398

5398:                                             ; preds = %5390, %5313, %5256, %4935, %4883
  %5399 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5399, ptr %36, align 4, !tbaa !9
  %5400 = load ptr, ptr %4, align 8, !tbaa !5
  %5401 = getelementptr inbounds %struct.w2c_hermes, ptr %5400, i32 0, i32 6
  %5402 = load i32, ptr %36, align 4, !tbaa !9
  %5403 = zext i32 %5402 to i64
  %5404 = add i64 %5403, 220
  %5405 = call i32 @i32_load(ptr noundef %5401, i64 noundef %5404)
  store i32 %5405, ptr %36, align 4, !tbaa !9
  %5406 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %5406, ptr %6, align 4, !tbaa !9
  %5407 = load i32, ptr %36, align 4, !tbaa !9
  %5408 = icmp ne i32 %5407, 0
  br i1 %5408, label %5409, label %5410

5409:                                             ; preds = %5398
  br label %1198

5410:                                             ; preds = %5398
  br label %5619

5411:                                             ; preds = %943
  store i32 0, ptr %36, align 4, !tbaa !9
  %5412 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %5412, ptr %6, align 4, !tbaa !9
  store i32 117789, ptr %37, align 4, !tbaa !9
  %5413 = load i32, ptr %37, align 4, !tbaa !9
  %5414 = load i32, ptr %36, align 4, !tbaa !9
  %5415 = add i32 %5414, %5413
  store i32 %5415, ptr %36, align 4, !tbaa !9
  %5416 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5416, ptr %37, align 4, !tbaa !9
  store i32 79572, ptr %38, align 4, !tbaa !9
  %5417 = load i32, ptr %38, align 4, !tbaa !9
  %5418 = load i32, ptr %37, align 4, !tbaa !9
  %5419 = add i32 %5418, %5417
  store i32 %5419, ptr %37, align 4, !tbaa !9
  store i32 74, ptr %38, align 4, !tbaa !9
  %5420 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5420, ptr %39, align 4, !tbaa !9
  store i32 88407, ptr %40, align 4, !tbaa !9
  %5421 = load i32, ptr %40, align 4, !tbaa !9
  %5422 = load i32, ptr %39, align 4, !tbaa !9
  %5423 = add i32 %5422, %5421
  store i32 %5423, ptr %39, align 4, !tbaa !9
  %5424 = load ptr, ptr %4, align 8, !tbaa !5
  %5425 = load i32, ptr %36, align 4, !tbaa !9
  %5426 = load i32, ptr %37, align 4, !tbaa !9
  %5427 = load i32, ptr %38, align 4, !tbaa !9
  %5428 = load i32, ptr %39, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %5424, i32 noundef %5425, i32 noundef %5426, i32 noundef %5427, i32 noundef %5428)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

5429:                                             ; preds = %1585
  store i32 0, ptr %36, align 4, !tbaa !9
  %5430 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %5430, ptr %6, align 4, !tbaa !9
  store i32 117789, ptr %37, align 4, !tbaa !9
  %5431 = load i32, ptr %37, align 4, !tbaa !9
  %5432 = load i32, ptr %36, align 4, !tbaa !9
  %5433 = add i32 %5432, %5431
  store i32 %5433, ptr %36, align 4, !tbaa !9
  %5434 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5434, ptr %37, align 4, !tbaa !9
  store i32 79572, ptr %38, align 4, !tbaa !9
  %5435 = load i32, ptr %38, align 4, !tbaa !9
  %5436 = load i32, ptr %37, align 4, !tbaa !9
  %5437 = add i32 %5436, %5435
  store i32 %5437, ptr %37, align 4, !tbaa !9
  store i32 74, ptr %38, align 4, !tbaa !9
  %5438 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5438, ptr %39, align 4, !tbaa !9
  store i32 88407, ptr %40, align 4, !tbaa !9
  %5439 = load i32, ptr %40, align 4, !tbaa !9
  %5440 = load i32, ptr %39, align 4, !tbaa !9
  %5441 = add i32 %5440, %5439
  store i32 %5441, ptr %39, align 4, !tbaa !9
  %5442 = load ptr, ptr %4, align 8, !tbaa !5
  %5443 = load i32, ptr %36, align 4, !tbaa !9
  %5444 = load i32, ptr %37, align 4, !tbaa !9
  %5445 = load i32, ptr %38, align 4, !tbaa !9
  %5446 = load i32, ptr %39, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %5442, i32 noundef %5443, i32 noundef %5444, i32 noundef %5445, i32 noundef %5446)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

5447:                                             ; preds = %1608
  store i32 0, ptr %36, align 4, !tbaa !9
  %5448 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %5448, ptr %6, align 4, !tbaa !9
  store i32 118701, ptr %37, align 4, !tbaa !9
  %5449 = load i32, ptr %37, align 4, !tbaa !9
  %5450 = load i32, ptr %36, align 4, !tbaa !9
  %5451 = add i32 %5450, %5449
  store i32 %5451, ptr %36, align 4, !tbaa !9
  %5452 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5452, ptr %37, align 4, !tbaa !9
  store i32 79572, ptr %38, align 4, !tbaa !9
  %5453 = load i32, ptr %38, align 4, !tbaa !9
  %5454 = load i32, ptr %37, align 4, !tbaa !9
  %5455 = add i32 %5454, %5453
  store i32 %5455, ptr %37, align 4, !tbaa !9
  store i32 161, ptr %38, align 4, !tbaa !9
  %5456 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5456, ptr %39, align 4, !tbaa !9
  store i32 108367, ptr %40, align 4, !tbaa !9
  %5457 = load i32, ptr %40, align 4, !tbaa !9
  %5458 = load i32, ptr %39, align 4, !tbaa !9
  %5459 = add i32 %5458, %5457
  store i32 %5459, ptr %39, align 4, !tbaa !9
  %5460 = load ptr, ptr %4, align 8, !tbaa !5
  %5461 = load i32, ptr %36, align 4, !tbaa !9
  %5462 = load i32, ptr %37, align 4, !tbaa !9
  %5463 = load i32, ptr %38, align 4, !tbaa !9
  %5464 = load i32, ptr %39, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %5460, i32 noundef %5461, i32 noundef %5462, i32 noundef %5463, i32 noundef %5464)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

5465:                                             ; preds = %1624
  store i32 0, ptr %36, align 4, !tbaa !9
  %5466 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %5466, ptr %6, align 4, !tbaa !9
  store i32 118701, ptr %37, align 4, !tbaa !9
  %5467 = load i32, ptr %37, align 4, !tbaa !9
  %5468 = load i32, ptr %36, align 4, !tbaa !9
  %5469 = add i32 %5468, %5467
  store i32 %5469, ptr %36, align 4, !tbaa !9
  %5470 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5470, ptr %37, align 4, !tbaa !9
  store i32 79572, ptr %38, align 4, !tbaa !9
  %5471 = load i32, ptr %38, align 4, !tbaa !9
  %5472 = load i32, ptr %37, align 4, !tbaa !9
  %5473 = add i32 %5472, %5471
  store i32 %5473, ptr %37, align 4, !tbaa !9
  store i32 161, ptr %38, align 4, !tbaa !9
  %5474 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5474, ptr %39, align 4, !tbaa !9
  store i32 108367, 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 = add i32 %5476, %5475
  store i32 %5477, ptr %39, align 4, !tbaa !9
  %5478 = load ptr, ptr %4, align 8, !tbaa !5
  %5479 = load i32, ptr %36, align 4, !tbaa !9
  %5480 = load i32, ptr %37, align 4, !tbaa !9
  %5481 = load i32, ptr %38, align 4, !tbaa !9
  %5482 = load i32, ptr %39, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %5478, i32 noundef %5479, i32 noundef %5480, i32 noundef %5481, i32 noundef %5482)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

5483:                                             ; preds = %1654
  store i32 0, ptr %36, align 4, !tbaa !9
  %5484 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %5484, ptr %6, align 4, !tbaa !9
  store i32 204627, ptr %37, align 4, !tbaa !9
  %5485 = load i32, ptr %37, align 4, !tbaa !9
  %5486 = load i32, ptr %36, align 4, !tbaa !9
  %5487 = add i32 %5486, %5485
  store i32 %5487, ptr %36, align 4, !tbaa !9
  %5488 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5488, ptr %37, align 4, !tbaa !9
  store i32 85706, ptr %38, align 4, !tbaa !9
  %5489 = load i32, ptr %38, align 4, !tbaa !9
  %5490 = load i32, ptr %37, align 4, !tbaa !9
  %5491 = add i32 %5490, %5489
  store i32 %5491, ptr %37, align 4, !tbaa !9
  store i32 247, ptr %38, align 4, !tbaa !9
  %5492 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5492, ptr %39, align 4, !tbaa !9
  store i32 102973, ptr %40, align 4, !tbaa !9
  %5493 = load i32, ptr %40, align 4, !tbaa !9
  %5494 = load i32, ptr %39, align 4, !tbaa !9
  %5495 = add i32 %5494, %5493
  store i32 %5495, ptr %39, align 4, !tbaa !9
  %5496 = load ptr, ptr %4, align 8, !tbaa !5
  %5497 = load i32, ptr %36, align 4, !tbaa !9
  %5498 = load i32, ptr %37, align 4, !tbaa !9
  %5499 = load i32, ptr %38, align 4, !tbaa !9
  %5500 = load i32, ptr %39, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %5496, i32 noundef %5497, i32 noundef %5498, i32 noundef %5499, i32 noundef %5500)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

5501:                                             ; preds = %2713
  store i32 0, ptr %36, align 4, !tbaa !9
  %5502 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %5502, ptr %6, align 4, !tbaa !9
  store i32 117760, ptr %37, align 4, !tbaa !9
  %5503 = load i32, ptr %37, align 4, !tbaa !9
  %5504 = load i32, ptr %36, align 4, !tbaa !9
  %5505 = add i32 %5504, %5503
  store i32 %5505, ptr %36, align 4, !tbaa !9
  %5506 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5506, ptr %37, align 4, !tbaa !9
  store i32 79572, ptr %38, align 4, !tbaa !9
  %5507 = load i32, ptr %38, align 4, !tbaa !9
  %5508 = load i32, ptr %37, align 4, !tbaa !9
  %5509 = add i32 %5508, %5507
  store i32 %5509, ptr %37, align 4, !tbaa !9
  store i32 175, ptr %38, align 4, !tbaa !9
  %5510 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5510, ptr %39, align 4, !tbaa !9
  store i32 25516, ptr %40, align 4, !tbaa !9
  %5511 = load i32, ptr %40, align 4, !tbaa !9
  %5512 = load i32, ptr %39, align 4, !tbaa !9
  %5513 = add i32 %5512, %5511
  store i32 %5513, ptr %39, align 4, !tbaa !9
  %5514 = load ptr, ptr %4, align 8, !tbaa !5
  %5515 = load i32, ptr %36, align 4, !tbaa !9
  %5516 = load i32, ptr %37, align 4, !tbaa !9
  %5517 = load i32, ptr %38, align 4, !tbaa !9
  %5518 = load i32, ptr %39, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %5514, i32 noundef %5515, i32 noundef %5516, i32 noundef %5517, i32 noundef %5518)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

5519:                                             ; preds = %2742
  store i32 0, ptr %36, align 4, !tbaa !9
  %5520 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %5520, ptr %6, align 4, !tbaa !9
  store i32 118701, ptr %37, align 4, !tbaa !9
  %5521 = load i32, ptr %37, align 4, !tbaa !9
  %5522 = load i32, ptr %36, align 4, !tbaa !9
  %5523 = add i32 %5522, %5521
  store i32 %5523, ptr %36, align 4, !tbaa !9
  %5524 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5524, ptr %37, align 4, !tbaa !9
  store i32 79572, ptr %38, align 4, !tbaa !9
  %5525 = load i32, ptr %38, align 4, !tbaa !9
  %5526 = load i32, ptr %37, align 4, !tbaa !9
  %5527 = add i32 %5526, %5525
  store i32 %5527, ptr %37, align 4, !tbaa !9
  store i32 161, ptr %38, align 4, !tbaa !9
  %5528 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5528, ptr %39, align 4, !tbaa !9
  store i32 108367, ptr %40, align 4, !tbaa !9
  %5529 = load i32, ptr %40, align 4, !tbaa !9
  %5530 = load i32, ptr %39, align 4, !tbaa !9
  %5531 = add i32 %5530, %5529
  store i32 %5531, ptr %39, align 4, !tbaa !9
  %5532 = load ptr, ptr %4, align 8, !tbaa !5
  %5533 = load i32, ptr %36, align 4, !tbaa !9
  %5534 = load i32, ptr %37, align 4, !tbaa !9
  %5535 = load i32, ptr %38, align 4, !tbaa !9
  %5536 = load i32, ptr %39, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %5532, i32 noundef %5533, i32 noundef %5534, i32 noundef %5535, i32 noundef %5536)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

5537:                                             ; preds = %3023
  store i32 0, ptr %36, align 4, !tbaa !9
  %5538 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %5538, ptr %6, align 4, !tbaa !9
  store i32 204627, ptr %37, align 4, !tbaa !9
  %5539 = load i32, ptr %37, align 4, !tbaa !9
  %5540 = load i32, ptr %36, align 4, !tbaa !9
  %5541 = add i32 %5540, %5539
  store i32 %5541, ptr %36, align 4, !tbaa !9
  %5542 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5542, ptr %37, align 4, !tbaa !9
  store i32 85706, ptr %38, align 4, !tbaa !9
  %5543 = load i32, ptr %38, align 4, !tbaa !9
  %5544 = load i32, ptr %37, align 4, !tbaa !9
  %5545 = add i32 %5544, %5543
  store i32 %5545, ptr %37, align 4, !tbaa !9
  store i32 238, ptr %38, align 4, !tbaa !9
  %5546 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5546, ptr %39, align 4, !tbaa !9
  store i32 25076, ptr %40, align 4, !tbaa !9
  %5547 = load i32, ptr %40, align 4, !tbaa !9
  %5548 = load i32, ptr %39, align 4, !tbaa !9
  %5549 = add i32 %5548, %5547
  store i32 %5549, ptr %39, align 4, !tbaa !9
  %5550 = load ptr, ptr %4, align 8, !tbaa !5
  %5551 = load i32, ptr %36, align 4, !tbaa !9
  %5552 = load i32, ptr %37, align 4, !tbaa !9
  %5553 = load i32, ptr %38, align 4, !tbaa !9
  %5554 = load i32, ptr %39, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %5550, i32 noundef %5551, i32 noundef %5552, i32 noundef %5553, i32 noundef %5554)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

5555:                                             ; preds = %3893
  store i32 0, ptr %36, align 4, !tbaa !9
  %5556 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %5556, ptr %6, align 4, !tbaa !9
  store i32 118701, ptr %37, align 4, !tbaa !9
  %5557 = load i32, ptr %37, align 4, !tbaa !9
  %5558 = load i32, ptr %36, align 4, !tbaa !9
  %5559 = add i32 %5558, %5557
  store i32 %5559, ptr %36, align 4, !tbaa !9
  %5560 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5560, ptr %37, align 4, !tbaa !9
  store i32 79572, ptr %38, align 4, !tbaa !9
  %5561 = load i32, ptr %38, align 4, !tbaa !9
  %5562 = load i32, ptr %37, align 4, !tbaa !9
  %5563 = add i32 %5562, %5561
  store i32 %5563, ptr %37, align 4, !tbaa !9
  store i32 161, ptr %38, align 4, !tbaa !9
  %5564 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5564, ptr %39, align 4, !tbaa !9
  store i32 108367, 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 = add i32 %5566, %5565
  store i32 %5567, ptr %39, align 4, !tbaa !9
  %5568 = load ptr, ptr %4, align 8, !tbaa !5
  %5569 = load i32, ptr %36, align 4, !tbaa !9
  %5570 = load i32, ptr %37, align 4, !tbaa !9
  %5571 = load i32, ptr %38, align 4, !tbaa !9
  %5572 = load i32, ptr %39, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %5568, i32 noundef %5569, i32 noundef %5570, i32 noundef %5571, i32 noundef %5572)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

5573:                                             ; preds = %5217
  store i32 0, ptr %36, align 4, !tbaa !9
  %5574 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %5574, ptr %6, align 4, !tbaa !9
  store i32 117789, ptr %37, align 4, !tbaa !9
  %5575 = load i32, ptr %37, align 4, !tbaa !9
  %5576 = load i32, ptr %36, align 4, !tbaa !9
  %5577 = add i32 %5576, %5575
  store i32 %5577, ptr %36, align 4, !tbaa !9
  %5578 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5578, ptr %37, align 4, !tbaa !9
  store i32 79572, ptr %38, align 4, !tbaa !9
  %5579 = load i32, ptr %38, align 4, !tbaa !9
  %5580 = load i32, ptr %37, align 4, !tbaa !9
  %5581 = add i32 %5580, %5579
  store i32 %5581, ptr %37, align 4, !tbaa !9
  store i32 74, ptr %38, align 4, !tbaa !9
  %5582 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5582, ptr %39, align 4, !tbaa !9
  store i32 88407, ptr %40, align 4, !tbaa !9
  %5583 = load i32, ptr %40, align 4, !tbaa !9
  %5584 = load i32, ptr %39, align 4, !tbaa !9
  %5585 = add i32 %5584, %5583
  store i32 %5585, ptr %39, align 4, !tbaa !9
  %5586 = load ptr, ptr %4, align 8, !tbaa !5
  %5587 = load i32, ptr %36, align 4, !tbaa !9
  %5588 = load i32, ptr %37, align 4, !tbaa !9
  %5589 = load i32, ptr %38, align 4, !tbaa !9
  %5590 = load i32, ptr %39, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %5586, i32 noundef %5587, i32 noundef %5588, i32 noundef %5589, i32 noundef %5590)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

5591:                                             ; preds = %715
  %5592 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5592, ptr %36, align 4, !tbaa !9
  %5593 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %5593, ptr %37, align 4, !tbaa !9
  %5594 = load ptr, ptr %4, align 8, !tbaa !5
  %5595 = getelementptr inbounds %struct.w2c_hermes, ptr %5594, i32 0, i32 6
  %5596 = load i32, ptr %36, align 4, !tbaa !9
  %5597 = zext i32 %5596 to i64
  %5598 = add i64 %5597, 212
  %5599 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5595, i64 noundef %5598, i32 noundef %5599)
  %5600 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5600, ptr %36, align 4, !tbaa !9
  store i64 137438953472, ptr %48, align 8, !tbaa !11
  %5601 = load ptr, ptr %4, align 8, !tbaa !5
  %5602 = getelementptr inbounds %struct.w2c_hermes, ptr %5601, i32 0, i32 6
  %5603 = load i32, ptr %36, align 4, !tbaa !9
  %5604 = zext i32 %5603 to i64
  %5605 = add i64 %5604, 76
  %5606 = load i64, ptr %48, align 8, !tbaa !11
  call void @i64_store(ptr noundef %5602, i64 noundef %5605, i64 noundef %5606)
  %5607 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5607, ptr %36, align 4, !tbaa !9
  %5608 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5608, ptr %37, align 4, !tbaa !9
  store i32 84, ptr %38, align 4, !tbaa !9
  %5609 = load i32, ptr %38, align 4, !tbaa !9
  %5610 = load i32, ptr %37, align 4, !tbaa !9
  %5611 = add i32 %5610, %5609
  store i32 %5611, ptr %37, align 4, !tbaa !9
  %5612 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5612, ptr %22, align 4, !tbaa !9
  %5613 = load ptr, ptr %4, align 8, !tbaa !5
  %5614 = getelementptr inbounds %struct.w2c_hermes, ptr %5613, i32 0, i32 6
  %5615 = load i32, ptr %36, align 4, !tbaa !9
  %5616 = zext i32 %5615 to i64
  %5617 = add i64 %5616, 72
  %5618 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5614, i64 noundef %5617, i32 noundef %5618)
  br label %6098

5619:                                             ; preds = %5410
  %5620 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5620, ptr %36, 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 %36, align 4, !tbaa !9
  %5624 = zext i32 %5623 to i64
  %5625 = add i64 %5624, 76
  %5626 = call i32 @i32_load(ptr noundef %5622, i64 noundef %5625)
  store i32 %5626, ptr %36, align 4, !tbaa !9
  %5627 = load i32, ptr %36, align 4, !tbaa !9
  %5628 = icmp ne i32 %5627, 0
  %5629 = xor i1 %5628, true
  %5630 = zext i1 %5629 to i32
  store i32 %5630, ptr %36, align 4, !tbaa !9
  %5631 = load i32, ptr %36, align 4, !tbaa !9
  %5632 = icmp ne i32 %5631, 0
  br i1 %5632, label %5633, label %5634

5633:                                             ; preds = %5619
  br label %6098

5634:                                             ; preds = %5619
  %5635 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %5635, ptr %36, align 4, !tbaa !9
  store i32 1100, ptr %37, align 4, !tbaa !9
  %5636 = load i32, ptr %37, align 4, !tbaa !9
  %5637 = load i32, ptr %36, align 4, !tbaa !9
  %5638 = add i32 %5637, %5636
  store i32 %5638, ptr %36, align 4, !tbaa !9
  %5639 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %5639, ptr %10, align 4, !tbaa !9
  br label %5640

5640:                                             ; preds = %6096, %5634
  %5641 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5641, ptr %36, align 4, !tbaa !9
  %5642 = load ptr, ptr %4, align 8, !tbaa !5
  %5643 = getelementptr inbounds %struct.w2c_hermes, ptr %5642, i32 0, i32 6
  %5644 = load i32, ptr %36, align 4, !tbaa !9
  %5645 = zext i32 %5644 to i64
  %5646 = add i64 %5645, 72
  %5647 = call i32 @i32_load(ptr noundef %5643, i64 noundef %5646)
  store i32 %5647, ptr %36, 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 %36, align 4, !tbaa !9
  %5651 = zext i32 %5650 to i64
  %5652 = call i32 @i32_load(ptr noundef %5649, i64 noundef %5651)
  store i32 %5652, ptr %36, align 4, !tbaa !9
  %5653 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %5653, ptr %6, align 4, !tbaa !9
  %5654 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %5654, ptr %37, align 4, !tbaa !9
  %5655 = load ptr, ptr %4, align 8, !tbaa !5
  %5656 = getelementptr inbounds %struct.w2c_hermes, ptr %5655, i32 0, i32 6
  %5657 = load i32, ptr %37, align 4, !tbaa !9
  %5658 = zext i32 %5657 to i64
  %5659 = call i32 @i32_load(ptr noundef %5656, i64 noundef %5658)
  store i32 %5659, ptr %37, align 4, !tbaa !9
  %5660 = load i32, ptr %36, align 4, !tbaa !9
  %5661 = load i32, ptr %37, align 4, !tbaa !9
  %5662 = icmp uge i32 %5660, %5661
  %5663 = zext i1 %5662 to i32
  store i32 %5663, ptr %36, align 4, !tbaa !9
  %5664 = load i32, ptr %36, align 4, !tbaa !9
  %5665 = icmp ne i32 %5664, 0
  br i1 %5665, label %5666, label %5667

5666:                                             ; preds = %5640
  br label %6527

5667:                                             ; preds = %5640
  %5668 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %5668, ptr %36, align 4, !tbaa !9
  %5669 = load ptr, ptr %4, align 8, !tbaa !5
  %5670 = getelementptr inbounds %struct.w2c_hermes, ptr %5669, i32 0, i32 6
  %5671 = load i32, ptr %36, align 4, !tbaa !9
  %5672 = zext i32 %5671 to i64
  %5673 = add i64 %5672, 36
  %5674 = call i32 @i32_load(ptr noundef %5670, i64 noundef %5673)
  store i32 %5674, ptr %36, align 4, !tbaa !9
  %5675 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5675, ptr %37, align 4, !tbaa !9
  store i32 2, ptr %38, align 4, !tbaa !9
  %5676 = load i32, ptr %38, align 4, !tbaa !9
  %5677 = and i32 %5676, 31
  %5678 = load i32, ptr %37, align 4, !tbaa !9
  %5679 = shl i32 %5678, %5677
  store i32 %5679, ptr %37, align 4, !tbaa !9
  %5680 = load i32, ptr %37, align 4, !tbaa !9
  %5681 = load i32, ptr %36, align 4, !tbaa !9
  %5682 = add i32 %5681, %5680
  store i32 %5682, ptr %36, align 4, !tbaa !9
  %5683 = load ptr, ptr %4, align 8, !tbaa !5
  %5684 = getelementptr inbounds %struct.w2c_hermes, ptr %5683, i32 0, i32 6
  %5685 = load i32, ptr %36, align 4, !tbaa !9
  %5686 = zext i32 %5685 to i64
  %5687 = call i32 @i32_load(ptr noundef %5684, i64 noundef %5686)
  store i32 %5687, ptr %36, align 4, !tbaa !9
  %5688 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %5688, ptr %6, align 4, !tbaa !9
  store i32 292576, ptr %36, align 4, !tbaa !9
  %5689 = load ptr, ptr %4, align 8, !tbaa !5
  %5690 = getelementptr inbounds %struct.w2c_hermes, ptr %5689, i32 0, i32 6
  %5691 = load i32, ptr %36, align 4, !tbaa !9
  %5692 = zext i32 %5691 to i64
  %5693 = call i32 @i32_load8_u(ptr noundef %5690, i64 noundef %5692)
  store i32 %5693, ptr %36, align 4, !tbaa !9
  %5694 = load i32, ptr %36, align 4, !tbaa !9
  %5695 = icmp ne i32 %5694, 0
  %5696 = xor i1 %5695, true
  %5697 = zext i1 %5696 to i32
  store i32 %5697, ptr %36, align 4, !tbaa !9
  %5698 = load i32, ptr %36, align 4, !tbaa !9
  %5699 = icmp ne i32 %5698, 0
  br i1 %5699, label %5700, label %5701

5700:                                             ; preds = %5667
  br label %5982

5701:                                             ; preds = %5667
  store i32 107217, ptr %36, align 4, !tbaa !9
  %5702 = load ptr, ptr %4, align 8, !tbaa !5
  %5703 = load i32, ptr %36, align 4, !tbaa !9
  %5704 = call i32 @w2c_hermes_llvh0x3A0x3AisCurrentDebugType0x28char0x20const0x2A0x29(ptr noundef %5702, i32 noundef %5703)
  store i32 %5704, ptr %36, align 4, !tbaa !9
  %5705 = load i32, ptr %36, align 4, !tbaa !9
  %5706 = icmp ne i32 %5705, 0
  %5707 = xor i1 %5706, true
  %5708 = zext i1 %5707 to i32
  store i32 %5708, ptr %36, align 4, !tbaa !9
  %5709 = load i32, ptr %36, align 4, !tbaa !9
  %5710 = icmp ne i32 %5709, 0
  br i1 %5710, label %5711, label %5712

5711:                                             ; preds = %5701
  br label %5982

5712:                                             ; preds = %5701
  %5713 = load ptr, ptr %4, align 8, !tbaa !5
  %5714 = call i32 @w2c_hermes_llvh0x3A0x3Adbgs0x280x29(ptr noundef %5713)
  store i32 %5714, ptr %36, align 4, !tbaa !9
  %5715 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %5715, ptr %7, align 4, !tbaa !9
  %5716 = load ptr, ptr %4, align 8, !tbaa !5
  %5717 = getelementptr inbounds %struct.w2c_hermes, ptr %5716, i32 0, i32 6
  %5718 = load i32, ptr %36, align 4, !tbaa !9
  %5719 = zext i32 %5718 to i64
  %5720 = add i64 %5719, 8
  %5721 = call i32 @i32_load(ptr noundef %5717, i64 noundef %5720)
  store i32 %5721, ptr %36, align 4, !tbaa !9
  %5722 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5722, ptr %37, align 4, !tbaa !9
  %5723 = load ptr, ptr %4, align 8, !tbaa !5
  %5724 = getelementptr inbounds %struct.w2c_hermes, ptr %5723, i32 0, i32 6
  %5725 = load i32, ptr %37, align 4, !tbaa !9
  %5726 = zext i32 %5725 to i64
  %5727 = add i64 %5726, 12
  %5728 = call i32 @i32_load(ptr noundef %5724, i64 noundef %5727)
  store i32 %5728, ptr %37, align 4, !tbaa !9
  %5729 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5729, ptr %8, align 4, !tbaa !9
  %5730 = load i32, ptr %37, align 4, !tbaa !9
  %5731 = load i32, ptr %36, align 4, !tbaa !9
  %5732 = sub i32 %5731, %5730
  store i32 %5732, ptr %36, align 4, !tbaa !9
  store i32 33, ptr %37, align 4, !tbaa !9
  %5733 = load i32, ptr %36, align 4, !tbaa !9
  %5734 = load i32, ptr %37, align 4, !tbaa !9
  %5735 = icmp ule i32 %5733, %5734
  %5736 = zext i1 %5735 to i32
  store i32 %5736, ptr %36, align 4, !tbaa !9
  %5737 = load i32, ptr %36, align 4, !tbaa !9
  %5738 = icmp ne i32 %5737, 0
  br i1 %5738, label %5739, label %5747

5739:                                             ; preds = %5712
  %5740 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5740, ptr %36, align 4, !tbaa !9
  store i32 209354, ptr %37, align 4, !tbaa !9
  store i32 34, ptr %38, align 4, !tbaa !9
  %5741 = load ptr, ptr %4, align 8, !tbaa !5
  %5742 = load i32, ptr %36, align 4, !tbaa !9
  %5743 = load i32, ptr %37, align 4, !tbaa !9
  %5744 = load i32, ptr %38, align 4, !tbaa !9
  %5745 = call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Awrite0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef %5741, i32 noundef %5742, i32 noundef %5743, i32 noundef %5744)
  store i32 %5745, ptr %36, align 4, !tbaa !9
  %5746 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %5746, ptr %7, align 4, !tbaa !9
  br label %5833

5747:                                             ; preds = %5712
  %5748 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %5748, ptr %36, align 4, !tbaa !9
  store i32 209354, ptr %37, align 4, !tbaa !9
  %5749 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %5749, ptr %11, align 4, !tbaa !9
  %5750 = load ptr, ptr %4, align 8, !tbaa !5
  %5751 = getelementptr inbounds %struct.w2c_hermes, ptr %5750, i32 0, i32 6
  %5752 = load i32, ptr %37, align 4, !tbaa !9
  %5753 = zext i32 %5752 to i64
  %5754 = call i64 @i64_load(ptr noundef %5751, i64 noundef %5753)
  store i64 %5754, ptr %48, align 8, !tbaa !11
  %5755 = load ptr, ptr %4, align 8, !tbaa !5
  %5756 = getelementptr inbounds %struct.w2c_hermes, ptr %5755, i32 0, i32 6
  %5757 = load i32, ptr %36, align 4, !tbaa !9
  %5758 = zext i32 %5757 to i64
  %5759 = load i64, ptr %48, align 8, !tbaa !11
  call void @i64_store(ptr noundef %5756, i64 noundef %5758, i64 noundef %5759)
  %5760 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %5760, ptr %36, align 4, !tbaa !9
  %5761 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %5761, ptr %37, align 4, !tbaa !9
  %5762 = load ptr, ptr %4, align 8, !tbaa !5
  %5763 = getelementptr inbounds %struct.w2c_hermes, ptr %5762, i32 0, i32 6
  %5764 = load i32, ptr %37, align 4, !tbaa !9
  %5765 = zext i32 %5764 to i64
  %5766 = add i64 %5765, 32
  %5767 = call i32 @i32_load16_u(ptr noundef %5763, i64 noundef %5766)
  store i32 %5767, ptr %37, align 4, !tbaa !9
  %5768 = load ptr, ptr %4, align 8, !tbaa !5
  %5769 = getelementptr inbounds %struct.w2c_hermes, ptr %5768, i32 0, i32 6
  %5770 = load i32, ptr %36, align 4, !tbaa !9
  %5771 = zext i32 %5770 to i64
  %5772 = add i64 %5771, 32
  %5773 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store16(ptr noundef %5769, i64 noundef %5772, i32 noundef %5773)
  %5774 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %5774, ptr %36, align 4, !tbaa !9
  %5775 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %5775, ptr %37, align 4, !tbaa !9
  %5776 = load ptr, ptr %4, align 8, !tbaa !5
  %5777 = getelementptr inbounds %struct.w2c_hermes, ptr %5776, i32 0, i32 6
  %5778 = load i32, ptr %37, align 4, !tbaa !9
  %5779 = zext i32 %5778 to i64
  %5780 = add i64 %5779, 24
  %5781 = call i64 @i64_load(ptr noundef %5777, i64 noundef %5780)
  store i64 %5781, ptr %48, align 8, !tbaa !11
  %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 %36, align 4, !tbaa !9
  %5785 = zext i32 %5784 to i64
  %5786 = add i64 %5785, 24
  %5787 = load i64, ptr %48, align 8, !tbaa !11
  call void @i64_store(ptr noundef %5783, i64 noundef %5786, i64 noundef %5787)
  %5788 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %5788, ptr %36, align 4, !tbaa !9
  %5789 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %5789, ptr %37, align 4, !tbaa !9
  %5790 = load ptr, ptr %4, align 8, !tbaa !5
  %5791 = getelementptr inbounds %struct.w2c_hermes, ptr %5790, i32 0, i32 6
  %5792 = load i32, ptr %37, align 4, !tbaa !9
  %5793 = zext i32 %5792 to i64
  %5794 = add i64 %5793, 16
  %5795 = call i64 @i64_load(ptr noundef %5791, i64 noundef %5794)
  store i64 %5795, ptr %48, align 8, !tbaa !11
  %5796 = load ptr, ptr %4, align 8, !tbaa !5
  %5797 = getelementptr inbounds %struct.w2c_hermes, ptr %5796, i32 0, i32 6
  %5798 = load i32, ptr %36, align 4, !tbaa !9
  %5799 = zext i32 %5798 to i64
  %5800 = add i64 %5799, 16
  %5801 = load i64, ptr %48, align 8, !tbaa !11
  call void @i64_store(ptr noundef %5797, i64 noundef %5800, i64 noundef %5801)
  %5802 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %5802, ptr %36, align 4, !tbaa !9
  %5803 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %5803, ptr %37, align 4, !tbaa !9
  %5804 = load ptr, ptr %4, align 8, !tbaa !5
  %5805 = getelementptr inbounds %struct.w2c_hermes, ptr %5804, i32 0, i32 6
  %5806 = load i32, ptr %37, align 4, !tbaa !9
  %5807 = zext i32 %5806 to i64
  %5808 = add i64 %5807, 8
  %5809 = call i64 @i64_load(ptr noundef %5805, i64 noundef %5808)
  store i64 %5809, ptr %48, align 8, !tbaa !11
  %5810 = load ptr, ptr %4, align 8, !tbaa !5
  %5811 = getelementptr inbounds %struct.w2c_hermes, ptr %5810, i32 0, i32 6
  %5812 = load i32, ptr %36, align 4, !tbaa !9
  %5813 = zext i32 %5812 to i64
  %5814 = add i64 %5813, 8
  %5815 = load i64, ptr %48, align 8, !tbaa !11
  call void @i64_store(ptr noundef %5811, i64 noundef %5814, i64 noundef %5815)
  %5816 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5816, ptr %36, align 4, !tbaa !9
  %5817 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5817, ptr %37, align 4, !tbaa !9
  %5818 = load ptr, ptr %4, align 8, !tbaa !5
  %5819 = getelementptr inbounds %struct.w2c_hermes, ptr %5818, i32 0, i32 6
  %5820 = load i32, ptr %37, align 4, !tbaa !9
  %5821 = zext i32 %5820 to i64
  %5822 = add i64 %5821, 12
  %5823 = call i32 @i32_load(ptr noundef %5819, i64 noundef %5822)
  store i32 %5823, ptr %37, align 4, !tbaa !9
  store i32 34, ptr %38, align 4, !tbaa !9
  %5824 = load i32, ptr %38, align 4, !tbaa !9
  %5825 = load i32, ptr %37, align 4, !tbaa !9
  %5826 = add i32 %5825, %5824
  store i32 %5826, ptr %37, align 4, !tbaa !9
  %5827 = load ptr, ptr %4, align 8, !tbaa !5
  %5828 = getelementptr inbounds %struct.w2c_hermes, ptr %5827, i32 0, i32 6
  %5829 = load i32, ptr %36, align 4, !tbaa !9
  %5830 = zext i32 %5829 to i64
  %5831 = add i64 %5830, 12
  %5832 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5828, i64 noundef %5831, i32 noundef %5832)
  br label %5833

5833:                                             ; preds = %5747, %5739
  %5834 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5834, ptr %36, align 4, !tbaa !9
  store i32 48, ptr %37, align 4, !tbaa !9
  %5835 = load i32, ptr %37, align 4, !tbaa !9
  %5836 = load i32, ptr %36, align 4, !tbaa !9
  %5837 = add i32 %5836, %5835
  store i32 %5837, ptr %36, align 4, !tbaa !9
  %5838 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5838, ptr %37, align 4, !tbaa !9
  %5839 = load ptr, ptr %4, align 8, !tbaa !5
  %5840 = load i32, ptr %36, align 4, !tbaa !9
  %5841 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3AInstruction0x3A0x3AgetName0x280x29(ptr noundef %5839, i32 noundef %5840, i32 noundef %5841)
  %5842 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5842, ptr %36, align 4, !tbaa !9
  %5843 = load ptr, ptr %4, align 8, !tbaa !5
  %5844 = getelementptr inbounds %struct.w2c_hermes, ptr %5843, i32 0, i32 6
  %5845 = load i32, ptr %36, align 4, !tbaa !9
  %5846 = zext i32 %5845 to i64
  %5847 = add i64 %5846, 48
  %5848 = call i32 @i32_load(ptr noundef %5844, i64 noundef %5847)
  store i32 %5848, ptr %36, align 4, !tbaa !9
  %5849 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %5849, ptr %13, align 4, !tbaa !9
  %5850 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %5850, ptr %36, align 4, !tbaa !9
  %5851 = load ptr, ptr %4, align 8, !tbaa !5
  %5852 = getelementptr inbounds %struct.w2c_hermes, ptr %5851, i32 0, i32 6
  %5853 = load i32, ptr %36, align 4, !tbaa !9
  %5854 = zext i32 %5853 to i64
  %5855 = add i64 %5854, 52
  %5856 = call i32 @i32_load(ptr noundef %5852, i64 noundef %5855)
  store i32 %5856, ptr %36, align 4, !tbaa !9
  %5857 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %5857, ptr %11, align 4, !tbaa !9
  %5858 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5858, ptr %37, align 4, !tbaa !9
  %5859 = load ptr, ptr %4, align 8, !tbaa !5
  %5860 = getelementptr inbounds %struct.w2c_hermes, ptr %5859, i32 0, i32 6
  %5861 = load i32, ptr %37, align 4, !tbaa !9
  %5862 = zext i32 %5861 to i64
  %5863 = add i64 %5862, 8
  %5864 = call i32 @i32_load(ptr noundef %5860, i64 noundef %5863)
  store i32 %5864, ptr %37, align 4, !tbaa !9
  %5865 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5865, ptr %38, align 4, !tbaa !9
  %5866 = load ptr, ptr %4, align 8, !tbaa !5
  %5867 = getelementptr inbounds %struct.w2c_hermes, ptr %5866, i32 0, i32 6
  %5868 = load i32, ptr %38, align 4, !tbaa !9
  %5869 = zext i32 %5868 to i64
  %5870 = add i64 %5869, 12
  %5871 = call i32 @i32_load(ptr noundef %5867, i64 noundef %5870)
  store i32 %5871, ptr %38, align 4, !tbaa !9
  %5872 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %5872, ptr %8, align 4, !tbaa !9
  %5873 = load i32, ptr %38, align 4, !tbaa !9
  %5874 = load i32, ptr %37, align 4, !tbaa !9
  %5875 = sub i32 %5874, %5873
  store i32 %5875, ptr %37, align 4, !tbaa !9
  %5876 = load i32, ptr %36, align 4, !tbaa !9
  %5877 = load i32, ptr %37, align 4, !tbaa !9
  %5878 = icmp ugt i32 %5876, %5877
  %5879 = zext i1 %5878 to i32
  store i32 %5879, ptr %36, align 4, !tbaa !9
  %5880 = load i32, ptr %36, align 4, !tbaa !9
  %5881 = icmp ne i32 %5880, 0
  br i1 %5881, label %5882, label %5899

5882:                                             ; preds = %5833
  %5883 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5883, ptr %36, align 4, !tbaa !9
  %5884 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %5884, ptr %37, align 4, !tbaa !9
  %5885 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %5885, ptr %38, align 4, !tbaa !9
  %5886 = load ptr, ptr %4, align 8, !tbaa !5
  %5887 = load i32, ptr %36, align 4, !tbaa !9
  %5888 = load i32, ptr %37, align 4, !tbaa !9
  %5889 = load i32, ptr %38, align 4, !tbaa !9
  %5890 = call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Awrite0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef %5886, i32 noundef %5887, i32 noundef %5888, i32 noundef %5889)
  store i32 %5890, ptr %36, align 4, !tbaa !9
  %5891 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %5891, ptr %7, align 4, !tbaa !9
  %5892 = load ptr, ptr %4, align 8, !tbaa !5
  %5893 = getelementptr inbounds %struct.w2c_hermes, ptr %5892, i32 0, i32 6
  %5894 = load i32, ptr %36, align 4, !tbaa !9
  %5895 = zext i32 %5894 to i64
  %5896 = add i64 %5895, 12
  %5897 = call i32 @i32_load(ptr noundef %5893, i64 noundef %5896)
  store i32 %5897, ptr %36, align 4, !tbaa !9
  %5898 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %5898, ptr %8, align 4, !tbaa !9
  br label %5936

5899:                                             ; preds = %5833
  %5900 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %5900, ptr %36, align 4, !tbaa !9
  %5901 = load i32, ptr %36, align 4, !tbaa !9
  %5902 = icmp ne i32 %5901, 0
  %5903 = xor i1 %5902, true
  %5904 = zext i1 %5903 to i32
  store i32 %5904, ptr %36, align 4, !tbaa !9
  %5905 = load i32, ptr %36, align 4, !tbaa !9
  %5906 = icmp ne i32 %5905, 0
  br i1 %5906, label %5907, label %5908

5907:                                             ; preds = %5899
  br label %5936

5908:                                             ; preds = %5899
  %5909 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %5909, ptr %36, align 4, !tbaa !9
  %5910 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %5910, ptr %37, align 4, !tbaa !9
  %5911 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %5911, ptr %38, align 4, !tbaa !9
  %5912 = load ptr, ptr %4, align 8, !tbaa !5
  %5913 = load i32, ptr %36, align 4, !tbaa !9
  %5914 = load i32, ptr %37, align 4, !tbaa !9
  %5915 = load i32, ptr %38, align 4, !tbaa !9
  %5916 = call i32 @w2c_hermes_0x5F_memcpy(ptr noundef %5912, i32 noundef %5913, i32 noundef %5914, i32 noundef %5915)
  store i32 %5916, ptr %36, align 4, !tbaa !9
  %5917 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5917, ptr %36, align 4, !tbaa !9
  %5918 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5918, ptr %37, align 4, !tbaa !9
  %5919 = load ptr, ptr %4, align 8, !tbaa !5
  %5920 = getelementptr inbounds %struct.w2c_hermes, ptr %5919, i32 0, i32 6
  %5921 = load i32, ptr %37, align 4, !tbaa !9
  %5922 = zext i32 %5921 to i64
  %5923 = add i64 %5922, 12
  %5924 = call i32 @i32_load(ptr noundef %5920, i64 noundef %5923)
  store i32 %5924, ptr %37, align 4, !tbaa !9
  %5925 = load i32, ptr %11, align 4, !tbaa !9
  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 %37, align 4, !tbaa !9
  store i32 %5929, ptr %8, 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 %36, align 4, !tbaa !9
  %5933 = zext i32 %5932 to i64
  %5934 = add i64 %5933, 12
  %5935 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5931, i64 noundef %5934, i32 noundef %5935)
  br label %5936

5936:                                             ; preds = %5908, %5907, %5882
  %5937 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %5937, ptr %36, align 4, !tbaa !9
  %5938 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5938, ptr %37, align 4, !tbaa !9
  %5939 = load ptr, ptr %4, align 8, !tbaa !5
  %5940 = getelementptr inbounds %struct.w2c_hermes, ptr %5939, i32 0, i32 6
  %5941 = load i32, ptr %37, align 4, !tbaa !9
  %5942 = zext i32 %5941 to i64
  %5943 = add i64 %5942, 8
  %5944 = call i32 @i32_load(ptr noundef %5940, i64 noundef %5943)
  store i32 %5944, ptr %37, align 4, !tbaa !9
  %5945 = load i32, ptr %36, align 4, !tbaa !9
  %5946 = load i32, ptr %37, align 4, !tbaa !9
  %5947 = icmp eq i32 %5945, %5946
  %5948 = zext i1 %5947 to i32
  store i32 %5948, ptr %36, align 4, !tbaa !9
  %5949 = load i32, ptr %36, align 4, !tbaa !9
  %5950 = icmp ne i32 %5949, 0
  br i1 %5950, label %5951, label %5958

5951:                                             ; preds = %5936
  %5952 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5952, ptr %36, align 4, !tbaa !9
  store i32 213024, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %5953 = load ptr, ptr %4, align 8, !tbaa !5
  %5954 = load i32, ptr %36, align 4, !tbaa !9
  %5955 = load i32, ptr %37, align 4, !tbaa !9
  %5956 = load i32, ptr %38, align 4, !tbaa !9
  %5957 = call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Awrite0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef %5953, i32 noundef %5954, i32 noundef %5955, i32 noundef %5956)
  store i32 %5957, ptr %36, align 4, !tbaa !9
  br label %5982

5958:                                             ; preds = %5936
  %5959 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %5959, ptr %36, align 4, !tbaa !9
  store i32 10, ptr %37, align 4, !tbaa !9
  %5960 = load ptr, ptr %4, align 8, !tbaa !5
  %5961 = getelementptr inbounds %struct.w2c_hermes, ptr %5960, i32 0, i32 6
  %5962 = load i32, ptr %36, align 4, !tbaa !9
  %5963 = zext i32 %5962 to i64
  %5964 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %5961, i64 noundef %5963, i32 noundef %5964)
  %5965 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5965, ptr %36, align 4, !tbaa !9
  %5966 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %5966, ptr %37, align 4, !tbaa !9
  %5967 = load ptr, ptr %4, align 8, !tbaa !5
  %5968 = getelementptr inbounds %struct.w2c_hermes, ptr %5967, i32 0, i32 6
  %5969 = load i32, ptr %37, align 4, !tbaa !9
  %5970 = zext i32 %5969 to i64
  %5971 = add i64 %5970, 12
  %5972 = call i32 @i32_load(ptr noundef %5968, i64 noundef %5971)
  store i32 %5972, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %38, align 4, !tbaa !9
  %5973 = load i32, ptr %38, align 4, !tbaa !9
  %5974 = load i32, ptr %37, align 4, !tbaa !9
  %5975 = add i32 %5974, %5973
  store i32 %5975, ptr %37, align 4, !tbaa !9
  %5976 = load ptr, ptr %4, align 8, !tbaa !5
  %5977 = getelementptr inbounds %struct.w2c_hermes, ptr %5976, i32 0, i32 6
  %5978 = load i32, ptr %36, align 4, !tbaa !9
  %5979 = zext i32 %5978 to i64
  %5980 = add i64 %5979, 12
  %5981 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %5977, i64 noundef %5980, i32 noundef %5981)
  br label %5982

5982:                                             ; preds = %5958, %5951, %5711, %5700
  %5983 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %5983, ptr %36, align 4, !tbaa !9
  %5984 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %5984, ptr %37, align 4, !tbaa !9
  %5985 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5985, ptr %38, align 4, !tbaa !9
  store i32 8, ptr %39, align 4, !tbaa !9
  %5986 = load i32, ptr %39, align 4, !tbaa !9
  %5987 = load i32, ptr %38, align 4, !tbaa !9
  %5988 = add i32 %5987, %5986
  store i32 %5988, ptr %38, align 4, !tbaa !9
  store i32 0, ptr %39, align 4, !tbaa !9
  %5989 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %5989, ptr %40, align 4, !tbaa !9
  %5990 = load i32, ptr %40, align 4, !tbaa !9
  %5991 = icmp ne i32 %5990, 0
  br i1 %5991, label %5992, label %5994

5992:                                             ; preds = %5982
  %5993 = load i32, ptr %38, align 4, !tbaa !9
  br label %5996

5994:                                             ; preds = %5982
  %5995 = load i32, ptr %39, align 4, !tbaa !9
  br label %5996

5996:                                             ; preds = %5994, %5992
  %5997 = phi i32 [ %5993, %5992 ], [ %5995, %5994 ]
  store i32 %5997, ptr %38, align 4, !tbaa !9
  %5998 = load ptr, ptr %4, align 8, !tbaa !5
  %5999 = load i32, ptr %37, align 4, !tbaa !9
  %6000 = load i32, ptr %38, align 4, !tbaa !9
  %6001 = call i32 @w2c_hermes_hermes0x3A0x3ARegisterAllocator0x3A0x3AgetRegister0x28hermes0x3A0x3AValue0x2A0x29(ptr noundef %5998, i32 noundef %5999, i32 noundef %6000)
  store i32 %6001, ptr %37, align 4, !tbaa !9
  %6002 = load ptr, ptr %4, align 8, !tbaa !5
  %6003 = load i32, ptr %36, align 4, !tbaa !9
  %6004 = load i32, ptr %37, align 4, !tbaa !9
  call void @w2c_hermes_hermes0x3A0x3ARegisterFile0x3A0x3AkillRegister0x28hermes0x3A0x3ARegister0x29(ptr noundef %6002, i32 noundef %6003, i32 noundef %6004)
  %6005 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %6005, ptr %36, align 4, !tbaa !9
  %6006 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %6006, ptr %37, align 4, !tbaa !9
  %6007 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %6007, ptr %38, align 4, !tbaa !9
  %6008 = load ptr, ptr %4, align 8, !tbaa !5
  %6009 = getelementptr inbounds %struct.w2c_hermes, ptr %6008, i32 0, i32 6
  %6010 = load i32, ptr %38, align 4, !tbaa !9
  %6011 = zext i32 %6010 to i64
  %6012 = call i32 @i32_load(ptr noundef %6009, i64 noundef %6011)
  store i32 %6012, ptr %38, align 4, !tbaa !9
  %6013 = load ptr, ptr %4, align 8, !tbaa !5
  %6014 = getelementptr inbounds %struct.w2c_hermes, ptr %6013, i32 0, i32 6
  %6015 = load i32, ptr %38, align 4, !tbaa !9
  %6016 = zext i32 %6015 to i64
  %6017 = add i64 %6016, 12
  %6018 = call i32 @i32_load(ptr noundef %6014, i64 noundef %6017)
  store i32 %6018, ptr %38, align 4, !tbaa !9
  %6019 = load i32, ptr %38, align 4, !tbaa !9
  %6020 = load ptr, ptr %4, align 8, !tbaa !5
  %6021 = getelementptr inbounds %struct.w2c_hermes, ptr %6020, i32 0, i32 7
  %6022 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %6021, i32 0, i32 2
  %6023 = load i32, ptr %6022, align 4, !tbaa !18
  %6024 = icmp ult i32 %6019, %6023
  br i1 %6024, label %6025, label %6048

6025:                                             ; preds = %5996
  %6026 = load ptr, ptr %4, align 8, !tbaa !5
  %6027 = getelementptr inbounds %struct.w2c_hermes, ptr %6026, i32 0, i32 7
  %6028 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %6027, i32 0, i32 0
  %6029 = load ptr, ptr %6028, align 8, !tbaa !19
  %6030 = load i32, ptr %38, align 4, !tbaa !9
  %6031 = zext i32 %6030 to i64
  %6032 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %6029, i64 %6031
  %6033 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %6032, i32 0, i32 1
  %6034 = load ptr, ptr %6033, align 8, !tbaa !20
  %6035 = icmp ne ptr %6034, null
  br i1 %6035, label %6036, label %6048

6036:                                             ; preds = %6025
  %6037 = load ptr, ptr @w2c_hermes_t0, align 8, !tbaa !5
  %6038 = load ptr, ptr %4, align 8, !tbaa !5
  %6039 = getelementptr inbounds %struct.w2c_hermes, ptr %6038, i32 0, i32 7
  %6040 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %6039, i32 0, i32 0
  %6041 = load ptr, ptr %6040, align 8, !tbaa !19
  %6042 = load i32, ptr %38, align 4, !tbaa !9
  %6043 = zext i32 %6042 to i64
  %6044 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %6041, i64 %6043
  %6045 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %6044, i32 0, i32 0
  %6046 = load ptr, ptr %6045, align 8, !tbaa !22
  %6047 = call zeroext i1 @func_types_eq(ptr noundef %6037, ptr noundef %6046)
  br label %6048

6048:                                             ; preds = %6036, %6025, %5996
  %6049 = phi i1 [ false, %6025 ], [ false, %5996 ], [ %6047, %6036 ]
  %6050 = xor i1 %6049, true
  %6051 = xor i1 %6050, true
  %6052 = zext i1 %6051 to i32
  %6053 = sext i32 %6052 to i64
  %6054 = call i64 @llvm.expect.i64(i64 %6053, i64 1)
  %6055 = icmp ne i64 %6054, 0
  br i1 %6055, label %6058, label %6056

6056:                                             ; preds = %6048
  call void @wasm_rt_trap(i32 noundef 6) #7
  unreachable

6057:                                             ; No predecessors!
  br label %6058

6058:                                             ; preds = %6057, %6048
  %6059 = phi i1 [ true, %6048 ], [ false, %6057 ]
  %6060 = zext i1 %6059 to i32
  %6061 = load ptr, ptr %4, align 8, !tbaa !5
  %6062 = getelementptr inbounds %struct.w2c_hermes, ptr %6061, i32 0, i32 7
  %6063 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %6062, i32 0, i32 0
  %6064 = load ptr, ptr %6063, align 8, !tbaa !19
  %6065 = load i32, ptr %38, align 4, !tbaa !9
  %6066 = zext i32 %6065 to i64
  %6067 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %6064, i64 %6066
  %6068 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %6067, i32 0, i32 1
  %6069 = load ptr, ptr %6068, align 8, !tbaa !20
  %6070 = load ptr, ptr %4, align 8, !tbaa !5
  %6071 = getelementptr inbounds %struct.w2c_hermes, ptr %6070, i32 0, i32 7
  %6072 = getelementptr inbounds %struct.wasm_rt_funcref_table_t, ptr %6071, i32 0, i32 0
  %6073 = load ptr, ptr %6072, align 8, !tbaa !19
  %6074 = load i32, ptr %38, align 4, !tbaa !9
  %6075 = zext i32 %6074 to i64
  %6076 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %6073, i64 %6075
  %6077 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %6076, i32 0, i32 2
  %6078 = load ptr, ptr %6077, align 8, !tbaa !23
  %6079 = load i32, ptr %36, align 4, !tbaa !9
  %6080 = load i32, ptr %37, align 4, !tbaa !9
  call void %6069(ptr noundef %6078, i32 noundef %6079, i32 noundef %6080)
  %6081 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %6081, ptr %36, align 4, !tbaa !9
  store i32 72, ptr %37, align 4, !tbaa !9
  %6082 = load i32, ptr %37, align 4, !tbaa !9
  %6083 = load i32, ptr %36, align 4, !tbaa !9
  %6084 = add i32 %6083, %6082
  store i32 %6084, ptr %36, align 4, !tbaa !9
  %6085 = load ptr, ptr %4, align 8, !tbaa !5
  %6086 = load i32, ptr %36, align 4, !tbaa !9
  call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Apriority_queue0x3Cunsigned0x20int0x2C0x20llvh0x3A0x3ASmallVector0x3Cunsigned0x20int0x2C0x2032u0x3E0x2C0x20hermes0x3A0x3ARegisterAllocator0x3A0x3Aallocate0x28llvh0x3A0x3AArrayRef0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x290x3A0x3A0x24_00x3E0x3A0x3Apop0x280x29(ptr noundef %6085, i32 noundef %6086)
  %6087 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %6087, ptr %36, align 4, !tbaa !9
  %6088 = load ptr, ptr %4, align 8, !tbaa !5
  %6089 = getelementptr inbounds %struct.w2c_hermes, ptr %6088, i32 0, i32 6
  %6090 = load i32, ptr %36, align 4, !tbaa !9
  %6091 = zext i32 %6090 to i64
  %6092 = add i64 %6091, 76
  %6093 = call i32 @i32_load(ptr noundef %6089, i64 noundef %6092)
  store i32 %6093, ptr %36, align 4, !tbaa !9
  %6094 = load i32, ptr %36, align 4, !tbaa !9
  %6095 = icmp ne i32 %6094, 0
  br i1 %6095, label %6096, label %6097

6096:                                             ; preds = %6058
  br label %5640

6097:                                             ; preds = %6058
  br label %6098

6098:                                             ; preds = %6097, %5633, %5591, %1181
  %6099 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %6099, ptr %36, align 4, !tbaa !9
  %6100 = load ptr, ptr %4, align 8, !tbaa !5
  %6101 = getelementptr inbounds %struct.w2c_hermes, ptr %6100, i32 0, i32 6
  %6102 = load i32, ptr %36, align 4, !tbaa !9
  %6103 = zext i32 %6102 to i64
  %6104 = add i64 %6103, 368
  %6105 = call i32 @i32_load(ptr noundef %6101, i64 noundef %6104)
  store i32 %6105, ptr %36, align 4, !tbaa !9
  %6106 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %6106, ptr %11, align 4, !tbaa !9
  %6107 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %6107, ptr %37, 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 = add i64 %6111, 380
  %6113 = call i32 @i32_load(ptr noundef %6109, i64 noundef %6112)
  store i32 %6113, ptr %37, align 4, !tbaa !9
  %6114 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6114, ptr %7, align 4, !tbaa !9
  store i32 3, ptr %38, align 4, !tbaa !9
  %6115 = load i32, ptr %38, align 4, !tbaa !9
  %6116 = and i32 %6115, 31
  %6117 = load i32, ptr %37, align 4, !tbaa !9
  %6118 = shl i32 %6117, %6116
  store i32 %6118, ptr %37, align 4, !tbaa !9
  %6119 = load i32, ptr %37, align 4, !tbaa !9
  %6120 = load i32, ptr %36, align 4, !tbaa !9
  %6121 = add i32 %6120, %6119
  store i32 %6121, ptr %36, align 4, !tbaa !9
  %6122 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %6122, ptr %8, align 4, !tbaa !9
  %6123 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %6123, ptr %36, align 4, !tbaa !9
  %6124 = load ptr, ptr %4, align 8, !tbaa !5
  %6125 = getelementptr inbounds %struct.w2c_hermes, ptr %6124, i32 0, i32 6
  %6126 = load i32, ptr %36, align 4, !tbaa !9
  %6127 = zext i32 %6126 to i64
  %6128 = add i64 %6127, 372
  %6129 = call i32 @i32_load(ptr noundef %6125, i64 noundef %6128)
  store i32 %6129, ptr %36, align 4, !tbaa !9
  %6130 = load i32, ptr %36, align 4, !tbaa !9
  %6131 = icmp ne i32 %6130, 0
  br i1 %6131, label %6132, label %6188

6132:                                             ; preds = %6098
  store i32 0, ptr %36, align 4, !tbaa !9
  %6133 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %6133, ptr %10, align 4, !tbaa !9
  %6134 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6134, ptr %36, align 4, !tbaa !9
  store i32 0, ptr %37, align 4, !tbaa !9
  %6135 = load i32, ptr %36, align 4, !tbaa !9
  %6136 = load i32, ptr %37, align 4, !tbaa !9
  %6137 = icmp slt i32 %6135, %6136
  %6138 = zext i1 %6137 to i32
  store i32 %6138, ptr %36, align 4, !tbaa !9
  %6139 = load i32, ptr %36, align 4, !tbaa !9
  %6140 = icmp ne i32 %6139, 0
  br i1 %6140, label %6141, label %6142

6141:                                             ; preds = %6132
  br label %6545

6142:                                             ; preds = %6132
  %6143 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %6143, ptr %36, align 4, !tbaa !9
  %6144 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %6144, ptr %6, align 4, !tbaa !9
  %6145 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6145, ptr %36, align 4, !tbaa !9
  %6146 = load i32, ptr %36, align 4, !tbaa !9
  %6147 = icmp ne i32 %6146, 0
  %6148 = xor i1 %6147, true
  %6149 = zext i1 %6148 to i32
  store i32 %6149, ptr %36, align 4, !tbaa !9
  %6150 = load i32, ptr %36, align 4, !tbaa !9
  %6151 = icmp ne i32 %6150, 0
  br i1 %6151, label %6152, label %6153

6152:                                             ; preds = %6142
  br label %6193

6153:                                             ; preds = %6142
  br label %6154

6154:                                             ; preds = %6186, %6153
  %6155 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6155, ptr %36, align 4, !tbaa !9
  %6156 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %6156, ptr %10, align 4, !tbaa !9
  %6157 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %6157, ptr %36, align 4, !tbaa !9
  %6158 = load ptr, ptr %4, align 8, !tbaa !5
  %6159 = getelementptr inbounds %struct.w2c_hermes, ptr %6158, i32 0, i32 6
  %6160 = load i32, ptr %36, align 4, !tbaa !9
  %6161 = zext i32 %6160 to i64
  %6162 = call i32 @i32_load(ptr noundef %6159, i64 noundef %6161)
  store i32 %6162, ptr %36, align 4, !tbaa !9
  store i32 8, ptr %37, align 4, !tbaa !9
  %6163 = load i32, ptr %37, align 4, !tbaa !9
  %6164 = load i32, ptr %36, align 4, !tbaa !9
  %6165 = add i32 %6164, %6163
  store i32 %6165, ptr %36, align 4, !tbaa !9
  %6166 = load i32, ptr %36, align 4, !tbaa !9
  switch i32 %6166, label %6172 [
    i32 0, label %6167
    i32 1, label %6168
    i32 2, label %6169
    i32 3, label %6170
    i32 4, label %6171
  ]

6167:                                             ; preds = %6154
  br label %6173

6168:                                             ; preds = %6154
  br label %6193

6169:                                             ; preds = %6154
  br label %6193

6170:                                             ; preds = %6154
  br label %6193

6171:                                             ; preds = %6154
  br label %6173

6172:                                             ; preds = %6154
  br label %6193

6173:                                             ; preds = %6171, %6167
  %6174 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %6174, ptr %36, align 4, !tbaa !9
  store i32 8, ptr %37, align 4, !tbaa !9
  %6175 = load i32, ptr %37, align 4, !tbaa !9
  %6176 = load i32, ptr %36, align 4, !tbaa !9
  %6177 = add i32 %6176, %6175
  store i32 %6177, ptr %36, align 4, !tbaa !9
  %6178 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %6178, ptr %6, align 4, !tbaa !9
  %6179 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %6179, ptr %37, align 4, !tbaa !9
  %6180 = load i32, ptr %36, align 4, !tbaa !9
  %6181 = load i32, ptr %37, align 4, !tbaa !9
  %6182 = icmp ne i32 %6180, %6181
  %6183 = zext i1 %6182 to i32
  store i32 %6183, ptr %36, align 4, !tbaa !9
  %6184 = load i32, ptr %36, align 4, !tbaa !9
  %6185 = icmp ne i32 %6184, 0
  br i1 %6185, label %6186, label %6187

6186:                                             ; preds = %6173
  br label %6154

6187:                                             ; preds = %6173
  br label %6188

6188:                                             ; preds = %6187, %6098
  %6189 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6189, ptr %36, align 4, !tbaa !9
  %6190 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %6190, ptr %10, align 4, !tbaa !9
  %6191 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %6191, ptr %36, align 4, !tbaa !9
  %6192 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %6192, ptr %6, align 4, !tbaa !9
  br label %6193

6193:                                             ; preds = %6188, %6172, %6170, %6169, %6168, %6152
  %6194 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %6194, ptr %36, align 4, !tbaa !9
  %6195 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %6195, ptr %37, align 4, !tbaa !9
  %6196 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6196, ptr %38, align 4, !tbaa !9
  store i32 3, ptr %39, align 4, !tbaa !9
  %6197 = load i32, ptr %39, align 4, !tbaa !9
  %6198 = and i32 %6197, 31
  %6199 = load i32, ptr %38, align 4, !tbaa !9
  %6200 = shl i32 %6199, %6198
  store i32 %6200, ptr %38, align 4, !tbaa !9
  %6201 = load i32, ptr %38, align 4, !tbaa !9
  %6202 = load i32, ptr %37, align 4, !tbaa !9
  %6203 = add i32 %6202, %6201
  store i32 %6203, ptr %37, align 4, !tbaa !9
  %6204 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6204, ptr %11, align 4, !tbaa !9
  %6205 = load i32, ptr %36, align 4, !tbaa !9
  %6206 = load i32, ptr %37, align 4, !tbaa !9
  %6207 = icmp eq i32 %6205, %6206
  %6208 = zext i1 %6207 to i32
  store i32 %6208, ptr %36, align 4, !tbaa !9
  %6209 = load i32, ptr %36, align 4, !tbaa !9
  %6210 = icmp ne i32 %6209, 0
  br i1 %6210, label %6211, label %6212

6211:                                             ; preds = %6193
  br label %6581

6212:                                             ; preds = %6193
  %6213 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %6213, ptr %36, align 4, !tbaa !9
  store i32 1084, ptr %37, align 4, !tbaa !9
  %6214 = load i32, ptr %37, align 4, !tbaa !9
  %6215 = load i32, ptr %36, align 4, !tbaa !9
  %6216 = add i32 %6215, %6214
  store i32 %6216, ptr %36, align 4, !tbaa !9
  %6217 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %6217, ptr %13, align 4, !tbaa !9
  br label %6218

6218:                                             ; preds = %6525, %6212
  %6219 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %6219, ptr %36, align 4, !tbaa !9
  %6220 = load ptr, ptr %4, align 8, !tbaa !5
  %6221 = getelementptr inbounds %struct.w2c_hermes, ptr %6220, i32 0, i32 6
  %6222 = load i32, ptr %36, align 4, !tbaa !9
  %6223 = zext i32 %6222 to i64
  %6224 = call i32 @i32_load(ptr noundef %6221, i64 noundef %6223)
  store i32 %6224, ptr %36, align 4, !tbaa !9
  %6225 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %6225, ptr %7, align 4, !tbaa !9
  store i32 8, ptr %37, align 4, !tbaa !9
  %6226 = load i32, ptr %37, align 4, !tbaa !9
  %6227 = load i32, ptr %36, align 4, !tbaa !9
  %6228 = add i32 %6227, %6226
  store i32 %6228, ptr %36, align 4, !tbaa !9
  store i32 0, ptr %37, align 4, !tbaa !9
  %6229 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6229, ptr %38, align 4, !tbaa !9
  %6230 = load i32, ptr %38, align 4, !tbaa !9
  %6231 = icmp ne i32 %6230, 0
  br i1 %6231, label %6232, label %6234

6232:                                             ; preds = %6218
  %6233 = load i32, ptr %36, align 4, !tbaa !9
  br label %6236

6234:                                             ; preds = %6218
  %6235 = load i32, ptr %37, align 4, !tbaa !9
  br label %6236

6236:                                             ; preds = %6234, %6232
  %6237 = phi i32 [ %6233, %6232 ], [ %6235, %6234 ]
  store i32 %6237, ptr %36, align 4, !tbaa !9
  %6238 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %6238, ptr %7, align 4, !tbaa !9
  %6239 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %6239, ptr %36, align 4, !tbaa !9
  %6240 = load ptr, ptr %4, align 8, !tbaa !5
  %6241 = getelementptr inbounds %struct.w2c_hermes, ptr %6240, i32 0, i32 6
  %6242 = load i32, ptr %36, align 4, !tbaa !9
  %6243 = zext i32 %6242 to i64
  %6244 = add i64 %6243, 1096
  %6245 = call i32 @i32_load(ptr noundef %6241, i64 noundef %6244)
  store i32 %6245, ptr %36, align 4, !tbaa !9
  %6246 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %6246, ptr %10, align 4, !tbaa !9
  %6247 = load i32, ptr %36, align 4, !tbaa !9
  %6248 = icmp ne i32 %6247, 0
  %6249 = xor i1 %6248, true
  %6250 = zext i1 %6249 to i32
  store i32 %6250, ptr %36, align 4, !tbaa !9
  %6251 = load i32, ptr %36, align 4, !tbaa !9
  %6252 = icmp ne i32 %6251, 0
  br i1 %6252, label %6253, label %6254

6253:                                             ; preds = %6236
  br label %6405

6254:                                             ; preds = %6236
  %6255 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6255, ptr %36, align 4, !tbaa !9
  store i32 8, ptr %37, align 4, !tbaa !9
  %6256 = load i32, ptr %37, align 4, !tbaa !9
  %6257 = load i32, ptr %36, align 4, !tbaa !9
  %6258 = add i32 %6257, %6256
  store i32 %6258, ptr %36, align 4, !tbaa !9
  %6259 = load i32, ptr %36, align 4, !tbaa !9
  switch i32 %6259, label %6265 [
    i32 0, label %6260
    i32 1, label %6261
    i32 2, label %6262
    i32 3, label %6263
    i32 4, label %6264
  ]

6260:                                             ; preds = %6254
  br label %6266

6261:                                             ; preds = %6254
  br label %6284

6262:                                             ; preds = %6254
  br label %6284

6263:                                             ; preds = %6254
  br label %6284

6264:                                             ; preds = %6254
  br label %6266

6265:                                             ; preds = %6254
  br label %6284

6266:                                             ; preds = %6264, %6260
  store i32 0, ptr %36, align 4, !tbaa !9
  %6267 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %6267, ptr %6, align 4, !tbaa !9
  store i32 204136, ptr %37, align 4, !tbaa !9
  %6268 = load i32, ptr %37, align 4, !tbaa !9
  %6269 = load i32, ptr %36, align 4, !tbaa !9
  %6270 = add i32 %6269, %6268
  store i32 %6270, ptr %36, align 4, !tbaa !9
  %6271 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %6271, ptr %37, align 4, !tbaa !9
  store i32 81389, ptr %38, align 4, !tbaa !9
  %6272 = load i32, ptr %38, align 4, !tbaa !9
  %6273 = load i32, ptr %37, align 4, !tbaa !9
  %6274 = add i32 %6273, %6272
  store i32 %6274, ptr %37, align 4, !tbaa !9
  store i32 597, ptr %38, align 4, !tbaa !9
  %6275 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %6275, ptr %39, align 4, !tbaa !9
  store i32 48929, ptr %40, align 4, !tbaa !9
  %6276 = load i32, ptr %40, align 4, !tbaa !9
  %6277 = load i32, ptr %39, align 4, !tbaa !9
  %6278 = add i32 %6277, %6276
  store i32 %6278, ptr %39, align 4, !tbaa !9
  %6279 = load ptr, ptr %4, align 8, !tbaa !5
  %6280 = load i32, ptr %36, align 4, !tbaa !9
  %6281 = load i32, ptr %37, align 4, !tbaa !9
  %6282 = load i32, ptr %38, align 4, !tbaa !9
  %6283 = load i32, ptr %39, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %6279, i32 noundef %6280, i32 noundef %6281, i32 noundef %6282, i32 noundef %6283)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

6284:                                             ; preds = %6265, %6263, %6262, %6261
  %6285 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6285, ptr %36, align 4, !tbaa !9
  %6286 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %6286, ptr %37, align 4, !tbaa !9
  %6287 = load ptr, ptr %4, align 8, !tbaa !5
  %6288 = getelementptr inbounds %struct.w2c_hermes, ptr %6287, i32 0, i32 6
  %6289 = load i32, ptr %37, align 4, !tbaa !9
  %6290 = zext i32 %6289 to i64
  %6291 = add i64 %6290, 1084
  %6292 = call i32 @i32_load(ptr noundef %6288, i64 noundef %6291)
  store i32 %6292, ptr %37, align 4, !tbaa !9
  %6293 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6293, ptr %12, align 4, !tbaa !9
  %6294 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6294, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %39, align 4, !tbaa !9
  %6295 = load i32, ptr %39, align 4, !tbaa !9
  %6296 = load i32, ptr %38, align 4, !tbaa !9
  %6297 = sub i32 %6296, %6295
  store i32 %6297, ptr %38, align 4, !tbaa !9
  %6298 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %6298, ptr %15, align 4, !tbaa !9
  %6299 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6299, ptr %39, align 4, !tbaa !9
  store i32 4, ptr %40, align 4, !tbaa !9
  %6300 = load i32, ptr %40, align 4, !tbaa !9
  %6301 = and i32 %6300, 31
  %6302 = load i32, ptr %39, align 4, !tbaa !9
  %6303 = lshr i32 %6302, %6301
  store i32 %6303, ptr %39, align 4, !tbaa !9
  %6304 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6304, ptr %40, align 4, !tbaa !9
  store i32 9, ptr %41, align 4, !tbaa !9
  %6305 = load i32, ptr %41, align 4, !tbaa !9
  %6306 = and i32 %6305, 31
  %6307 = load i32, ptr %40, align 4, !tbaa !9
  %6308 = lshr i32 %6307, %6306
  store i32 %6308, ptr %40, align 4, !tbaa !9
  %6309 = load i32, ptr %40, align 4, !tbaa !9
  %6310 = load i32, ptr %39, align 4, !tbaa !9
  %6311 = xor i32 %6310, %6309
  store i32 %6311, ptr %39, align 4, !tbaa !9
  %6312 = load i32, ptr %39, align 4, !tbaa !9
  %6313 = load i32, ptr %38, align 4, !tbaa !9
  %6314 = and i32 %6313, %6312
  store i32 %6314, ptr %38, align 4, !tbaa !9
  %6315 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %6315, ptr %14, align 4, !tbaa !9
  store i32 3, ptr %39, align 4, !tbaa !9
  %6316 = load i32, ptr %39, align 4, !tbaa !9
  %6317 = and i32 %6316, 31
  %6318 = load i32, ptr %38, align 4, !tbaa !9
  %6319 = shl i32 %6318, %6317
  store i32 %6319, ptr %38, align 4, !tbaa !9
  %6320 = load i32, ptr %38, align 4, !tbaa !9
  %6321 = load i32, ptr %37, align 4, !tbaa !9
  %6322 = add i32 %6321, %6320
  store i32 %6322, ptr %37, align 4, !tbaa !9
  %6323 = load ptr, ptr %4, align 8, !tbaa !5
  %6324 = getelementptr inbounds %struct.w2c_hermes, ptr %6323, i32 0, i32 6
  %6325 = load i32, ptr %37, align 4, !tbaa !9
  %6326 = zext i32 %6325 to i64
  %6327 = call i32 @i32_load(ptr noundef %6324, i64 noundef %6326)
  store i32 %6327, ptr %37, align 4, !tbaa !9
  %6328 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6328, ptr %10, align 4, !tbaa !9
  %6329 = load i32, ptr %36, align 4, !tbaa !9
  %6330 = load i32, ptr %37, align 4, !tbaa !9
  %6331 = icmp ne i32 %6329, %6330
  %6332 = zext i1 %6331 to i32
  store i32 %6332, ptr %36, align 4, !tbaa !9
  %6333 = load i32, ptr %36, align 4, !tbaa !9
  %6334 = icmp ne i32 %6333, 0
  br i1 %6334, label %6335, label %6387

6335:                                             ; preds = %6284
  store i32 1, ptr %36, align 4, !tbaa !9
  %6336 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %6336, ptr %17, align 4, !tbaa !9
  br label %6337

6337:                                             ; preds = %6385, %6335
  %6338 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6338, ptr %36, align 4, !tbaa !9
  store i32 -4, ptr %37, align 4, !tbaa !9
  %6339 = load i32, ptr %36, align 4, !tbaa !9
  %6340 = load i32, ptr %37, align 4, !tbaa !9
  %6341 = icmp eq i32 %6339, %6340
  %6342 = zext i1 %6341 to i32
  store i32 %6342, ptr %36, align 4, !tbaa !9
  %6343 = load i32, ptr %36, align 4, !tbaa !9
  %6344 = icmp ne i32 %6343, 0
  br i1 %6344, label %6345, label %6346

6345:                                             ; preds = %6337
  br label %6405

6346:                                             ; preds = %6337
  %6347 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %6347, ptr %36, align 4, !tbaa !9
  %6348 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %6348, ptr %37, align 4, !tbaa !9
  %6349 = load i32, ptr %37, align 4, !tbaa !9
  %6350 = load i32, ptr %36, align 4, !tbaa !9
  %6351 = add i32 %6350, %6349
  store i32 %6351, ptr %36, align 4, !tbaa !9
  %6352 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %6352, ptr %10, align 4, !tbaa !9
  %6353 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %6353, ptr %36, align 4, !tbaa !9
  store i32 1, ptr %37, align 4, !tbaa !9
  %6354 = load i32, ptr %37, align 4, !tbaa !9
  %6355 = load i32, ptr %36, align 4, !tbaa !9
  %6356 = add i32 %6355, %6354
  store i32 %6356, ptr %36, align 4, !tbaa !9
  %6357 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %6357, ptr %17, align 4, !tbaa !9
  %6358 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %6358, ptr %36, align 4, !tbaa !9
  %6359 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6359, ptr %37, align 4, !tbaa !9
  %6360 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %6360, ptr %38, align 4, !tbaa !9
  %6361 = load i32, ptr %38, align 4, !tbaa !9
  %6362 = load i32, ptr %37, align 4, !tbaa !9
  %6363 = and i32 %6362, %6361
  store i32 %6363, ptr %37, align 4, !tbaa !9
  %6364 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6364, ptr %14, align 4, !tbaa !9
  store i32 3, ptr %38, align 4, !tbaa !9
  %6365 = load i32, ptr %38, align 4, !tbaa !9
  %6366 = and i32 %6365, 31
  %6367 = load i32, ptr %37, align 4, !tbaa !9
  %6368 = shl i32 %6367, %6366
  store i32 %6368, ptr %37, align 4, !tbaa !9
  %6369 = load i32, ptr %37, align 4, !tbaa !9
  %6370 = load i32, ptr %36, align 4, !tbaa !9
  %6371 = add i32 %6370, %6369
  store i32 %6371, ptr %36, align 4, !tbaa !9
  %6372 = load ptr, ptr %4, align 8, !tbaa !5
  %6373 = getelementptr inbounds %struct.w2c_hermes, ptr %6372, i32 0, i32 6
  %6374 = load i32, ptr %36, align 4, !tbaa !9
  %6375 = zext i32 %6374 to i64
  %6376 = call i32 @i32_load(ptr noundef %6373, i64 noundef %6375)
  store i32 %6376, ptr %36, align 4, !tbaa !9
  %6377 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %6377, ptr %10, align 4, !tbaa !9
  %6378 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6378, ptr %37, align 4, !tbaa !9
  %6379 = load i32, ptr %36, align 4, !tbaa !9
  %6380 = load i32, ptr %37, align 4, !tbaa !9
  %6381 = icmp ne i32 %6379, %6380
  %6382 = zext i1 %6381 to i32
  store i32 %6382, ptr %36, align 4, !tbaa !9
  %6383 = load i32, ptr %36, align 4, !tbaa !9
  %6384 = icmp ne i32 %6383, 0
  br i1 %6384, label %6385, label %6386

6385:                                             ; preds = %6346
  br label %6337

6386:                                             ; preds = %6346
  br label %6387

6387:                                             ; preds = %6386, %6284
  store i32 0, ptr %36, align 4, !tbaa !9
  %6388 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %6388, ptr %6, align 4, !tbaa !9
  store i32 180006, ptr %37, align 4, !tbaa !9
  %6389 = load i32, ptr %37, align 4, !tbaa !9
  %6390 = load i32, ptr %36, align 4, !tbaa !9
  %6391 = add i32 %6390, %6389
  store i32 %6391, ptr %36, align 4, !tbaa !9
  %6392 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %6392, ptr %37, align 4, !tbaa !9
  store i32 61865, ptr %38, align 4, !tbaa !9
  %6393 = load i32, ptr %38, align 4, !tbaa !9
  %6394 = load i32, ptr %37, align 4, !tbaa !9
  %6395 = add i32 %6394, %6393
  store i32 %6395, ptr %37, align 4, !tbaa !9
  store i32 755, ptr %38, align 4, !tbaa !9
  %6396 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %6396, ptr %39, align 4, !tbaa !9
  store i32 91419, ptr %40, align 4, !tbaa !9
  %6397 = load i32, ptr %40, align 4, !tbaa !9
  %6398 = load i32, ptr %39, align 4, !tbaa !9
  %6399 = add i32 %6398, %6397
  store i32 %6399, ptr %39, align 4, !tbaa !9
  %6400 = load ptr, ptr %4, align 8, !tbaa !5
  %6401 = load i32, ptr %36, align 4, !tbaa !9
  %6402 = load i32, ptr %37, align 4, !tbaa !9
  %6403 = load i32, ptr %38, align 4, !tbaa !9
  %6404 = load i32, ptr %39, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %6400, i32 noundef %6401, i32 noundef %6402, i32 noundef %6403, i32 noundef %6404)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

6405:                                             ; preds = %6345, %6253
  %6406 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %6406, ptr %36, align 4, !tbaa !9
  %6407 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %6407, ptr %37, align 4, !tbaa !9
  %6408 = load ptr, ptr %4, align 8, !tbaa !5
  %6409 = getelementptr inbounds %struct.w2c_hermes, ptr %6408, i32 0, i32 6
  %6410 = load i32, ptr %37, align 4, !tbaa !9
  %6411 = zext i32 %6410 to i64
  %6412 = add i64 %6411, 4
  %6413 = call i32 @i32_load(ptr noundef %6409, i64 noundef %6412)
  store i32 %6413, ptr %37, align 4, !tbaa !9
  %6414 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6414, ptr %10, align 4, !tbaa !9
  store i32 8, ptr %38, align 4, !tbaa !9
  %6415 = load i32, ptr %38, align 4, !tbaa !9
  %6416 = load i32, ptr %37, align 4, !tbaa !9
  %6417 = add i32 %6416, %6415
  store i32 %6417, ptr %37, align 4, !tbaa !9
  store i32 0, ptr %38, align 4, !tbaa !9
  %6418 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6418, ptr %39, align 4, !tbaa !9
  %6419 = load i32, ptr %39, align 4, !tbaa !9
  %6420 = icmp ne i32 %6419, 0
  br i1 %6420, label %6421, label %6423

6421:                                             ; preds = %6405
  %6422 = load i32, ptr %37, align 4, !tbaa !9
  br label %6425

6423:                                             ; preds = %6405
  %6424 = load i32, ptr %38, align 4, !tbaa !9
  br label %6425

6425:                                             ; preds = %6423, %6421
  %6426 = phi i32 [ %6422, %6421 ], [ %6424, %6423 ]
  store i32 %6426, ptr %37, align 4, !tbaa !9
  %6427 = load ptr, ptr %4, align 8, !tbaa !5
  %6428 = load i32, ptr %36, align 4, !tbaa !9
  %6429 = load i32, ptr %37, align 4, !tbaa !9
  %6430 = call i32 @w2c_hermes_hermes0x3A0x3ARegisterAllocator0x3A0x3AgetRegister0x28hermes0x3A0x3AValue0x2A0x29(ptr noundef %6427, i32 noundef %6428, i32 noundef %6429)
  store i32 %6430, ptr %36, align 4, !tbaa !9
  %6431 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %6431, ptr %10, align 4, !tbaa !9
  %6432 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %6432, ptr %36, align 4, !tbaa !9
  %6433 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6433, ptr %37, 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 %36, align 4, !tbaa !9
  %6437 = zext i32 %6436 to i64
  %6438 = add i64 %6437, 420
  %6439 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6435, i64 noundef %6438, i32 noundef %6439)
  %6440 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %6440, ptr %36, align 4, !tbaa !9
  %6441 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %6441, ptr %37, align 4, !tbaa !9
  store i32 420, ptr %38, align 4, !tbaa !9
  %6442 = load i32, ptr %38, align 4, !tbaa !9
  %6443 = load i32, ptr %37, align 4, !tbaa !9
  %6444 = add i32 %6443, %6442
  store i32 %6444, ptr %37, align 4, !tbaa !9
  %6445 = load ptr, ptr %4, align 8, !tbaa !5
  %6446 = load i32, ptr %36, align 4, !tbaa !9
  %6447 = load i32, ptr %37, align 4, !tbaa !9
  %6448 = call i32 @w2c_hermes_llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3ARegister0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3AValue0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3ARegister0x3E0x3E0x2C0x20hermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3ARegister0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3AValue0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3ARegister0x3E0x3E0x3A0x3AFindAndConstruct0x28hermes0x3A0x3AValue0x2A0x20const0x260x29(ptr noundef %6445, i32 noundef %6446, i32 noundef %6447)
  store i32 %6448, ptr %36, align 4, !tbaa !9
  %6449 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %6449, ptr %37, align 4, !tbaa !9
  %6450 = load ptr, ptr %4, align 8, !tbaa !5
  %6451 = getelementptr inbounds %struct.w2c_hermes, ptr %6450, i32 0, i32 6
  %6452 = load i32, ptr %36, align 4, !tbaa !9
  %6453 = zext i32 %6452 to i64
  %6454 = add i64 %6453, 4
  %6455 = load i32, ptr %37, align 4, !tbaa !9
  call void @i32_store(ptr noundef %6451, i64 noundef %6454, i32 noundef %6455)
  %6456 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %6456, ptr %36, align 4, !tbaa !9
  store i32 8, ptr %37, align 4, !tbaa !9
  %6457 = load i32, ptr %37, align 4, !tbaa !9
  %6458 = load i32, ptr %36, align 4, !tbaa !9
  %6459 = add i32 %6458, %6457
  store i32 %6459, ptr %36, align 4, !tbaa !9
  %6460 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %6460, ptr %7, align 4, !tbaa !9
  %6461 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %6461, ptr %37, align 4, !tbaa !9
  %6462 = load i32, ptr %36, align 4, !tbaa !9
  %6463 = load i32, ptr %37, align 4, !tbaa !9
  %6464 = icmp ugt i32 %6462, %6463
  %6465 = zext i1 %6464 to i32
  store i32 %6465, ptr %36, align 4, !tbaa !9
  %6466 = load i32, ptr %36, align 4, !tbaa !9
  %6467 = icmp ne i32 %6466, 0
  br i1 %6467, label %6468, label %6469

6468:                                             ; preds = %6425
  br label %6563

6469:                                             ; preds = %6425
  %6470 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %6470, ptr %36, align 4, !tbaa !9
  %6471 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %6471, ptr %6, align 4, !tbaa !9
  %6472 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6472, ptr %37, align 4, !tbaa !9
  %6473 = load i32, ptr %36, align 4, !tbaa !9
  %6474 = load i32, ptr %37, align 4, !tbaa !9
  %6475 = icmp eq i32 %6473, %6474
  %6476 = zext i1 %6475 to i32
  store i32 %6476, ptr %36, align 4, !tbaa !9
  %6477 = load i32, ptr %36, align 4, !tbaa !9
  %6478 = icmp ne i32 %6477, 0
  br i1 %6478, label %6479, label %6480

6479:                                             ; preds = %6469
  br label %6516

6480:                                             ; preds = %6469
  br label %6481

6481:                                             ; preds = %6512, %6480
  %6482 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6482, ptr %36, align 4, !tbaa !9
  %6483 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %6483, ptr %6, align 4, !tbaa !9
  %6484 = load ptr, ptr %4, align 8, !tbaa !5
  %6485 = getelementptr inbounds %struct.w2c_hermes, ptr %6484, i32 0, i32 6
  %6486 = load i32, ptr %36, align 4, !tbaa !9
  %6487 = zext i32 %6486 to i64
  %6488 = call i32 @i32_load(ptr noundef %6485, i64 noundef %6487)
  store i32 %6488, ptr %36, align 4, !tbaa !9
  store i32 8, ptr %37, align 4, !tbaa !9
  %6489 = load i32, ptr %37, align 4, !tbaa !9
  %6490 = load i32, ptr %36, align 4, !tbaa !9
  %6491 = add i32 %6490, %6489
  store i32 %6491, ptr %36, align 4, !tbaa !9
  %6492 = load i32, ptr %36, align 4, !tbaa !9
  switch i32 %6492, label %6498 [
    i32 0, label %6493
    i32 1, label %6494
    i32 2, label %6495
    i32 3, label %6496
    i32 4, label %6497
  ]

6493:                                             ; preds = %6481
  br label %6499

6494:                                             ; preds = %6481
  br label %6516

6495:                                             ; preds = %6481
  br label %6516

6496:                                             ; preds = %6481
  br label %6516

6497:                                             ; preds = %6481
  br label %6499

6498:                                             ; preds = %6481
  br label %6516

6499:                                             ; preds = %6497, %6493
  %6500 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %6500, ptr %36, align 4, !tbaa !9
  store i32 8, ptr %37, align 4, !tbaa !9
  %6501 = load i32, ptr %37, align 4, !tbaa !9
  %6502 = load i32, ptr %36, align 4, !tbaa !9
  %6503 = add i32 %6502, %6501
  store i32 %6503, ptr %36, align 4, !tbaa !9
  %6504 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %6504, ptr %7, align 4, !tbaa !9
  %6505 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %6505, ptr %37, align 4, !tbaa !9
  %6506 = load i32, ptr %36, align 4, !tbaa !9
  %6507 = load i32, ptr %37, align 4, !tbaa !9
  %6508 = icmp ne i32 %6506, %6507
  %6509 = zext i1 %6508 to i32
  store i32 %6509, ptr %36, align 4, !tbaa !9
  %6510 = load i32, ptr %36, align 4, !tbaa !9
  %6511 = icmp ne i32 %6510, 0
  br i1 %6511, label %6512, label %6513

6512:                                             ; preds = %6499
  br label %6481

6513:                                             ; preds = %6499
  %6514 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %6514, ptr %36, align 4, !tbaa !9
  %6515 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %6515, ptr %6, align 4, !tbaa !9
  br label %6516

6516:                                             ; preds = %6513, %6498, %6496, %6495, %6494, %6479
  %6517 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %6517, ptr %36, align 4, !tbaa !9
  %6518 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %6518, ptr %37, align 4, !tbaa !9
  %6519 = load i32, ptr %36, align 4, !tbaa !9
  %6520 = load i32, ptr %37, align 4, !tbaa !9
  %6521 = icmp ne i32 %6519, %6520
  %6522 = zext i1 %6521 to i32
  store i32 %6522, ptr %36, align 4, !tbaa !9
  %6523 = load i32, ptr %36, align 4, !tbaa !9
  %6524 = icmp ne i32 %6523, 0
  br i1 %6524, label %6525, label %6526

6525:                                             ; preds = %6516
  br label %6218

6526:                                             ; preds = %6516
  br label %6581

6527:                                             ; preds = %5666
  store i32 0, ptr %36, align 4, !tbaa !9
  %6528 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %6528, ptr %6, align 4, !tbaa !9
  store i32 118701, ptr %37, align 4, !tbaa !9
  %6529 = load i32, ptr %37, align 4, !tbaa !9
  %6530 = load i32, ptr %36, align 4, !tbaa !9
  %6531 = add i32 %6530, %6529
  store i32 %6531, ptr %36, align 4, !tbaa !9
  %6532 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %6532, ptr %37, align 4, !tbaa !9
  store i32 79572, ptr %38, align 4, !tbaa !9
  %6533 = load i32, ptr %38, align 4, !tbaa !9
  %6534 = load i32, ptr %37, align 4, !tbaa !9
  %6535 = add i32 %6534, %6533
  store i32 %6535, ptr %37, align 4, !tbaa !9
  store i32 161, ptr %38, align 4, !tbaa !9
  %6536 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %6536, ptr %39, align 4, !tbaa !9
  store i32 108367, ptr %40, align 4, !tbaa !9
  %6537 = load i32, ptr %40, align 4, !tbaa !9
  %6538 = load i32, ptr %39, align 4, !tbaa !9
  %6539 = add i32 %6538, %6537
  store i32 %6539, ptr %39, align 4, !tbaa !9
  %6540 = load ptr, ptr %4, align 8, !tbaa !5
  %6541 = load i32, ptr %36, align 4, !tbaa !9
  %6542 = load i32, ptr %37, align 4, !tbaa !9
  %6543 = load i32, ptr %38, align 4, !tbaa !9
  %6544 = load i32, ptr %39, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %6540, i32 noundef %6541, i32 noundef %6542, i32 noundef %6543, i32 noundef %6544)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

6545:                                             ; preds = %6141
  store i32 0, ptr %36, align 4, !tbaa !9
  %6546 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %6546, ptr %6, align 4, !tbaa !9
  store i32 103214, ptr %37, align 4, !tbaa !9
  %6547 = load i32, ptr %37, align 4, !tbaa !9
  %6548 = load i32, ptr %36, align 4, !tbaa !9
  %6549 = add i32 %6548, %6547
  store i32 %6549, ptr %36, align 4, !tbaa !9
  %6550 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %6550, ptr %37, align 4, !tbaa !9
  store i32 81389, ptr %38, align 4, !tbaa !9
  %6551 = load i32, ptr %38, align 4, !tbaa !9
  %6552 = load i32, ptr %37, align 4, !tbaa !9
  %6553 = add i32 %6552, %6551
  store i32 %6553, ptr %37, align 4, !tbaa !9
  store i32 1212, ptr %38, align 4, !tbaa !9
  %6554 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %6554, ptr %39, align 4, !tbaa !9
  store i32 40687, ptr %40, align 4, !tbaa !9
  %6555 = load i32, ptr %40, align 4, !tbaa !9
  %6556 = load i32, ptr %39, align 4, !tbaa !9
  %6557 = add i32 %6556, %6555
  store i32 %6557, ptr %39, align 4, !tbaa !9
  %6558 = load ptr, ptr %4, align 8, !tbaa !5
  %6559 = load i32, ptr %36, align 4, !tbaa !9
  %6560 = load i32, ptr %37, align 4, !tbaa !9
  %6561 = load i32, ptr %38, align 4, !tbaa !9
  %6562 = load i32, ptr %39, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %6558, i32 noundef %6559, i32 noundef %6560, i32 noundef %6561, i32 noundef %6562)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

6563:                                             ; preds = %6468
  store i32 0, ptr %36, align 4, !tbaa !9
  %6564 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %6564, ptr %6, align 4, !tbaa !9
  store i32 103214, ptr %37, align 4, !tbaa !9
  %6565 = load i32, ptr %37, align 4, !tbaa !9
  %6566 = load i32, ptr %36, align 4, !tbaa !9
  %6567 = add i32 %6566, %6565
  store i32 %6567, ptr %36, align 4, !tbaa !9
  %6568 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %6568, ptr %37, align 4, !tbaa !9
  store i32 81389, ptr %38, align 4, !tbaa !9
  %6569 = load i32, ptr %38, align 4, !tbaa !9
  %6570 = load i32, ptr %37, align 4, !tbaa !9
  %6571 = add i32 %6570, %6569
  store i32 %6571, ptr %37, align 4, !tbaa !9
  store i32 1212, ptr %38, align 4, !tbaa !9
  %6572 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %6572, ptr %39, align 4, !tbaa !9
  store i32 40687, ptr %40, align 4, !tbaa !9
  %6573 = load i32, ptr %40, align 4, !tbaa !9
  %6574 = load i32, ptr %39, align 4, !tbaa !9
  %6575 = add i32 %6574, %6573
  store i32 %6575, ptr %39, align 4, !tbaa !9
  %6576 = load ptr, ptr %4, align 8, !tbaa !5
  %6577 = load i32, ptr %36, align 4, !tbaa !9
  %6578 = load i32, ptr %37, align 4, !tbaa !9
  %6579 = load i32, ptr %38, align 4, !tbaa !9
  %6580 = load i32, ptr %39, align 4, !tbaa !9
  call void @w2c_hermes_0x5F_assert_fail(ptr noundef %6576, i32 noundef %6577, i32 noundef %6578, i32 noundef %6579, i32 noundef %6580)
  call void @wasm_rt_trap(i32 noundef 5) #7
  unreachable

6581:                                             ; preds = %6526, %6211
  %6582 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %6582, ptr %36, align 4, !tbaa !9
  %6583 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %6583, ptr %37, align 4, !tbaa !9
  %6584 = load ptr, ptr %4, align 8, !tbaa !5
  %6585 = getelementptr inbounds %struct.w2c_hermes, ptr %6584, i32 0, i32 6
  %6586 = load i32, ptr %37, align 4, !tbaa !9
  %6587 = zext i32 %6586 to i64
  %6588 = add i64 %6587, 72
  %6589 = call i32 @i32_load(ptr noundef %6585, i64 noundef %6588)
  store i32 %6589, ptr %37, align 4, !tbaa !9
  %6590 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6590, ptr %6, align 4, !tbaa !9
  %6591 = load i32, ptr %36, align 4, !tbaa !9
  %6592 = load i32, ptr %37, align 4, !tbaa !9
  %6593 = icmp ne i32 %6591, %6592
  %6594 = zext i1 %6593 to i32
  store i32 %6594, ptr %36, align 4, !tbaa !9
  %6595 = load i32, ptr %36, align 4, !tbaa !9
  %6596 = icmp ne i32 %6595, 0
  br i1 %6596, label %6597, label %6601

6597:                                             ; preds = %6581
  %6598 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %6598, ptr %36, align 4, !tbaa !9
  %6599 = load ptr, ptr %4, align 8, !tbaa !5
  %6600 = load i32, ptr %36, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %6599, i32 noundef %6600)
  br label %6601

6601:                                             ; preds = %6597, %6581
  %6602 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %6602, ptr %36, align 4, !tbaa !9
  %6603 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %6603, ptr %37, 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 %37, align 4, !tbaa !9
  %6607 = zext i32 %6606 to i64
  %6608 = add i64 %6607, 216
  %6609 = call i32 @i32_load(ptr noundef %6605, i64 noundef %6608)
  store i32 %6609, ptr %37, align 4, !tbaa !9
  %6610 = load i32, ptr %37, align 4, !tbaa !9
  store i32 %6610, ptr %6, align 4, !tbaa !9
  %6611 = load i32, ptr %36, align 4, !tbaa !9
  %6612 = load i32, ptr %37, align 4, !tbaa !9
  %6613 = icmp ne i32 %6611, %6612
  %6614 = zext i1 %6613 to i32
  store i32 %6614, ptr %36, align 4, !tbaa !9
  %6615 = load i32, ptr %36, align 4, !tbaa !9
  %6616 = icmp ne i32 %6615, 0
  br i1 %6616, label %6617, label %6621

6617:                                             ; preds = %6601
  %6618 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %6618, ptr %36, align 4, !tbaa !9
  %6619 = load ptr, ptr %4, align 8, !tbaa !5
  %6620 = load i32, ptr %36, align 4, !tbaa !9
  call void @w2c_hermes_dlfree(ptr noundef %6619, i32 noundef %6620)
  br label %6621

6621:                                             ; preds = %6617, %6601
  %6622 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %6622, ptr %36, align 4, !tbaa !9
  %6623 = load ptr, ptr %4, align 8, !tbaa !5
  %6624 = getelementptr inbounds %struct.w2c_hermes, ptr %6623, i32 0, i32 6
  %6625 = load i32, ptr %36, align 4, !tbaa !9
  %6626 = zext i32 %6625 to i64
  %6627 = add i64 %6626, 368
  %6628 = call i32 @i32_load(ptr noundef %6624, i64 noundef %6627)
  store i32 %6628, ptr %36, align 4, !tbaa !9
  %6629 = load ptr, ptr %4, align 8, !tbaa !5
  %6630 = load i32, ptr %36, align 4, !tbaa !9
  call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %6629, i32 noundef %6630)
  br label %6631

6631:                                             ; preds = %6621, %513
  %6632 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %6632, ptr %36, align 4, !tbaa !9
  store i32 448, ptr %37, align 4, !tbaa !9
  %6633 = load i32, ptr %37, align 4, !tbaa !9
  %6634 = load i32, ptr %36, align 4, !tbaa !9
  %6635 = add i32 %6634, %6633
  store i32 %6635, ptr %36, align 4, !tbaa !9
  %6636 = load i32, ptr %36, align 4, !tbaa !9
  %6637 = load ptr, ptr %4, align 8, !tbaa !5
  %6638 = getelementptr inbounds %struct.w2c_hermes, ptr %6637, i32 0, i32 3
  store i32 %6636, ptr %6638, align 8, !tbaa !13
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #6
  ret void
}

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

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

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

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"int", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"long", !7, i64 0}
!13 = !{!14, !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}
!18 = !{!14, !10, i64 92}
!19 = !{!14, !6, i64 80}
!20 = !{!21, !6, i64 8}
!21 = !{!"", !6, i64 0, !6, i64 8, !6, i64 16}
!22 = !{!21, !6, i64 0}
!23 = !{!21, !6, i64 16}


; 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"

%struct.wasm_rt_funcref_t = type { ptr, ptr, ptr }

@w2c_hermes_t0 = external local_unnamed_addr constant ptr, align 8

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

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

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

; Function Attrs: inlinehint nounwind uwtable
declare hidden zeroext i1 @func_types_eq(ptr noundef, ptr noundef) local_unnamed_addr #0

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

declare i32 @w2c_hermes_llvh0x3A0x3Adbgs0x280x29(ptr noundef) local_unnamed_addr #2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: nounwind uwtable
define dso_local void @w2c_hermes_hermes0x3A0x3ARegisterAllocator0x3A0x3Aallocate0x28llvh0x3A0x3AArrayRef0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x29(ptr noundef %0, i32 noundef %1, i32 noundef %2) local_unnamed_addr #3 {
  %4 = getelementptr inbounds i8, ptr %0, i64 24
  %5 = load i32, ptr %4, align 8, !tbaa !5
  %6 = add i32 %5, -448
  store i32 %6, ptr %4, align 8, !tbaa !5
  %7 = getelementptr inbounds i8, ptr %0, i64 40
  %8 = zext i32 %2 to i64
  %9 = tail call i64 @i64_load(ptr noundef nonnull %7, i64 noundef %8)
  %10 = zext i32 %6 to i64
  %11 = add nuw nsw i64 %10, 40
  tail call void @i64_store(ptr noundef nonnull %7, i64 noundef %11, i64 noundef %9)
  %12 = add nuw nsw i64 %10, 408
  tail call void @i64_store(ptr noundef nonnull %7, i64 noundef %12, i64 noundef %9)
  %13 = add i32 %5, -408
  tail call void @w2c_hermes_hermes0x3A0x3ARegisterAllocator0x3A0x3AlowerPhis0x28llvh0x3A0x3AArrayRef0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x29(ptr noundef %0, i32 noundef %1, i32 noundef %13)
  %14 = trunc i64 %9 to i32
  %15 = lshr i64 %9, 32
  %16 = trunc nuw i64 %15 to i32
  %.not = icmp ult i64 %9, 4294967296
  br i1 %.not, label %61, label %17

17:                                               ; preds = %3
  %18 = add i32 %16, 1073741823
  %19 = and i32 %18, 1073741823
  %.not3787 = icmp eq i32 %19, 0
  br i1 %.not3787, label %.loopexit3929, label %20

20:                                               ; preds = %17
  %21 = add nuw nsw i32 %19, 1
  %22 = and i32 %21, 2147483646
  br label %23

23:                                               ; preds = %.loopexit3926, %20
  %.03684 = phi i32 [ %14, %20 ], [ %45, %.loopexit3926 ]
  %.03676 = phi i32 [ 0, %20 ], [ %46, %.loopexit3926 ]
  %.03672 = phi i32 [ 0, %20 ], [ %47, %.loopexit3926 ]
  %24 = zext i32 %.03684 to i64
  %25 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %24)
  %26 = zext i32 %25 to i64
  %27 = add nuw nsw i64 %26, 40
  %28 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %27)
  %29 = add i32 %25, 36
  %.not3788 = icmp eq i32 %28, %29
  br i1 %.not3788, label %.loopexit3928, label %.preheader3927

.preheader3927:                                   ; preds = %23, %.preheader3927
  %.03705 = phi i32 [ %33, %.preheader3927 ], [ %28, %23 ]
  %.0 = phi i32 [ %30, %.preheader3927 ], [ 0, %23 ]
  %30 = add i32 %.0, 1
  %31 = zext i32 %.03705 to i64
  %32 = add nuw nsw i64 %31, 4
  %33 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %32)
  %.not3789 = icmp eq i32 %33, %29
  br i1 %.not3789, label %.loopexit3928, label %.preheader3927

.loopexit3928:                                    ; preds = %.preheader3927, %23
  %.1 = phi i32 [ 0, %23 ], [ %30, %.preheader3927 ]
  %34 = add i32 %.1, %.03676
  %35 = add nuw nsw i64 %24, 4
  %36 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %35)
  %37 = zext i32 %36 to i64
  %38 = add nuw nsw i64 %37, 40
  %39 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %38)
  %40 = add i32 %36, 36
  %.not3790 = icmp eq i32 %39, %40
  br i1 %.not3790, label %.loopexit3926, label %.preheader3925

.preheader3925:                                   ; preds = %.loopexit3928, %.preheader3925
  %.13706 = phi i32 [ %44, %.preheader3925 ], [ %39, %.loopexit3928 ]
  %.2 = phi i32 [ %41, %.preheader3925 ], [ 0, %.loopexit3928 ]
  %41 = add i32 %.2, 1
  %42 = zext i32 %.13706 to i64
  %43 = add nuw nsw i64 %42, 4
  %44 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %43)
  %.not3791 = icmp eq i32 %44, %40
  br i1 %.not3791, label %.loopexit3926, label %.preheader3925

.loopexit3926:                                    ; preds = %.preheader3925, %.loopexit3928
  %.3 = phi i32 [ 0, %.loopexit3928 ], [ %41, %.preheader3925 ]
  %45 = add i32 %.03684, 8
  %46 = add i32 %34, %.3
  %47 = add nuw nsw i32 %.03672, 2
  %.not3792 = icmp eq i32 %47, %22
  br i1 %.not3792, label %.loopexit3929, label %23

.loopexit3929:                                    ; preds = %.loopexit3926, %17
  %.13685 = phi i32 [ %14, %17 ], [ %45, %.loopexit3926 ]
  %.13677 = phi i32 [ 0, %17 ], [ %46, %.loopexit3926 ]
  %48 = and i32 %18, 1
  %.not3793.not = icmp eq i32 %48, 0
  br i1 %.not3793.not, label %49, label %61

49:                                               ; preds = %.loopexit3929
  %50 = zext i32 %.13685 to i64
  %51 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %50)
  %52 = zext i32 %51 to i64
  %53 = add nuw nsw i64 %52, 40
  %54 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %53)
  %55 = add i32 %51, 36
  %.not3794 = icmp eq i32 %54, %55
  br i1 %.not3794, label %.loopexit3924, label %.preheader3923

.preheader3923:                                   ; preds = %49, %.preheader3923
  %.23707 = phi i32 [ %59, %.preheader3923 ], [ %54, %49 ]
  %.4 = phi i32 [ %56, %.preheader3923 ], [ 0, %49 ]
  %56 = add i32 %.4, 1
  %57 = zext i32 %.23707 to i64
  %58 = add nuw nsw i64 %57, 4
  %59 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %58)
  %.not3795 = icmp eq i32 %59, %55
  br i1 %.not3795, label %.loopexit3924, label %.preheader3923

.loopexit3924:                                    ; preds = %.preheader3923, %49
  %.5 = phi i32 [ 0, %49 ], [ %56, %.preheader3923 ]
  %60 = add i32 %.5, %.13677
  br label %61

61:                                               ; preds = %.loopexit3929, %3, %.loopexit3924
  %.23678 = phi i32 [ 0, %3 ], [ %.13677, %.loopexit3929 ], [ %60, %.loopexit3924 ]
  %62 = zext i32 %1 to i64
  %63 = add nuw nsw i64 %62, 1112
  %64 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %63)
  %65 = icmp ult i32 %.23678, %64
  br i1 %65, label %95, label %66

66:                                               ; preds = %61
  %67 = add nuw nsw i64 %62, 1120
  %68 = tail call i64 @i64_load(ptr noundef nonnull %7, i64 noundef %67)
  %69 = zext i32 %.23678 to i64
  %70 = mul nuw nsw i64 %15, 5
  %71 = mul i64 %70, %69
  %72 = lshr i64 %71, 3
  %73 = icmp ult i64 %68, %72
  br i1 %73, label %95, label %74

74:                                               ; preds = %66
  br i1 %.not, label %93, label %75

75:                                               ; preds = %74
  %76 = shl i32 %16, 2
  %77 = add i32 %76, %14
  br label %78

78:                                               ; preds = %.loopexit3922, %75
  %.03693 = phi i32 [ %14, %75 ], [ %91, %.loopexit3922 ]
  %79 = zext i32 %.03693 to i64
  %80 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %79)
  %81 = zext i32 %80 to i64
  %82 = add nuw nsw i64 %81, 40
  %83 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %82)
  %84 = add i32 %80, 36
  %.not3796 = icmp eq i32 %83, %84
  br i1 %.not3796, label %.loopexit3922, label %.preheader3921

.preheader3921:                                   ; preds = %78, %87
  %.6 = phi i32 [ %90, %87 ], [ %83, %78 ]
  %85 = tail call i32 @w2c_hermes_hermes0x3A0x3ARegisterAllocator0x3A0x3AgetInstructionNumber0x28hermes0x3A0x3AInstruction0x2A0x29(ptr noundef %0, i32 noundef %1, i32 noundef %.6)
  %86 = tail call i32 @w2c_hermes_hermes0x3A0x3ARegisterAllocator0x3A0x3AgetInstructionNumber0x28hermes0x3A0x3AInstruction0x2A0x29(ptr noundef %0, i32 noundef %1, i32 noundef %.6)
  %.not3797 = icmp eq i32 %85, %86
  br i1 %.not3797, label %87, label %92

87:                                               ; preds = %.preheader3921
  %88 = zext i32 %.6 to i64
  %89 = add nuw nsw i64 %88, 4
  %90 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %89)
  %.not3798 = icmp eq i32 %90, %84
  br i1 %.not3798, label %.loopexit3922, label %.preheader3921

.loopexit3922:                                    ; preds = %87, %78
  %91 = add i32 %.03693, 4
  %.not3799 = icmp eq i32 %77, %91
  br i1 %.not3799, label %99, label %78

92:                                               ; preds = %.preheader3921
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef %0, i32 noundef 162560, i32 noundef 61865, i32 noundef 624, i32 noundef 91419) #5
  tail call void @wasm_rt_trap(i32 noundef 5) #6
  unreachable

93:                                               ; preds = %74
  %94 = add i32 %1, 40
  %.pre = add i32 %1, 4
  %.pre3997 = add nuw nsw i64 %10, 216
  br label %.loopexit3920

95:                                               ; preds = %66, %61
  %96 = add nuw nsw i64 %10, 8
  tail call void @i64_store(ptr noundef nonnull %7, i64 noundef %96, i64 noundef %9)
  %97 = add nuw nsw i64 %10, 400
  tail call void @i64_store(ptr noundef nonnull %7, i64 noundef %97, i64 noundef %9)
  %98 = add i32 %5, -440
  tail call void @w2c_hermes_hermes0x3A0x3ARegisterAllocator0x3A0x3AallocateFastPass0x28llvh0x3A0x3AArrayRef0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x29(ptr noundef %0, i32 noundef %1, i32 noundef %98)
  br label %1148

99:                                               ; preds = %.loopexit3922
  %100 = add i32 %1, 40
  %101 = zext i32 %100 to i64
  %102 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %101)
  %103 = add i32 %1, 4
  %104 = add nuw nsw i64 %10, 216
  %105 = add i32 %5, -232
  br label %106

106:                                              ; preds = %106, %99
  %.13694 = phi i32 [ %14, %99 ], [ %115, %106 ]
  %107 = zext i32 %.13694 to i64
  %108 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %107)
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %104, i32 noundef %108)
  %109 = tail call i32 @w2c_hermes_llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20hermes0x3A0x3ARegisterAllocator0x3A0x3ABlockLifetimeInfo0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20hermes0x3A0x3ARegisterAllocator0x3A0x3ABlockLifetimeInfo0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20hermes0x3A0x3ARegisterAllocator0x3A0x3ABlockLifetimeInfo0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20hermes0x3A0x3ARegisterAllocator0x3A0x3ABlockLifetimeInfo0x3E0x3E0x3A0x3AFindAndConstruct0x28hermes0x3A0x3ABasicBlock0x2A0x20const0x260x29(ptr noundef %0, i32 noundef %103, i32 noundef %105) #5
  %110 = add i32 %109, 4
  tail call void @w2c_hermes_llvh0x3A0x3ABitVector0x3A0x3Aresize0x28unsigned0x20int0x2C0x20bool0x29(ptr noundef %0, i32 noundef %110, i32 noundef %102, i32 noundef 0) #5
  %111 = add i32 %109, 16
  tail call void @w2c_hermes_llvh0x3A0x3ABitVector0x3A0x3Aresize0x28unsigned0x20int0x2C0x20bool0x29(ptr noundef %0, i32 noundef %111, i32 noundef %102, i32 noundef 0) #5
  %112 = add i32 %109, 28
  tail call void @w2c_hermes_llvh0x3A0x3ABitVector0x3A0x3Aresize0x28unsigned0x20int0x2C0x20bool0x29(ptr noundef %0, i32 noundef %112, i32 noundef %102, i32 noundef 0) #5
  %113 = add i32 %109, 40
  tail call void @w2c_hermes_llvh0x3A0x3ABitVector0x3A0x3Aresize0x28unsigned0x20int0x2C0x20bool0x29(ptr noundef %0, i32 noundef %113, i32 noundef %102, i32 noundef 0) #5
  %114 = add i32 %109, 52
  tail call void @w2c_hermes_llvh0x3A0x3ABitVector0x3A0x3Aresize0x28unsigned0x20int0x2C0x20bool0x29(ptr noundef %0, i32 noundef %114, i32 noundef %102, i32 noundef 0) #5
  %115 = add i32 %.13694, 4
  %.not3800 = icmp eq i32 %115, %77
  br i1 %.not3800, label %.preheader3919, label %106

.preheader3919:                                   ; preds = %106, %.preheader3919
  %.03674 = phi i32 [ %121, %.preheader3919 ], [ %14, %106 ]
  %116 = zext i32 %.03674 to i64
  %117 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %116)
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %104, i32 noundef %117)
  %118 = tail call i32 @w2c_hermes_llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20hermes0x3A0x3ARegisterAllocator0x3A0x3ABlockLifetimeInfo0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20hermes0x3A0x3ARegisterAllocator0x3A0x3ABlockLifetimeInfo0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20hermes0x3A0x3ARegisterAllocator0x3A0x3ABlockLifetimeInfo0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20hermes0x3A0x3ARegisterAllocator0x3A0x3ABlockLifetimeInfo0x3E0x3E0x3A0x3AFindAndConstruct0x28hermes0x3A0x3ABasicBlock0x2A0x20const0x260x29(ptr noundef %0, i32 noundef %103, i32 noundef %105) #5
  %119 = add i32 %118, 4
  %120 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %104)
  tail call void @w2c_hermes_hermes0x3A0x3ARegisterAllocator0x3A0x3AcalculateLocalLiveness0x28hermes0x3A0x3ARegisterAllocator0x3A0x3ABlockLifetimeInfo0x260x2C0x20hermes0x3A0x3ABasicBlock0x2A0x29(ptr noundef %0, i32 noundef %1, i32 noundef %119, i32 noundef %120)
  %121 = add i32 %.03674, 4
  %.not3801 = icmp eq i32 %121, %77
  br i1 %.not3801, label %.loopexit3920, label %.preheader3919

.loopexit3920:                                    ; preds = %.preheader3919, %93
  %.pre-phi3998 = phi i64 [ %.pre3997, %93 ], [ %104, %.preheader3919 ]
  %.pre-phi = phi i32 [ %.pre, %93 ], [ %103, %.preheader3919 ]
  %.03664 = phi i32 [ %94, %93 ], [ %100, %.preheader3919 ]
  %122 = add nuw nsw i64 %10, 32
  tail call void @i64_store(ptr noundef nonnull %7, i64 noundef %122, i64 noundef %9)
  %123 = add nuw nsw i64 %10, 392
  tail call void @i64_store(ptr noundef nonnull %7, i64 noundef %123, i64 noundef %9)
  %124 = add i32 %5, -416
  tail call void @w2c_hermes_hermes0x3A0x3ARegisterAllocator0x3A0x3AcalculateGlobalLiveness0x28llvh0x3A0x3AArrayRef0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x29(ptr noundef %0, i32 noundef %1, i32 noundef %124)
  %125 = add nuw nsw i64 %10, 24
  tail call void @i64_store(ptr noundef nonnull %7, i64 noundef %125, i64 noundef %9)
  %126 = add nuw nsw i64 %10, 384
  tail call void @i64_store(ptr noundef nonnull %7, i64 noundef %126, i64 noundef %9)
  %127 = add i32 %5, -424
  tail call void @w2c_hermes_hermes0x3A0x3ARegisterAllocator0x3A0x3AcalculateLiveIntervals0x28llvh0x3A0x3AArrayRef0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x29(ptr noundef %0, i32 noundef %1, i32 noundef %127)
  tail call void @w2c_hermes_llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20hermes0x3A0x3ARegisterAllocator0x3A0x3ABlockLifetimeInfo0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20hermes0x3A0x3ARegisterAllocator0x3A0x3ABlockLifetimeInfo0x3E0x3E0x2C0x20hermes0x3A0x3ABasicBlock0x2A0x2C0x20hermes0x3A0x3ARegisterAllocator0x3A0x3ABlockLifetimeInfo0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3ABasicBlock0x2A0x2C0x20hermes0x3A0x3ARegisterAllocator0x3A0x3ABlockLifetimeInfo0x3E0x3E0x3A0x3Aclear0x280x29(ptr noundef %0, i32 noundef %.pre-phi) #5
  %128 = add nuw nsw i64 %10, 376
  tail call void @i64_store(ptr noundef nonnull %7, i64 noundef %128, i64 noundef 0)
  %129 = add nuw nsw i64 %10, 360
  tail call void @i64_store(ptr noundef nonnull %7, i64 noundef %129, i64 noundef %9)
  %130 = add nuw nsw i64 %10, 16
  tail call void @i64_store(ptr noundef nonnull %7, i64 noundef %130, i64 noundef %9)
  %131 = add nuw nsw i64 %10, 368
  tail call void @i64_store(ptr noundef nonnull %7, i64 noundef %131, i64 noundef 0)
  %132 = add i32 %5, -80
  %133 = add i32 %5, -432
  tail call void @w2c_hermes_hermes0x3A0x3ARegisterAllocator0x3A0x3Acoalesce0x28llvh0x3A0x3ADenseMap0x3Chermes0x3A0x3AInstruction0x2A0x2C0x20hermes0x3A0x3AInstruction0x2A0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3AInstruction0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3AInstruction0x2A0x2C0x20hermes0x3A0x3AInstruction0x2A0x3E0x3E0x260x2C0x20llvh0x3A0x3AArrayRef0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x29(ptr noundef %0, i32 noundef %1, i32 noundef %132, i32 noundef %133)
  %134 = add nuw nsw i64 %10, 356
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %134, i32 noundef %1)
  %135 = add nuw nsw i64 %10, 220
  tail call void @i64_store(ptr noundef nonnull %7, i64 noundef %135, i64 noundef 137438953472)
  %136 = add i32 %5, -220
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %.pre-phi3998, i32 noundef %136)
  %137 = add nuw nsw i64 %62, 40
  %138 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %137)
  %139 = icmp sgt i32 %138, 0
  br i1 %139, label %.preheader3918, label %968

.preheader3918:                                   ; preds = %.loopexit3920
  %140 = add nuw nsw i64 %10, 224
  %141 = add i32 %5, -232
  %142 = add nuw nsw i64 %10, 72
  %143 = add i32 %5, -376
  br label %144

144:                                              ; preds = %.preheader3918, %191
  %.03670 = phi i32 [ %192, %191 ], [ 0, %.preheader3918 ]
  %145 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %135)
  %146 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %140)
  %.not3802 = icmp ult i32 %145, %146
  br i1 %.not3802, label %149, label %147

147:                                              ; preds = %144
  tail call void @w2c_hermes_llvh0x3A0x3ASmallVectorBase0x3A0x3Agrow_pod0x28void0x2A0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef %0, i32 noundef %141, i32 noundef %136, i32 noundef 0, i32 noundef 4) #5
  %148 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %135)
  br label %149

149:                                              ; preds = %147, %144
  %.7 = phi i32 [ %148, %147 ], [ %145, %144 ]
  %150 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %.pre-phi3998)
  %151 = shl i32 %.7, 2
  %152 = add i32 %150, %151
  %153 = zext i32 %152 to i64
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %153, i32 noundef %.03670)
  %154 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %135)
  %155 = add i32 %154, 1
  %156 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %140)
  %157 = icmp ugt i32 %155, %156
  br i1 %157, label %958, label %158

158:                                              ; preds = %149
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %135, i32 noundef %155)
  %159 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %.pre-phi3998)
  %160 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %134)
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %142, i32 noundef %160)
  %161 = icmp slt i32 %155, 2
  br i1 %161, label %191, label %162

162:                                              ; preds = %158
  %163 = and i32 %155, 1073741822
  %164 = add nsw i32 %163, -2
  %165 = shl nsw i32 %164, 1
  %166 = add i32 %159, %165
  %167 = zext i32 %166 to i64
  %168 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %167)
  %169 = shl i32 %155, 2
  %170 = add i32 %169, -4
  %171 = add i32 %170, %159
  %172 = zext i32 %171 to i64
  %173 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %172)
  %174 = tail call i32 @w2c_hermes_hermes0x3A0x3ARegisterAllocator0x3A0x3Aallocate0x28llvh0x3A0x3AArrayRef0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x290x3A0x3A0x24_10x3A0x3Aoperator0x280x290x28unsigned0x20int0x2C0x20unsigned0x20int0x290x20const(ptr noundef %0, i32 noundef %143, i32 noundef %168, i32 noundef %173)
  %.not3803 = icmp eq i32 %174, 0
  br i1 %.not3803, label %191, label %175

175:                                              ; preds = %162
  %176 = lshr exact i32 %164, 1
  %177 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %172)
  br label %178

178:                                              ; preds = %182, %175
  %.33708 = phi i32 [ %171, %175 ], [ %.23695, %182 ]
  %.23695 = phi i32 [ %166, %175 ], [ %186, %182 ]
  %.8 = phi i32 [ %176, %175 ], [ %184, %182 ]
  %179 = zext i32 %.23695 to i64
  %180 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %179)
  %181 = zext i32 %.33708 to i64
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %181, i32 noundef %180)
  %.not3804 = icmp eq i32 %.8, 0
  br i1 %.not3804, label %190, label %182

182:                                              ; preds = %178
  %183 = add nsw i32 %.8, -1
  %184 = lshr i32 %183, 1
  %185 = shl i32 %184, 2
  %186 = add i32 %185, %159
  %187 = zext i32 %186 to i64
  %188 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %187)
  %189 = tail call i32 @w2c_hermes_hermes0x3A0x3ARegisterAllocator0x3A0x3Aallocate0x28llvh0x3A0x3AArrayRef0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x290x3A0x3A0x24_10x3A0x3Aoperator0x280x290x28unsigned0x20int0x2C0x20unsigned0x20int0x290x20const(ptr noundef %0, i32 noundef %143, i32 noundef %188, i32 noundef %177)
  %.not3805 = icmp eq i32 %189, 0
  br i1 %.not3805, label %190, label %178

190:                                              ; preds = %182, %178
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %179, i32 noundef %177)
  br label %191

191:                                              ; preds = %162, %158, %190
  %192 = add nuw nsw i32 %.03670, 1
  %.not3806 = icmp eq i32 %192, %138
  br i1 %.not3806, label %193, label %144

193:                                              ; preds = %191
  %194 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %135)
  %195 = add nuw nsw i64 %10, 212
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %195, i32 noundef %1)
  %196 = add nuw nsw i64 %10, 76
  tail call void @i64_store(ptr noundef nonnull %7, i64 noundef %196, i64 noundef 137438953472)
  %197 = add i32 %5, -364
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %142, i32 noundef %197)
  %.not3807 = icmp eq i32 %194, 0
  br i1 %.not3807, label %.loopexit3894, label %198

198:                                              ; preds = %193
  %199 = add i32 %1, 1084
  %200 = add i32 %1, 1100
  %201 = add i32 %5, -16
  %202 = add nuw nsw i64 %10, 420
  %203 = add i32 %5, -28
  %204 = zext i32 %.03664 to i64
  %205 = add nuw nsw i64 %62, 180
  %206 = add nuw nsw i64 %62, 176
  %207 = add nuw nsw i64 %62, 36
  %208 = add nuw nsw i64 %10, 424
  %209 = add i32 %5, -384
  %210 = add nuw nsw i64 %10, 64
  %211 = add nuw nsw i64 %10, 68
  %212 = add i32 %5, -392
  %213 = add nuw nsw i64 %10, 56
  %214 = add nuw nsw i64 %10, 60
  %215 = getelementptr inbounds i8, ptr %0, i64 80
  %216 = getelementptr inbounds i8, ptr %0, i64 92
  %217 = load ptr, ptr @w2c_hermes_t0, align 8
  %218 = add nuw nsw i64 %10, 380
  %219 = add nuw nsw i64 %62, 1096
  %220 = add nuw nsw i64 %62, 1084
  %221 = add nuw nsw i64 %10, 80
  br label %222

222:                                              ; preds = %.loopexit3912, %198
  %.9 = phi i32 [ %194, %198 ], [ %957, %.loopexit3912 ]
  %223 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %.pre-phi3998)
  %224 = zext i32 %223 to i64
  %225 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %224)
  %226 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %134)
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %202, i32 noundef %226)
  %227 = shl i32 %.9, 2
  %228 = icmp ult i32 %227, 5
  br i1 %228, label %289, label %229

229:                                              ; preds = %222
  %230 = and i32 %.9, 1073741823
  %231 = add nsw i32 %230, -2
  %232 = lshr i32 %231, 1
  br label %233

233:                                              ; preds = %249, %229
  %.43709 = phi i32 [ 0, %229 ], [ %.03661, %249 ]
  %.33696 = phi i32 [ %223, %229 ], [ %.10, %249 ]
  %234 = shl i32 %.43709, 1
  %235 = or disjoint i32 %234, 1
  %236 = shl i32 %.43709, 2
  %237 = add i32 %236, %.33696
  %238 = add i32 %237, 4
  %239 = add i32 %234, 2
  %.not3808 = icmp sgt i32 %230, %239
  br i1 %.not3808, label %240, label %249

240:                                              ; preds = %233
  %241 = add i32 %237, 8
  %242 = zext i32 %238 to i64
  %243 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %242)
  %244 = add nuw nsw i64 %242, 4
  %245 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %244)
  %246 = tail call i32 @w2c_hermes_hermes0x3A0x3ARegisterAllocator0x3A0x3Aallocate0x28llvh0x3A0x3AArrayRef0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x290x3A0x3A0x24_10x3A0x3Aoperator0x280x290x28unsigned0x20int0x2C0x20unsigned0x20int0x290x20const(ptr noundef %0, i32 noundef %203, i32 noundef %243, i32 noundef %245)
  %.not3809 = icmp eq i32 %246, 0
  %247 = select i1 %.not3809, i32 %238, i32 %241
  %248 = select i1 %.not3809, i32 %235, i32 %239
  br label %249

249:                                              ; preds = %233, %240
  %.03661 = phi i32 [ %248, %240 ], [ %235, %233 ]
  %.10 = phi i32 [ %247, %240 ], [ %238, %233 ]
  %250 = zext i32 %.10 to i64
  %251 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %250)
  %252 = zext i32 %.33696 to i64
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %252, i32 noundef %251)
  %.not3810 = icmp sgt i32 %.03661, %232
  br i1 %.not3810, label %253, label %233

253:                                              ; preds = %249
  %254 = add i32 %223, -4
  %255 = add i32 %254, %227
  %256 = icmp eq i32 %255, %.10
  br i1 %256, label %257, label %258

257:                                              ; preds = %253
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %250, i32 noundef %225)
  br label %289

258:                                              ; preds = %253
  %259 = zext i32 %255 to i64
  %260 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %259)
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %250, i32 noundef %260)
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %259, i32 noundef %225)
  %261 = sub i32 %.10, %223
  %262 = add i32 %261, 4
  %263 = icmp slt i32 %262, 5
  br i1 %263, label %289, label %264

264:                                              ; preds = %258
  %265 = lshr i32 %262, 2
  %266 = add nsw i32 %265, -2
  %267 = lshr i32 %266, 1
  %268 = shl i32 %267, 2
  %269 = add i32 %268, %223
  %270 = zext i32 %269 to i64
  %271 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %270)
  %272 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %250)
  %273 = tail call i32 @w2c_hermes_hermes0x3A0x3ARegisterAllocator0x3A0x3Aallocate0x28llvh0x3A0x3AArrayRef0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x290x3A0x3A0x24_10x3A0x3Aoperator0x280x290x28unsigned0x20int0x2C0x20unsigned0x20int0x290x20const(ptr noundef %0, i32 noundef %203, i32 noundef %271, i32 noundef %272)
  %.not3811 = icmp eq i32 %273, 0
  br i1 %.not3811, label %289, label %274

274:                                              ; preds = %264
  %275 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %250)
  br label %276

276:                                              ; preds = %280, %274
  %.53710 = phi i32 [ %267, %274 ], [ %282, %280 ]
  %.43697 = phi i32 [ %269, %274 ], [ %284, %280 ]
  %.11 = phi i32 [ %.10, %274 ], [ %.43697, %280 ]
  %277 = zext i32 %.43697 to i64
  %278 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %277)
  %279 = zext i32 %.11 to i64
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %279, i32 noundef %278)
  %.not3812 = icmp eq i32 %.53710, 0
  br i1 %.not3812, label %288, label %280

280:                                              ; preds = %276
  %281 = add nsw i32 %.53710, -1
  %282 = lshr i32 %281, 1
  %283 = shl i32 %282, 2
  %284 = add i32 %283, %223
  %285 = zext i32 %284 to i64
  %286 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %285)
  %287 = tail call i32 @w2c_hermes_hermes0x3A0x3ARegisterAllocator0x3A0x3Aallocate0x28llvh0x3A0x3AArrayRef0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x290x3A0x3A0x24_10x3A0x3Aoperator0x280x290x28unsigned0x20int0x2C0x20unsigned0x20int0x290x20const(ptr noundef %0, i32 noundef %203, i32 noundef %286, i32 noundef %275)
  %.not3813 = icmp eq i32 %287, 0
  br i1 %.not3813, label %288, label %276

288:                                              ; preds = %280, %276
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %277, i32 noundef %275)
  br label %289

289:                                              ; preds = %264, %258, %222, %288, %257
  %290 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %135)
  %291 = add i32 %290, -1
  %292 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %140)
  %293 = icmp ugt i32 %291, %292
  br i1 %293, label %959, label %294

294:                                              ; preds = %289
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %135, i32 noundef %291)
  %295 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %204)
  %.not3814 = icmp ugt i32 %295, %225
  br i1 %.not3814, label %296, label %960

296:                                              ; preds = %294
  %297 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %205)
  %.not3815 = icmp ugt i32 %297, %225
  br i1 %.not3815, label %298, label %961

298:                                              ; preds = %296
  %299 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %206)
  %300 = mul i32 %225, 28
  %301 = add i32 %299, %300
  %302 = zext i32 %301 to i64
  %303 = add nuw nsw i64 %302, 4
  %304 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %303)
  %.not3816 = icmp eq i32 %304, 0
  br i1 %.not3816, label %962, label %305

305:                                              ; preds = %298
  %306 = shl i32 %225, 2
  %307 = add i32 %304, 536870911
  %308 = and i32 %307, 536870911
  %309 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %302)
  %310 = zext i32 %309 to i64
  %311 = add nuw nsw i64 %310, 4
  %312 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %311)
  %313 = and i32 %304, 7
  %.not3817 = icmp eq i32 %313, 0
  br i1 %.not3817, label %.loopexit3917, label %.preheader3916

.preheader3916:                                   ; preds = %305, %.preheader3916
  %.63711 = phi i32 [ %319, %.preheader3916 ], [ 0, %305 ]
  %.03666 = phi i32 [ %317, %.preheader3916 ], [ %312, %305 ]
  %.12 = phi i32 [ %318, %.preheader3916 ], [ %309, %305 ]
  %314 = zext i32 %.12 to i64
  %315 = add nuw nsw i64 %314, 4
  %316 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %315)
  %317 = tail call i32 @llvm.umax.i32(i32 %316, i32 %.03666)
  %318 = add i32 %.12, 8
  %319 = add nuw nsw i32 %.63711, 1
  %.not3818 = icmp eq i32 %319, %313
  br i1 %.not3818, label %.loopexit3917, label %.preheader3916

.loopexit3917:                                    ; preds = %.preheader3916, %305
  %.13667 = phi i32 [ %312, %305 ], [ %317, %.preheader3916 ]
  %.13 = phi i32 [ %309, %305 ], [ %318, %.preheader3916 ]
  %320 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %207)
  %321 = add i32 %320, %306
  %322 = icmp ugt i32 %308, 6
  br i1 %322, label %323, label %.loopexit3915

323:                                              ; preds = %.loopexit3917
  %324 = shl i32 %304, 3
  %325 = add i32 %309, %324
  br label %326

326:                                              ; preds = %326, %323
  %.23668 = phi i32 [ %.13667, %323 ], [ %351, %326 ]
  %.14 = phi i32 [ %.13, %323 ], [ %352, %326 ]
  %327 = zext i32 %.14 to i64
  %328 = add nuw nsw i64 %327, 4
  %329 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %328)
  %330 = tail call i32 @llvm.umax.i32(i32 %329, i32 %.23668)
  %331 = add nuw nsw i64 %327, 12
  %332 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %331)
  %333 = tail call i32 @llvm.umax.i32(i32 %330, i32 %332)
  %334 = add nuw nsw i64 %327, 20
  %335 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %334)
  %336 = tail call i32 @llvm.umax.i32(i32 %333, i32 %335)
  %337 = add nuw nsw i64 %327, 28
  %338 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %337)
  %339 = tail call i32 @llvm.umax.i32(i32 %336, i32 %338)
  %340 = add nuw nsw i64 %327, 36
  %341 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %340)
  %342 = tail call i32 @llvm.umax.i32(i32 %339, i32 %341)
  %343 = add nuw nsw i64 %327, 44
  %344 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %343)
  %345 = tail call i32 @llvm.umax.i32(i32 %342, i32 %344)
  %346 = add nuw nsw i64 %327, 52
  %347 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %346)
  %348 = tail call i32 @llvm.umax.i32(i32 %345, i32 %347)
  %349 = add nuw nsw i64 %327, 60
  %350 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %349)
  %351 = tail call i32 @llvm.umax.i32(i32 %348, i32 %350)
  %352 = add i32 %.14, 64
  %.not3819 = icmp eq i32 %352, %325
  br i1 %.not3819, label %.loopexit3915, label %326

.loopexit3915:                                    ; preds = %326, %.loopexit3917
  %.33669 = phi i32 [ %.13667, %.loopexit3917 ], [ %351, %326 ]
  %353 = zext i32 %321 to i64
  %354 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %353)
  %355 = tail call i32 @i32_load8_u(ptr noundef nonnull %7, i64 noundef 292576)
  %.not3820 = icmp eq i32 %355, 0
  br i1 %.not3820, label %446, label %356

356:                                              ; preds = %.loopexit3915
  %357 = tail call i32 @w2c_hermes_llvh0x3A0x3AisCurrentDebugType0x28char0x20const0x2A0x29(ptr noundef %0, i32 noundef 107217) #5
  %.not3821 = icmp eq i32 %357, 0
  br i1 %.not3821, label %446, label %358

358:                                              ; preds = %356
  %359 = tail call i32 @w2c_hermes_llvh0x3A0x3Adbgs0x280x29(ptr noundef %0) #5
  %360 = zext i32 %359 to i64
  %361 = add nuw nsw i64 %360, 8
  %362 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %361)
  %363 = add nuw nsw i64 %360, 12
  %364 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %363)
  %365 = sub i32 %362, %364
  %366 = icmp ult i32 %365, 17
  br i1 %366, label %367, label %369

367:                                              ; preds = %358
  %368 = tail call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Awrite0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef %0, i32 noundef %359, i32 noundef 208538, i32 noundef 17) #5
  br label %378

369:                                              ; preds = %358
  %370 = tail call i64 @i64_load(ptr noundef nonnull %7, i64 noundef 208538)
  %371 = zext i32 %364 to i64
  tail call void @i64_store(ptr noundef nonnull %7, i64 noundef %371, i64 noundef %370)
  %372 = tail call i32 @i32_load8_u(ptr noundef nonnull %7, i64 noundef 208554)
  %373 = add nuw nsw i64 %371, 16
  tail call void @i32_store8(ptr noundef nonnull %7, i64 noundef %373, i32 noundef %372)
  %374 = tail call i64 @i64_load(ptr noundef nonnull %7, i64 noundef 208546)
  %375 = add nuw nsw i64 %371, 8
  tail call void @i64_store(ptr noundef nonnull %7, i64 noundef %375, i64 noundef %374)
  %376 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %363)
  %377 = add i32 %376, 17
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %363, i32 noundef %377)
  br label %378

378:                                              ; preds = %369, %367
  %.15 = phi i32 [ %368, %367 ], [ %359, %369 ]
  %379 = tail call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Aoperator0x3C0x3C0x28unsigned0x20long0x29(ptr noundef %0, i32 noundef %.15, i32 noundef %.33669) #5
  %380 = zext i32 %379 to i64
  %381 = add nuw nsw i64 %380, 8
  %382 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %381)
  %383 = add nuw nsw i64 %380, 12
  %384 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %383)
  %385 = sub i32 %382, %384
  %386 = icmp ult i32 %385, 2
  br i1 %386, label %387, label %389

387:                                              ; preds = %378
  %388 = tail call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Awrite0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef %0, i32 noundef %379, i32 noundef 211261, i32 noundef 2) #5
  br label %393

389:                                              ; preds = %378
  %390 = zext i32 %384 to i64
  tail call void @i32_store16(ptr noundef nonnull %7, i64 noundef %390, i32 noundef 8250)
  %391 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %383)
  %392 = add i32 %391, 2
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %383, i32 noundef %392)
  br label %393

393:                                              ; preds = %389, %387
  %.73712 = phi i32 [ %388, %387 ], [ %379, %389 ]
  tail call void @w2c_hermes_hermes0x3A0x3AInterval0x3A0x3Acompress0x280x290x20const(ptr noundef %0, i32 noundef %203, i32 noundef %301)
  %394 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %202)
  %395 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %208)
  %.not3822 = icmp eq i32 %395, 0
  br i1 %.not3822, label %404, label %396

396:                                              ; preds = %393
  %397 = shl i32 %395, 3
  %398 = add i32 %397, %394
  br label %399

399:                                              ; preds = %399, %396
  %.16 = phi i32 [ %394, %396 ], [ %401, %399 ]
  %400 = tail call i32 @w2c_hermes_llvh0x3A0x3Aoperator0x3C0x3C0x28llvh0x3A0x3Araw_ostream0x260x2C0x20hermes0x3A0x3ASegment0x20const0x260x29(ptr noundef %0, i32 noundef %.73712, i32 noundef %.16) #5
  %401 = add i32 %.16, 8
  %.not3823 = icmp eq i32 %401, %398
  br i1 %.not3823, label %402, label %399

402:                                              ; preds = %399
  %403 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %202)
  br label %404

404:                                              ; preds = %402, %393
  %.17 = phi i32 [ %403, %402 ], [ %394, %393 ]
  %.not3824 = icmp eq i32 %.17, %201
  br i1 %.not3824, label %406, label %405

405:                                              ; preds = %404
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %.17) #5
  br label %406

406:                                              ; preds = %405, %404
  %407 = zext i32 %.73712 to i64
  %408 = add nuw nsw i64 %407, 12
  %409 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %408)
  %410 = add nuw nsw i64 %407, 8
  %411 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %410)
  %412 = icmp eq i32 %409, %411
  br i1 %412, label %413, label %415

413:                                              ; preds = %406
  %414 = tail call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Awrite0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef %0, i32 noundef %.73712, i32 noundef 211439, i32 noundef 1) #5
  %.pre4020 = zext i32 %414 to i64
  %.pre4022 = add nuw nsw i64 %.pre4020, 8
  %.pre4024 = add nuw nsw i64 %.pre4020, 12
  br label %419

415:                                              ; preds = %406
  %416 = zext i32 %409 to i64
  tail call void @i32_store8(ptr noundef nonnull %7, i64 noundef %416, i32 noundef 32)
  %417 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %408)
  %418 = add i32 %417, 1
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %408, i32 noundef %418)
  br label %419

419:                                              ; preds = %415, %413
  %.pre-phi4025 = phi i64 [ %408, %415 ], [ %.pre4024, %413 ]
  %.pre-phi4023 = phi i64 [ %410, %415 ], [ %.pre4022, %413 ]
  %.pre-phi4021 = phi i64 [ %407, %415 ], [ %.pre4020, %413 ]
  %.83713 = phi i32 [ %.73712, %415 ], [ %414, %413 ]
  tail call void @w2c_hermes_hermes0x3A0x3AInstruction0x3A0x3AgetName0x280x29(ptr noundef %0, i32 noundef %209, i32 noundef %354)
  %420 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %210)
  %421 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %211)
  %422 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %.pre-phi4023)
  %423 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %.pre-phi4025)
  %424 = sub i32 %422, %423
  %425 = icmp ugt i32 %421, %424
  br i1 %425, label %426, label %431

426:                                              ; preds = %419
  %427 = tail call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Awrite0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef %0, i32 noundef %.83713, i32 noundef %420, i32 noundef %421) #5
  %428 = zext i32 %427 to i64
  %429 = add nuw nsw i64 %428, 12
  %430 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %429)
  %.pre4027 = add nuw nsw i64 %428, 8
  br label %436

431:                                              ; preds = %419
  %.not3825 = icmp eq i32 %421, 0
  br i1 %.not3825, label %436, label %432

432:                                              ; preds = %431
  %433 = tail call i32 @w2c_hermes_0x5F_memcpy(ptr noundef %0, i32 noundef %423, i32 noundef %420, i32 noundef %421) #5
  %434 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %.pre-phi4025)
  %435 = add i32 %434, %421
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %.pre-phi4025, i32 noundef %435)
  br label %436

436:                                              ; preds = %431, %432, %426
  %.pre-phi4028 = phi i64 [ %.pre-phi4023, %431 ], [ %.pre-phi4023, %432 ], [ %.pre4027, %426 ]
  %.pre-phi4026 = phi i64 [ %.pre-phi4021, %431 ], [ %.pre-phi4021, %432 ], [ %428, %426 ]
  %.93714 = phi i32 [ %.83713, %431 ], [ %.83713, %432 ], [ %427, %426 ]
  %.18 = phi i32 [ %423, %431 ], [ %435, %432 ], [ %430, %426 ]
  %437 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %.pre-phi4028)
  %438 = icmp eq i32 %.18, %437
  br i1 %438, label %439, label %441

439:                                              ; preds = %436
  %440 = tail call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Awrite0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef %0, i32 noundef %.93714, i32 noundef 213024, i32 noundef 1) #5
  br label %446

441:                                              ; preds = %436
  %442 = zext i32 %.18 to i64
  tail call void @i32_store8(ptr noundef nonnull %7, i64 noundef %442, i32 noundef 10)
  %443 = add nuw nsw i64 %.pre-phi4026, 12
  %444 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %443)
  %445 = add i32 %444, 1
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %443, i32 noundef %445)
  br label %446

446:                                              ; preds = %356, %.loopexit3915, %441, %439
  %447 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %196)
  %.not3826 = icmp eq i32 %447, 0
  br i1 %.not3826, label %.loopexit3914, label %.preheader3913

.preheader3913:                                   ; preds = %446, %849
  %448 = tail call i32 @i32_load8_u(ptr noundef nonnull %7, i64 noundef 292576)
  %.not3827 = icmp eq i32 %448, 0
  br i1 %.not3827, label %504, label %449

449:                                              ; preds = %.preheader3913
  %450 = tail call i32 @w2c_hermes_llvh0x3A0x3AisCurrentDebugType0x28char0x20const0x2A0x29(ptr noundef %0, i32 noundef 107217) #5
  %.not3828 = icmp eq i32 %450, 0
  br i1 %.not3828, label %502, label %451

451:                                              ; preds = %449
  %452 = tail call i32 @w2c_hermes_llvh0x3A0x3Adbgs0x280x29(ptr noundef %0) #5
  %453 = zext i32 %452 to i64
  %454 = add nuw nsw i64 %453, 8
  %455 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %454)
  %456 = add nuw nsw i64 %453, 12
  %457 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %456)
  %458 = sub i32 %455, %457
  %459 = icmp ult i32 %458, 24
  br i1 %459, label %460, label %462

460:                                              ; preds = %451
  %461 = tail call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Awrite0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef %0, i32 noundef %452, i32 noundef 208556, i32 noundef 24) #5
  br label %471

462:                                              ; preds = %451
  %463 = tail call i64 @i64_load(ptr noundef nonnull %7, i64 noundef 208556)
  %464 = zext i32 %457 to i64
  tail call void @i64_store(ptr noundef nonnull %7, i64 noundef %464, i64 noundef %463)
  %465 = tail call i64 @i64_load(ptr noundef nonnull %7, i64 noundef 208572)
  %466 = add nuw nsw i64 %464, 16
  tail call void @i64_store(ptr noundef nonnull %7, i64 noundef %466, i64 noundef %465)
  %467 = tail call i64 @i64_load(ptr noundef nonnull %7, i64 noundef 208564)
  %468 = add nuw nsw i64 %464, 8
  tail call void @i64_store(ptr noundef nonnull %7, i64 noundef %468, i64 noundef %467)
  %469 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %456)
  %470 = add i32 %469, 24
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %456, i32 noundef %470)
  br label %471

471:                                              ; preds = %462, %460
  %.19 = phi i32 [ %461, %460 ], [ %452, %462 ]
  %472 = tail call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Aoperator0x3C0x3C0x28unsigned0x20long0x29(ptr noundef %0, i32 noundef %.19, i32 noundef %.33669) #5
  %473 = zext i32 %472 to i64
  %474 = add nuw nsw i64 %473, 8
  %475 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %474)
  %476 = add nuw nsw i64 %473, 12
  %477 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %476)
  %478 = sub i32 %475, %477
  %479 = icmp ult i32 %478, 4
  br i1 %479, label %480, label %482

480:                                              ; preds = %471
  %481 = tail call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Awrite0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef %0, i32 noundef %472, i32 noundef 119230, i32 noundef 4) #5
  br label %486

482:                                              ; preds = %471
  %483 = zext i32 %477 to i64
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %483, i32 noundef 676417568)
  %484 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %476)
  %485 = add i32 %484, 4
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %476, i32 noundef %485)
  br label %486

486:                                              ; preds = %482, %480
  %.20 = phi i32 [ %481, %480 ], [ %472, %482 ]
  %487 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %196)
  %488 = tail call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Aoperator0x3C0x3C0x28unsigned0x20long0x29(ptr noundef %0, i32 noundef %.20, i32 noundef %487) #5
  %489 = zext i32 %488 to i64
  %490 = add nuw nsw i64 %489, 8
  %491 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %490)
  %492 = add nuw nsw i64 %489, 12
  %493 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %492)
  %494 = sub i32 %491, %493
  %495 = icmp ult i32 %494, 2
  br i1 %495, label %496, label %498

496:                                              ; preds = %486
  %497 = tail call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Awrite0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef %0, i32 noundef %488, i32 noundef 212941, i32 noundef 2) #5
  br label %502

498:                                              ; preds = %486
  %499 = zext i32 %493 to i64
  tail call void @i32_store16(ptr noundef nonnull %7, i64 noundef %499, i32 noundef 2601)
  %500 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %492)
  %501 = add i32 %500, 2
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %492, i32 noundef %501)
  br label %502

502:                                              ; preds = %449, %498, %496
  %503 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %196)
  %.not3829 = icmp eq i32 %503, 0
  br i1 %.not3829, label %963, label %504

504:                                              ; preds = %502, %.preheader3913
  %505 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %142)
  %506 = zext i32 %505 to i64
  %507 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %506)
  %508 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %205)
  %.not3830 = icmp ult i32 %507, %508
  br i1 %.not3830, label %509, label %964

509:                                              ; preds = %504
  %510 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %206)
  %511 = mul i32 %507, 28
  %512 = add i32 %510, %511
  %513 = tail call i32 @i32_load8_u(ptr noundef nonnull %7, i64 noundef 292576)
  %.not3831 = icmp eq i32 %513, 0
  br i1 %.not3831, label %562, label %514

514:                                              ; preds = %509
  %515 = tail call i32 @w2c_hermes_llvh0x3A0x3AisCurrentDebugType0x28char0x20const0x2A0x29(ptr noundef %0, i32 noundef 107217) #5
  %.not3832 = icmp eq i32 %515, 0
  br i1 %.not3832, label %562, label %516

516:                                              ; preds = %514
  %517 = tail call i32 @w2c_hermes_llvh0x3A0x3Adbgs0x280x29(ptr noundef %0) #5
  %518 = zext i32 %517 to i64
  %519 = add nuw nsw i64 %518, 8
  %520 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %519)
  %521 = add nuw nsw i64 %518, 12
  %522 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %521)
  %523 = sub i32 %520, %522
  %524 = icmp ult i32 %523, 21
  br i1 %524, label %525, label %527

525:                                              ; preds = %516
  %526 = tail call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Awrite0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef %0, i32 noundef %517, i32 noundef 210973, i32 noundef 21) #5
  br label %536

527:                                              ; preds = %516
  %528 = tail call i64 @i64_load(ptr noundef nonnull %7, i64 noundef 210973)
  %529 = zext i32 %522 to i64
  tail call void @i64_store(ptr noundef nonnull %7, i64 noundef %529, i64 noundef %528)
  %530 = tail call i64 @i64_load(ptr noundef nonnull %7, i64 noundef 210986)
  %531 = add nuw nsw i64 %529, 13
  tail call void @i64_store(ptr noundef nonnull %7, i64 noundef %531, i64 noundef %530)
  %532 = tail call i64 @i64_load(ptr noundef nonnull %7, i64 noundef 210981)
  %533 = add nuw nsw i64 %529, 8
  tail call void @i64_store(ptr noundef nonnull %7, i64 noundef %533, i64 noundef %532)
  %534 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %521)
  %535 = add i32 %534, 21
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %521, i32 noundef %535)
  br label %536

536:                                              ; preds = %527, %525
  %.103715 = phi i32 [ %526, %525 ], [ %517, %527 ]
  tail call void @w2c_hermes_hermes0x3A0x3AInterval0x3A0x3Acompress0x280x290x20const(ptr noundef %0, i32 noundef %203, i32 noundef %512)
  %537 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %202)
  %538 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %208)
  %.not3833 = icmp eq i32 %538, 0
  br i1 %.not3833, label %547, label %539

539:                                              ; preds = %536
  %540 = shl i32 %538, 3
  %541 = add i32 %540, %537
  br label %542

542:                                              ; preds = %542, %539
  %.21 = phi i32 [ %537, %539 ], [ %544, %542 ]
  %543 = tail call i32 @w2c_hermes_llvh0x3A0x3Aoperator0x3C0x3C0x28llvh0x3A0x3Araw_ostream0x260x2C0x20hermes0x3A0x3ASegment0x20const0x260x29(ptr noundef %0, i32 noundef %.103715, i32 noundef %.21) #5
  %544 = add i32 %.21, 8
  %.not3834 = icmp eq i32 %544, %541
  br i1 %.not3834, label %545, label %542

545:                                              ; preds = %542
  %546 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %202)
  br label %547

547:                                              ; preds = %545, %536
  %.22 = phi i32 [ %546, %545 ], [ %537, %536 ]
  %.not3835 = icmp eq i32 %.22, %201
  br i1 %.not3835, label %549, label %548

548:                                              ; preds = %547
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %.22) #5
  br label %549

549:                                              ; preds = %548, %547
  %550 = zext i32 %.103715 to i64
  %551 = add nuw nsw i64 %550, 12
  %552 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %551)
  %553 = add nuw nsw i64 %550, 8
  %554 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %553)
  %555 = icmp eq i32 %552, %554
  br i1 %555, label %556, label %558

556:                                              ; preds = %549
  %557 = tail call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Awrite0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef %0, i32 noundef %.103715, i32 noundef 213024, i32 noundef 1) #5
  br label %562

558:                                              ; preds = %549
  %559 = zext i32 %552 to i64
  tail call void @i32_store8(ptr noundef nonnull %7, i64 noundef %559, i32 noundef 10)
  %560 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %551)
  %561 = add i32 %560, 1
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %551, i32 noundef %561)
  br label %562

562:                                              ; preds = %514, %509, %558, %556
  %563 = zext i32 %512 to i64
  %564 = add nuw nsw i64 %563, 4
  %565 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %564)
  %.not3836 = icmp eq i32 %565, 0
  br i1 %.not3836, label %965, label %566

566:                                              ; preds = %562
  %567 = shl i32 %565, 3
  %568 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %563)
  %569 = zext i32 %568 to i64
  %570 = add nuw nsw i64 %569, 4
  %571 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %570)
  %572 = add i32 %565, 536870911
  %573 = and i32 %572, 536870911
  %574 = and i32 %565, 7
  %.not3837 = icmp eq i32 %574, 0
  br i1 %.not3837, label %.loopexit3906, label %.preheader3905

.preheader3905:                                   ; preds = %566, %.preheader3905
  %.113716 = phi i32 [ %579, %.preheader3905 ], [ %568, %566 ]
  %.53698 = phi i32 [ %578, %.preheader3905 ], [ %571, %566 ]
  %.23686 = phi i32 [ %580, %.preheader3905 ], [ 0, %566 ]
  %575 = zext i32 %.113716 to i64
  %576 = add nuw nsw i64 %575, 4
  %577 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %576)
  %578 = tail call i32 @llvm.umax.i32(i32 %.53698, i32 %577)
  %579 = add i32 %.113716, 8
  %580 = add nuw nsw i32 %.23686, 1
  %.not3838 = icmp eq i32 %580, %574
  br i1 %.not3838, label %.loopexit3906, label %.preheader3905

.loopexit3906:                                    ; preds = %.preheader3905, %566
  %.123717 = phi i32 [ %568, %566 ], [ %579, %.preheader3905 ]
  %.63699 = phi i32 [ %571, %566 ], [ %578, %.preheader3905 ]
  %581 = add i32 %568, %567
  %582 = icmp ugt i32 %573, 6
  br i1 %582, label %.preheader3903, label %.loopexit3904

.preheader3903:                                   ; preds = %.loopexit3906, %.preheader3903
  %.133718 = phi i32 [ %608, %.preheader3903 ], [ %.123717, %.loopexit3906 ]
  %.73700 = phi i32 [ %607, %.preheader3903 ], [ %.63699, %.loopexit3906 ]
  %583 = zext i32 %.133718 to i64
  %584 = add nuw nsw i64 %583, 4
  %585 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %584)
  %586 = tail call i32 @llvm.umax.i32(i32 %.73700, i32 %585)
  %587 = add nuw nsw i64 %583, 12
  %588 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %587)
  %589 = tail call i32 @llvm.umax.i32(i32 %586, i32 %588)
  %590 = add nuw nsw i64 %583, 20
  %591 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %590)
  %592 = tail call i32 @llvm.umax.i32(i32 %589, i32 %591)
  %593 = add nuw nsw i64 %583, 28
  %594 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %593)
  %595 = tail call i32 @llvm.umax.i32(i32 %592, i32 %594)
  %596 = add nuw nsw i64 %583, 36
  %597 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %596)
  %598 = tail call i32 @llvm.umax.i32(i32 %595, i32 %597)
  %599 = add nuw nsw i64 %583, 44
  %600 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %599)
  %601 = tail call i32 @llvm.umax.i32(i32 %598, i32 %600)
  %602 = add nuw nsw i64 %583, 52
  %603 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %602)
  %604 = tail call i32 @llvm.umax.i32(i32 %601, i32 %603)
  %605 = add nuw nsw i64 %583, 60
  %606 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %605)
  %607 = tail call i32 @llvm.umax.i32(i32 %604, i32 %606)
  %608 = add i32 %.133718, 64
  %.not3839 = icmp eq i32 %608, %581
  br i1 %.not3839, label %.loopexit3904, label %.preheader3903

.loopexit3904:                                    ; preds = %.preheader3903, %.loopexit3906
  %.83701 = phi i32 [ %.63699, %.loopexit3906 ], [ %607, %.preheader3903 ]
  %609 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %569)
  br i1 %.not3837, label %.loopexit3902, label %.preheader3901

.preheader3901:                                   ; preds = %.loopexit3904, %.preheader3901
  %.143719 = phi i32 [ %613, %.preheader3901 ], [ %568, %.loopexit3904 ]
  %.33687 = phi i32 [ %612, %.preheader3901 ], [ %609, %.loopexit3904 ]
  %.13675 = phi i32 [ %614, %.preheader3901 ], [ 0, %.loopexit3904 ]
  %610 = zext i32 %.143719 to i64
  %611 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %610)
  %612 = tail call i32 @llvm.umin.i32(i32 %.33687, i32 %611)
  %613 = add i32 %.143719, 8
  %614 = add nuw nsw i32 %.13675, 1
  %.not3840 = icmp eq i32 %614, %574
  br i1 %.not3840, label %.loopexit3902, label %.preheader3901

.loopexit3902:                                    ; preds = %.preheader3901, %.loopexit3904
  %.153720 = phi i32 [ %568, %.loopexit3904 ], [ %613, %.preheader3901 ]
  %.43688 = phi i32 [ %609, %.loopexit3904 ], [ %612, %.preheader3901 ]
  br i1 %582, label %.preheader3899, label %.loopexit3900

.preheader3899:                                   ; preds = %.loopexit3902, %.preheader3899
  %.163721 = phi i32 [ %639, %.preheader3899 ], [ %.153720, %.loopexit3902 ]
  %.53689 = phi i32 [ %638, %.preheader3899 ], [ %.43688, %.loopexit3902 ]
  %615 = zext i32 %.163721 to i64
  %616 = add nuw nsw i64 %615, 56
  %617 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %616)
  %618 = add nuw nsw i64 %615, 48
  %619 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %618)
  %620 = add nuw nsw i64 %615, 40
  %621 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %620)
  %622 = add nuw nsw i64 %615, 32
  %623 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %622)
  %624 = add nuw nsw i64 %615, 24
  %625 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %624)
  %626 = add nuw nsw i64 %615, 16
  %627 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %626)
  %628 = add nuw nsw i64 %615, 8
  %629 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %628)
  %630 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %615)
  %631 = tail call i32 @llvm.umin.i32(i32 %.53689, i32 %630)
  %632 = tail call i32 @llvm.umin.i32(i32 %631, i32 %629)
  %633 = tail call i32 @llvm.umin.i32(i32 %632, i32 %627)
  %634 = tail call i32 @llvm.umin.i32(i32 %633, i32 %625)
  %635 = tail call i32 @llvm.umin.i32(i32 %634, i32 %623)
  %636 = tail call i32 @llvm.umin.i32(i32 %635, i32 %621)
  %637 = tail call i32 @llvm.umin.i32(i32 %636, i32 %619)
  %638 = tail call i32 @llvm.umin.i32(i32 %637, i32 %617)
  %639 = add i32 %.163721, 64
  %.not3841 = icmp eq i32 %639, %581
  br i1 %.not3841, label %.loopexit3900, label %.preheader3899

.loopexit3900:                                    ; preds = %.preheader3899, %.loopexit3902
  %.63690 = phi i32 [ %.43688, %.loopexit3902 ], [ %638, %.preheader3899 ]
  br i1 %.not3837, label %.loopexit3898, label %.preheader3897

.preheader3897:                                   ; preds = %.loopexit3900, %.preheader3897
  %.173722 = phi i32 [ %644, %.preheader3897 ], [ 0, %.loopexit3900 ]
  %.33679 = phi i32 [ %642, %.preheader3897 ], [ %609, %.loopexit3900 ]
  %.23 = phi i32 [ %643, %.preheader3897 ], [ %568, %.loopexit3900 ]
  %640 = zext i32 %.23 to i64
  %641 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %640)
  %642 = tail call i32 @llvm.umin.i32(i32 %.33679, i32 %641)
  %643 = add i32 %.23, 8
  %644 = add nuw nsw i32 %.173722, 1
  %.not3842 = icmp eq i32 %644, %574
  br i1 %.not3842, label %.loopexit3898, label %.preheader3897

.loopexit3898:                                    ; preds = %.preheader3897, %.loopexit3900
  %.43680 = phi i32 [ %609, %.loopexit3900 ], [ %642, %.preheader3897 ]
  %.24 = phi i32 [ %568, %.loopexit3900 ], [ %643, %.preheader3897 ]
  br i1 %582, label %.preheader3895, label %.loopexit3896

.preheader3895:                                   ; preds = %.loopexit3898, %.preheader3895
  %.53681 = phi i32 [ %668, %.preheader3895 ], [ %.43680, %.loopexit3898 ]
  %.25 = phi i32 [ %669, %.preheader3895 ], [ %.24, %.loopexit3898 ]
  %645 = zext i32 %.25 to i64
  %646 = add nuw nsw i64 %645, 56
  %647 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %646)
  %648 = add nuw nsw i64 %645, 48
  %649 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %648)
  %650 = add nuw nsw i64 %645, 40
  %651 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %650)
  %652 = add nuw nsw i64 %645, 32
  %653 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %652)
  %654 = add nuw nsw i64 %645, 24
  %655 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %654)
  %656 = add nuw nsw i64 %645, 16
  %657 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %656)
  %658 = add nuw nsw i64 %645, 8
  %659 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %658)
  %660 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %645)
  %661 = tail call i32 @llvm.umin.i32(i32 %.53681, i32 %660)
  %662 = tail call i32 @llvm.umin.i32(i32 %661, i32 %659)
  %663 = tail call i32 @llvm.umin.i32(i32 %662, i32 %657)
  %664 = tail call i32 @llvm.umin.i32(i32 %663, i32 %655)
  %665 = tail call i32 @llvm.umin.i32(i32 %664, i32 %653)
  %666 = tail call i32 @llvm.umin.i32(i32 %665, i32 %651)
  %667 = tail call i32 @llvm.umin.i32(i32 %666, i32 %649)
  %668 = tail call i32 @llvm.umin.i32(i32 %647, i32 %667)
  %669 = add i32 %.25, 64
  %.not3843 = icmp eq i32 %669, %581
  br i1 %.not3843, label %.loopexit3896, label %.preheader3895

.loopexit3896:                                    ; preds = %.preheader3895, %.loopexit3898
  %.63682 = phi i32 [ %.43680, %.loopexit3898 ], [ %668, %.preheader3895 ]
  %670 = icmp ne i32 %.83701, %.63690
  %671 = icmp ult i32 %.63682, %.33669
  %672 = and i1 %670, %671
  br i1 %672, label %.loopexit3914, label %673

673:                                              ; preds = %.loopexit3896
  tail call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Apriority_queue0x3Cunsigned0x20int0x2C0x20llvh0x3A0x3ASmallVector0x3Cunsigned0x20int0x2C0x2032u0x3E0x2C0x20hermes0x3A0x3ARegisterAllocator0x3A0x3Aallocate0x28llvh0x3A0x3AArrayRef0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x290x3A0x3A0x24_00x3E0x3A0x3Apop0x280x29(ptr noundef %0, i32 noundef %143) #5
  %674 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %204)
  %.not3844 = icmp ugt i32 %674, %507
  br i1 %.not3844, label %675, label %966

675:                                              ; preds = %673
  %676 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %207)
  %677 = shl i32 %507, 2
  %678 = add i32 %676, %677
  %679 = zext i32 %678 to i64
  %680 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %679)
  %681 = add i32 %680, 8
  %.not3845 = icmp eq i32 %680, 0
  %682 = select i1 %.not3845, i32 0, i32 %681
  %683 = tail call i32 @w2c_hermes_hermes0x3A0x3ARegisterAllocator0x3A0x3AgetRegister0x28hermes0x3A0x3AValue0x2A0x29(ptr noundef %0, i32 noundef %1, i32 noundef %682)
  %684 = tail call i32 @i32_load8_u(ptr noundef nonnull %7, i64 noundef 292576)
  %.not3846 = icmp eq i32 %684, 0
  br i1 %.not3846, label %833, label %685

685:                                              ; preds = %675
  %686 = tail call i32 @w2c_hermes_llvh0x3A0x3AisCurrentDebugType0x28char0x20const0x2A0x29(ptr noundef %0, i32 noundef 107217) #5
  %.not3847 = icmp eq i32 %686, 0
  br i1 %.not3847, label %833, label %687

687:                                              ; preds = %685
  %688 = tail call i32 @w2c_hermes_llvh0x3A0x3Adbgs0x280x29(ptr noundef %0) #5
  %689 = zext i32 %688 to i64
  %690 = add nuw nsw i64 %689, 8
  %691 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %690)
  %692 = add nuw nsw i64 %689, 12
  %693 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %692)
  %694 = sub i32 %691, %693
  %695 = icmp ult i32 %694, 15
  br i1 %695, label %696, label %698

696:                                              ; preds = %687
  %697 = tail call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Awrite0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef %0, i32 noundef %688, i32 noundef 121708, i32 noundef 15) #5
  br label %705

698:                                              ; preds = %687
  %699 = tail call i64 @i64_load(ptr noundef nonnull %7, i64 noundef 121708)
  %700 = zext i32 %693 to i64
  tail call void @i64_store(ptr noundef nonnull %7, i64 noundef %700, i64 noundef %699)
  %701 = tail call i64 @i64_load(ptr noundef nonnull %7, i64 noundef 121715)
  %702 = add nuw nsw i64 %700, 7
  tail call void @i64_store(ptr noundef nonnull %7, i64 noundef %702, i64 noundef %701)
  %703 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %692)
  %704 = add i32 %703, 15
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %692, i32 noundef %704)
  br label %705

705:                                              ; preds = %698, %696
  %.26 = phi i32 [ %697, %696 ], [ %688, %698 ]
  %706 = tail call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Aoperator0x3C0x3C0x28unsigned0x20long0x29(ptr noundef %0, i32 noundef %.26, i32 noundef %.33669) #5
  %707 = zext i32 %706 to i64
  %708 = add nuw nsw i64 %707, 8
  %709 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %708)
  %710 = add nuw nsw i64 %707, 12
  %711 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %710)
  %712 = sub i32 %709, %711
  %713 = icmp ult i32 %712, 19
  br i1 %713, label %714, label %716

714:                                              ; preds = %705
  %715 = tail call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Awrite0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef %0, i32 noundef %706, i32 noundef 209633, i32 noundef 19) #5
  br label %725

716:                                              ; preds = %705
  %717 = tail call i64 @i64_load(ptr noundef nonnull %7, i64 noundef 209633)
  %718 = zext i32 %711 to i64
  tail call void @i64_store(ptr noundef nonnull %7, i64 noundef %718, i64 noundef %717)
  %719 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef 209648)
  %720 = add nuw nsw i64 %718, 15
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %720, i32 noundef %719)
  %721 = tail call i64 @i64_load(ptr noundef nonnull %7, i64 noundef 209641)
  %722 = add nuw nsw i64 %718, 8
  tail call void @i64_store(ptr noundef nonnull %7, i64 noundef %722, i64 noundef %721)
  %723 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %710)
  %724 = add i32 %723, 19
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %710, i32 noundef %724)
  br label %725

725:                                              ; preds = %716, %714
  %.183723 = phi i32 [ %715, %714 ], [ %706, %716 ]
  tail call void @w2c_hermes_hermes0x3A0x3AInterval0x3A0x3Acompress0x280x290x20const(ptr noundef %0, i32 noundef %203, i32 noundef %512)
  %726 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %202)
  %727 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %208)
  %.not3848 = icmp eq i32 %727, 0
  br i1 %.not3848, label %736, label %728

728:                                              ; preds = %725
  %729 = shl i32 %727, 3
  %730 = add i32 %729, %726
  br label %731

731:                                              ; preds = %731, %728
  %.27 = phi i32 [ %726, %728 ], [ %733, %731 ]
  %732 = tail call i32 @w2c_hermes_llvh0x3A0x3Aoperator0x3C0x3C0x28llvh0x3A0x3Araw_ostream0x260x2C0x20hermes0x3A0x3ASegment0x20const0x260x29(ptr noundef %0, i32 noundef %.183723, i32 noundef %.27) #5
  %733 = add i32 %.27, 8
  %.not3849 = icmp eq i32 %733, %730
  br i1 %.not3849, label %734, label %731

734:                                              ; preds = %731
  %735 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %202)
  br label %736

736:                                              ; preds = %734, %725
  %.28 = phi i32 [ %735, %734 ], [ %726, %725 ]
  %.not3850 = icmp eq i32 %.28, %201
  br i1 %.not3850, label %738, label %737

737:                                              ; preds = %736
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %.28) #5
  br label %738

738:                                              ; preds = %737, %736
  %739 = zext i32 %.183723 to i64
  %740 = add nuw nsw i64 %739, 8
  %741 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %740)
  %742 = add nuw nsw i64 %739, 12
  %743 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %742)
  %744 = sub i32 %741, %743
  %745 = icmp ult i32 %744, 30
  br i1 %745, label %746, label %751

746:                                              ; preds = %738
  %747 = tail call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Awrite0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef %0, i32 noundef %.183723, i32 noundef 209200, i32 noundef 30) #5
  %748 = zext i32 %747 to i64
  %749 = add nuw nsw i64 %748, 12
  %750 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %749)
  %.pre4009 = add nuw nsw i64 %748, 8
  br label %762

751:                                              ; preds = %738
  %752 = tail call i64 @i64_load(ptr noundef nonnull %7, i64 noundef 209200)
  %753 = zext i32 %743 to i64
  tail call void @i64_store(ptr noundef nonnull %7, i64 noundef %753, i64 noundef %752)
  %754 = tail call i64 @i64_load(ptr noundef nonnull %7, i64 noundef 209222)
  %755 = add nuw nsw i64 %753, 22
  tail call void @i64_store(ptr noundef nonnull %7, i64 noundef %755, i64 noundef %754)
  %756 = tail call i64 @i64_load(ptr noundef nonnull %7, i64 noundef 209216)
  %757 = add nuw nsw i64 %753, 16
  tail call void @i64_store(ptr noundef nonnull %7, i64 noundef %757, i64 noundef %756)
  %758 = tail call i64 @i64_load(ptr noundef nonnull %7, i64 noundef 209208)
  %759 = add nuw nsw i64 %753, 8
  tail call void @i64_store(ptr noundef nonnull %7, i64 noundef %759, i64 noundef %758)
  %760 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %742)
  %761 = add i32 %760, 30
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %742, i32 noundef %761)
  br label %762

762:                                              ; preds = %751, %746
  %.pre-phi4010 = phi i64 [ %740, %751 ], [ %.pre4009, %746 ]
  %.pre-phi4008 = phi i64 [ %739, %751 ], [ %748, %746 ]
  %.193724 = phi i32 [ %.183723, %751 ], [ %747, %746 ]
  %.29 = phi i32 [ %761, %751 ], [ %750, %746 ]
  %763 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %.pre-phi4010)
  %764 = sub i32 %763, %.29
  %765 = icmp eq i32 %683, -1
  br i1 %765, label %766, label %775

766:                                              ; preds = %762
  %767 = icmp ult i32 %764, 4
  br i1 %767, label %768, label %770

768:                                              ; preds = %766
  %769 = tail call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Awrite0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef %0, i32 noundef %.193724, i32 noundef 72856, i32 noundef 4) #5
  br label %789

770:                                              ; preds = %766
  %771 = zext i32 %.29 to i64
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %771, i32 noundef 1819047246)
  %772 = add nuw nsw i64 %.pre-phi4008, 12
  %773 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %772)
  %774 = add i32 %773, 4
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %772, i32 noundef %774)
  br label %789

775:                                              ; preds = %762
  %776 = icmp ult i32 %764, 3
  br i1 %776, label %777, label %779

777:                                              ; preds = %775
  %778 = tail call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Awrite0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef %0, i32 noundef %.193724, i32 noundef 87766, i32 noundef 3) #5
  br label %787

779:                                              ; preds = %775
  %780 = tail call i32 @i32_load16_u(ptr noundef nonnull %7, i64 noundef 87766)
  %781 = zext i32 %.29 to i64
  tail call void @i32_store16(ptr noundef nonnull %7, i64 noundef %781, i32 noundef %780)
  %782 = tail call i32 @i32_load8_u(ptr noundef nonnull %7, i64 noundef 87768)
  %783 = add nuw nsw i64 %781, 2
  tail call void @i32_store8(ptr noundef nonnull %7, i64 noundef %783, i32 noundef %782)
  %784 = add nuw nsw i64 %.pre-phi4008, 12
  %785 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %784)
  %786 = add i32 %785, 3
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %784, i32 noundef %786)
  br label %787

787:                                              ; preds = %779, %777
  %.13662 = phi i32 [ %778, %777 ], [ %.193724, %779 ]
  %788 = tail call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Aoperator0x3C0x3C0x28unsigned0x20long0x29(ptr noundef %0, i32 noundef %.13662, i32 noundef %683) #5
  br label %789

789:                                              ; preds = %787, %770, %768
  %790 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %.pre-phi4010)
  %791 = add nuw nsw i64 %.pre-phi4008, 12
  %792 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %791)
  %793 = sub i32 %790, %792
  %794 = icmp ult i32 %793, 21
  br i1 %794, label %795, label %797

795:                                              ; preds = %789
  %796 = tail call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Awrite0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef %0, i32 noundef %.193724, i32 noundef 209367, i32 noundef 21) #5
  %.pre4011 = zext i32 %796 to i64
  %.pre4013 = add nuw nsw i64 %.pre4011, 8
  %.pre4015 = add nuw nsw i64 %.pre4011, 12
  br label %806

797:                                              ; preds = %789
  %798 = tail call i64 @i64_load(ptr noundef nonnull %7, i64 noundef 209367)
  %799 = zext i32 %792 to i64
  tail call void @i64_store(ptr noundef nonnull %7, i64 noundef %799, i64 noundef %798)
  %800 = tail call i64 @i64_load(ptr noundef nonnull %7, i64 noundef 209380)
  %801 = add nuw nsw i64 %799, 13
  tail call void @i64_store(ptr noundef nonnull %7, i64 noundef %801, i64 noundef %800)
  %802 = tail call i64 @i64_load(ptr noundef nonnull %7, i64 noundef 209375)
  %803 = add nuw nsw i64 %799, 8
  tail call void @i64_store(ptr noundef nonnull %7, i64 noundef %803, i64 noundef %802)
  %804 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %791)
  %805 = add i32 %804, 21
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %791, i32 noundef %805)
  br label %806

806:                                              ; preds = %797, %795
  %.pre-phi4016 = phi i64 [ %791, %797 ], [ %.pre4015, %795 ]
  %.pre-phi4014 = phi i64 [ %.pre-phi4010, %797 ], [ %.pre4013, %795 ]
  %.pre-phi4012 = phi i64 [ %.pre-phi4008, %797 ], [ %.pre4011, %795 ]
  %.203725 = phi i32 [ %.193724, %797 ], [ %796, %795 ]
  tail call void @w2c_hermes_hermes0x3A0x3AInstruction0x3A0x3AgetName0x280x29(ptr noundef %0, i32 noundef %212, i32 noundef %680)
  %807 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %213)
  %808 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %214)
  %809 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %.pre-phi4014)
  %810 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %.pre-phi4016)
  %811 = sub i32 %809, %810
  %812 = icmp ugt i32 %808, %811
  br i1 %812, label %813, label %818

813:                                              ; preds = %806
  %814 = tail call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Awrite0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef %0, i32 noundef %.203725, i32 noundef %807, i32 noundef %808) #5
  %815 = zext i32 %814 to i64
  %816 = add nuw nsw i64 %815, 12
  %817 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %816)
  %.pre4018 = add nuw nsw i64 %815, 8
  br label %823

818:                                              ; preds = %806
  %.not3851 = icmp eq i32 %808, 0
  br i1 %.not3851, label %823, label %819

819:                                              ; preds = %818
  %820 = tail call i32 @w2c_hermes_0x5F_memcpy(ptr noundef %0, i32 noundef %810, i32 noundef %807, i32 noundef %808) #5
  %821 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %.pre-phi4016)
  %822 = add i32 %821, %808
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %.pre-phi4016, i32 noundef %822)
  br label %823

823:                                              ; preds = %818, %819, %813
  %.pre-phi4019 = phi i64 [ %.pre-phi4014, %818 ], [ %.pre-phi4014, %819 ], [ %.pre4018, %813 ]
  %.pre-phi4017 = phi i64 [ %.pre-phi4012, %818 ], [ %.pre-phi4012, %819 ], [ %815, %813 ]
  %.213726 = phi i32 [ %.203725, %818 ], [ %.203725, %819 ], [ %814, %813 ]
  %.30 = phi i32 [ %810, %818 ], [ %822, %819 ], [ %817, %813 ]
  %824 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %.pre-phi4019)
  %825 = icmp eq i32 %.30, %824
  br i1 %825, label %826, label %828

826:                                              ; preds = %823
  %827 = tail call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Awrite0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef %0, i32 noundef %.213726, i32 noundef 213024, i32 noundef 1) #5
  br label %833

828:                                              ; preds = %823
  %829 = zext i32 %.30 to i64
  tail call void @i32_store8(ptr noundef nonnull %7, i64 noundef %829, i32 noundef 10)
  %830 = add nuw nsw i64 %.pre-phi4017, 12
  %831 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %830)
  %832 = add i32 %831, 1
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %830, i32 noundef %832)
  br label %833

833:                                              ; preds = %685, %675, %828, %826
  tail call void @w2c_hermes_hermes0x3A0x3ARegisterFile0x3A0x3AkillRegister0x28hermes0x3A0x3ARegister0x29(ptr noundef %0, i32 noundef %200, i32 noundef %683)
  %834 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %62)
  %835 = zext i32 %834 to i64
  %836 = add nuw nsw i64 %835, 12
  %837 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %836)
  %838 = load i32, ptr %216, align 4, !tbaa !15
  %839 = icmp ult i32 %837, %838
  br i1 %839, label %840, label %.critedge, !prof !16

840:                                              ; preds = %833
  %841 = load ptr, ptr %215, align 8, !tbaa !17
  %842 = zext i32 %837 to i64
  %843 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %841, i64 %842
  %844 = getelementptr inbounds i8, ptr %843, i64 8
  %845 = load ptr, ptr %844, align 8, !tbaa !18
  %.not3852 = icmp eq ptr %845, null
  br i1 %.not3852, label %.critedge, label %846, !prof !20

846:                                              ; preds = %840
  %847 = load ptr, ptr %843, align 8, !tbaa !21
  %848 = tail call zeroext i1 @func_types_eq(ptr noundef %217, ptr noundef %847)
  br i1 %848, label %849, label %.critedge, !prof !16

.critedge:                                        ; preds = %840, %833, %846
  tail call void @wasm_rt_trap(i32 noundef 6) #6
  unreachable

849:                                              ; preds = %846
  %850 = load ptr, ptr %215, align 8, !tbaa !17
  %851 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %850, i64 %842
  %852 = getelementptr inbounds i8, ptr %851, i64 8
  %853 = load ptr, ptr %852, align 8, !tbaa !18
  %854 = getelementptr inbounds i8, ptr %851, i64 16
  %855 = load ptr, ptr %854, align 8, !tbaa !22
  tail call void %853(ptr noundef %855, i32 noundef %1, i32 noundef %680) #5
  %856 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %196)
  %.not3853 = icmp eq i32 %856, 0
  br i1 %.not3853, label %.loopexit3914, label %.preheader3913

.loopexit3914:                                    ; preds = %849, %.loopexit3896, %446
  %857 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %218)
  %.not3854 = icmp eq i32 %857, 0
  br i1 %.not3854, label %.loopexit3911, label %858

858:                                              ; preds = %.loopexit3914
  switch i32 %354, label %860 [
    i32 -8, label %859
    i32 -4, label %859
  ]

859:                                              ; preds = %858, %858
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef %0, i32 noundef 204136, i32 noundef 81389, i32 noundef 597, i32 noundef 48929) #5
  tail call void @wasm_rt_trap(i32 noundef 5) #6
  unreachable

860:                                              ; preds = %858
  %861 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %131)
  %862 = add i32 %857, -1
  %863 = lshr i32 %354, 4
  %864 = lshr i32 %354, 9
  %865 = xor i32 %863, %864
  %866 = and i32 %862, %865
  %867 = shl nuw nsw i32 %866, 3
  %868 = add i32 %861, %867
  %869 = zext i32 %868 to i64
  %870 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %869)
  %871 = icmp eq i32 %870, %354
  br i1 %871, label %.loopexit3912, label %.preheader3910

.preheader3910:                                   ; preds = %860, %873
  %.223727 = phi i32 [ %876, %873 ], [ %866, %860 ]
  %.73683 = phi i32 [ %875, %873 ], [ 1, %860 ]
  %.31 = phi i32 [ %880, %873 ], [ %870, %860 ]
  %872 = icmp eq i32 %.31, -4
  br i1 %872, label %.loopexit3911, label %873

873:                                              ; preds = %.preheader3910
  %874 = add i32 %.73683, %.223727
  %875 = add i32 %.73683, 1
  %876 = and i32 %874, %862
  %877 = shl i32 %876, 3
  %878 = add i32 %877, %861
  %879 = zext i32 %878 to i64
  %880 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %879)
  %.not3855 = icmp eq i32 %880, %354
  br i1 %.not3855, label %.loopexit3912, label %.preheader3910

.loopexit3911:                                    ; preds = %.preheader3910, %.loopexit3914
  %881 = add i32 %354, 8
  %.not3856 = icmp eq i32 %354, 0
  %882 = select i1 %.not3856, i32 0, i32 %881
  %883 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %219)
  %.not3857 = icmp eq i32 %883, 0
  br i1 %.not3857, label %.loopexit3908, label %884

884:                                              ; preds = %.loopexit3911
  switch i32 %882, label %886 [
    i32 -8, label %885
    i32 -4, label %885
  ]

885:                                              ; preds = %884, %884
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef %0, i32 noundef 204136, i32 noundef 81389, i32 noundef 597, i32 noundef 48929) #5
  tail call void @wasm_rt_trap(i32 noundef 5) #6
  unreachable

886:                                              ; preds = %884
  %887 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %220)
  %888 = add i32 %883, -1
  %889 = lshr i32 %882, 4
  %890 = lshr i32 %882, 9
  %891 = xor i32 %889, %890
  %892 = and i32 %888, %891
  %893 = shl nuw nsw i32 %892, 3
  %894 = add i32 %887, %893
  %895 = zext i32 %894 to i64
  %896 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %895)
  %897 = icmp eq i32 %896, %882
  br i1 %897, label %.loopexit3909, label %.preheader3907

.preheader3907:                                   ; preds = %886, %899
  %.233728 = phi i32 [ %906, %899 ], [ %896, %886 ]
  %.93702 = phi i32 [ %902, %899 ], [ %892, %886 ]
  %.13673 = phi i32 [ %901, %899 ], [ 1, %886 ]
  %898 = icmp eq i32 %.233728, -4
  br i1 %898, label %.loopexit3908, label %899

899:                                              ; preds = %.preheader3907
  %900 = add i32 %.13673, %.93702
  %901 = add i32 %.13673, 1
  %902 = and i32 %900, %888
  %903 = shl i32 %902, 3
  %904 = add i32 %903, %887
  %905 = zext i32 %904 to i64
  %906 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %905)
  %.not3858 = icmp eq i32 %906, %882
  br i1 %.not3858, label %.loopexit3909, label %.preheader3907

.loopexit3908:                                    ; preds = %.preheader3907, %.loopexit3911
  %907 = tail call i32 @w2c_hermes_hermes0x3A0x3ARegisterFile0x3A0x3AallocateRegister0x280x29(ptr noundef %0, i32 noundef %200)
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %202, i32 noundef %882)
  %908 = tail call i32 @w2c_hermes_llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3ARegister0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3AValue0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3ARegister0x3E0x3E0x2C0x20hermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3ARegister0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3AValue0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3ARegister0x3E0x3E0x3A0x3AFindAndConstruct0x28hermes0x3A0x3AValue0x2A0x20const0x260x29(ptr noundef %0, i32 noundef %199, i32 noundef %203) #5
  %909 = zext i32 %908 to i64
  %910 = add nuw nsw i64 %909, 4
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %910, i32 noundef %907)
  br label %.loopexit3909

.loopexit3909:                                    ; preds = %899, %886, %.loopexit3908
  %911 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %196)
  %912 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %221)
  %.not3859 = icmp ult i32 %911, %912
  br i1 %.not3859, label %915, label %913

913:                                              ; preds = %.loopexit3909
  tail call void @w2c_hermes_llvh0x3A0x3ASmallVectorBase0x3A0x3Agrow_pod0x28void0x2A0x2C0x20unsigned0x20long0x2C0x20unsigned0x20long0x29(ptr noundef %0, i32 noundef %143, i32 noundef %197, i32 noundef 0, i32 noundef 4) #5
  %914 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %196)
  br label %915

915:                                              ; preds = %913, %.loopexit3909
  %.32 = phi i32 [ %914, %913 ], [ %911, %.loopexit3909 ]
  %916 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %142)
  %917 = shl i32 %.32, 2
  %918 = add i32 %916, %917
  %919 = zext i32 %918 to i64
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %919, i32 noundef %225)
  %920 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %196)
  %921 = add i32 %920, 1
  %922 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %221)
  %923 = icmp ugt i32 %921, %922
  br i1 %923, label %967, label %924

924:                                              ; preds = %915
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %196, i32 noundef %921)
  %925 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %142)
  %926 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %195)
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %202, i32 noundef %926)
  %927 = icmp slt i32 %921, 2
  br i1 %927, label %.loopexit3912, label %928

928:                                              ; preds = %924
  %929 = and i32 %921, 1073741822
  %930 = add nsw i32 %929, -2
  %931 = shl nsw i32 %930, 1
  %932 = add i32 %925, %931
  %933 = zext i32 %932 to i64
  %934 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %933)
  %935 = shl i32 %921, 2
  %936 = add i32 %935, -4
  %937 = add i32 %936, %925
  %938 = zext i32 %937 to i64
  %939 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %938)
  %940 = tail call i32 @w2c_hermes_hermes0x3A0x3ARegisterAllocator0x3A0x3Aallocate0x28llvh0x3A0x3AArrayRef0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x290x3A0x3A0x24_00x3A0x3Aoperator0x280x290x28unsigned0x20int0x2C0x20unsigned0x20int0x290x20const(ptr noundef %0, i32 noundef %203, i32 noundef %934, i32 noundef %939)
  %.not3860 = icmp eq i32 %940, 0
  br i1 %.not3860, label %.loopexit3912, label %941

941:                                              ; preds = %928
  %942 = lshr exact i32 %930, 1
  %943 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %938)
  br label %944

944:                                              ; preds = %948, %941
  %.243729 = phi i32 [ %937, %941 ], [ %.103703, %948 ]
  %.103703 = phi i32 [ %932, %941 ], [ %952, %948 ]
  %.33 = phi i32 [ %942, %941 ], [ %950, %948 ]
  %945 = zext i32 %.103703 to i64
  %946 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %945)
  %947 = zext i32 %.243729 to i64
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %947, i32 noundef %946)
  %.not3861 = icmp eq i32 %.33, 0
  br i1 %.not3861, label %956, label %948

948:                                              ; preds = %944
  %949 = add nsw i32 %.33, -1
  %950 = lshr i32 %949, 1
  %951 = shl i32 %950, 2
  %952 = add i32 %951, %925
  %953 = zext i32 %952 to i64
  %954 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %953)
  %955 = tail call i32 @w2c_hermes_hermes0x3A0x3ARegisterAllocator0x3A0x3Aallocate0x28llvh0x3A0x3AArrayRef0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x290x3A0x3A0x24_00x3A0x3Aoperator0x280x290x28unsigned0x20int0x2C0x20unsigned0x20int0x290x20const(ptr noundef %0, i32 noundef %203, i32 noundef %954, i32 noundef %943)
  %.not3862 = icmp eq i32 %955, 0
  br i1 %.not3862, label %956, label %944

956:                                              ; preds = %948, %944
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %945, i32 noundef %943)
  br label %.loopexit3912

.loopexit3912:                                    ; preds = %873, %928, %924, %860, %956
  %957 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %135)
  %.not3863 = icmp eq i32 %957, 0
  br i1 %.not3863, label %973, label %222

958:                                              ; preds = %149
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef %0, i32 noundef 117789, i32 noundef 79572, i32 noundef 74, i32 noundef 88407) #5
  tail call void @wasm_rt_trap(i32 noundef 5) #6
  unreachable

959:                                              ; preds = %289
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef %0, i32 noundef 117789, i32 noundef 79572, i32 noundef 74, i32 noundef 88407) #5
  tail call void @wasm_rt_trap(i32 noundef 5) #6
  unreachable

960:                                              ; preds = %294
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef %0, i32 noundef 118701, i32 noundef 79572, i32 noundef 161, i32 noundef 108367) #5
  tail call void @wasm_rt_trap(i32 noundef 5) #6
  unreachable

961:                                              ; preds = %296
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef %0, i32 noundef 118701, i32 noundef 79572, i32 noundef 161, i32 noundef 108367) #5
  tail call void @wasm_rt_trap(i32 noundef 5) #6
  unreachable

962:                                              ; preds = %298
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef %0, i32 noundef 204627, i32 noundef 85706, i32 noundef 247, i32 noundef 102973) #5
  tail call void @wasm_rt_trap(i32 noundef 5) #6
  unreachable

963:                                              ; preds = %502
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef %0, i32 noundef 117760, i32 noundef 79572, i32 noundef 175, i32 noundef 25516) #5
  tail call void @wasm_rt_trap(i32 noundef 5) #6
  unreachable

964:                                              ; preds = %504
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef %0, i32 noundef 118701, i32 noundef 79572, i32 noundef 161, i32 noundef 108367) #5
  tail call void @wasm_rt_trap(i32 noundef 5) #6
  unreachable

965:                                              ; preds = %562
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef %0, i32 noundef 204627, i32 noundef 85706, i32 noundef 238, i32 noundef 25076) #5
  tail call void @wasm_rt_trap(i32 noundef 5) #6
  unreachable

966:                                              ; preds = %673
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef %0, i32 noundef 118701, i32 noundef 79572, i32 noundef 161, i32 noundef 108367) #5
  tail call void @wasm_rt_trap(i32 noundef 5) #6
  unreachable

967:                                              ; preds = %915
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef %0, i32 noundef 117789, i32 noundef 79572, i32 noundef 74, i32 noundef 88407) #5
  tail call void @wasm_rt_trap(i32 noundef 5) #6
  unreachable

968:                                              ; preds = %.loopexit3920
  %969 = add nuw nsw i64 %10, 212
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %969, i32 noundef %1)
  %970 = add nuw nsw i64 %10, 76
  tail call void @i64_store(ptr noundef nonnull %7, i64 noundef %970, i64 noundef 137438953472)
  %971 = add i32 %5, -364
  %972 = add nuw nsw i64 %10, 72
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %972, i32 noundef %971)
  br label %.loopexit3894

973:                                              ; preds = %.loopexit3912
  %974 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %196)
  %.not3864 = icmp eq i32 %974, 0
  br i1 %.not3864, label %.loopexit3894, label %.preheader3893

.preheader3893:                                   ; preds = %973
  %975 = add i32 %5, -400
  %976 = add nuw nsw i64 %10, 48
  %977 = add nuw nsw i64 %10, 52
  br label %978

978:                                              ; preds = %.preheader3893, %1062
  %979 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %142)
  %980 = zext i32 %979 to i64
  %981 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %980)
  %982 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %204)
  %.not3865 = icmp ult i32 %981, %982
  br i1 %.not3865, label %983, label %1137

983:                                              ; preds = %978
  %984 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %207)
  %985 = shl i32 %981, 2
  %986 = add i32 %984, %985
  %987 = zext i32 %986 to i64
  %988 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %987)
  %989 = tail call i32 @i32_load8_u(ptr noundef nonnull %7, i64 noundef 292576)
  %.not3866 = icmp eq i32 %989, 0
  br i1 %.not3866, label %1043, label %990

990:                                              ; preds = %983
  %991 = tail call i32 @w2c_hermes_llvh0x3A0x3AisCurrentDebugType0x28char0x20const0x2A0x29(ptr noundef %0, i32 noundef 107217) #5
  %.not3867 = icmp eq i32 %991, 0
  br i1 %.not3867, label %1043, label %992

992:                                              ; preds = %990
  %993 = tail call i32 @w2c_hermes_llvh0x3A0x3Adbgs0x280x29(ptr noundef %0) #5
  %994 = zext i32 %993 to i64
  %995 = add nuw nsw i64 %994, 8
  %996 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %995)
  %997 = add nuw nsw i64 %994, 12
  %998 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %997)
  %999 = sub i32 %996, %998
  %1000 = icmp ult i32 %999, 34
  br i1 %1000, label %1001, label %1003

1001:                                             ; preds = %992
  %1002 = tail call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Awrite0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef %0, i32 noundef %993, i32 noundef 209354, i32 noundef 34) #5
  %.pre3999 = zext i32 %1002 to i64
  %.pre4001 = add nuw nsw i64 %.pre3999, 8
  %.pre4003 = add nuw nsw i64 %.pre3999, 12
  br label %1016

1003:                                             ; preds = %992
  %1004 = tail call i64 @i64_load(ptr noundef nonnull %7, i64 noundef 209354)
  %1005 = zext i32 %998 to i64
  tail call void @i64_store(ptr noundef nonnull %7, i64 noundef %1005, i64 noundef %1004)
  %1006 = tail call i32 @i32_load16_u(ptr noundef nonnull %7, i64 noundef 209386)
  %1007 = add nuw nsw i64 %1005, 32
  tail call void @i32_store16(ptr noundef nonnull %7, i64 noundef %1007, i32 noundef %1006)
  %1008 = tail call i64 @i64_load(ptr noundef nonnull %7, i64 noundef 209378)
  %1009 = add nuw nsw i64 %1005, 24
  tail call void @i64_store(ptr noundef nonnull %7, i64 noundef %1009, i64 noundef %1008)
  %1010 = tail call i64 @i64_load(ptr noundef nonnull %7, i64 noundef 209370)
  %1011 = add nuw nsw i64 %1005, 16
  tail call void @i64_store(ptr noundef nonnull %7, i64 noundef %1011, i64 noundef %1010)
  %1012 = tail call i64 @i64_load(ptr noundef nonnull %7, i64 noundef 209362)
  %1013 = add nuw nsw i64 %1005, 8
  tail call void @i64_store(ptr noundef nonnull %7, i64 noundef %1013, i64 noundef %1012)
  %1014 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %997)
  %1015 = add i32 %1014, 34
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %997, i32 noundef %1015)
  br label %1016

1016:                                             ; preds = %1003, %1001
  %.pre-phi4004 = phi i64 [ %997, %1003 ], [ %.pre4003, %1001 ]
  %.pre-phi4002 = phi i64 [ %995, %1003 ], [ %.pre4001, %1001 ]
  %.pre-phi4000 = phi i64 [ %994, %1003 ], [ %.pre3999, %1001 ]
  %.253730 = phi i32 [ %993, %1003 ], [ %1002, %1001 ]
  tail call void @w2c_hermes_hermes0x3A0x3AInstruction0x3A0x3AgetName0x280x29(ptr noundef %0, i32 noundef %975, i32 noundef %988)
  %1017 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %976)
  %1018 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %977)
  %1019 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %.pre-phi4002)
  %1020 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %.pre-phi4004)
  %1021 = sub i32 %1019, %1020
  %1022 = icmp ugt i32 %1018, %1021
  br i1 %1022, label %1023, label %1028

1023:                                             ; preds = %1016
  %1024 = tail call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Awrite0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef %0, i32 noundef %.253730, i32 noundef %1017, i32 noundef %1018) #5
  %1025 = zext i32 %1024 to i64
  %1026 = add nuw nsw i64 %1025, 12
  %1027 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %1026)
  %.pre4006 = add nuw nsw i64 %1025, 8
  br label %1033

1028:                                             ; preds = %1016
  %.not3868 = icmp eq i32 %1018, 0
  br i1 %.not3868, label %1033, label %1029

1029:                                             ; preds = %1028
  %1030 = tail call i32 @w2c_hermes_0x5F_memcpy(ptr noundef %0, i32 noundef %1020, i32 noundef %1017, i32 noundef %1018) #5
  %1031 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %.pre-phi4004)
  %1032 = add i32 %1031, %1018
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %.pre-phi4004, i32 noundef %1032)
  br label %1033

1033:                                             ; preds = %1028, %1029, %1023
  %.pre-phi4007 = phi i64 [ %.pre-phi4002, %1028 ], [ %.pre-phi4002, %1029 ], [ %.pre4006, %1023 ]
  %.pre-phi4005 = phi i64 [ %.pre-phi4000, %1028 ], [ %.pre-phi4000, %1029 ], [ %1025, %1023 ]
  %.263731 = phi i32 [ %.253730, %1028 ], [ %.253730, %1029 ], [ %1024, %1023 ]
  %.113704 = phi i32 [ %1020, %1028 ], [ %1032, %1029 ], [ %1027, %1023 ]
  %1034 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %.pre-phi4007)
  %1035 = icmp eq i32 %.113704, %1034
  br i1 %1035, label %1036, label %1038

1036:                                             ; preds = %1033
  %1037 = tail call i32 @w2c_hermes_llvh0x3A0x3Araw_ostream0x3A0x3Awrite0x28char0x20const0x2A0x2C0x20unsigned0x20long0x29(ptr noundef %0, i32 noundef %.263731, i32 noundef 213024, i32 noundef 1) #5
  br label %1043

1038:                                             ; preds = %1033
  %1039 = zext i32 %.113704 to i64
  tail call void @i32_store8(ptr noundef nonnull %7, i64 noundef %1039, i32 noundef 10)
  %1040 = add nuw nsw i64 %.pre-phi4005, 12
  %1041 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %1040)
  %1042 = add i32 %1041, 1
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %1040, i32 noundef %1042)
  br label %1043

1043:                                             ; preds = %990, %983, %1038, %1036
  %1044 = add i32 %988, 8
  %.not3869 = icmp eq i32 %988, 0
  %1045 = select i1 %.not3869, i32 0, i32 %1044
  %1046 = tail call i32 @w2c_hermes_hermes0x3A0x3ARegisterAllocator0x3A0x3AgetRegister0x28hermes0x3A0x3AValue0x2A0x29(ptr noundef %0, i32 noundef %1, i32 noundef %1045)
  tail call void @w2c_hermes_hermes0x3A0x3ARegisterFile0x3A0x3AkillRegister0x28hermes0x3A0x3ARegister0x29(ptr noundef %0, i32 noundef %200, i32 noundef %1046)
  %1047 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %62)
  %1048 = zext i32 %1047 to i64
  %1049 = add nuw nsw i64 %1048, 12
  %1050 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %1049)
  %1051 = load i32, ptr %216, align 4, !tbaa !15
  %1052 = icmp ult i32 %1050, %1051
  br i1 %1052, label %1053, label %.critedge3885, !prof !16

1053:                                             ; preds = %1043
  %1054 = load ptr, ptr %215, align 8, !tbaa !17
  %1055 = zext i32 %1050 to i64
  %1056 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1054, i64 %1055
  %1057 = getelementptr inbounds i8, ptr %1056, i64 8
  %1058 = load ptr, ptr %1057, align 8, !tbaa !18
  %.not3870 = icmp eq ptr %1058, null
  br i1 %.not3870, label %.critedge3885, label %1059, !prof !20

1059:                                             ; preds = %1053
  %1060 = load ptr, ptr %1056, align 8, !tbaa !21
  %1061 = tail call zeroext i1 @func_types_eq(ptr noundef %217, ptr noundef %1060)
  br i1 %1061, label %1062, label %.critedge3885, !prof !16

.critedge3885:                                    ; preds = %1053, %1043, %1059
  tail call void @wasm_rt_trap(i32 noundef 6) #6
  unreachable

1062:                                             ; preds = %1059
  %1063 = load ptr, ptr %215, align 8, !tbaa !17
  %1064 = getelementptr inbounds %struct.wasm_rt_funcref_t, ptr %1063, i64 %1055
  %1065 = getelementptr inbounds i8, ptr %1064, i64 8
  %1066 = load ptr, ptr %1065, align 8, !tbaa !18
  %1067 = getelementptr inbounds i8, ptr %1064, i64 16
  %1068 = load ptr, ptr %1067, align 8, !tbaa !22
  tail call void %1066(ptr noundef %1068, i32 noundef %1, i32 noundef %988) #5
  tail call void @w2c_hermes_std0x3A0x3A_0x5F20x3A0x3Apriority_queue0x3Cunsigned0x20int0x2C0x20llvh0x3A0x3ASmallVector0x3Cunsigned0x20int0x2C0x2032u0x3E0x2C0x20hermes0x3A0x3ARegisterAllocator0x3A0x3Aallocate0x28llvh0x3A0x3AArrayRef0x3Chermes0x3A0x3ABasicBlock0x2A0x3E0x290x3A0x3A0x24_00x3E0x3A0x3Apop0x280x29(ptr noundef nonnull %0, i32 noundef %143) #5
  %1069 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %196)
  %.not3871 = icmp eq i32 %1069, 0
  br i1 %.not3871, label %.loopexit3894, label %978

.loopexit3894:                                    ; preds = %1062, %973, %193, %968
  %.03663 = phi i32 [ %197, %193 ], [ %197, %973 ], [ %971, %968 ], [ %197, %1062 ]
  %1070 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %131)
  %1071 = add nuw nsw i64 %10, 380
  %1072 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %1071)
  %1073 = shl i32 %1072, 3
  %1074 = add i32 %1073, %1070
  %1075 = add nuw nsw i64 %10, 372
  %1076 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %1075)
  %.not3872 = icmp eq i32 %1076, 0
  br i1 %.not3872, label %.loopexit3892, label %1077

1077:                                             ; preds = %.loopexit3894
  %1078 = icmp slt i32 %1072, 0
  br i1 %1078, label %1138, label %1079

1079:                                             ; preds = %1077
  %.not3873 = icmp eq i32 %1072, 0
  br i1 %.not3873, label %.loopexit3892, label %.preheader3891

.preheader3891:                                   ; preds = %1079, %1082
  %.34 = phi i32 [ %1083, %1082 ], [ %1070, %1079 ]
  %1080 = zext i32 %.34 to i64
  %1081 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %1080)
  switch i32 %1081, label %.loopexit3892 [
    i32 -8, label %1082
    i32 -4, label %1082
  ]

1082:                                             ; preds = %.preheader3891, %.preheader3891
  %1083 = add i32 %.34, 8
  %.not3874 = icmp eq i32 %1083, %1074
  br i1 %.not3874, label %.loopexit3892, label %.preheader3891

.loopexit3892:                                    ; preds = %1082, %.preheader3891, %1079, %.loopexit3894
  %.73691 = phi i32 [ %1072, %.loopexit3894 ], [ 0, %1079 ], [ %1072, %.preheader3891 ], [ %1072, %1082 ]
  %.35 = phi i32 [ %1074, %.loopexit3894 ], [ %1070, %1079 ], [ %1074, %1082 ], [ %.34, %.preheader3891 ]
  %1084 = shl i32 %.73691, 3
  %1085 = add i32 %1084, %1070
  %1086 = icmp eq i32 %.35, %1085
  br i1 %1086, label %.loopexit3890, label %1087

1087:                                             ; preds = %.loopexit3892
  %1088 = add i32 %1, 1084
  %1089 = add nuw nsw i64 %62, 1096
  %1090 = add nuw nsw i64 %62, 1084
  %1091 = add nuw nsw i64 %10, 420
  %1092 = add i32 %5, -28
  br label %1093

1093:                                             ; preds = %.loopexit, %1087
  %.36 = phi i32 [ %.35, %1087 ], [ %.37, %.loopexit ]
  %1094 = zext i32 %.36 to i64
  %1095 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %1094)
  %1096 = add i32 %1095, 8
  %.not3875 = icmp eq i32 %1095, 0
  %1097 = select i1 %.not3875, i32 0, i32 %1096
  %1098 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %1089)
  %.not3876 = icmp eq i32 %1098, 0
  br i1 %.not3876, label %.loopexit3887, label %1099

1099:                                             ; preds = %1093
  switch i32 %1097, label %1101 [
    i32 -8, label %1100
    i32 -4, label %1100
  ]

1100:                                             ; preds = %1099, %1099
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef %0, i32 noundef 204136, i32 noundef 81389, i32 noundef 597, i32 noundef 48929) #5
  tail call void @wasm_rt_trap(i32 noundef 5) #6
  unreachable

1101:                                             ; preds = %1099
  %1102 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %1090)
  %1103 = add i32 %1098, -1
  %1104 = lshr i32 %1097, 4
  %1105 = lshr i32 %1097, 9
  %1106 = xor i32 %1104, %1105
  %1107 = and i32 %1106, %1103
  %1108 = shl nuw nsw i32 %1107, 3
  %1109 = add i32 %1102, %1108
  %1110 = zext i32 %1109 to i64
  %1111 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %1110)
  %.not3877 = icmp eq i32 %1097, %1111
  br i1 %.not3877, label %.loopexit3888, label %.preheader3886

.preheader3886:                                   ; preds = %1101, %1113
  %.83692 = phi i32 [ %1120, %1113 ], [ %1111, %1101 ]
  %.13671 = phi i32 [ %1116, %1113 ], [ %1107, %1101 ]
  %.03665 = phi i32 [ %1115, %1113 ], [ 1, %1101 ]
  %1112 = icmp eq i32 %.83692, -4
  br i1 %1112, label %.loopexit3887, label %1113

1113:                                             ; preds = %.preheader3886
  %1114 = add i32 %.03665, %.13671
  %1115 = add i32 %.03665, 1
  %1116 = and i32 %1114, %1103
  %1117 = shl i32 %1116, 3
  %1118 = add i32 %1117, %1102
  %1119 = zext i32 %1118 to i64
  %1120 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %1119)
  %.not3878 = icmp eq i32 %1120, %1097
  br i1 %.not3878, label %.loopexit3888, label %.preheader3886

.loopexit3888:                                    ; preds = %1101, %1113
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef %0, i32 noundef 180006, i32 noundef 61865, i32 noundef 755, i32 noundef 91419) #5
  tail call void @wasm_rt_trap(i32 noundef 5) #6
  unreachable

.loopexit3887:                                    ; preds = %.preheader3886, %1093
  %1121 = add nuw nsw i64 %1094, 4
  %1122 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %1121)
  %1123 = add i32 %1122, 8
  %.not3879 = icmp eq i32 %1122, 0
  %1124 = select i1 %.not3879, i32 0, i32 %1123
  %1125 = tail call i32 @w2c_hermes_hermes0x3A0x3ARegisterAllocator0x3A0x3AgetRegister0x28hermes0x3A0x3AValue0x2A0x29(ptr noundef %0, i32 noundef %1, i32 noundef %1124)
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %1091, i32 noundef %1097)
  %1126 = tail call i32 @w2c_hermes_llvh0x3A0x3ADenseMapBase0x3Cllvh0x3A0x3ADenseMap0x3Chermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3ARegister0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3AValue0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3ARegister0x3E0x3E0x2C0x20hermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3ARegister0x2C0x20llvh0x3A0x3ADenseMapInfo0x3Chermes0x3A0x3AValue0x2A0x3E0x2C0x20llvh0x3A0x3Adetail0x3A0x3ADenseMapPair0x3Chermes0x3A0x3AValue0x2A0x2C0x20hermes0x3A0x3ARegister0x3E0x3E0x3A0x3AFindAndConstruct0x28hermes0x3A0x3AValue0x2A0x20const0x260x29(ptr noundef %0, i32 noundef %1088, i32 noundef %1092) #5
  %1127 = zext i32 %1126 to i64
  %1128 = add nuw nsw i64 %1127, 4
  tail call void @i32_store(ptr noundef nonnull %7, i64 noundef %1128, i32 noundef %1125)
  %1129 = add i32 %.36, 8
  %1130 = icmp ugt i32 %1129, %1074
  br i1 %1130, label %1139, label %1131

1131:                                             ; preds = %.loopexit3887
  %1132 = icmp eq i32 %1074, %1129
  br i1 %1132, label %.loopexit, label %.preheader

.preheader:                                       ; preds = %1131, %1135
  %.273732 = phi i32 [ %1136, %1135 ], [ %1129, %1131 ]
  %1133 = zext i32 %.273732 to i64
  %1134 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %1133)
  switch i32 %1134, label %.loopexit [
    i32 -8, label %1135
    i32 -4, label %1135
  ]

1135:                                             ; preds = %.preheader, %.preheader
  %1136 = add i32 %.273732, 8
  %.not3880 = icmp eq i32 %1136, %1074
  br i1 %.not3880, label %.loopexit, label %.preheader

.loopexit:                                        ; preds = %1135, %.preheader, %1131
  %.37 = phi i32 [ %1074, %1131 ], [ %1074, %1135 ], [ %.273732, %.preheader ]
  %.not3881 = icmp eq i32 %.37, %1085
  br i1 %.not3881, label %.loopexit3890, label %1093

1137:                                             ; preds = %978
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef %0, i32 noundef 118701, i32 noundef 79572, i32 noundef 161, i32 noundef 108367) #5
  tail call void @wasm_rt_trap(i32 noundef 5) #6
  unreachable

1138:                                             ; preds = %1077
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef %0, i32 noundef 103214, i32 noundef 81389, i32 noundef 1212, i32 noundef 40687) #5
  tail call void @wasm_rt_trap(i32 noundef 5) #6
  unreachable

1139:                                             ; preds = %.loopexit3887
  tail call void @w2c_hermes_0x5F_assert_fail(ptr noundef %0, i32 noundef 103214, i32 noundef 81389, i32 noundef 1212, i32 noundef 40687) #5
  tail call void @wasm_rt_trap(i32 noundef 5) #6
  unreachable

.loopexit3890:                                    ; preds = %.loopexit, %.loopexit3892
  %1140 = add nuw nsw i64 %10, 72
  %1141 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %1140)
  %.not3882 = icmp eq i32 %.03663, %1141
  br i1 %.not3882, label %1143, label %1142

1142:                                             ; preds = %.loopexit3890
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %1141) #5
  br label %1143

1143:                                             ; preds = %1142, %.loopexit3890
  %1144 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %.pre-phi3998)
  %.not3883 = icmp eq i32 %136, %1144
  br i1 %.not3883, label %1146, label %1145

1145:                                             ; preds = %1143
  tail call void @w2c_hermes_dlfree(ptr noundef %0, i32 noundef %1144) #5
  br label %1146

1146:                                             ; preds = %1145, %1143
  %1147 = tail call i32 @i32_load(ptr noundef nonnull %7, i64 noundef %131)
  tail call void @w2c_hermes_operator0x20delete0x28void0x2A0x29(ptr noundef %0, i32 noundef %1147) #5
  br label %1148

1148:                                             ; preds = %1146, %95
  store i32 %5, ptr %4, align 8, !tbaa !5
  ret void
}

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

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

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

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

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

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

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

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

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

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


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