; LLVM IR from facebook/hermes :: API/hermes_sandbox/external (hermes_sandbox_impl_opt_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 }

; 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_store(ptr noundef, i64 noundef, i32 noundef) #1

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

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

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

; 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_load8_u(ptr noundef, i64 noundef) #1

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

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

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

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

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

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

143:                                              ; preds = %4
  %144 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %144, ptr %28, align 4, !tbaa !9
  %145 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %145, ptr %29, align 4, !tbaa !9
  %146 = load i32, ptr %29, align 4, !tbaa !9
  %147 = icmp ne i32 %146, 0
  %148 = xor i1 %147, true
  %149 = zext i1 %148 to i32
  store i32 %149, ptr %29, align 4, !tbaa !9
  %150 = load i32, ptr %29, align 4, !tbaa !9
  %151 = icmp ne i32 %150, 0
  br i1 %151, label %152, label %153

152:                                              ; preds = %143
  br label %398

153:                                              ; preds = %143
  %154 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %154, ptr %28, align 4, !tbaa !9
  %155 = load ptr, ptr %5, align 8, !tbaa !5
  %156 = getelementptr inbounds %struct.w2c_hermes, ptr %155, i32 0, i32 6
  %157 = load i32, ptr %28, align 4, !tbaa !9
  %158 = zext i32 %157 to i64
  %159 = call i32 @i32_load(ptr noundef %156, i64 noundef %158)
  store i32 %159, ptr %28, align 4, !tbaa !9
  %160 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %160, ptr %9, align 4, !tbaa !9
  %161 = load ptr, ptr %5, align 8, !tbaa !5
  %162 = getelementptr inbounds %struct.w2c_hermes, ptr %161, i32 0, i32 6
  %163 = load i32, ptr %28, align 4, !tbaa !9
  %164 = zext i32 %163 to i64
  %165 = call i32 @i32_load(ptr noundef %162, i64 noundef %164)
  store i32 %165, ptr %28, align 4, !tbaa !9
  %166 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %166, ptr %10, align 4, !tbaa !9
  store i32 150994944, ptr %29, align 4, !tbaa !9
  %167 = load i32, ptr %28, align 4, !tbaa !9
  %168 = load i32, ptr %29, align 4, !tbaa !9
  %169 = icmp uge i32 %167, %168
  %170 = zext i1 %169 to i32
  store i32 %170, ptr %28, align 4, !tbaa !9
  %171 = load i32, ptr %28, align 4, !tbaa !9
  %172 = icmp ne i32 %171, 0
  br i1 %172, label %173, label %204

173:                                              ; preds = %153
  %174 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %174, ptr %28, align 4, !tbaa !9
  %175 = load ptr, ptr %5, align 8, !tbaa !5
  %176 = getelementptr inbounds %struct.w2c_hermes, ptr %175, i32 0, i32 6
  %177 = load i32, ptr %28, align 4, !tbaa !9
  %178 = zext i32 %177 to i64
  %179 = add i64 %178, 12
  %180 = call i32 @i32_load(ptr noundef %176, i64 noundef %179)
  store i32 %180, ptr %28, align 4, !tbaa !9
  %181 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %181, ptr %29, align 4, !tbaa !9
  store i32 12, ptr %30, align 4, !tbaa !9
  %182 = load i32, ptr %30, align 4, !tbaa !9
  %183 = load i32, ptr %29, align 4, !tbaa !9
  %184 = add i32 %183, %182
  store i32 %184, ptr %29, align 4, !tbaa !9
  %185 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %185, ptr %30, align 4, !tbaa !9
  %186 = load ptr, ptr %5, align 8, !tbaa !5
  %187 = getelementptr inbounds %struct.w2c_hermes, ptr %186, i32 0, i32 6
  %188 = load i32, ptr %30, align 4, !tbaa !9
  %189 = zext i32 %188 to i64
  %190 = add i64 %189, 23
  %191 = call i32 @i32_load8_s(ptr noundef %187, i64 noundef %190)
  store i32 %191, ptr %30, align 4, !tbaa !9
  store i32 0, ptr %31, align 4, !tbaa !9
  %192 = load i32, ptr %30, align 4, !tbaa !9
  %193 = load i32, ptr %31, align 4, !tbaa !9
  %194 = icmp slt i32 %192, %193
  %195 = zext i1 %194 to i32
  store i32 %195, ptr %30, align 4, !tbaa !9
  %196 = load i32, ptr %30, align 4, !tbaa !9
  %197 = icmp ne i32 %196, 0
  br i1 %197, label %198, label %200

198:                                              ; preds = %173
  %199 = load i32, ptr %28, align 4, !tbaa !9
  br label %202

200:                                              ; preds = %173
  %201 = load i32, ptr %29, align 4, !tbaa !9
  br label %202

202:                                              ; preds = %200, %198
  %203 = phi i32 [ %199, %198 ], [ %201, %200 ]
  store i32 %203, ptr %28, align 4, !tbaa !9
  br label %398

204:                                              ; preds = %153
  %205 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %205, ptr %28, align 4, !tbaa !9
  store i32 -16777216, ptr %29, align 4, !tbaa !9
  %206 = load i32, ptr %29, align 4, !tbaa !9
  %207 = load i32, ptr %28, align 4, !tbaa !9
  %208 = and i32 %207, %206
  store i32 %208, ptr %28, align 4, !tbaa !9
  %209 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %209, ptr %10, align 4, !tbaa !9
  store i32 67108864, ptr %29, align 4, !tbaa !9
  %210 = load i32, ptr %28, align 4, !tbaa !9
  %211 = load i32, ptr %29, align 4, !tbaa !9
  %212 = icmp eq i32 %210, %211
  %213 = zext i1 %212 to i32
  store i32 %213, ptr %28, align 4, !tbaa !9
  %214 = load i32, ptr %28, align 4, !tbaa !9
  %215 = icmp ne i32 %214, 0
  br i1 %215, label %216, label %217

216:                                              ; preds = %204
  br label %393

217:                                              ; preds = %204
  %218 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %218, ptr %28, align 4, !tbaa !9
  store i32 12, ptr %29, align 4, !tbaa !9
  %219 = load i32, ptr %29, align 4, !tbaa !9
  %220 = load i32, ptr %28, align 4, !tbaa !9
  %221 = add i32 %220, %219
  store i32 %221, ptr %28, align 4, !tbaa !9
  %222 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %222, ptr %29, align 4, !tbaa !9
  store i32 134217728, ptr %30, align 4, !tbaa !9
  %223 = load i32, ptr %29, align 4, !tbaa !9
  %224 = load i32, ptr %30, align 4, !tbaa !9
  %225 = icmp eq i32 %223, %224
  %226 = zext i1 %225 to i32
  store i32 %226, ptr %29, align 4, !tbaa !9
  %227 = load i32, ptr %29, align 4, !tbaa !9
  %228 = icmp ne i32 %227, 0
  br i1 %228, label %229, label %230

229:                                              ; preds = %217
  br label %398

230:                                              ; preds = %217
  %231 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %231, ptr %28, align 4, !tbaa !9
  %232 = load ptr, ptr %5, align 8, !tbaa !5
  %233 = getelementptr inbounds %struct.w2c_hermes, ptr %232, i32 0, i32 6
  %234 = load i32, ptr %28, align 4, !tbaa !9
  %235 = zext i32 %234 to i64
  %236 = add i64 %235, 8
  %237 = call i32 @i32_load(ptr noundef %233, i64 noundef %236)
  store i32 %237, ptr %28, align 4, !tbaa !9
  %238 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %238, ptr %9, align 4, !tbaa !9
  %239 = load ptr, ptr %5, align 8, !tbaa !5
  %240 = getelementptr inbounds %struct.w2c_hermes, ptr %239, i32 0, i32 6
  %241 = load i32, ptr %28, align 4, !tbaa !9
  %242 = zext i32 %241 to i64
  %243 = add i64 %242, 12
  %244 = call i32 @i32_load(ptr noundef %240, i64 noundef %243)
  store i32 %244, ptr %28, align 4, !tbaa !9
  %245 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %245, ptr %29, align 4, !tbaa !9
  store i32 12, ptr %30, align 4, !tbaa !9
  %246 = load i32, ptr %30, align 4, !tbaa !9
  %247 = load i32, ptr %29, align 4, !tbaa !9
  %248 = add i32 %247, %246
  store i32 %248, ptr %29, align 4, !tbaa !9
  %249 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %249, ptr %30, align 4, !tbaa !9
  %250 = load ptr, ptr %5, align 8, !tbaa !5
  %251 = getelementptr inbounds %struct.w2c_hermes, ptr %250, i32 0, i32 6
  %252 = load i32, ptr %30, align 4, !tbaa !9
  %253 = zext i32 %252 to i64
  %254 = add i64 %253, 23
  %255 = call i32 @i32_load8_s(ptr noundef %251, i64 noundef %254)
  store i32 %255, ptr %30, align 4, !tbaa !9
  store i32 0, ptr %31, align 4, !tbaa !9
  %256 = load i32, ptr %30, align 4, !tbaa !9
  %257 = load i32, ptr %31, align 4, !tbaa !9
  %258 = icmp slt i32 %256, %257
  %259 = zext i1 %258 to i32
  store i32 %259, ptr %30, align 4, !tbaa !9
  %260 = load i32, ptr %30, align 4, !tbaa !9
  %261 = icmp ne i32 %260, 0
  br i1 %261, label %262, label %264

262:                                              ; preds = %230
  %263 = load i32, ptr %28, align 4, !tbaa !9
  br label %266

264:                                              ; preds = %230
  %265 = load i32, ptr %29, align 4, !tbaa !9
  br label %266

266:                                              ; preds = %264, %262
  %267 = phi i32 [ %263, %262 ], [ %265, %264 ]
  store i32 %267, ptr %28, align 4, !tbaa !9
  br label %398

268:                                              ; preds = %4
  %269 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %269, ptr %28, align 4, !tbaa !9
  %270 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %270, ptr %29, align 4, !tbaa !9
  %271 = load i32, ptr %29, align 4, !tbaa !9
  %272 = icmp ne i32 %271, 0
  %273 = xor i1 %272, true
  %274 = zext i1 %273 to i32
  store i32 %274, ptr %29, align 4, !tbaa !9
  %275 = load i32, ptr %29, align 4, !tbaa !9
  %276 = icmp ne i32 %275, 0
  br i1 %276, label %277, label %278

277:                                              ; preds = %268
  br label %753

278:                                              ; preds = %268
  %279 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %279, ptr %28, align 4, !tbaa !9
  %280 = load ptr, ptr %5, align 8, !tbaa !5
  %281 = getelementptr inbounds %struct.w2c_hermes, ptr %280, i32 0, i32 6
  %282 = load i32, ptr %28, align 4, !tbaa !9
  %283 = zext i32 %282 to i64
  %284 = call i32 @i32_load(ptr noundef %281, i64 noundef %283)
  store i32 %284, ptr %28, align 4, !tbaa !9
  %285 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %285, ptr %9, align 4, !tbaa !9
  %286 = load ptr, ptr %5, align 8, !tbaa !5
  %287 = getelementptr inbounds %struct.w2c_hermes, ptr %286, i32 0, i32 6
  %288 = load i32, ptr %28, align 4, !tbaa !9
  %289 = zext i32 %288 to i64
  %290 = call i32 @i32_load(ptr noundef %287, i64 noundef %289)
  store i32 %290, ptr %28, align 4, !tbaa !9
  %291 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %291, ptr %10, align 4, !tbaa !9
  store i32 150994944, ptr %29, align 4, !tbaa !9
  %292 = load i32, ptr %28, align 4, !tbaa !9
  %293 = load i32, ptr %29, align 4, !tbaa !9
  %294 = icmp uge i32 %292, %293
  %295 = zext i1 %294 to i32
  store i32 %295, ptr %28, align 4, !tbaa !9
  %296 = load i32, ptr %28, align 4, !tbaa !9
  %297 = icmp ne i32 %296, 0
  br i1 %297, label %298, label %329

298:                                              ; preds = %278
  %299 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %299, ptr %28, align 4, !tbaa !9
  %300 = load ptr, ptr %5, align 8, !tbaa !5
  %301 = getelementptr inbounds %struct.w2c_hermes, ptr %300, i32 0, i32 6
  %302 = load i32, ptr %28, align 4, !tbaa !9
  %303 = zext i32 %302 to i64
  %304 = add i64 %303, 12
  %305 = call i32 @i32_load(ptr noundef %301, i64 noundef %304)
  store i32 %305, ptr %28, align 4, !tbaa !9
  %306 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %306, ptr %29, align 4, !tbaa !9
  store i32 12, ptr %30, align 4, !tbaa !9
  %307 = load i32, ptr %30, align 4, !tbaa !9
  %308 = load i32, ptr %29, align 4, !tbaa !9
  %309 = add i32 %308, %307
  store i32 %309, ptr %29, align 4, !tbaa !9
  %310 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %310, ptr %30, align 4, !tbaa !9
  %311 = load ptr, ptr %5, align 8, !tbaa !5
  %312 = getelementptr inbounds %struct.w2c_hermes, ptr %311, i32 0, i32 6
  %313 = load i32, ptr %30, align 4, !tbaa !9
  %314 = zext i32 %313 to i64
  %315 = add i64 %314, 23
  %316 = call i32 @i32_load8_s(ptr noundef %312, i64 noundef %315)
  store i32 %316, ptr %30, align 4, !tbaa !9
  store i32 0, ptr %31, align 4, !tbaa !9
  %317 = load i32, ptr %30, align 4, !tbaa !9
  %318 = load i32, ptr %31, align 4, !tbaa !9
  %319 = icmp slt i32 %317, %318
  %320 = zext i1 %319 to i32
  store i32 %320, ptr %30, align 4, !tbaa !9
  %321 = load i32, ptr %30, align 4, !tbaa !9
  %322 = icmp ne i32 %321, 0
  br i1 %322, label %323, label %325

323:                                              ; preds = %298
  %324 = load i32, ptr %28, align 4, !tbaa !9
  br label %327

325:                                              ; preds = %298
  %326 = load i32, ptr %29, align 4, !tbaa !9
  br label %327

327:                                              ; preds = %325, %323
  %328 = phi i32 [ %324, %323 ], [ %326, %325 ]
  store i32 %328, ptr %28, align 4, !tbaa !9
  br label %753

329:                                              ; preds = %278
  %330 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %330, ptr %28, align 4, !tbaa !9
  store i32 -16777216, ptr %29, align 4, !tbaa !9
  %331 = load i32, ptr %29, align 4, !tbaa !9
  %332 = load i32, ptr %28, align 4, !tbaa !9
  %333 = and i32 %332, %331
  store i32 %333, ptr %28, align 4, !tbaa !9
  %334 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %334, ptr %10, align 4, !tbaa !9
  store i32 50331648, ptr %29, align 4, !tbaa !9
  %335 = load i32, ptr %28, align 4, !tbaa !9
  %336 = load i32, ptr %29, align 4, !tbaa !9
  %337 = icmp eq i32 %335, %336
  %338 = zext i1 %337 to i32
  store i32 %338, ptr %28, align 4, !tbaa !9
  %339 = load i32, ptr %28, align 4, !tbaa !9
  %340 = icmp ne i32 %339, 0
  br i1 %340, label %341, label %342

341:                                              ; preds = %329
  br label %748

342:                                              ; preds = %329
  %343 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %343, ptr %28, align 4, !tbaa !9
  store i32 12, ptr %29, align 4, !tbaa !9
  %344 = load i32, ptr %29, align 4, !tbaa !9
  %345 = load i32, ptr %28, align 4, !tbaa !9
  %346 = add i32 %345, %344
  store i32 %346, ptr %28, align 4, !tbaa !9
  %347 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %347, ptr %29, align 4, !tbaa !9
  store i32 117440512, ptr %30, align 4, !tbaa !9
  %348 = load i32, ptr %29, align 4, !tbaa !9
  %349 = load i32, ptr %30, align 4, !tbaa !9
  %350 = icmp eq i32 %348, %349
  %351 = zext i1 %350 to i32
  store i32 %351, ptr %29, align 4, !tbaa !9
  %352 = load i32, ptr %29, align 4, !tbaa !9
  %353 = icmp ne i32 %352, 0
  br i1 %353, label %354, label %355

354:                                              ; preds = %342
  br label %753

355:                                              ; preds = %342
  %356 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %356, ptr %28, align 4, !tbaa !9
  %357 = load ptr, ptr %5, align 8, !tbaa !5
  %358 = getelementptr inbounds %struct.w2c_hermes, ptr %357, i32 0, i32 6
  %359 = load i32, ptr %28, align 4, !tbaa !9
  %360 = zext i32 %359 to i64
  %361 = add i64 %360, 8
  %362 = call i32 @i32_load(ptr noundef %358, i64 noundef %361)
  store i32 %362, ptr %28, align 4, !tbaa !9
  %363 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %363, ptr %9, align 4, !tbaa !9
  %364 = load ptr, ptr %5, align 8, !tbaa !5
  %365 = getelementptr inbounds %struct.w2c_hermes, ptr %364, i32 0, i32 6
  %366 = load i32, ptr %28, align 4, !tbaa !9
  %367 = zext i32 %366 to i64
  %368 = add i64 %367, 12
  %369 = call i32 @i32_load(ptr noundef %365, i64 noundef %368)
  store i32 %369, ptr %28, align 4, !tbaa !9
  %370 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %370, ptr %29, align 4, !tbaa !9
  store i32 12, ptr %30, align 4, !tbaa !9
  %371 = load i32, ptr %30, align 4, !tbaa !9
  %372 = load i32, ptr %29, align 4, !tbaa !9
  %373 = add i32 %372, %371
  store i32 %373, ptr %29, align 4, !tbaa !9
  %374 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %374, ptr %30, align 4, !tbaa !9
  %375 = load ptr, ptr %5, align 8, !tbaa !5
  %376 = getelementptr inbounds %struct.w2c_hermes, ptr %375, i32 0, i32 6
  %377 = load i32, ptr %30, align 4, !tbaa !9
  %378 = zext i32 %377 to i64
  %379 = add i64 %378, 23
  %380 = call i32 @i32_load8_s(ptr noundef %376, i64 noundef %379)
  store i32 %380, ptr %30, align 4, !tbaa !9
  store i32 0, ptr %31, align 4, !tbaa !9
  %381 = load i32, ptr %30, align 4, !tbaa !9
  %382 = load i32, ptr %31, align 4, !tbaa !9
  %383 = icmp slt i32 %381, %382
  %384 = zext i1 %383 to i32
  store i32 %384, ptr %30, align 4, !tbaa !9
  %385 = load i32, ptr %30, align 4, !tbaa !9
  %386 = icmp ne i32 %385, 0
  br i1 %386, label %387, label %389

387:                                              ; preds = %355
  %388 = load i32, ptr %28, align 4, !tbaa !9
  br label %391

389:                                              ; preds = %355
  %390 = load i32, ptr %29, align 4, !tbaa !9
  br label %391

391:                                              ; preds = %389, %387
  %392 = phi i32 [ %388, %387 ], [ %390, %389 ]
  store i32 %392, ptr %28, align 4, !tbaa !9
  br label %753

393:                                              ; preds = %216
  %394 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %394, ptr %28, align 4, !tbaa !9
  store i32 8, ptr %29, align 4, !tbaa !9
  %395 = load i32, ptr %29, align 4, !tbaa !9
  %396 = load i32, ptr %28, align 4, !tbaa !9
  %397 = add i32 %396, %395
  store i32 %397, ptr %28, align 4, !tbaa !9
  br label %398

398:                                              ; preds = %393, %266, %229, %202, %152
  %399 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %399, ptr %10, align 4, !tbaa !9
  %400 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %400, ptr %28, align 4, !tbaa !9
  store i32 87, ptr %29, align 4, !tbaa !9
  %401 = load i32, ptr %29, align 4, !tbaa !9
  %402 = load i32, ptr %28, align 4, !tbaa !9
  %403 = add i32 %402, %401
  store i32 %403, ptr %28, align 4, !tbaa !9
  %404 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %404, ptr %18, align 4, !tbaa !9
  %405 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %405, ptr %28, align 4, !tbaa !9
  store i32 48, ptr %29, align 4, !tbaa !9
  %406 = load i32, ptr %29, align 4, !tbaa !9
  %407 = load i32, ptr %28, align 4, !tbaa !9
  %408 = add i32 %407, %406
  store i32 %408, ptr %28, align 4, !tbaa !9
  %409 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %409, ptr %22, align 4, !tbaa !9
  %410 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %410, ptr %28, align 4, !tbaa !9
  %411 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %411, ptr %29, align 4, !tbaa !9
  store i32 1073741823, ptr %30, align 4, !tbaa !9
  %412 = load i32, ptr %30, align 4, !tbaa !9
  %413 = load i32, ptr %29, align 4, !tbaa !9
  %414 = and i32 %413, %412
  store i32 %414, ptr %29, align 4, !tbaa !9
  %415 = load i32, ptr %29, align 4, !tbaa !9
  store i32 %415, ptr %19, align 4, !tbaa !9
  %416 = load i32, ptr %29, align 4, !tbaa !9
  %417 = load i32, ptr %28, align 4, !tbaa !9
  %418 = add i32 %417, %416
  store i32 %418, ptr %28, align 4, !tbaa !9
  %419 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %419, ptr %9, align 4, !tbaa !9
  %420 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %420, ptr %28, align 4, !tbaa !9
  %421 = load ptr, ptr %5, align 8, !tbaa !5
  %422 = getelementptr inbounds %struct.w2c_hermes, ptr %421, i32 0, i32 6
  %423 = load i32, ptr %28, align 4, !tbaa !9
  %424 = zext i32 %423 to i64
  %425 = add i64 %424, 8
  %426 = call i32 @i32_load(ptr noundef %422, i64 noundef %425)
  store i32 %426, ptr %28, align 4, !tbaa !9
  %427 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %427, ptr %16, align 4, !tbaa !9
  %428 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %428, ptr %28, align 4, !tbaa !9
  %429 = load ptr, ptr %5, align 8, !tbaa !5
  %430 = getelementptr inbounds %struct.w2c_hermes, ptr %429, i32 0, i32 6
  %431 = load i32, ptr %28, align 4, !tbaa !9
  %432 = zext i32 %431 to i64
  %433 = add i64 %432, 24
  %434 = call i32 @i32_load(ptr noundef %430, i64 noundef %433)
  store i32 %434, ptr %28, align 4, !tbaa !9
  %435 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %435, ptr %20, align 4, !tbaa !9
  %436 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %436, ptr %28, align 4, !tbaa !9
  %437 = load ptr, ptr %5, align 8, !tbaa !5
  %438 = getelementptr inbounds %struct.w2c_hermes, ptr %437, i32 0, i32 6
  %439 = load i32, ptr %28, align 4, !tbaa !9
  %440 = zext i32 %439 to i64
  %441 = add i64 %440, 12
  %442 = call i32 @i32_load(ptr noundef %438, i64 noundef %441)
  store i32 %442, ptr %28, align 4, !tbaa !9
  %443 = load i32, ptr %28, align 4, !tbaa !9
  %444 = sitofp i32 %443 to double
  store double %444, ptr %35, align 8, !tbaa !11
  %445 = load double, ptr %35, align 8, !tbaa !11
  store double %445, ptr %27, align 8, !tbaa !11
  %446 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %446, ptr %28, align 4, !tbaa !9
  %447 = load i32, ptr %28, align 4, !tbaa !9
  %448 = icmp ne i32 %447, 0
  %449 = xor i1 %448, true
  %450 = zext i1 %449 to i32
  store i32 %450, ptr %28, align 4, !tbaa !9
  %451 = load i32, ptr %28, align 4, !tbaa !9
  %452 = icmp ne i32 %451, 0
  br i1 %452, label %453, label %454

453:                                              ; preds = %398
  br label %1230

454:                                              ; preds = %398
  store i32 0, ptr %28, align 4, !tbaa !9
  %455 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %455, ptr %10, align 4, !tbaa !9
  br label %456

456:                                              ; preds = %745, %454
  %457 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %457, ptr %28, align 4, !tbaa !9
  %458 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %458, ptr %29, align 4, !tbaa !9
  %459 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %459, ptr %30, align 4, !tbaa !9
  %460 = load i32, ptr %30, align 4, !tbaa !9
  %461 = icmp ne i32 %460, 0
  br i1 %461, label %462, label %464

462:                                              ; preds = %456
  %463 = load i32, ptr %28, align 4, !tbaa !9
  br label %466

464:                                              ; preds = %456
  %465 = load i32, ptr %29, align 4, !tbaa !9
  br label %466

466:                                              ; preds = %464, %462
  %467 = phi i32 [ %463, %462 ], [ %465, %464 ]
  store i32 %467, ptr %28, align 4, !tbaa !9
  %468 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %468, ptr %29, align 4, !tbaa !9
  %469 = load ptr, ptr %5, align 8, !tbaa !5
  %470 = getelementptr inbounds %struct.w2c_hermes, ptr %469, i32 0, i32 6
  %471 = load i32, ptr %29, align 4, !tbaa !9
  %472 = zext i32 %471 to i64
  %473 = call i32 @i32_load(ptr noundef %470, i64 noundef %472)
  store i32 %473, ptr %29, align 4, !tbaa !9
  %474 = load i32, ptr %29, align 4, !tbaa !9
  store i32 %474, ptr %11, align 4, !tbaa !9
  %475 = load ptr, ptr %5, align 8, !tbaa !5
  %476 = getelementptr inbounds %struct.w2c_hermes, ptr %475, i32 0, i32 6
  %477 = load i32, ptr %29, align 4, !tbaa !9
  %478 = zext i32 %477 to i64
  %479 = call i32 @i32_load(ptr noundef %476, i64 noundef %478)
  store i32 %479, ptr %29, align 4, !tbaa !9
  %480 = load i32, ptr %29, align 4, !tbaa !9
  store i32 %480, ptr %13, align 4, !tbaa !9
  store i32 150994943, ptr %30, align 4, !tbaa !9
  %481 = load i32, ptr %29, align 4, !tbaa !9
  %482 = load i32, ptr %30, align 4, !tbaa !9
  %483 = icmp ule i32 %481, %482
  %484 = zext i1 %483 to i32
  store i32 %484, ptr %29, align 4, !tbaa !9
  %485 = load i32, ptr %29, align 4, !tbaa !9
  %486 = icmp ne i32 %485, 0
  br i1 %486, label %487, label %556

487:                                              ; preds = %466
  %488 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %488, ptr %29, align 4, !tbaa !9
  store i32 -16777216, ptr %30, align 4, !tbaa !9
  %489 = load i32, ptr %30, align 4, !tbaa !9
  %490 = load i32, ptr %29, align 4, !tbaa !9
  %491 = and i32 %490, %489
  store i32 %491, ptr %29, align 4, !tbaa !9
  %492 = load i32, ptr %29, align 4, !tbaa !9
  store i32 %492, ptr %13, align 4, !tbaa !9
  store i32 134217728, ptr %30, align 4, !tbaa !9
  %493 = load i32, ptr %29, align 4, !tbaa !9
  %494 = load i32, ptr %30, align 4, !tbaa !9
  %495 = icmp ne i32 %493, %494
  %496 = zext i1 %495 to i32
  store i32 %496, ptr %29, align 4, !tbaa !9
  %497 = load i32, ptr %29, align 4, !tbaa !9
  %498 = icmp ne i32 %497, 0
  br i1 %498, label %499, label %513

499:                                              ; preds = %487
  %500 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %500, ptr %29, align 4, !tbaa !9
  store i32 67108864, ptr %30, align 4, !tbaa !9
  %501 = load i32, ptr %29, align 4, !tbaa !9
  %502 = load i32, ptr %30, align 4, !tbaa !9
  %503 = icmp ne i32 %501, %502
  %504 = zext i1 %503 to i32
  store i32 %504, ptr %29, align 4, !tbaa !9
  %505 = load i32, ptr %29, align 4, !tbaa !9
  %506 = icmp ne i32 %505, 0
  br i1 %506, label %507, label %508

507:                                              ; preds = %499
  br label %518

508:                                              ; preds = %499
  %509 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %509, ptr %29, align 4, !tbaa !9
  store i32 8, ptr %30, align 4, !tbaa !9
  %510 = load i32, ptr %30, align 4, !tbaa !9
  %511 = load i32, ptr %29, align 4, !tbaa !9
  %512 = add i32 %511, %510
  store i32 %512, ptr %29, align 4, !tbaa !9
  br label %587

513:                                              ; preds = %487
  %514 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %514, ptr %29, align 4, !tbaa !9
  store i32 12, ptr %30, align 4, !tbaa !9
  %515 = load i32, ptr %30, align 4, !tbaa !9
  %516 = load i32, ptr %29, align 4, !tbaa !9
  %517 = add i32 %516, %515
  store i32 %517, ptr %29, align 4, !tbaa !9
  br label %587

518:                                              ; preds = %507
  %519 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %519, ptr %29, align 4, !tbaa !9
  %520 = load ptr, ptr %5, align 8, !tbaa !5
  %521 = getelementptr inbounds %struct.w2c_hermes, ptr %520, i32 0, i32 6
  %522 = load i32, ptr %29, align 4, !tbaa !9
  %523 = zext i32 %522 to i64
  %524 = add i64 %523, 8
  %525 = call i32 @i32_load(ptr noundef %521, i64 noundef %524)
  store i32 %525, ptr %29, align 4, !tbaa !9
  %526 = load i32, ptr %29, align 4, !tbaa !9
  store i32 %526, ptr %11, align 4, !tbaa !9
  %527 = load ptr, ptr %5, align 8, !tbaa !5
  %528 = getelementptr inbounds %struct.w2c_hermes, ptr %527, i32 0, i32 6
  %529 = load i32, ptr %29, align 4, !tbaa !9
  %530 = zext i32 %529 to i64
  %531 = add i64 %530, 12
  %532 = call i32 @i32_load(ptr noundef %528, i64 noundef %531)
  store i32 %532, ptr %29, align 4, !tbaa !9
  %533 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %533, ptr %30, align 4, !tbaa !9
  store i32 12, ptr %31, align 4, !tbaa !9
  %534 = load i32, ptr %31, align 4, !tbaa !9
  %535 = load i32, ptr %30, align 4, !tbaa !9
  %536 = add i32 %535, %534
  store i32 %536, ptr %30, align 4, !tbaa !9
  %537 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %537, ptr %31, align 4, !tbaa !9
  %538 = load ptr, ptr %5, align 8, !tbaa !5
  %539 = getelementptr inbounds %struct.w2c_hermes, ptr %538, i32 0, i32 6
  %540 = load i32, ptr %31, align 4, !tbaa !9
  %541 = zext i32 %540 to i64
  %542 = add i64 %541, 23
  %543 = call i32 @i32_load8_s(ptr noundef %539, i64 noundef %542)
  store i32 %543, ptr %31, align 4, !tbaa !9
  store i32 0, ptr %32, align 4, !tbaa !9
  %544 = load i32, ptr %31, align 4, !tbaa !9
  %545 = load i32, ptr %32, align 4, !tbaa !9
  %546 = icmp slt i32 %544, %545
  %547 = zext i1 %546 to i32
  store i32 %547, ptr %31, align 4, !tbaa !9
  %548 = load i32, ptr %31, align 4, !tbaa !9
  %549 = icmp ne i32 %548, 0
  br i1 %549, label %550, label %552

550:                                              ; preds = %518
  %551 = load i32, ptr %29, align 4, !tbaa !9
  br label %554

552:                                              ; preds = %518
  %553 = load i32, ptr %30, align 4, !tbaa !9
  br label %554

554:                                              ; preds = %552, %550
  %555 = phi i32 [ %551, %550 ], [ %553, %552 ]
  store i32 %555, ptr %29, align 4, !tbaa !9
  br label %587

556:                                              ; preds = %466
  %557 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %557, ptr %29, align 4, !tbaa !9
  %558 = load ptr, ptr %5, align 8, !tbaa !5
  %559 = getelementptr inbounds %struct.w2c_hermes, ptr %558, i32 0, i32 6
  %560 = load i32, ptr %29, align 4, !tbaa !9
  %561 = zext i32 %560 to i64
  %562 = add i64 %561, 12
  %563 = call i32 @i32_load(ptr noundef %559, i64 noundef %562)
  store i32 %563, ptr %29, align 4, !tbaa !9
  %564 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %564, ptr %30, align 4, !tbaa !9
  store i32 12, ptr %31, align 4, !tbaa !9
  %565 = load i32, ptr %31, align 4, !tbaa !9
  %566 = load i32, ptr %30, align 4, !tbaa !9
  %567 = add i32 %566, %565
  store i32 %567, ptr %30, align 4, !tbaa !9
  %568 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %568, ptr %31, align 4, !tbaa !9
  %569 = load ptr, ptr %5, align 8, !tbaa !5
  %570 = getelementptr inbounds %struct.w2c_hermes, ptr %569, i32 0, i32 6
  %571 = load i32, ptr %31, align 4, !tbaa !9
  %572 = zext i32 %571 to i64
  %573 = add i64 %572, 23
  %574 = call i32 @i32_load8_s(ptr noundef %570, i64 noundef %573)
  store i32 %574, ptr %31, align 4, !tbaa !9
  store i32 0, ptr %32, align 4, !tbaa !9
  %575 = load i32, ptr %31, align 4, !tbaa !9
  %576 = load i32, ptr %32, align 4, !tbaa !9
  %577 = icmp slt i32 %575, %576
  %578 = zext i1 %577 to i32
  store i32 %578, ptr %31, align 4, !tbaa !9
  %579 = load i32, ptr %31, align 4, !tbaa !9
  %580 = icmp ne i32 %579, 0
  br i1 %580, label %581, label %583

581:                                              ; preds = %556
  %582 = load i32, ptr %29, align 4, !tbaa !9
  br label %585

583:                                              ; preds = %556
  %584 = load i32, ptr %30, align 4, !tbaa !9
  br label %585

585:                                              ; preds = %583, %581
  %586 = phi i32 [ %582, %581 ], [ %584, %583 ]
  store i32 %586, ptr %29, align 4, !tbaa !9
  br label %587

587:                                              ; preds = %585, %554, %513, %508
  %588 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %588, ptr %30, align 4, !tbaa !9
  %589 = load i32, ptr %30, align 4, !tbaa !9
  %590 = load i32, ptr %29, align 4, !tbaa !9
  %591 = add i32 %590, %589
  store i32 %591, ptr %29, align 4, !tbaa !9
  %592 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %592, ptr %30, align 4, !tbaa !9
  %593 = load i32, ptr %30, align 4, !tbaa !9
  %594 = load i32, ptr %29, align 4, !tbaa !9
  %595 = add i32 %594, %593
  store i32 %595, ptr %29, align 4, !tbaa !9
  store i32 0, ptr %30, align 4, !tbaa !9
  %596 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %596, ptr %31, align 4, !tbaa !9
  %597 = load i32, ptr %31, align 4, !tbaa !9
  %598 = icmp ne i32 %597, 0
  br i1 %598, label %599, label %601

599:                                              ; preds = %587
  %600 = load i32, ptr %29, align 4, !tbaa !9
  br label %603

601:                                              ; preds = %587
  %602 = load i32, ptr %30, align 4, !tbaa !9
  br label %603

603:                                              ; preds = %601, %599
  %604 = phi i32 [ %600, %599 ], [ %602, %601 ]
  store i32 %604, ptr %29, align 4, !tbaa !9
  %605 = load i32, ptr %28, align 4, !tbaa !9
  %606 = load i32, ptr %29, align 4, !tbaa !9
  %607 = icmp eq i32 %605, %606
  %608 = zext i1 %607 to i32
  store i32 %608, ptr %28, align 4, !tbaa !9
  %609 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %609, ptr %17, align 4, !tbaa !9
  %610 = load i32, ptr %28, align 4, !tbaa !9
  %611 = icmp ne i32 %610, 0
  br i1 %611, label %612, label %613

612:                                              ; preds = %603
  br label %1428

613:                                              ; preds = %603
  %614 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %614, ptr %28, align 4, !tbaa !9
  %615 = load i32, ptr %28, align 4, !tbaa !9
  %616 = icmp ne i32 %615, 0
  br i1 %616, label %617, label %624

617:                                              ; preds = %613
  %618 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %618, ptr %28, align 4, !tbaa !9
  %619 = load ptr, ptr %5, align 8, !tbaa !5
  %620 = getelementptr inbounds %struct.w2c_hermes, ptr %619, i32 0, i32 6
  %621 = load i32, ptr %28, align 4, !tbaa !9
  %622 = zext i32 %621 to i64
  %623 = call i32 @i32_load8_s(ptr noundef %620, i64 noundef %622)
  store i32 %623, ptr %28, align 4, !tbaa !9
  br label %631

624:                                              ; preds = %613
  %625 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %625, ptr %28, align 4, !tbaa !9
  %626 = load ptr, ptr %5, align 8, !tbaa !5
  %627 = getelementptr inbounds %struct.w2c_hermes, ptr %626, i32 0, i32 6
  %628 = load i32, ptr %28, align 4, !tbaa !9
  %629 = zext i32 %628 to i64
  %630 = call i32 @i32_load16_u(ptr noundef %627, i64 noundef %629)
  store i32 %630, ptr %28, align 4, !tbaa !9
  br label %631

631:                                              ; preds = %624, %617
  %632 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %632, ptr %11, align 4, !tbaa !9
  store i32 48, ptr %29, align 4, !tbaa !9
  %633 = load i32, ptr %29, align 4, !tbaa !9
  %634 = load i32, ptr %28, align 4, !tbaa !9
  %635 = sub i32 %634, %633
  store i32 %635, ptr %28, align 4, !tbaa !9
  store i32 65535, ptr %29, align 4, !tbaa !9
  %636 = load i32, ptr %29, align 4, !tbaa !9
  %637 = load i32, ptr %28, align 4, !tbaa !9
  %638 = and i32 %637, %636
  store i32 %638, ptr %28, align 4, !tbaa !9
  store i32 9, ptr %29, align 4, !tbaa !9
  %639 = load i32, ptr %28, align 4, !tbaa !9
  %640 = load i32, ptr %29, align 4, !tbaa !9
  %641 = icmp ugt i32 %639, %640
  %642 = zext i1 %641 to i32
  store i32 %642, ptr %28, align 4, !tbaa !9
  %643 = load i32, ptr %28, align 4, !tbaa !9
  %644 = icmp ne i32 %643, 0
  br i1 %644, label %645, label %646

645:                                              ; preds = %631
  br label %661

646:                                              ; preds = %631
  %647 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %647, ptr %28, align 4, !tbaa !9
  %648 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %648, ptr %29, align 4, !tbaa !9
  store i32 65535, ptr %30, align 4, !tbaa !9
  %649 = load i32, ptr %30, align 4, !tbaa !9
  %650 = load i32, ptr %29, align 4, !tbaa !9
  %651 = and i32 %650, %649
  store i32 %651, ptr %29, align 4, !tbaa !9
  %652 = load i32, ptr %28, align 4, !tbaa !9
  %653 = load i32, ptr %29, align 4, !tbaa !9
  %654 = icmp sle i32 %652, %653
  %655 = zext i1 %654 to i32
  store i32 %655, ptr %28, align 4, !tbaa !9
  %656 = load i32, ptr %28, align 4, !tbaa !9
  %657 = icmp ne i32 %656, 0
  br i1 %657, label %658, label %659

658:                                              ; preds = %646
  br label %661

659:                                              ; preds = %646
  store i32 208, ptr %28, align 4, !tbaa !9
  %660 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %660, ptr %13, align 4, !tbaa !9
  br label %690

661:                                              ; preds = %658, %645
  %662 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %662, ptr %28, align 4, !tbaa !9
  store i32 32, ptr %29, align 4, !tbaa !9
  %663 = load i32, ptr %29, align 4, !tbaa !9
  %664 = load i32, ptr %28, align 4, !tbaa !9
  %665 = or i32 %664, %663
  store i32 %665, ptr %28, align 4, !tbaa !9
  %666 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %666, ptr %11, align 4, !tbaa !9
  store i32 65535, ptr %29, align 4, !tbaa !9
  %667 = load i32, ptr %29, align 4, !tbaa !9
  %668 = load i32, ptr %28, align 4, !tbaa !9
  %669 = and i32 %668, %667
  store i32 %669, ptr %28, align 4, !tbaa !9
  %670 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %670, ptr %23, align 4, !tbaa !9
  store i32 97, ptr %29, align 4, !tbaa !9
  %671 = load i32, ptr %28, align 4, !tbaa !9
  %672 = load i32, ptr %29, align 4, !tbaa !9
  %673 = icmp ult i32 %671, %672
  %674 = zext i1 %673 to i32
  store i32 %674, ptr %28, align 4, !tbaa !9
  %675 = load i32, ptr %28, align 4, !tbaa !9
  %676 = icmp ne i32 %675, 0
  br i1 %676, label %677, label %678

677:                                              ; preds = %661
  br label %1428

678:                                              ; preds = %661
  store i32 169, ptr %28, align 4, !tbaa !9
  %679 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %679, ptr %13, align 4, !tbaa !9
  %680 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %680, ptr %28, align 4, !tbaa !9
  %681 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %681, ptr %29, align 4, !tbaa !9
  %682 = load i32, ptr %28, align 4, !tbaa !9
  %683 = load i32, ptr %29, align 4, !tbaa !9
  %684 = icmp sle i32 %682, %683
  %685 = zext i1 %684 to i32
  store i32 %685, ptr %28, align 4, !tbaa !9
  %686 = load i32, ptr %28, align 4, !tbaa !9
  %687 = icmp ne i32 %686, 0
  br i1 %687, label %688, label %689

688:                                              ; preds = %678
  br label %1428

689:                                              ; preds = %678
  br label %690

690:                                              ; preds = %689, %659
  %691 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %691, ptr %28, align 4, !tbaa !9
  %692 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %692, ptr %29, align 4, !tbaa !9
  %693 = load ptr, ptr %5, align 8, !tbaa !5
  %694 = getelementptr inbounds %struct.w2c_hermes, ptr %693, i32 0, i32 6
  %695 = load i32, ptr %29, align 4, !tbaa !9
  %696 = zext i32 %695 to i64
  %697 = call double @f64_load(ptr noundef %694, i64 noundef %696)
  store double %697, ptr %36, align 8, !tbaa !11
  %698 = load double, ptr %27, align 8, !tbaa !11
  store double %698, ptr %37, align 8, !tbaa !11
  %699 = load double, ptr %37, align 8, !tbaa !11
  %700 = load double, ptr %36, align 8, !tbaa !11
  %701 = fmul double %700, %699
  store double %701, ptr %36, align 8, !tbaa !11
  %702 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %702, ptr %30, align 4, !tbaa !9
  %703 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %703, ptr %31, align 4, !tbaa !9
  %704 = load i32, ptr %31, align 4, !tbaa !9
  %705 = load i32, ptr %30, align 4, !tbaa !9
  %706 = add i32 %705, %704
  store i32 %706, ptr %30, align 4, !tbaa !9
  store i32 255, ptr %31, align 4, !tbaa !9
  %707 = load i32, ptr %31, align 4, !tbaa !9
  %708 = load i32, ptr %30, align 4, !tbaa !9
  %709 = and i32 %708, %707
  store i32 %709, ptr %30, align 4, !tbaa !9
  %710 = load i32, ptr %30, align 4, !tbaa !9
  %711 = uitofp i32 %710 to double
  store double %711, ptr %37, align 8, !tbaa !11
  %712 = load double, ptr %37, align 8, !tbaa !11
  %713 = load double, ptr %36, align 8, !tbaa !11
  %714 = fadd double %713, %712
  store double %714, ptr %36, align 8, !tbaa !11
  %715 = load ptr, ptr %5, align 8, !tbaa !5
  %716 = getelementptr inbounds %struct.w2c_hermes, ptr %715, i32 0, i32 6
  %717 = load i32, ptr %28, align 4, !tbaa !9
  %718 = zext i32 %717 to i64
  %719 = load double, ptr %36, align 8, !tbaa !11
  call void @f64_store(ptr noundef %716, i64 noundef %718, double noundef %719)
  %720 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %720, ptr %28, align 4, !tbaa !9
  %721 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %721, ptr %29, align 4, !tbaa !9
  %722 = load i32, ptr %29, align 4, !tbaa !9
  %723 = icmp ne i32 %722, 0
  %724 = xor i1 %723, true
  %725 = zext i1 %724 to i32
  store i32 %725, ptr %29, align 4, !tbaa !9
  store i32 1, ptr %30, align 4, !tbaa !9
  %726 = load i32, ptr %30, align 4, !tbaa !9
  %727 = and i32 %726, 31
  %728 = load i32, ptr %29, align 4, !tbaa !9
  %729 = shl i32 %728, %727
  store i32 %729, ptr %29, align 4, !tbaa !9
  %730 = load i32, ptr %29, align 4, !tbaa !9
  %731 = load i32, ptr %28, align 4, !tbaa !9
  %732 = add i32 %731, %730
  store i32 %732, ptr %28, align 4, !tbaa !9
  %733 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %733, ptr %10, align 4, !tbaa !9
  %734 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %734, ptr %28, align 4, !tbaa !9
  store i32 1, ptr %29, align 4, !tbaa !9
  %735 = load i32, ptr %29, align 4, !tbaa !9
  %736 = load i32, ptr %28, align 4, !tbaa !9
  %737 = add i32 %736, %735
  store i32 %737, ptr %28, align 4, !tbaa !9
  store i32 0, ptr %29, align 4, !tbaa !9
  %738 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %738, ptr %30, align 4, !tbaa !9
  %739 = load i32, ptr %30, align 4, !tbaa !9
  %740 = icmp ne i32 %739, 0
  br i1 %740, label %741, label %743

741:                                              ; preds = %690
  %742 = load i32, ptr %28, align 4, !tbaa !9
  br label %745

743:                                              ; preds = %690
  %744 = load i32, ptr %29, align 4, !tbaa !9
  br label %745

745:                                              ; preds = %743, %741
  %746 = phi i32 [ %742, %741 ], [ %744, %743 ]
  store i32 %746, ptr %28, align 4, !tbaa !9
  %747 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %747, ptr %9, align 4, !tbaa !9
  br label %456

748:                                              ; preds = %341
  %749 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %749, ptr %28, align 4, !tbaa !9
  store i32 8, ptr %29, align 4, !tbaa !9
  %750 = load i32, ptr %29, align 4, !tbaa !9
  %751 = load i32, ptr %28, align 4, !tbaa !9
  %752 = add i32 %751, %750
  store i32 %752, ptr %28, align 4, !tbaa !9
  br label %753

753:                                              ; preds = %748, %391, %354, %327, %277
  %754 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %754, ptr %9, align 4, !tbaa !9
  %755 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %755, ptr %28, align 4, !tbaa !9
  store i32 87, ptr %29, align 4, !tbaa !9
  %756 = load i32, ptr %29, align 4, !tbaa !9
  %757 = load i32, ptr %28, align 4, !tbaa !9
  %758 = add i32 %757, %756
  store i32 %758, ptr %28, align 4, !tbaa !9
  %759 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %759, ptr %18, align 4, !tbaa !9
  %760 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %760, ptr %28, align 4, !tbaa !9
  store i32 48, ptr %29, align 4, !tbaa !9
  %761 = load i32, ptr %29, align 4, !tbaa !9
  %762 = load i32, ptr %28, align 4, !tbaa !9
  %763 = add i32 %762, %761
  store i32 %763, ptr %28, align 4, !tbaa !9
  %764 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %764, ptr %22, align 4, !tbaa !9
  %765 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %765, ptr %28, align 4, !tbaa !9
  %766 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %766, ptr %29, align 4, !tbaa !9
  store i32 1073741823, ptr %30, align 4, !tbaa !9
  %767 = load i32, ptr %30, align 4, !tbaa !9
  %768 = load i32, ptr %29, align 4, !tbaa !9
  %769 = and i32 %768, %767
  store i32 %769, ptr %29, align 4, !tbaa !9
  store i32 1, ptr %30, align 4, !tbaa !9
  %770 = load i32, ptr %30, align 4, !tbaa !9
  %771 = and i32 %770, 31
  %772 = load i32, ptr %29, align 4, !tbaa !9
  %773 = shl i32 %772, %771
  store i32 %773, ptr %29, align 4, !tbaa !9
  %774 = load i32, ptr %29, align 4, !tbaa !9
  store i32 %774, ptr %19, align 4, !tbaa !9
  %775 = load i32, ptr %29, align 4, !tbaa !9
  %776 = load i32, ptr %28, align 4, !tbaa !9
  %777 = add i32 %776, %775
  store i32 %777, ptr %28, align 4, !tbaa !9
  %778 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %778, ptr %11, align 4, !tbaa !9
  %779 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %779, ptr %28, align 4, !tbaa !9
  %780 = load ptr, ptr %5, align 8, !tbaa !5
  %781 = getelementptr inbounds %struct.w2c_hermes, ptr %780, i32 0, i32 6
  %782 = load i32, ptr %28, align 4, !tbaa !9
  %783 = zext i32 %782 to i64
  %784 = add i64 %783, 8
  %785 = call i32 @i32_load(ptr noundef %781, i64 noundef %784)
  store i32 %785, ptr %28, align 4, !tbaa !9
  %786 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %786, ptr %16, align 4, !tbaa !9
  %787 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %787, ptr %28, align 4, !tbaa !9
  %788 = load ptr, ptr %5, align 8, !tbaa !5
  %789 = getelementptr inbounds %struct.w2c_hermes, ptr %788, i32 0, i32 6
  %790 = load i32, ptr %28, align 4, !tbaa !9
  %791 = zext i32 %790 to i64
  %792 = add i64 %791, 24
  %793 = call i32 @i32_load(ptr noundef %789, i64 noundef %792)
  store i32 %793, ptr %28, align 4, !tbaa !9
  %794 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %794, ptr %20, align 4, !tbaa !9
  %795 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %795, ptr %28, align 4, !tbaa !9
  %796 = load ptr, ptr %5, align 8, !tbaa !5
  %797 = getelementptr inbounds %struct.w2c_hermes, ptr %796, i32 0, i32 6
  %798 = load i32, ptr %28, align 4, !tbaa !9
  %799 = zext i32 %798 to i64
  %800 = add i64 %799, 12
  %801 = call i32 @i32_load(ptr noundef %797, i64 noundef %800)
  store i32 %801, ptr %28, align 4, !tbaa !9
  %802 = load i32, ptr %28, align 4, !tbaa !9
  %803 = sitofp i32 %802 to double
  store double %803, ptr %35, align 8, !tbaa !11
  %804 = load double, ptr %35, align 8, !tbaa !11
  store double %804, ptr %27, align 8, !tbaa !11
  %805 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %805, ptr %28, align 4, !tbaa !9
  %806 = load i32, ptr %28, align 4, !tbaa !9
  %807 = icmp ne i32 %806, 0
  br i1 %807, label %808, label %1106

808:                                              ; preds = %753
  store i32 0, ptr %28, align 4, !tbaa !9
  %809 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %809, ptr %9, align 4, !tbaa !9
  br label %810

810:                                              ; preds = %1103, %808
  %811 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %811, ptr %28, align 4, !tbaa !9
  %812 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %812, ptr %29, align 4, !tbaa !9
  %813 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %813, ptr %30, align 4, !tbaa !9
  %814 = load i32, ptr %30, align 4, !tbaa !9
  %815 = icmp ne i32 %814, 0
  br i1 %815, label %816, label %818

816:                                              ; preds = %810
  %817 = load i32, ptr %28, align 4, !tbaa !9
  br label %820

818:                                              ; preds = %810
  %819 = load i32, ptr %29, align 4, !tbaa !9
  br label %820

820:                                              ; preds = %818, %816
  %821 = phi i32 [ %817, %816 ], [ %819, %818 ]
  store i32 %821, ptr %28, align 4, !tbaa !9
  store i32 0, ptr %29, align 4, !tbaa !9
  %822 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %822, ptr %30, align 4, !tbaa !9
  %823 = load ptr, ptr %5, align 8, !tbaa !5
  %824 = getelementptr inbounds %struct.w2c_hermes, ptr %823, i32 0, i32 6
  %825 = load i32, ptr %30, align 4, !tbaa !9
  %826 = zext i32 %825 to i64
  %827 = call i32 @i32_load(ptr noundef %824, i64 noundef %826)
  store i32 %827, ptr %30, align 4, !tbaa !9
  %828 = load i32, ptr %30, align 4, !tbaa !9
  store i32 %828, ptr %10, align 4, !tbaa !9
  %829 = load ptr, ptr %5, align 8, !tbaa !5
  %830 = getelementptr inbounds %struct.w2c_hermes, ptr %829, i32 0, i32 6
  %831 = load i32, ptr %30, align 4, !tbaa !9
  %832 = zext i32 %831 to i64
  %833 = call i32 @i32_load(ptr noundef %830, i64 noundef %832)
  store i32 %833, ptr %30, align 4, !tbaa !9
  %834 = load i32, ptr %30, align 4, !tbaa !9
  store i32 %834, ptr %13, align 4, !tbaa !9
  store i32 150994944, ptr %31, align 4, !tbaa !9
  %835 = load i32, ptr %30, align 4, !tbaa !9
  %836 = load i32, ptr %31, align 4, !tbaa !9
  %837 = icmp uge i32 %835, %836
  %838 = zext i1 %837 to i32
  store i32 %838, ptr %30, align 4, !tbaa !9
  %839 = load i32, ptr %30, align 4, !tbaa !9
  %840 = icmp ne i32 %839, 0
  br i1 %840, label %841, label %872

841:                                              ; preds = %820
  %842 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %842, ptr %30, align 4, !tbaa !9
  %843 = load ptr, ptr %5, align 8, !tbaa !5
  %844 = getelementptr inbounds %struct.w2c_hermes, ptr %843, i32 0, i32 6
  %845 = load i32, ptr %30, align 4, !tbaa !9
  %846 = zext i32 %845 to i64
  %847 = add i64 %846, 12
  %848 = call i32 @i32_load(ptr noundef %844, i64 noundef %847)
  store i32 %848, ptr %30, align 4, !tbaa !9
  %849 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %849, ptr %31, align 4, !tbaa !9
  store i32 12, ptr %32, align 4, !tbaa !9
  %850 = load i32, ptr %32, align 4, !tbaa !9
  %851 = load i32, ptr %31, align 4, !tbaa !9
  %852 = add i32 %851, %850
  store i32 %852, ptr %31, align 4, !tbaa !9
  %853 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %853, ptr %32, align 4, !tbaa !9
  %854 = load ptr, ptr %5, align 8, !tbaa !5
  %855 = getelementptr inbounds %struct.w2c_hermes, ptr %854, i32 0, i32 6
  %856 = load i32, ptr %32, align 4, !tbaa !9
  %857 = zext i32 %856 to i64
  %858 = add i64 %857, 23
  %859 = call i32 @i32_load8_s(ptr noundef %855, i64 noundef %858)
  store i32 %859, ptr %32, align 4, !tbaa !9
  store i32 0, ptr %33, align 4, !tbaa !9
  %860 = load i32, ptr %32, align 4, !tbaa !9
  %861 = load i32, ptr %33, align 4, !tbaa !9
  %862 = icmp slt i32 %860, %861
  %863 = zext i1 %862 to i32
  store i32 %863, ptr %32, align 4, !tbaa !9
  %864 = load i32, ptr %32, align 4, !tbaa !9
  %865 = icmp ne i32 %864, 0
  br i1 %865, label %866, label %868

866:                                              ; preds = %841
  %867 = load i32, ptr %30, align 4, !tbaa !9
  br label %870

868:                                              ; preds = %841
  %869 = load i32, ptr %31, align 4, !tbaa !9
  br label %870

870:                                              ; preds = %868, %866
  %871 = phi i32 [ %867, %866 ], [ %869, %868 ]
  store i32 %871, ptr %30, align 4, !tbaa !9
  br label %941

872:                                              ; preds = %820
  %873 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %873, ptr %30, align 4, !tbaa !9
  store i32 -16777216, ptr %31, align 4, !tbaa !9
  %874 = load i32, ptr %31, align 4, !tbaa !9
  %875 = load i32, ptr %30, align 4, !tbaa !9
  %876 = and i32 %875, %874
  store i32 %876, ptr %30, align 4, !tbaa !9
  %877 = load i32, ptr %30, align 4, !tbaa !9
  store i32 %877, ptr %13, align 4, !tbaa !9
  store i32 50331648, ptr %31, align 4, !tbaa !9
  %878 = load i32, ptr %30, align 4, !tbaa !9
  %879 = load i32, ptr %31, align 4, !tbaa !9
  %880 = icmp ne i32 %878, %879
  %881 = zext i1 %880 to i32
  store i32 %881, ptr %30, align 4, !tbaa !9
  %882 = load i32, ptr %30, align 4, !tbaa !9
  %883 = icmp ne i32 %882, 0
  br i1 %883, label %884, label %898

884:                                              ; preds = %872
  %885 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %885, ptr %30, align 4, !tbaa !9
  store i32 117440512, ptr %31, align 4, !tbaa !9
  %886 = load i32, ptr %30, align 4, !tbaa !9
  %887 = load i32, ptr %31, align 4, !tbaa !9
  %888 = icmp ne i32 %886, %887
  %889 = zext i1 %888 to i32
  store i32 %889, ptr %30, align 4, !tbaa !9
  %890 = load i32, ptr %30, align 4, !tbaa !9
  %891 = icmp ne i32 %890, 0
  br i1 %891, label %892, label %893

892:                                              ; preds = %884
  br label %903

893:                                              ; preds = %884
  %894 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %894, ptr %30, align 4, !tbaa !9
  store i32 12, ptr %31, align 4, !tbaa !9
  %895 = load i32, ptr %31, align 4, !tbaa !9
  %896 = load i32, ptr %30, align 4, !tbaa !9
  %897 = add i32 %896, %895
  store i32 %897, ptr %30, align 4, !tbaa !9
  br label %941

898:                                              ; preds = %872
  %899 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %899, ptr %30, align 4, !tbaa !9
  store i32 8, ptr %31, align 4, !tbaa !9
  %900 = load i32, ptr %31, align 4, !tbaa !9
  %901 = load i32, ptr %30, align 4, !tbaa !9
  %902 = add i32 %901, %900
  store i32 %902, ptr %30, align 4, !tbaa !9
  br label %941

903:                                              ; preds = %892
  %904 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %904, ptr %30, align 4, !tbaa !9
  %905 = load ptr, ptr %5, align 8, !tbaa !5
  %906 = getelementptr inbounds %struct.w2c_hermes, ptr %905, i32 0, i32 6
  %907 = load i32, ptr %30, align 4, !tbaa !9
  %908 = zext i32 %907 to i64
  %909 = add i64 %908, 8
  %910 = call i32 @i32_load(ptr noundef %906, i64 noundef %909)
  store i32 %910, ptr %30, align 4, !tbaa !9
  %911 = load i32, ptr %30, align 4, !tbaa !9
  store i32 %911, ptr %10, align 4, !tbaa !9
  %912 = load ptr, ptr %5, align 8, !tbaa !5
  %913 = getelementptr inbounds %struct.w2c_hermes, ptr %912, i32 0, i32 6
  %914 = load i32, ptr %30, align 4, !tbaa !9
  %915 = zext i32 %914 to i64
  %916 = add i64 %915, 12
  %917 = call i32 @i32_load(ptr noundef %913, i64 noundef %916)
  store i32 %917, ptr %30, align 4, !tbaa !9
  %918 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %918, ptr %31, align 4, !tbaa !9
  store i32 12, ptr %32, align 4, !tbaa !9
  %919 = load i32, ptr %32, align 4, !tbaa !9
  %920 = load i32, ptr %31, align 4, !tbaa !9
  %921 = add i32 %920, %919
  store i32 %921, ptr %31, align 4, !tbaa !9
  %922 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %922, ptr %32, align 4, !tbaa !9
  %923 = load ptr, ptr %5, align 8, !tbaa !5
  %924 = getelementptr inbounds %struct.w2c_hermes, ptr %923, i32 0, i32 6
  %925 = load i32, ptr %32, align 4, !tbaa !9
  %926 = zext i32 %925 to i64
  %927 = add i64 %926, 23
  %928 = call i32 @i32_load8_s(ptr noundef %924, i64 noundef %927)
  store i32 %928, ptr %32, align 4, !tbaa !9
  store i32 0, ptr %33, align 4, !tbaa !9
  %929 = load i32, ptr %32, align 4, !tbaa !9
  %930 = load i32, ptr %33, align 4, !tbaa !9
  %931 = icmp slt i32 %929, %930
  %932 = zext i1 %931 to i32
  store i32 %932, ptr %32, align 4, !tbaa !9
  %933 = load i32, ptr %32, align 4, !tbaa !9
  %934 = icmp ne i32 %933, 0
  br i1 %934, label %935, label %937

935:                                              ; preds = %903
  %936 = load i32, ptr %30, align 4, !tbaa !9
  br label %939

937:                                              ; preds = %903
  %938 = load i32, ptr %31, align 4, !tbaa !9
  br label %939

939:                                              ; preds = %937, %935
  %940 = phi i32 [ %936, %935 ], [ %938, %937 ]
  store i32 %940, ptr %30, align 4, !tbaa !9
  br label %941

941:                                              ; preds = %939, %898, %893, %870
  %942 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %942, ptr %31, align 4, !tbaa !9
  %943 = load i32, ptr %31, align 4, !tbaa !9
  %944 = load i32, ptr %30, align 4, !tbaa !9
  %945 = add i32 %944, %943
  store i32 %945, ptr %30, align 4, !tbaa !9
  %946 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %946, ptr %31, align 4, !tbaa !9
  store i32 1, ptr %32, align 4, !tbaa !9
  %947 = load i32, ptr %32, align 4, !tbaa !9
  %948 = and i32 %947, 31
  %949 = load i32, ptr %31, align 4, !tbaa !9
  %950 = shl i32 %949, %948
  store i32 %950, ptr %31, align 4, !tbaa !9
  %951 = load i32, ptr %31, align 4, !tbaa !9
  %952 = load i32, ptr %30, align 4, !tbaa !9
  %953 = add i32 %952, %951
  store i32 %953, ptr %30, align 4, !tbaa !9
  %954 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %954, ptr %31, align 4, !tbaa !9
  %955 = load i32, ptr %31, align 4, !tbaa !9
  %956 = icmp ne i32 %955, 0
  br i1 %956, label %957, label %959

957:                                              ; preds = %941
  %958 = load i32, ptr %29, align 4, !tbaa !9
  br label %961

959:                                              ; preds = %941
  %960 = load i32, ptr %30, align 4, !tbaa !9
  br label %961

961:                                              ; preds = %959, %957
  %962 = phi i32 [ %958, %957 ], [ %960, %959 ]
  store i32 %962, ptr %29, align 4, !tbaa !9
  %963 = load i32, ptr %28, align 4, !tbaa !9
  %964 = load i32, ptr %29, align 4, !tbaa !9
  %965 = icmp eq i32 %963, %964
  %966 = zext i1 %965 to i32
  store i32 %966, ptr %28, align 4, !tbaa !9
  %967 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %967, ptr %17, align 4, !tbaa !9
  %968 = load i32, ptr %28, align 4, !tbaa !9
  %969 = icmp ne i32 %968, 0
  br i1 %969, label %970, label %971

970:                                              ; preds = %961
  br label %1428

971:                                              ; preds = %961
  %972 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %972, ptr %28, align 4, !tbaa !9
  %973 = load i32, ptr %28, align 4, !tbaa !9
  %974 = icmp ne i32 %973, 0
  br i1 %974, label %975, label %982

975:                                              ; preds = %971
  %976 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %976, ptr %28, align 4, !tbaa !9
  %977 = load ptr, ptr %5, align 8, !tbaa !5
  %978 = getelementptr inbounds %struct.w2c_hermes, ptr %977, i32 0, i32 6
  %979 = load i32, ptr %28, align 4, !tbaa !9
  %980 = zext i32 %979 to i64
  %981 = call i32 @i32_load8_s(ptr noundef %978, i64 noundef %980)
  store i32 %981, ptr %28, align 4, !tbaa !9
  br label %989

982:                                              ; preds = %971
  %983 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %983, ptr %28, align 4, !tbaa !9
  %984 = load ptr, ptr %5, align 8, !tbaa !5
  %985 = getelementptr inbounds %struct.w2c_hermes, ptr %984, i32 0, i32 6
  %986 = load i32, ptr %28, align 4, !tbaa !9
  %987 = zext i32 %986 to i64
  %988 = call i32 @i32_load16_u(ptr noundef %985, i64 noundef %987)
  store i32 %988, ptr %28, align 4, !tbaa !9
  br label %989

989:                                              ; preds = %982, %975
  %990 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %990, ptr %10, align 4, !tbaa !9
  store i32 48, ptr %29, align 4, !tbaa !9
  %991 = load i32, ptr %29, align 4, !tbaa !9
  %992 = load i32, ptr %28, align 4, !tbaa !9
  %993 = sub i32 %992, %991
  store i32 %993, ptr %28, align 4, !tbaa !9
  store i32 65535, ptr %29, align 4, !tbaa !9
  %994 = load i32, ptr %29, align 4, !tbaa !9
  %995 = load i32, ptr %28, align 4, !tbaa !9
  %996 = and i32 %995, %994
  store i32 %996, ptr %28, align 4, !tbaa !9
  store i32 9, ptr %29, align 4, !tbaa !9
  %997 = load i32, ptr %28, align 4, !tbaa !9
  %998 = load i32, ptr %29, align 4, !tbaa !9
  %999 = icmp ugt i32 %997, %998
  %1000 = zext i1 %999 to i32
  store i32 %1000, ptr %28, align 4, !tbaa !9
  %1001 = load i32, ptr %28, align 4, !tbaa !9
  %1002 = icmp ne i32 %1001, 0
  br i1 %1002, label %1003, label %1004

1003:                                             ; preds = %989
  br label %1019

1004:                                             ; preds = %989
  %1005 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1005, ptr %28, align 4, !tbaa !9
  %1006 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1006, ptr %29, align 4, !tbaa !9
  store i32 65535, ptr %30, align 4, !tbaa !9
  %1007 = load i32, ptr %30, align 4, !tbaa !9
  %1008 = load i32, ptr %29, align 4, !tbaa !9
  %1009 = and i32 %1008, %1007
  store i32 %1009, ptr %29, align 4, !tbaa !9
  %1010 = load i32, ptr %28, align 4, !tbaa !9
  %1011 = load i32, ptr %29, align 4, !tbaa !9
  %1012 = icmp sle i32 %1010, %1011
  %1013 = zext i1 %1012 to i32
  store i32 %1013, ptr %28, align 4, !tbaa !9
  %1014 = load i32, ptr %28, align 4, !tbaa !9
  %1015 = icmp ne i32 %1014, 0
  br i1 %1015, label %1016, label %1017

1016:                                             ; preds = %1004
  br label %1019

1017:                                             ; preds = %1004
  store i32 208, ptr %28, align 4, !tbaa !9
  %1018 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1018, ptr %13, align 4, !tbaa !9
  br label %1048

1019:                                             ; preds = %1016, %1003
  %1020 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1020, ptr %28, align 4, !tbaa !9
  store i32 32, ptr %29, align 4, !tbaa !9
  %1021 = load i32, ptr %29, align 4, !tbaa !9
  %1022 = load i32, ptr %28, align 4, !tbaa !9
  %1023 = or i32 %1022, %1021
  store i32 %1023, ptr %28, align 4, !tbaa !9
  %1024 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1024, ptr %10, align 4, !tbaa !9
  store i32 65535, ptr %29, align 4, !tbaa !9
  %1025 = load i32, ptr %29, align 4, !tbaa !9
  %1026 = load i32, ptr %28, align 4, !tbaa !9
  %1027 = and i32 %1026, %1025
  store i32 %1027, ptr %28, align 4, !tbaa !9
  %1028 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1028, ptr %23, align 4, !tbaa !9
  store i32 97, ptr %29, align 4, !tbaa !9
  %1029 = load i32, ptr %28, align 4, !tbaa !9
  %1030 = load i32, ptr %29, align 4, !tbaa !9
  %1031 = icmp ult i32 %1029, %1030
  %1032 = zext i1 %1031 to i32
  store i32 %1032, ptr %28, align 4, !tbaa !9
  %1033 = load i32, ptr %28, align 4, !tbaa !9
  %1034 = icmp ne i32 %1033, 0
  br i1 %1034, label %1035, label %1036

1035:                                             ; preds = %1019
  br label %1428

1036:                                             ; preds = %1019
  store i32 169, ptr %28, align 4, !tbaa !9
  %1037 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1037, ptr %13, align 4, !tbaa !9
  %1038 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1038, ptr %28, align 4, !tbaa !9
  %1039 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1039, ptr %29, align 4, !tbaa !9
  %1040 = load i32, ptr %28, align 4, !tbaa !9
  %1041 = load i32, ptr %29, align 4, !tbaa !9
  %1042 = icmp sle i32 %1040, %1041
  %1043 = zext i1 %1042 to i32
  store i32 %1043, ptr %28, align 4, !tbaa !9
  %1044 = load i32, ptr %28, align 4, !tbaa !9
  %1045 = icmp ne i32 %1044, 0
  br i1 %1045, label %1046, label %1047

1046:                                             ; preds = %1036
  br label %1428

1047:                                             ; preds = %1036
  br label %1048

1048:                                             ; preds = %1047, %1017
  %1049 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %1049, ptr %28, align 4, !tbaa !9
  %1050 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %1050, ptr %29, align 4, !tbaa !9
  %1051 = load ptr, ptr %5, align 8, !tbaa !5
  %1052 = getelementptr inbounds %struct.w2c_hermes, ptr %1051, i32 0, i32 6
  %1053 = load i32, ptr %29, align 4, !tbaa !9
  %1054 = zext i32 %1053 to i64
  %1055 = call double @f64_load(ptr noundef %1052, i64 noundef %1054)
  store double %1055, ptr %36, align 8, !tbaa !11
  %1056 = load double, ptr %27, align 8, !tbaa !11
  store double %1056, ptr %37, align 8, !tbaa !11
  %1057 = load double, ptr %37, align 8, !tbaa !11
  %1058 = load double, ptr %36, align 8, !tbaa !11
  %1059 = fmul double %1058, %1057
  store double %1059, ptr %36, align 8, !tbaa !11
  %1060 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1060, ptr %30, align 4, !tbaa !9
  %1061 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1061, ptr %31, align 4, !tbaa !9
  %1062 = load i32, ptr %31, align 4, !tbaa !9
  %1063 = load i32, ptr %30, align 4, !tbaa !9
  %1064 = add i32 %1063, %1062
  store i32 %1064, ptr %30, align 4, !tbaa !9
  store i32 255, ptr %31, align 4, !tbaa !9
  %1065 = load i32, ptr %31, align 4, !tbaa !9
  %1066 = load i32, ptr %30, align 4, !tbaa !9
  %1067 = and i32 %1066, %1065
  store i32 %1067, ptr %30, align 4, !tbaa !9
  %1068 = load i32, ptr %30, align 4, !tbaa !9
  %1069 = uitofp i32 %1068 to double
  store double %1069, ptr %37, align 8, !tbaa !11
  %1070 = load double, ptr %37, align 8, !tbaa !11
  %1071 = load double, ptr %36, align 8, !tbaa !11
  %1072 = fadd double %1071, %1070
  store double %1072, ptr %36, align 8, !tbaa !11
  %1073 = load ptr, ptr %5, align 8, !tbaa !5
  %1074 = getelementptr inbounds %struct.w2c_hermes, ptr %1073, i32 0, i32 6
  %1075 = load i32, ptr %28, align 4, !tbaa !9
  %1076 = zext i32 %1075 to i64
  %1077 = load double, ptr %36, align 8, !tbaa !11
  call void @f64_store(ptr noundef %1074, i64 noundef %1076, double noundef %1077)
  %1078 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1078, ptr %28, align 4, !tbaa !9
  %1079 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1079, ptr %29, align 4, !tbaa !9
  %1080 = load i32, ptr %29, align 4, !tbaa !9
  %1081 = icmp ne i32 %1080, 0
  %1082 = xor i1 %1081, true
  %1083 = zext i1 %1082 to i32
  store i32 %1083, ptr %29, align 4, !tbaa !9
  store i32 1, ptr %30, align 4, !tbaa !9
  %1084 = load i32, ptr %30, align 4, !tbaa !9
  %1085 = and i32 %1084, 31
  %1086 = load i32, ptr %29, align 4, !tbaa !9
  %1087 = shl i32 %1086, %1085
  store i32 %1087, ptr %29, align 4, !tbaa !9
  %1088 = load i32, ptr %29, align 4, !tbaa !9
  %1089 = load i32, ptr %28, align 4, !tbaa !9
  %1090 = add i32 %1089, %1088
  store i32 %1090, ptr %28, align 4, !tbaa !9
  %1091 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1091, ptr %11, align 4, !tbaa !9
  %1092 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1092, ptr %28, align 4, !tbaa !9
  store i32 1, ptr %29, align 4, !tbaa !9
  %1093 = load i32, ptr %29, align 4, !tbaa !9
  %1094 = load i32, ptr %28, align 4, !tbaa !9
  %1095 = add i32 %1094, %1093
  store i32 %1095, ptr %28, align 4, !tbaa !9
  store i32 0, ptr %29, align 4, !tbaa !9
  %1096 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1096, ptr %30, align 4, !tbaa !9
  %1097 = load i32, ptr %30, align 4, !tbaa !9
  %1098 = icmp ne i32 %1097, 0
  br i1 %1098, label %1099, label %1101

1099:                                             ; preds = %1048
  %1100 = load i32, ptr %28, align 4, !tbaa !9
  br label %1103

1101:                                             ; preds = %1048
  %1102 = load i32, ptr %29, align 4, !tbaa !9
  br label %1103

1103:                                             ; preds = %1101, %1099
  %1104 = phi i32 [ %1100, %1099 ], [ %1102, %1101 ]
  store i32 %1104, ptr %28, align 4, !tbaa !9
  %1105 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1105, ptr %9, align 4, !tbaa !9
  br label %810

1106:                                             ; preds = %753
  store i32 1, ptr %28, align 4, !tbaa !9
  %1107 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1107, ptr %29, align 4, !tbaa !9
  %1108 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1108, ptr %30, align 4, !tbaa !9
  %1109 = load i32, ptr %30, align 4, !tbaa !9
  %1110 = load i32, ptr %29, align 4, !tbaa !9
  %1111 = add i32 %1110, %1109
  store i32 %1111, ptr %29, align 4, !tbaa !9
  %1112 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %1112, ptr %30, align 4, !tbaa !9
  store i32 1, ptr %31, align 4, !tbaa !9
  %1113 = load i32, ptr %31, align 4, !tbaa !9
  %1114 = and i32 %1113, 31
  %1115 = load i32, ptr %30, align 4, !tbaa !9
  %1116 = shl i32 %1115, %1114
  store i32 %1116, ptr %30, align 4, !tbaa !9
  %1117 = load i32, ptr %30, align 4, !tbaa !9
  %1118 = load i32, ptr %29, align 4, !tbaa !9
  %1119 = add i32 %1118, %1117
  store i32 %1119, ptr %29, align 4, !tbaa !9
  %1120 = load i32, ptr %29, align 4, !tbaa !9
  store i32 %1120, ptr %10, align 4, !tbaa !9
  %1121 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1121, ptr %30, align 4, !tbaa !9
  %1122 = load i32, ptr %29, align 4, !tbaa !9
  %1123 = load i32, ptr %30, align 4, !tbaa !9
  %1124 = icmp eq i32 %1122, %1123
  %1125 = zext i1 %1124 to i32
  store i32 %1125, ptr %29, align 4, !tbaa !9
  %1126 = load i32, ptr %29, align 4, !tbaa !9
  %1127 = icmp ne i32 %1126, 0
  br i1 %1127, label %1128, label %1129

1128:                                             ; preds = %1106
  br label %1430

1129:                                             ; preds = %1106
  br label %1130

1130:                                             ; preds = %1228, %1129
  %1131 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1131, ptr %28, align 4, !tbaa !9
  %1132 = load ptr, ptr %5, align 8, !tbaa !5
  %1133 = getelementptr inbounds %struct.w2c_hermes, ptr %1132, i32 0, i32 6
  %1134 = load i32, ptr %28, align 4, !tbaa !9
  %1135 = zext i32 %1134 to i64
  %1136 = call i32 @i32_load16_u(ptr noundef %1133, i64 noundef %1135)
  store i32 %1136, ptr %28, align 4, !tbaa !9
  %1137 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1137, ptr %9, align 4, !tbaa !9
  store i32 48, ptr %29, align 4, !tbaa !9
  %1138 = load i32, ptr %29, align 4, !tbaa !9
  %1139 = load i32, ptr %28, align 4, !tbaa !9
  %1140 = sub i32 %1139, %1138
  store i32 %1140, ptr %28, align 4, !tbaa !9
  store i32 65535, ptr %29, align 4, !tbaa !9
  %1141 = load i32, ptr %29, align 4, !tbaa !9
  %1142 = load i32, ptr %28, align 4, !tbaa !9
  %1143 = and i32 %1142, %1141
  store i32 %1143, ptr %28, align 4, !tbaa !9
  store i32 9, ptr %29, align 4, !tbaa !9
  %1144 = load i32, ptr %28, align 4, !tbaa !9
  %1145 = load i32, ptr %29, align 4, !tbaa !9
  %1146 = icmp ule i32 %1144, %1145
  %1147 = zext i1 %1146 to i32
  store i32 %1147, ptr %28, align 4, !tbaa !9
  %1148 = load i32, ptr %28, align 4, !tbaa !9
  %1149 = icmp ne i32 %1148, 0
  br i1 %1149, label %1150, label %1161

1150:                                             ; preds = %1130
  store i32 208, ptr %28, align 4, !tbaa !9
  %1151 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1151, ptr %29, align 4, !tbaa !9
  %1152 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1152, ptr %30, align 4, !tbaa !9
  %1153 = load i32, ptr %29, align 4, !tbaa !9
  %1154 = load i32, ptr %30, align 4, !tbaa !9
  %1155 = icmp slt i32 %1153, %1154
  %1156 = zext i1 %1155 to i32
  store i32 %1156, ptr %29, align 4, !tbaa !9
  %1157 = load i32, ptr %29, align 4, !tbaa !9
  %1158 = icmp ne i32 %1157, 0
  br i1 %1158, label %1159, label %1160

1159:                                             ; preds = %1150
  br label %1185

1160:                                             ; preds = %1150
  br label %1161

1161:                                             ; preds = %1160, %1130
  %1162 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1162, ptr %28, align 4, !tbaa !9
  store i32 32, ptr %29, align 4, !tbaa !9
  %1163 = load i32, ptr %29, align 4, !tbaa !9
  %1164 = load i32, ptr %28, align 4, !tbaa !9
  %1165 = or i32 %1164, %1163
  store i32 %1165, ptr %28, align 4, !tbaa !9
  %1166 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1166, ptr %9, align 4, !tbaa !9
  store i32 97, ptr %29, align 4, !tbaa !9
  %1167 = load i32, ptr %28, align 4, !tbaa !9
  %1168 = load i32, ptr %29, align 4, !tbaa !9
  %1169 = icmp ult i32 %1167, %1168
  %1170 = zext i1 %1169 to i32
  store i32 %1170, ptr %28, align 4, !tbaa !9
  %1171 = load i32, ptr %28, align 4, !tbaa !9
  %1172 = icmp ne i32 %1171, 0
  br i1 %1172, label %1173, label %1174

1173:                                             ; preds = %1161
  br label %1428

1174:                                             ; preds = %1161
  %1175 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1175, ptr %28, align 4, !tbaa !9
  %1176 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1176, ptr %29, align 4, !tbaa !9
  %1177 = load i32, ptr %28, align 4, !tbaa !9
  %1178 = load i32, ptr %29, align 4, !tbaa !9
  %1179 = icmp sge i32 %1177, %1178
  %1180 = zext i1 %1179 to i32
  store i32 %1180, ptr %28, align 4, !tbaa !9
  %1181 = load i32, ptr %28, align 4, !tbaa !9
  %1182 = icmp ne i32 %1181, 0
  br i1 %1182, label %1183, label %1184

1183:                                             ; preds = %1174
  br label %1428

1184:                                             ; preds = %1174
  store i32 169, ptr %28, align 4, !tbaa !9
  br label %1185

1185:                                             ; preds = %1184, %1159
  %1186 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1186, ptr %14, align 4, !tbaa !9
  %1187 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %1187, ptr %28, align 4, !tbaa !9
  %1188 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %1188, ptr %29, align 4, !tbaa !9
  %1189 = load ptr, ptr %5, align 8, !tbaa !5
  %1190 = getelementptr inbounds %struct.w2c_hermes, ptr %1189, i32 0, i32 6
  %1191 = load i32, ptr %29, align 4, !tbaa !9
  %1192 = zext i32 %1191 to i64
  %1193 = call double @f64_load(ptr noundef %1190, i64 noundef %1192)
  store double %1193, ptr %36, align 8, !tbaa !11
  %1194 = load double, ptr %27, align 8, !tbaa !11
  store double %1194, ptr %37, align 8, !tbaa !11
  %1195 = load double, ptr %37, align 8, !tbaa !11
  %1196 = load double, ptr %36, align 8, !tbaa !11
  %1197 = fmul double %1196, %1195
  store double %1197, ptr %36, align 8, !tbaa !11
  %1198 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1198, ptr %30, align 4, !tbaa !9
  %1199 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1199, ptr %31, align 4, !tbaa !9
  %1200 = load i32, ptr %31, align 4, !tbaa !9
  %1201 = load i32, ptr %30, align 4, !tbaa !9
  %1202 = add i32 %1201, %1200
  store i32 %1202, ptr %30, align 4, !tbaa !9
  store i32 255, ptr %31, align 4, !tbaa !9
  %1203 = load i32, ptr %31, align 4, !tbaa !9
  %1204 = load i32, ptr %30, align 4, !tbaa !9
  %1205 = and i32 %1204, %1203
  store i32 %1205, ptr %30, align 4, !tbaa !9
  %1206 = load i32, ptr %30, align 4, !tbaa !9
  %1207 = uitofp i32 %1206 to double
  store double %1207, ptr %37, align 8, !tbaa !11
  %1208 = load double, ptr %37, align 8, !tbaa !11
  %1209 = load double, ptr %36, align 8, !tbaa !11
  %1210 = fadd double %1209, %1208
  store double %1210, ptr %36, align 8, !tbaa !11
  %1211 = load ptr, ptr %5, align 8, !tbaa !5
  %1212 = getelementptr inbounds %struct.w2c_hermes, ptr %1211, i32 0, i32 6
  %1213 = load i32, ptr %28, align 4, !tbaa !9
  %1214 = zext i32 %1213 to i64
  %1215 = load double, ptr %36, align 8, !tbaa !11
  call void @f64_store(ptr noundef %1212, i64 noundef %1214, double noundef %1215)
  %1216 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1216, ptr %28, align 4, !tbaa !9
  store i32 2, ptr %29, align 4, !tbaa !9
  %1217 = load i32, ptr %29, align 4, !tbaa !9
  %1218 = load i32, ptr %28, align 4, !tbaa !9
  %1219 = add i32 %1218, %1217
  store i32 %1219, ptr %28, align 4, !tbaa !9
  %1220 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1220, ptr %11, align 4, !tbaa !9
  %1221 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1221, ptr %29, align 4, !tbaa !9
  %1222 = load i32, ptr %28, align 4, !tbaa !9
  %1223 = load i32, ptr %29, align 4, !tbaa !9
  %1224 = icmp ne i32 %1222, %1223
  %1225 = zext i1 %1224 to i32
  store i32 %1225, ptr %28, align 4, !tbaa !9
  %1226 = load i32, ptr %28, align 4, !tbaa !9
  %1227 = icmp ne i32 %1226, 0
  br i1 %1227, label %1228, label %1229

1228:                                             ; preds = %1185
  br label %1130

1229:                                             ; preds = %1185
  store i32 1, ptr %28, align 4, !tbaa !9
  br label %1430

1230:                                             ; preds = %453
  store i32 1, ptr %28, align 4, !tbaa !9
  %1231 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1231, ptr %29, align 4, !tbaa !9
  %1232 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1232, ptr %30, align 4, !tbaa !9
  %1233 = load i32, ptr %30, align 4, !tbaa !9
  %1234 = load i32, ptr %29, align 4, !tbaa !9
  %1235 = add i32 %1234, %1233
  store i32 %1235, ptr %29, align 4, !tbaa !9
  %1236 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %1236, ptr %30, align 4, !tbaa !9
  %1237 = load i32, ptr %30, align 4, !tbaa !9
  %1238 = load i32, ptr %29, align 4, !tbaa !9
  %1239 = add i32 %1238, %1237
  store i32 %1239, ptr %29, align 4, !tbaa !9
  store i32 0, ptr %30, align 4, !tbaa !9
  %1240 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1240, ptr %31, align 4, !tbaa !9
  %1241 = load i32, ptr %31, align 4, !tbaa !9
  %1242 = icmp ne i32 %1241, 0
  br i1 %1242, label %1243, label %1245

1243:                                             ; preds = %1230
  %1244 = load i32, ptr %29, align 4, !tbaa !9
  br label %1247

1245:                                             ; preds = %1230
  %1246 = load i32, ptr %30, align 4, !tbaa !9
  br label %1247

1247:                                             ; preds = %1245, %1243
  %1248 = phi i32 [ %1244, %1243 ], [ %1246, %1245 ]
  store i32 %1248, ptr %29, align 4, !tbaa !9
  %1249 = load i32, ptr %29, align 4, !tbaa !9
  store i32 %1249, ptr %19, align 4, !tbaa !9
  %1250 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1250, ptr %30, align 4, !tbaa !9
  store i32 0, ptr %31, align 4, !tbaa !9
  %1251 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1251, ptr %32, align 4, !tbaa !9
  %1252 = load i32, ptr %32, align 4, !tbaa !9
  %1253 = icmp ne i32 %1252, 0
  br i1 %1253, label %1254, label %1256

1254:                                             ; preds = %1247
  %1255 = load i32, ptr %30, align 4, !tbaa !9
  br label %1258

1256:                                             ; preds = %1247
  %1257 = load i32, ptr %31, align 4, !tbaa !9
  br label %1258

1258:                                             ; preds = %1256, %1254
  %1259 = phi i32 [ %1255, %1254 ], [ %1257, %1256 ]
  store i32 %1259, ptr %30, align 4, !tbaa !9
  %1260 = load i32, ptr %29, align 4, !tbaa !9
  %1261 = load i32, ptr %30, align 4, !tbaa !9
  %1262 = icmp eq i32 %1260, %1261
  %1263 = zext i1 %1262 to i32
  store i32 %1263, ptr %29, align 4, !tbaa !9
  %1264 = load i32, ptr %29, align 4, !tbaa !9
  %1265 = icmp ne i32 %1264, 0
  br i1 %1265, label %1266, label %1267

1266:                                             ; preds = %1258
  br label %1430

1267:                                             ; preds = %1258
  %1268 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1268, ptr %28, align 4, !tbaa !9
  %1269 = load i32, ptr %28, align 4, !tbaa !9
  %1270 = icmp ne i32 %1269, 0
  %1271 = xor i1 %1270, true
  %1272 = zext i1 %1271 to i32
  store i32 %1272, ptr %28, align 4, !tbaa !9
  %1273 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1273, ptr %20, align 4, !tbaa !9
  store i32 0, ptr %28, align 4, !tbaa !9
  %1274 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1274, ptr %14, align 4, !tbaa !9
  br label %1275

1275:                                             ; preds = %1426, %1267
  %1276 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1276, ptr %28, align 4, !tbaa !9
  %1277 = load i32, ptr %28, align 4, !tbaa !9
  %1278 = icmp ne i32 %1277, 0
  br i1 %1278, label %1279, label %1286

1279:                                             ; preds = %1275
  %1280 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1280, ptr %28, align 4, !tbaa !9
  %1281 = load ptr, ptr %5, align 8, !tbaa !5
  %1282 = getelementptr inbounds %struct.w2c_hermes, ptr %1281, i32 0, i32 6
  %1283 = load i32, ptr %28, align 4, !tbaa !9
  %1284 = zext i32 %1283 to i64
  %1285 = call i32 @i32_load8_s(ptr noundef %1282, i64 noundef %1284)
  store i32 %1285, ptr %28, align 4, !tbaa !9
  br label %1293

1286:                                             ; preds = %1275
  %1287 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1287, ptr %28, align 4, !tbaa !9
  %1288 = load ptr, ptr %5, align 8, !tbaa !5
  %1289 = getelementptr inbounds %struct.w2c_hermes, ptr %1288, i32 0, i32 6
  %1290 = load i32, ptr %28, align 4, !tbaa !9
  %1291 = zext i32 %1290 to i64
  %1292 = call i32 @i32_load16_u(ptr noundef %1289, i64 noundef %1291)
  store i32 %1292, ptr %28, align 4, !tbaa !9
  br label %1293

1293:                                             ; preds = %1286, %1279
  %1294 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1294, ptr %11, align 4, !tbaa !9
  store i32 48, ptr %29, align 4, !tbaa !9
  %1295 = load i32, ptr %29, align 4, !tbaa !9
  %1296 = load i32, ptr %28, align 4, !tbaa !9
  %1297 = sub i32 %1296, %1295
  store i32 %1297, ptr %28, align 4, !tbaa !9
  store i32 65535, ptr %29, align 4, !tbaa !9
  %1298 = load i32, ptr %29, align 4, !tbaa !9
  %1299 = load i32, ptr %28, align 4, !tbaa !9
  %1300 = and i32 %1299, %1298
  store i32 %1300, ptr %28, align 4, !tbaa !9
  store i32 9, ptr %29, align 4, !tbaa !9
  %1301 = load i32, ptr %28, align 4, !tbaa !9
  %1302 = load i32, ptr %29, align 4, !tbaa !9
  %1303 = icmp ugt i32 %1301, %1302
  %1304 = zext i1 %1303 to i32
  store i32 %1304, ptr %28, align 4, !tbaa !9
  %1305 = load i32, ptr %28, align 4, !tbaa !9
  %1306 = icmp ne i32 %1305, 0
  br i1 %1306, label %1307, label %1308

1307:                                             ; preds = %1293
  br label %1323

1308:                                             ; preds = %1293
  %1309 = load i32, ptr %22, align 4, !tbaa !9
  store i32 %1309, ptr %28, align 4, !tbaa !9
  %1310 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1310, ptr %29, align 4, !tbaa !9
  store i32 65535, ptr %30, align 4, !tbaa !9
  %1311 = load i32, ptr %30, align 4, !tbaa !9
  %1312 = load i32, ptr %29, align 4, !tbaa !9
  %1313 = and i32 %1312, %1311
  store i32 %1313, ptr %29, align 4, !tbaa !9
  %1314 = load i32, ptr %28, align 4, !tbaa !9
  %1315 = load i32, ptr %29, align 4, !tbaa !9
  %1316 = icmp sle i32 %1314, %1315
  %1317 = zext i1 %1316 to i32
  store i32 %1317, ptr %28, align 4, !tbaa !9
  %1318 = load i32, ptr %28, align 4, !tbaa !9
  %1319 = icmp ne i32 %1318, 0
  br i1 %1319, label %1320, label %1321

1320:                                             ; preds = %1308
  br label %1323

1321:                                             ; preds = %1308
  store i32 208, ptr %28, align 4, !tbaa !9
  %1322 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1322, ptr %13, align 4, !tbaa !9
  br label %1353

1323:                                             ; preds = %1320, %1307
  store i32 0, ptr %28, align 4, !tbaa !9
  %1324 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1324, ptr %17, align 4, !tbaa !9
  %1325 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1325, ptr %28, align 4, !tbaa !9
  store i32 32, ptr %29, align 4, !tbaa !9
  %1326 = load i32, ptr %29, align 4, !tbaa !9
  %1327 = load i32, ptr %28, align 4, !tbaa !9
  %1328 = or i32 %1327, %1326
  store i32 %1328, ptr %28, align 4, !tbaa !9
  %1329 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1329, ptr %11, align 4, !tbaa !9
  store i32 65535, ptr %29, align 4, !tbaa !9
  %1330 = load i32, ptr %29, align 4, !tbaa !9
  %1331 = load i32, ptr %28, align 4, !tbaa !9
  %1332 = and i32 %1331, %1330
  store i32 %1332, ptr %28, align 4, !tbaa !9
  %1333 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1333, ptr %23, align 4, !tbaa !9
  store i32 97, ptr %29, align 4, !tbaa !9
  %1334 = load i32, ptr %28, align 4, !tbaa !9
  %1335 = load i32, ptr %29, align 4, !tbaa !9
  %1336 = icmp ult i32 %1334, %1335
  %1337 = zext i1 %1336 to i32
  store i32 %1337, ptr %28, align 4, !tbaa !9
  %1338 = load i32, ptr %28, align 4, !tbaa !9
  %1339 = icmp ne i32 %1338, 0
  br i1 %1339, label %1340, label %1341

1340:                                             ; preds = %1323
  br label %1428

1341:                                             ; preds = %1323
  store i32 169, ptr %28, align 4, !tbaa !9
  %1342 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1342, ptr %13, align 4, !tbaa !9
  %1343 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %1343, ptr %28, align 4, !tbaa !9
  %1344 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %1344, ptr %29, align 4, !tbaa !9
  %1345 = load i32, ptr %28, align 4, !tbaa !9
  %1346 = load i32, ptr %29, align 4, !tbaa !9
  %1347 = icmp sle i32 %1345, %1346
  %1348 = zext i1 %1347 to i32
  store i32 %1348, ptr %28, align 4, !tbaa !9
  %1349 = load i32, ptr %28, align 4, !tbaa !9
  %1350 = icmp ne i32 %1349, 0
  br i1 %1350, label %1351, label %1352

1351:                                             ; preds = %1341
  br label %1428

1352:                                             ; preds = %1341
  br label %1353

1353:                                             ; preds = %1352, %1321
  %1354 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %1354, ptr %28, align 4, !tbaa !9
  %1355 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %1355, ptr %29, align 4, !tbaa !9
  %1356 = load ptr, ptr %5, align 8, !tbaa !5
  %1357 = getelementptr inbounds %struct.w2c_hermes, ptr %1356, i32 0, i32 6
  %1358 = load i32, ptr %29, align 4, !tbaa !9
  %1359 = zext i32 %1358 to i64
  %1360 = call double @f64_load(ptr noundef %1357, i64 noundef %1359)
  store double %1360, ptr %36, align 8, !tbaa !11
  %1361 = load double, ptr %27, align 8, !tbaa !11
  store double %1361, ptr %37, align 8, !tbaa !11
  %1362 = load double, ptr %37, align 8, !tbaa !11
  %1363 = load double, ptr %36, align 8, !tbaa !11
  %1364 = fmul double %1363, %1362
  store double %1364, ptr %36, align 8, !tbaa !11
  %1365 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1365, ptr %30, align 4, !tbaa !9
  %1366 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %1366, ptr %31, align 4, !tbaa !9
  %1367 = load i32, ptr %31, align 4, !tbaa !9
  %1368 = load i32, ptr %30, align 4, !tbaa !9
  %1369 = add i32 %1368, %1367
  store i32 %1369, ptr %30, align 4, !tbaa !9
  store i32 255, ptr %31, align 4, !tbaa !9
  %1370 = load i32, ptr %31, align 4, !tbaa !9
  %1371 = load i32, ptr %30, align 4, !tbaa !9
  %1372 = and i32 %1371, %1370
  store i32 %1372, ptr %30, align 4, !tbaa !9
  %1373 = load i32, ptr %30, align 4, !tbaa !9
  %1374 = uitofp i32 %1373 to double
  store double %1374, ptr %37, align 8, !tbaa !11
  %1375 = load double, ptr %37, align 8, !tbaa !11
  %1376 = load double, ptr %36, align 8, !tbaa !11
  %1377 = fadd double %1376, %1375
  store double %1377, ptr %36, align 8, !tbaa !11
  %1378 = load ptr, ptr %5, align 8, !tbaa !5
  %1379 = getelementptr inbounds %struct.w2c_hermes, ptr %1378, i32 0, i32 6
  %1380 = load i32, ptr %28, align 4, !tbaa !9
  %1381 = zext i32 %1380 to i64
  %1382 = load double, ptr %36, align 8, !tbaa !11
  call void @f64_store(ptr noundef %1379, i64 noundef %1381, double noundef %1382)
  store i32 1, ptr %28, align 4, !tbaa !9
  %1383 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1383, ptr %17, align 4, !tbaa !9
  %1384 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1384, ptr %28, align 4, !tbaa !9
  store i32 1, ptr %29, align 4, !tbaa !9
  %1385 = load i32, ptr %29, align 4, !tbaa !9
  %1386 = load i32, ptr %28, align 4, !tbaa !9
  %1387 = add i32 %1386, %1385
  store i32 %1387, ptr %28, align 4, !tbaa !9
  %1388 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1388, ptr %11, align 4, !tbaa !9
  store i32 0, ptr %29, align 4, !tbaa !9
  %1389 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1389, ptr %30, align 4, !tbaa !9
  %1390 = load i32, ptr %30, align 4, !tbaa !9
  %1391 = icmp ne i32 %1390, 0
  br i1 %1391, label %1392, label %1394

1392:                                             ; preds = %1353
  %1393 = load i32, ptr %28, align 4, !tbaa !9
  br label %1396

1394:                                             ; preds = %1353
  %1395 = load i32, ptr %29, align 4, !tbaa !9
  br label %1396

1396:                                             ; preds = %1394, %1392
  %1397 = phi i32 [ %1393, %1392 ], [ %1395, %1394 ]
  store i32 %1397, ptr %28, align 4, !tbaa !9
  %1398 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1398, ptr %9, align 4, !tbaa !9
  %1399 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1399, ptr %28, align 4, !tbaa !9
  %1400 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1400, ptr %29, align 4, !tbaa !9
  %1401 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %1401, ptr %30, align 4, !tbaa !9
  store i32 1, ptr %31, align 4, !tbaa !9
  %1402 = load i32, ptr %31, align 4, !tbaa !9
  %1403 = and i32 %1402, 31
  %1404 = load i32, ptr %30, align 4, !tbaa !9
  %1405 = shl i32 %1404, %1403
  store i32 %1405, ptr %30, align 4, !tbaa !9
  %1406 = load i32, ptr %30, align 4, !tbaa !9
  %1407 = load i32, ptr %29, align 4, !tbaa !9
  %1408 = add i32 %1407, %1406
  store i32 %1408, ptr %29, align 4, !tbaa !9
  %1409 = load i32, ptr %29, align 4, !tbaa !9
  store i32 %1409, ptr %14, align 4, !tbaa !9
  %1410 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1410, ptr %30, align 4, !tbaa !9
  %1411 = load i32, ptr %30, align 4, !tbaa !9
  %1412 = icmp ne i32 %1411, 0
  br i1 %1412, label %1413, label %1415

1413:                                             ; preds = %1396
  %1414 = load i32, ptr %28, align 4, !tbaa !9
  br label %1417

1415:                                             ; preds = %1396
  %1416 = load i32, ptr %29, align 4, !tbaa !9
  br label %1417

1417:                                             ; preds = %1415, %1413
  %1418 = phi i32 [ %1414, %1413 ], [ %1416, %1415 ]
  store i32 %1418, ptr %28, align 4, !tbaa !9
  %1419 = load i32, ptr %19, align 4, !tbaa !9
  store i32 %1419, ptr %29, align 4, !tbaa !9
  %1420 = load i32, ptr %28, align 4, !tbaa !9
  %1421 = load i32, ptr %29, align 4, !tbaa !9
  %1422 = icmp ne i32 %1420, %1421
  %1423 = zext i1 %1422 to i32
  store i32 %1423, ptr %28, align 4, !tbaa !9
  %1424 = load i32, ptr %28, align 4, !tbaa !9
  %1425 = icmp ne i32 %1424, 0
  br i1 %1425, label %1426, label %1427

1426:                                             ; preds = %1417
  br label %1275

1427:                                             ; preds = %1417
  br label %1428

1428:                                             ; preds = %1427, %1351, %1340, %1183, %1173, %1046, %1035, %970, %688, %677, %612
  %1429 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %1429, ptr %28, align 4, !tbaa !9
  br label %1430

1430:                                             ; preds = %1428, %1266, %1229, %1128
  %1431 = load i32, ptr %28, align 4, !tbaa !9
  %1432 = icmp ne i32 %1431, 0
  %1433 = xor i1 %1432, true
  %1434 = zext i1 %1433 to i32
  store i32 %1434, ptr %28, align 4, !tbaa !9
  %1435 = load i32, ptr %28, align 4, !tbaa !9
  %1436 = icmp ne i32 %1435, 0
  br i1 %1436, label %1437, label %1438

1437:                                             ; preds = %1430
  br label %2328

1438:                                             ; preds = %1430
  store i32 1, ptr %28, align 4, !tbaa !9
  %1439 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1439, ptr %12, align 4, !tbaa !9
  %1440 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1440, ptr %28, align 4, !tbaa !9
  %1441 = load ptr, ptr %5, align 8, !tbaa !5
  %1442 = getelementptr inbounds %struct.w2c_hermes, ptr %1441, i32 0, i32 6
  %1443 = load i32, ptr %28, align 4, !tbaa !9
  %1444 = zext i32 %1443 to i64
  %1445 = add i64 %1444, 40
  %1446 = call double @f64_load(ptr noundef %1442, i64 noundef %1445)
  store double %1446, ptr %35, align 8, !tbaa !11
  %1447 = load double, ptr %35, align 8, !tbaa !11
  store double %1447, ptr %25, align 8, !tbaa !11
  store double 0x4340000000000000, ptr %36, align 8, !tbaa !11
  %1448 = load double, ptr %35, align 8, !tbaa !11
  %1449 = load double, ptr %36, align 8, !tbaa !11
  %1450 = fcmp oge double %1448, %1449
  %1451 = zext i1 %1450 to i32
  store i32 %1451, ptr %28, align 4, !tbaa !9
  %1452 = load i32, ptr %28, align 4, !tbaa !9
  %1453 = icmp ne i32 %1452, 0
  %1454 = xor i1 %1453, true
  %1455 = zext i1 %1454 to i32
  store i32 %1455, ptr %28, align 4, !tbaa !9
  %1456 = load i32, ptr %28, align 4, !tbaa !9
  %1457 = icmp ne i32 %1456, 0
  br i1 %1457, label %1458, label %1459

1458:                                             ; preds = %1438
  br label %2328

1459:                                             ; preds = %1438
  %1460 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %1460, ptr %28, align 4, !tbaa !9
  %1461 = load i32, ptr %28, align 4, !tbaa !9
  %1462 = call i32 @llvm.ctpop.i32(i32 %1461)
  store i32 %1462, ptr %28, align 4, !tbaa !9
  store i32 1, ptr %29, align 4, !tbaa !9
  %1463 = load i32, ptr %28, align 4, !tbaa !9
  %1464 = load i32, ptr %29, align 4, !tbaa !9
  %1465 = icmp ne i32 %1463, %1464
  %1466 = zext i1 %1465 to i32
  store i32 %1466, ptr %28, align 4, !tbaa !9
  %1467 = load i32, ptr %28, align 4, !tbaa !9
  %1468 = icmp ne i32 %1467, 0
  br i1 %1468, label %1469, label %1470

1469:                                             ; preds = %1459
  br label %2328

1470:                                             ; preds = %1459
  %1471 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %1471, ptr %28, align 4, !tbaa !9
  store i64 0, ptr %34, align 8, !tbaa !19
  %1472 = load ptr, ptr %5, align 8, !tbaa !5
  %1473 = getelementptr inbounds %struct.w2c_hermes, ptr %1472, i32 0, i32 6
  %1474 = load i32, ptr %28, align 4, !tbaa !9
  %1475 = zext i32 %1474 to i64
  %1476 = add i64 %1475, 40
  %1477 = load i64, ptr %34, align 8, !tbaa !19
  call void @i64_store(ptr noundef %1473, i64 noundef %1476, i64 noundef %1477)
  %1478 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1478, ptr %28, align 4, !tbaa !9
  %1479 = load ptr, ptr %5, align 8, !tbaa !5
  %1480 = getelementptr inbounds %struct.w2c_hermes, ptr %1479, i32 0, i32 6
  %1481 = load i32, ptr %28, align 4, !tbaa !9
  %1482 = zext i32 %1481 to i64
  %1483 = add i64 %1482, 4
  %1484 = call i32 @i32_load(ptr noundef %1480, i64 noundef %1483)
  store i32 %1484, ptr %28, align 4, !tbaa !9
  %1485 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1485, ptr %11, align 4, !tbaa !9
  store i32 1073741824, ptr %29, align 4, !tbaa !9
  %1486 = load i32, ptr %29, align 4, !tbaa !9
  %1487 = load i32, ptr %28, align 4, !tbaa !9
  %1488 = and i32 %1487, %1486
  store i32 %1488, ptr %28, align 4, !tbaa !9
  %1489 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1489, ptr %9, align 4, !tbaa !9
  %1490 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1490, ptr %28, align 4, !tbaa !9
  %1491 = load ptr, ptr %5, align 8, !tbaa !5
  %1492 = getelementptr inbounds %struct.w2c_hermes, ptr %1491, i32 0, i32 6
  %1493 = load i32, ptr %28, align 4, !tbaa !9
  %1494 = zext i32 %1493 to i64
  %1495 = call i32 @i32_load(ptr noundef %1492, i64 noundef %1494)
  store i32 %1495, ptr %28, align 4, !tbaa !9
  %1496 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1496, ptr %10, align 4, !tbaa !9
  %1497 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1497, ptr %28, align 4, !tbaa !9
  store i32 0, ptr %29, align 4, !tbaa !9
  %1498 = load i32, ptr %28, align 4, !tbaa !9
  %1499 = load i32, ptr %29, align 4, !tbaa !9
  %1500 = icmp slt i32 %1498, %1499
  %1501 = zext i1 %1500 to i32
  store i32 %1501, ptr %28, align 4, !tbaa !9
  %1502 = load i32, ptr %28, align 4, !tbaa !9
  %1503 = icmp ne i32 %1502, 0
  br i1 %1503, label %1504, label %1598

1504:                                             ; preds = %1470
  %1505 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1505, ptr %28, align 4, !tbaa !9
  %1506 = load i32, ptr %28, align 4, !tbaa !9
  %1507 = icmp ne i32 %1506, 0
  %1508 = xor i1 %1507, true
  %1509 = zext i1 %1508 to i32
  store i32 %1509, ptr %28, align 4, !tbaa !9
  %1510 = load i32, ptr %28, align 4, !tbaa !9
  %1511 = icmp ne i32 %1510, 0
  br i1 %1511, label %1512, label %1513

1512:                                             ; preds = %1504
  br label %1692

1513:                                             ; preds = %1504
  %1514 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1514, ptr %28, align 4, !tbaa !9
  %1515 = load ptr, ptr %5, align 8, !tbaa !5
  %1516 = getelementptr inbounds %struct.w2c_hermes, ptr %1515, i32 0, i32 6
  %1517 = load i32, ptr %28, align 4, !tbaa !9
  %1518 = zext i32 %1517 to i64
  %1519 = call i32 @i32_load(ptr noundef %1516, i64 noundef %1518)
  store i32 %1519, ptr %28, align 4, !tbaa !9
  %1520 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1520, ptr %9, align 4, !tbaa !9
  %1521 = load ptr, ptr %5, align 8, !tbaa !5
  %1522 = getelementptr inbounds %struct.w2c_hermes, ptr %1521, i32 0, i32 6
  %1523 = load i32, ptr %28, align 4, !tbaa !9
  %1524 = zext i32 %1523 to i64
  %1525 = call i32 @i32_load(ptr noundef %1522, i64 noundef %1524)
  store i32 %1525, ptr %28, align 4, !tbaa !9
  %1526 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1526, ptr %10, align 4, !tbaa !9
  store i32 150994943, ptr %29, align 4, !tbaa !9
  %1527 = load i32, ptr %28, align 4, !tbaa !9
  %1528 = load i32, ptr %29, align 4, !tbaa !9
  %1529 = icmp ugt i32 %1527, %1528
  %1530 = zext i1 %1529 to i32
  store i32 %1530, ptr %28, align 4, !tbaa !9
  %1531 = load i32, ptr %28, align 4, !tbaa !9
  %1532 = icmp ne i32 %1531, 0
  br i1 %1532, label %1533, label %1534

1533:                                             ; preds = %1513
  br label %1703

1534:                                             ; preds = %1513
  %1535 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1535, ptr %28, align 4, !tbaa !9
  store i32 -16777216, ptr %29, align 4, !tbaa !9
  %1536 = load i32, ptr %29, align 4, !tbaa !9
  %1537 = load i32, ptr %28, align 4, !tbaa !9
  %1538 = and i32 %1537, %1536
  store i32 %1538, ptr %28, align 4, !tbaa !9
  %1539 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1539, ptr %12, align 4, !tbaa !9
  store i32 67108864, ptr %29, align 4, !tbaa !9
  %1540 = load i32, ptr %28, align 4, !tbaa !9
  %1541 = load i32, ptr %29, align 4, !tbaa !9
  %1542 = icmp eq i32 %1540, %1541
  %1543 = zext i1 %1542 to i32
  store i32 %1543, ptr %28, align 4, !tbaa !9
  %1544 = load i32, ptr %28, align 4, !tbaa !9
  %1545 = icmp ne i32 %1544, 0
  br i1 %1545, label %1546, label %1547

1546:                                             ; preds = %1534
  br label %1744

1547:                                             ; preds = %1534
  %1548 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1548, ptr %28, align 4, !tbaa !9
  store i32 12, ptr %29, align 4, !tbaa !9
  %1549 = load i32, ptr %29, align 4, !tbaa !9
  %1550 = load i32, ptr %28, align 4, !tbaa !9
  %1551 = add i32 %1550, %1549
  store i32 %1551, ptr %28, align 4, !tbaa !9
  %1552 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1552, ptr %29, align 4, !tbaa !9
  store i32 134217728, ptr %30, align 4, !tbaa !9
  %1553 = load i32, ptr %29, align 4, !tbaa !9
  %1554 = load i32, ptr %30, align 4, !tbaa !9
  %1555 = icmp eq i32 %1553, %1554
  %1556 = zext i1 %1555 to i32
  store i32 %1556, ptr %29, align 4, !tbaa !9
  %1557 = load i32, ptr %29, align 4, !tbaa !9
  %1558 = icmp ne i32 %1557, 0
  br i1 %1558, label %1559, label %1560

1559:                                             ; preds = %1547
  br label %1749

1560:                                             ; preds = %1547
  %1561 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1561, ptr %28, align 4, !tbaa !9
  %1562 = load ptr, ptr %5, align 8, !tbaa !5
  %1563 = getelementptr inbounds %struct.w2c_hermes, ptr %1562, i32 0, i32 6
  %1564 = load i32, ptr %28, align 4, !tbaa !9
  %1565 = zext i32 %1564 to i64
  %1566 = add i64 %1565, 8
  %1567 = call i32 @i32_load(ptr noundef %1563, i64 noundef %1566)
  store i32 %1567, ptr %28, align 4, !tbaa !9
  %1568 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1568, ptr %12, align 4, !tbaa !9
  %1569 = load ptr, ptr %5, align 8, !tbaa !5
  %1570 = getelementptr inbounds %struct.w2c_hermes, ptr %1569, i32 0, i32 6
  %1571 = load i32, ptr %28, align 4, !tbaa !9
  %1572 = zext i32 %1571 to i64
  %1573 = add i64 %1572, 12
  %1574 = call i32 @i32_load(ptr noundef %1570, i64 noundef %1573)
  store i32 %1574, ptr %28, align 4, !tbaa !9
  %1575 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1575, ptr %29, align 4, !tbaa !9
  store i32 12, ptr %30, align 4, !tbaa !9
  %1576 = load i32, ptr %30, align 4, !tbaa !9
  %1577 = load i32, ptr %29, align 4, !tbaa !9
  %1578 = add i32 %1577, %1576
  store i32 %1578, ptr %29, align 4, !tbaa !9
  %1579 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1579, ptr %30, align 4, !tbaa !9
  %1580 = load ptr, ptr %5, align 8, !tbaa !5
  %1581 = getelementptr inbounds %struct.w2c_hermes, ptr %1580, i32 0, i32 6
  %1582 = load i32, ptr %30, align 4, !tbaa !9
  %1583 = zext i32 %1582 to i64
  %1584 = add i64 %1583, 23
  %1585 = call i32 @i32_load8_s(ptr noundef %1581, i64 noundef %1584)
  store i32 %1585, ptr %30, align 4, !tbaa !9
  store i32 0, ptr %31, align 4, !tbaa !9
  %1586 = load i32, ptr %30, align 4, !tbaa !9
  %1587 = load i32, ptr %31, align 4, !tbaa !9
  %1588 = icmp slt i32 %1586, %1587
  %1589 = zext i1 %1588 to i32
  store i32 %1589, ptr %30, align 4, !tbaa !9
  %1590 = load i32, ptr %30, align 4, !tbaa !9
  %1591 = icmp ne i32 %1590, 0
  br i1 %1591, label %1592, label %1594

1592:                                             ; preds = %1560
  %1593 = load i32, ptr %28, align 4, !tbaa !9
  br label %1596

1594:                                             ; preds = %1560
  %1595 = load i32, ptr %29, align 4, !tbaa !9
  br label %1596

1596:                                             ; preds = %1594, %1592
  %1597 = phi i32 [ %1593, %1592 ], [ %1595, %1594 ]
  store i32 %1597, ptr %28, align 4, !tbaa !9
  br label %1749

1598:                                             ; preds = %1470
  %1599 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1599, ptr %28, align 4, !tbaa !9
  %1600 = load i32, ptr %28, align 4, !tbaa !9
  %1601 = icmp ne i32 %1600, 0
  %1602 = xor i1 %1601, true
  %1603 = zext i1 %1602 to i32
  store i32 %1603, ptr %28, align 4, !tbaa !9
  %1604 = load i32, ptr %28, align 4, !tbaa !9
  %1605 = icmp ne i32 %1604, 0
  br i1 %1605, label %1606, label %1607

1606:                                             ; preds = %1598
  br label %1848

1607:                                             ; preds = %1598
  %1608 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1608, ptr %28, align 4, !tbaa !9
  %1609 = load ptr, ptr %5, align 8, !tbaa !5
  %1610 = getelementptr inbounds %struct.w2c_hermes, ptr %1609, i32 0, i32 6
  %1611 = load i32, ptr %28, align 4, !tbaa !9
  %1612 = zext i32 %1611 to i64
  %1613 = call i32 @i32_load(ptr noundef %1610, i64 noundef %1612)
  store i32 %1613, ptr %28, align 4, !tbaa !9
  %1614 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1614, ptr %9, align 4, !tbaa !9
  %1615 = load ptr, ptr %5, align 8, !tbaa !5
  %1616 = getelementptr inbounds %struct.w2c_hermes, ptr %1615, i32 0, i32 6
  %1617 = load i32, ptr %28, align 4, !tbaa !9
  %1618 = zext i32 %1617 to i64
  %1619 = call i32 @i32_load(ptr noundef %1616, i64 noundef %1618)
  store i32 %1619, ptr %28, align 4, !tbaa !9
  %1620 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1620, ptr %10, align 4, !tbaa !9
  store i32 150994943, ptr %29, align 4, !tbaa !9
  %1621 = load i32, ptr %28, align 4, !tbaa !9
  %1622 = load i32, ptr %29, align 4, !tbaa !9
  %1623 = icmp ugt i32 %1621, %1622
  %1624 = zext i1 %1623 to i32
  store i32 %1624, ptr %28, align 4, !tbaa !9
  %1625 = load i32, ptr %28, align 4, !tbaa !9
  %1626 = icmp ne i32 %1625, 0
  br i1 %1626, label %1627, label %1628

1627:                                             ; preds = %1607
  br label %1863

1628:                                             ; preds = %1607
  %1629 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1629, ptr %28, align 4, !tbaa !9
  store i32 -16777216, ptr %29, align 4, !tbaa !9
  %1630 = load i32, ptr %29, align 4, !tbaa !9
  %1631 = load i32, ptr %28, align 4, !tbaa !9
  %1632 = and i32 %1631, %1630
  store i32 %1632, ptr %28, align 4, !tbaa !9
  %1633 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1633, ptr %12, align 4, !tbaa !9
  store i32 50331648, ptr %29, align 4, !tbaa !9
  %1634 = load i32, ptr %28, align 4, !tbaa !9
  %1635 = load i32, ptr %29, align 4, !tbaa !9
  %1636 = icmp eq i32 %1634, %1635
  %1637 = zext i1 %1636 to i32
  store i32 %1637, ptr %28, align 4, !tbaa !9
  %1638 = load i32, ptr %28, align 4, !tbaa !9
  %1639 = icmp ne i32 %1638, 0
  br i1 %1639, label %1640, label %1641

1640:                                             ; preds = %1628
  br label %1908

1641:                                             ; preds = %1628
  %1642 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1642, ptr %28, align 4, !tbaa !9
  store i32 12, ptr %29, align 4, !tbaa !9
  %1643 = load i32, ptr %29, align 4, !tbaa !9
  %1644 = load i32, ptr %28, align 4, !tbaa !9
  %1645 = add i32 %1644, %1643
  store i32 %1645, ptr %28, align 4, !tbaa !9
  %1646 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1646, ptr %29, align 4, !tbaa !9
  store i32 117440512, ptr %30, align 4, !tbaa !9
  %1647 = load i32, ptr %29, align 4, !tbaa !9
  %1648 = load i32, ptr %30, align 4, !tbaa !9
  %1649 = icmp eq i32 %1647, %1648
  %1650 = zext i1 %1649 to i32
  store i32 %1650, ptr %29, align 4, !tbaa !9
  %1651 = load i32, ptr %29, align 4, !tbaa !9
  %1652 = icmp ne i32 %1651, 0
  br i1 %1652, label %1653, label %1654

1653:                                             ; preds = %1641
  br label %1913

1654:                                             ; preds = %1641
  %1655 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1655, ptr %28, align 4, !tbaa !9
  %1656 = load ptr, ptr %5, align 8, !tbaa !5
  %1657 = getelementptr inbounds %struct.w2c_hermes, ptr %1656, i32 0, i32 6
  %1658 = load i32, ptr %28, align 4, !tbaa !9
  %1659 = zext i32 %1658 to i64
  %1660 = add i64 %1659, 8
  %1661 = call i32 @i32_load(ptr noundef %1657, i64 noundef %1660)
  store i32 %1661, ptr %28, align 4, !tbaa !9
  %1662 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1662, ptr %12, align 4, !tbaa !9
  %1663 = load ptr, ptr %5, align 8, !tbaa !5
  %1664 = getelementptr inbounds %struct.w2c_hermes, ptr %1663, i32 0, i32 6
  %1665 = load i32, ptr %28, align 4, !tbaa !9
  %1666 = zext i32 %1665 to i64
  %1667 = add i64 %1666, 12
  %1668 = call i32 @i32_load(ptr noundef %1664, i64 noundef %1667)
  store i32 %1668, ptr %28, align 4, !tbaa !9
  %1669 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1669, ptr %29, align 4, !tbaa !9
  store i32 12, ptr %30, align 4, !tbaa !9
  %1670 = load i32, ptr %30, align 4, !tbaa !9
  %1671 = load i32, ptr %29, align 4, !tbaa !9
  %1672 = add i32 %1671, %1670
  store i32 %1672, ptr %29, align 4, !tbaa !9
  %1673 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1673, ptr %30, align 4, !tbaa !9
  %1674 = load ptr, ptr %5, align 8, !tbaa !5
  %1675 = getelementptr inbounds %struct.w2c_hermes, ptr %1674, i32 0, i32 6
  %1676 = load i32, ptr %30, align 4, !tbaa !9
  %1677 = zext i32 %1676 to i64
  %1678 = add i64 %1677, 23
  %1679 = call i32 @i32_load8_s(ptr noundef %1675, i64 noundef %1678)
  store i32 %1679, ptr %30, align 4, !tbaa !9
  store i32 0, ptr %31, align 4, !tbaa !9
  %1680 = load i32, ptr %30, align 4, !tbaa !9
  %1681 = load i32, ptr %31, align 4, !tbaa !9
  %1682 = icmp slt i32 %1680, %1681
  %1683 = zext i1 %1682 to i32
  store i32 %1683, ptr %30, align 4, !tbaa !9
  %1684 = load i32, ptr %30, align 4, !tbaa !9
  %1685 = icmp ne i32 %1684, 0
  br i1 %1685, label %1686, label %1688

1686:                                             ; preds = %1654
  %1687 = load i32, ptr %28, align 4, !tbaa !9
  br label %1690

1688:                                             ; preds = %1654
  %1689 = load i32, ptr %29, align 4, !tbaa !9
  br label %1690

1690:                                             ; preds = %1688, %1686
  %1691 = phi i32 [ %1687, %1686 ], [ %1689, %1688 ]
  store i32 %1691, ptr %28, align 4, !tbaa !9
  br label %1913

1692:                                             ; preds = %1512
  %1693 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1693, ptr %28, align 4, !tbaa !9
  %1694 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1694, ptr %29, align 4, !tbaa !9
  store i32 1073741823, ptr %30, align 4, !tbaa !9
  %1695 = load i32, ptr %30, align 4, !tbaa !9
  %1696 = load i32, ptr %29, align 4, !tbaa !9
  %1697 = and i32 %1696, %1695
  store i32 %1697, ptr %29, align 4, !tbaa !9
  %1698 = load i32, ptr %29, align 4, !tbaa !9
  store i32 %1698, ptr %14, align 4, !tbaa !9
  %1699 = load i32, ptr %29, align 4, !tbaa !9
  %1700 = load i32, ptr %28, align 4, !tbaa !9
  %1701 = add i32 %1700, %1699
  store i32 %1701, ptr %28, align 4, !tbaa !9
  %1702 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1702, ptr %12, align 4, !tbaa !9
  br label %1832

1703:                                             ; preds = %1533
  %1704 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1704, ptr %28, align 4, !tbaa !9
  %1705 = load ptr, ptr %5, align 8, !tbaa !5
  %1706 = getelementptr inbounds %struct.w2c_hermes, ptr %1705, i32 0, i32 6
  %1707 = load i32, ptr %28, align 4, !tbaa !9
  %1708 = zext i32 %1707 to i64
  %1709 = add i64 %1708, 12
  %1710 = call i32 @i32_load(ptr noundef %1706, i64 noundef %1709)
  store i32 %1710, ptr %28, align 4, !tbaa !9
  %1711 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1711, ptr %29, align 4, !tbaa !9
  store i32 12, ptr %30, align 4, !tbaa !9
  %1712 = load i32, ptr %30, align 4, !tbaa !9
  %1713 = load i32, ptr %29, align 4, !tbaa !9
  %1714 = add i32 %1713, %1712
  store i32 %1714, ptr %29, align 4, !tbaa !9
  %1715 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1715, ptr %30, align 4, !tbaa !9
  %1716 = load ptr, ptr %5, align 8, !tbaa !5
  %1717 = getelementptr inbounds %struct.w2c_hermes, ptr %1716, i32 0, i32 6
  %1718 = load i32, ptr %30, align 4, !tbaa !9
  %1719 = zext i32 %1718 to i64
  %1720 = add i64 %1719, 23
  %1721 = call i32 @i32_load8_s(ptr noundef %1717, i64 noundef %1720)
  store i32 %1721, ptr %30, align 4, !tbaa !9
  store i32 0, ptr %31, align 4, !tbaa !9
  %1722 = load i32, ptr %30, align 4, !tbaa !9
  %1723 = load i32, ptr %31, align 4, !tbaa !9
  %1724 = icmp slt i32 %1722, %1723
  %1725 = zext i1 %1724 to i32
  store i32 %1725, ptr %30, align 4, !tbaa !9
  %1726 = load i32, ptr %30, align 4, !tbaa !9
  %1727 = icmp ne i32 %1726, 0
  br i1 %1727, label %1728, label %1730

1728:                                             ; preds = %1703
  %1729 = load i32, ptr %28, align 4, !tbaa !9
  br label %1732

1730:                                             ; preds = %1703
  %1731 = load i32, ptr %29, align 4, !tbaa !9
  br label %1732

1732:                                             ; preds = %1730, %1728
  %1733 = phi i32 [ %1729, %1728 ], [ %1731, %1730 ]
  store i32 %1733, ptr %28, align 4, !tbaa !9
  %1734 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1734, ptr %10, align 4, !tbaa !9
  %1735 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1735, ptr %29, align 4, !tbaa !9
  store i32 1073741823, ptr %30, align 4, !tbaa !9
  %1736 = load i32, ptr %30, align 4, !tbaa !9
  %1737 = load i32, ptr %29, align 4, !tbaa !9
  %1738 = and i32 %1737, %1736
  store i32 %1738, ptr %29, align 4, !tbaa !9
  %1739 = load i32, ptr %29, align 4, !tbaa !9
  store i32 %1739, ptr %14, align 4, !tbaa !9
  %1740 = load i32, ptr %29, align 4, !tbaa !9
  %1741 = load i32, ptr %28, align 4, !tbaa !9
  %1742 = add i32 %1741, %1740
  store i32 %1742, ptr %28, align 4, !tbaa !9
  %1743 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1743, ptr %12, align 4, !tbaa !9
  br label %1832

1744:                                             ; preds = %1546
  %1745 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1745, ptr %28, align 4, !tbaa !9
  store i32 8, ptr %29, align 4, !tbaa !9
  %1746 = load i32, ptr %29, align 4, !tbaa !9
  %1747 = load i32, ptr %28, align 4, !tbaa !9
  %1748 = add i32 %1747, %1746
  store i32 %1748, ptr %28, align 4, !tbaa !9
  br label %1749

1749:                                             ; preds = %1744, %1596, %1559
  %1750 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1750, ptr %12, align 4, !tbaa !9
  %1751 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %1751, ptr %28, align 4, !tbaa !9
  %1752 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1752, ptr %29, align 4, !tbaa !9
  store i32 1073741823, ptr %30, align 4, !tbaa !9
  %1753 = load i32, ptr %30, align 4, !tbaa !9
  %1754 = load i32, ptr %29, align 4, !tbaa !9
  %1755 = and i32 %1754, %1753
  store i32 %1755, ptr %29, align 4, !tbaa !9
  %1756 = load i32, ptr %29, align 4, !tbaa !9
  store i32 %1756, ptr %14, align 4, !tbaa !9
  %1757 = load i32, ptr %29, align 4, !tbaa !9
  %1758 = load i32, ptr %28, align 4, !tbaa !9
  %1759 = add i32 %1758, %1757
  store i32 %1759, ptr %28, align 4, !tbaa !9
  %1760 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1760, ptr %12, align 4, !tbaa !9
  %1761 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1761, ptr %28, align 4, !tbaa !9
  store i32 -16777216, ptr %29, align 4, !tbaa !9
  %1762 = load i32, ptr %29, align 4, !tbaa !9
  %1763 = load i32, ptr %28, align 4, !tbaa !9
  %1764 = and i32 %1763, %1762
  store i32 %1764, ptr %28, align 4, !tbaa !9
  %1765 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1765, ptr %11, align 4, !tbaa !9
  store i32 67108864, ptr %29, align 4, !tbaa !9
  %1766 = load i32, ptr %28, align 4, !tbaa !9
  %1767 = load i32, ptr %29, align 4, !tbaa !9
  %1768 = icmp ne i32 %1766, %1767
  %1769 = zext i1 %1768 to i32
  store i32 %1769, ptr %28, align 4, !tbaa !9
  %1770 = load i32, ptr %28, align 4, !tbaa !9
  %1771 = icmp ne i32 %1770, 0
  br i1 %1771, label %1772, label %1787

1772:                                             ; preds = %1749
  %1773 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1773, ptr %28, align 4, !tbaa !9
  store i32 134217728, ptr %29, align 4, !tbaa !9
  %1774 = load i32, ptr %28, align 4, !tbaa !9
  %1775 = load i32, ptr %29, align 4, !tbaa !9
  %1776 = icmp ne i32 %1774, %1775
  %1777 = zext i1 %1776 to i32
  store i32 %1777, ptr %28, align 4, !tbaa !9
  %1778 = load i32, ptr %28, align 4, !tbaa !9
  %1779 = icmp ne i32 %1778, 0
  br i1 %1779, label %1780, label %1781

1780:                                             ; preds = %1772
  br label %1793

1781:                                             ; preds = %1772
  %1782 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1782, ptr %28, align 4, !tbaa !9
  store i32 12, ptr %29, align 4, !tbaa !9
  %1783 = load i32, ptr %29, align 4, !tbaa !9
  %1784 = load i32, ptr %28, align 4, !tbaa !9
  %1785 = add i32 %1784, %1783
  store i32 %1785, ptr %28, align 4, !tbaa !9
  %1786 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1786, ptr %10, align 4, !tbaa !9
  br label %1832

1787:                                             ; preds = %1749
  %1788 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1788, ptr %28, align 4, !tbaa !9
  store i32 8, ptr %29, align 4, !tbaa !9
  %1789 = load i32, ptr %29, align 4, !tbaa !9
  %1790 = load i32, ptr %28, align 4, !tbaa !9
  %1791 = add i32 %1790, %1789
  store i32 %1791, ptr %28, align 4, !tbaa !9
  %1792 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1792, ptr %10, align 4, !tbaa !9
  br label %1832

1793:                                             ; preds = %1780
  %1794 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1794, ptr %28, align 4, !tbaa !9
  %1795 = load ptr, ptr %5, align 8, !tbaa !5
  %1796 = getelementptr inbounds %struct.w2c_hermes, ptr %1795, i32 0, i32 6
  %1797 = load i32, ptr %28, align 4, !tbaa !9
  %1798 = zext i32 %1797 to i64
  %1799 = add i64 %1798, 8
  %1800 = call i32 @i32_load(ptr noundef %1796, i64 noundef %1799)
  store i32 %1800, ptr %28, align 4, !tbaa !9
  %1801 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1801, ptr %9, align 4, !tbaa !9
  %1802 = load ptr, ptr %5, align 8, !tbaa !5
  %1803 = getelementptr inbounds %struct.w2c_hermes, ptr %1802, i32 0, i32 6
  %1804 = load i32, ptr %28, align 4, !tbaa !9
  %1805 = zext i32 %1804 to i64
  %1806 = add i64 %1805, 12
  %1807 = call i32 @i32_load(ptr noundef %1803, i64 noundef %1806)
  store i32 %1807, ptr %28, align 4, !tbaa !9
  %1808 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1808, ptr %29, align 4, !tbaa !9
  store i32 12, ptr %30, align 4, !tbaa !9
  %1809 = load i32, ptr %30, align 4, !tbaa !9
  %1810 = load i32, ptr %29, align 4, !tbaa !9
  %1811 = add i32 %1810, %1809
  store i32 %1811, ptr %29, align 4, !tbaa !9
  %1812 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1812, ptr %30, align 4, !tbaa !9
  %1813 = load ptr, ptr %5, align 8, !tbaa !5
  %1814 = getelementptr inbounds %struct.w2c_hermes, ptr %1813, i32 0, i32 6
  %1815 = load i32, ptr %30, align 4, !tbaa !9
  %1816 = zext i32 %1815 to i64
  %1817 = add i64 %1816, 23
  %1818 = call i32 @i32_load8_s(ptr noundef %1814, i64 noundef %1817)
  store i32 %1818, ptr %30, align 4, !tbaa !9
  store i32 0, ptr %31, align 4, !tbaa !9
  %1819 = load i32, ptr %30, align 4, !tbaa !9
  %1820 = load i32, ptr %31, align 4, !tbaa !9
  %1821 = icmp slt i32 %1819, %1820
  %1822 = zext i1 %1821 to i32
  store i32 %1822, ptr %30, align 4, !tbaa !9
  %1823 = load i32, ptr %30, align 4, !tbaa !9
  %1824 = icmp ne i32 %1823, 0
  br i1 %1824, label %1825, label %1827

1825:                                             ; preds = %1793
  %1826 = load i32, ptr %28, align 4, !tbaa !9
  br label %1829

1827:                                             ; preds = %1793
  %1828 = load i32, ptr %29, align 4, !tbaa !9
  br label %1829

1829:                                             ; preds = %1827, %1825
  %1830 = phi i32 [ %1826, %1825 ], [ %1828, %1827 ]
  store i32 %1830, ptr %28, align 4, !tbaa !9
  %1831 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1831, ptr %10, align 4, !tbaa !9
  br label %1832

1832:                                             ; preds = %1829, %1787, %1781, %1732, %1692
  %1833 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %1833, ptr %28, align 4, !tbaa !9
  %1834 = load ptr, ptr %5, align 8, !tbaa !5
  %1835 = getelementptr inbounds %struct.w2c_hermes, ptr %1834, i32 0, i32 6
  %1836 = load i32, ptr %28, align 4, !tbaa !9
  %1837 = zext i32 %1836 to i64
  %1838 = add i64 %1837, 8
  %1839 = call i32 @i32_load(ptr noundef %1835, i64 noundef %1838)
  store i32 %1839, ptr %28, align 4, !tbaa !9
  %1840 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1840, ptr %29, align 4, !tbaa !9
  %1841 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1841, ptr %30, align 4, !tbaa !9
  %1842 = load i32, ptr %30, align 4, !tbaa !9
  %1843 = load i32, ptr %29, align 4, !tbaa !9
  %1844 = add i32 %1843, %1842
  store i32 %1844, ptr %29, align 4, !tbaa !9
  %1845 = load i32, ptr %29, align 4, !tbaa !9
  %1846 = load i32, ptr %28, align 4, !tbaa !9
  %1847 = add i32 %1846, %1845
  store i32 %1847, ptr %28, align 4, !tbaa !9
  br label %2026

1848:                                             ; preds = %1606
  %1849 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1849, ptr %28, align 4, !tbaa !9
  %1850 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1850, ptr %29, align 4, !tbaa !9
  store i32 1073741823, ptr %30, align 4, !tbaa !9
  %1851 = load i32, ptr %30, align 4, !tbaa !9
  %1852 = load i32, ptr %29, align 4, !tbaa !9
  %1853 = and i32 %1852, %1851
  store i32 %1853, ptr %29, align 4, !tbaa !9
  %1854 = load i32, ptr %29, align 4, !tbaa !9
  store i32 %1854, ptr %12, align 4, !tbaa !9
  store i32 1, ptr %30, align 4, !tbaa !9
  %1855 = load i32, ptr %30, align 4, !tbaa !9
  %1856 = and i32 %1855, 31
  %1857 = load i32, ptr %29, align 4, !tbaa !9
  %1858 = shl i32 %1857, %1856
  store i32 %1858, ptr %29, align 4, !tbaa !9
  %1859 = load i32, ptr %29, align 4, !tbaa !9
  %1860 = load i32, ptr %28, align 4, !tbaa !9
  %1861 = add i32 %1860, %1859
  store i32 %1861, ptr %28, align 4, !tbaa !9
  %1862 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1862, ptr %21, align 4, !tbaa !9
  br label %2000

1863:                                             ; preds = %1627
  %1864 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1864, ptr %28, align 4, !tbaa !9
  %1865 = load ptr, ptr %5, align 8, !tbaa !5
  %1866 = getelementptr inbounds %struct.w2c_hermes, ptr %1865, i32 0, i32 6
  %1867 = load i32, ptr %28, align 4, !tbaa !9
  %1868 = zext i32 %1867 to i64
  %1869 = add i64 %1868, 12
  %1870 = call i32 @i32_load(ptr noundef %1866, i64 noundef %1869)
  store i32 %1870, ptr %28, align 4, !tbaa !9
  %1871 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1871, ptr %29, align 4, !tbaa !9
  store i32 12, ptr %30, align 4, !tbaa !9
  %1872 = load i32, ptr %30, align 4, !tbaa !9
  %1873 = load i32, ptr %29, align 4, !tbaa !9
  %1874 = add i32 %1873, %1872
  store i32 %1874, ptr %29, align 4, !tbaa !9
  %1875 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1875, ptr %30, align 4, !tbaa !9
  %1876 = load ptr, ptr %5, align 8, !tbaa !5
  %1877 = getelementptr inbounds %struct.w2c_hermes, ptr %1876, i32 0, i32 6
  %1878 = load i32, ptr %30, align 4, !tbaa !9
  %1879 = zext i32 %1878 to i64
  %1880 = add i64 %1879, 23
  %1881 = call i32 @i32_load8_s(ptr noundef %1877, i64 noundef %1880)
  store i32 %1881, ptr %30, align 4, !tbaa !9
  store i32 0, ptr %31, align 4, !tbaa !9
  %1882 = load i32, ptr %30, align 4, !tbaa !9
  %1883 = load i32, ptr %31, align 4, !tbaa !9
  %1884 = icmp slt i32 %1882, %1883
  %1885 = zext i1 %1884 to i32
  store i32 %1885, ptr %30, align 4, !tbaa !9
  %1886 = load i32, ptr %30, align 4, !tbaa !9
  %1887 = icmp ne i32 %1886, 0
  br i1 %1887, label %1888, label %1890

1888:                                             ; preds = %1863
  %1889 = load i32, ptr %28, align 4, !tbaa !9
  br label %1892

1890:                                             ; preds = %1863
  %1891 = load i32, ptr %29, align 4, !tbaa !9
  br label %1892

1892:                                             ; preds = %1890, %1888
  %1893 = phi i32 [ %1889, %1888 ], [ %1891, %1890 ]
  store i32 %1893, ptr %28, align 4, !tbaa !9
  %1894 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1894, ptr %10, align 4, !tbaa !9
  %1895 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1895, ptr %29, align 4, !tbaa !9
  store i32 1073741823, ptr %30, align 4, !tbaa !9
  %1896 = load i32, ptr %30, align 4, !tbaa !9
  %1897 = load i32, ptr %29, align 4, !tbaa !9
  %1898 = and i32 %1897, %1896
  store i32 %1898, ptr %29, align 4, !tbaa !9
  %1899 = load i32, ptr %29, align 4, !tbaa !9
  store i32 %1899, ptr %12, align 4, !tbaa !9
  store i32 1, ptr %30, align 4, !tbaa !9
  %1900 = load i32, ptr %30, align 4, !tbaa !9
  %1901 = and i32 %1900, 31
  %1902 = load i32, ptr %29, align 4, !tbaa !9
  %1903 = shl i32 %1902, %1901
  store i32 %1903, ptr %29, align 4, !tbaa !9
  %1904 = load i32, ptr %29, align 4, !tbaa !9
  %1905 = load i32, ptr %28, align 4, !tbaa !9
  %1906 = add i32 %1905, %1904
  store i32 %1906, ptr %28, align 4, !tbaa !9
  %1907 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1907, ptr %21, align 4, !tbaa !9
  br label %2000

1908:                                             ; preds = %1640
  %1909 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1909, ptr %28, align 4, !tbaa !9
  store i32 8, ptr %29, align 4, !tbaa !9
  %1910 = load i32, ptr %29, align 4, !tbaa !9
  %1911 = load i32, ptr %28, align 4, !tbaa !9
  %1912 = add i32 %1911, %1910
  store i32 %1912, ptr %28, align 4, !tbaa !9
  br label %1913

1913:                                             ; preds = %1908, %1690, %1653
  %1914 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1914, ptr %14, align 4, !tbaa !9
  %1915 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %1915, ptr %28, align 4, !tbaa !9
  %1916 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1916, ptr %29, align 4, !tbaa !9
  store i32 1073741823, ptr %30, align 4, !tbaa !9
  %1917 = load i32, ptr %30, align 4, !tbaa !9
  %1918 = load i32, ptr %29, align 4, !tbaa !9
  %1919 = and i32 %1918, %1917
  store i32 %1919, ptr %29, align 4, !tbaa !9
  %1920 = load i32, ptr %29, align 4, !tbaa !9
  store i32 %1920, ptr %12, align 4, !tbaa !9
  store i32 1, ptr %30, align 4, !tbaa !9
  %1921 = load i32, ptr %30, align 4, !tbaa !9
  %1922 = and i32 %1921, 31
  %1923 = load i32, ptr %29, align 4, !tbaa !9
  %1924 = shl i32 %1923, %1922
  store i32 %1924, ptr %29, align 4, !tbaa !9
  %1925 = load i32, ptr %29, align 4, !tbaa !9
  %1926 = load i32, ptr %28, align 4, !tbaa !9
  %1927 = add i32 %1926, %1925
  store i32 %1927, ptr %28, align 4, !tbaa !9
  %1928 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1928, ptr %21, align 4, !tbaa !9
  %1929 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %1929, ptr %28, align 4, !tbaa !9
  store i32 -16777216, ptr %29, align 4, !tbaa !9
  %1930 = load i32, ptr %29, align 4, !tbaa !9
  %1931 = load i32, ptr %28, align 4, !tbaa !9
  %1932 = and i32 %1931, %1930
  store i32 %1932, ptr %28, align 4, !tbaa !9
  %1933 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1933, ptr %11, align 4, !tbaa !9
  store i32 50331648, ptr %29, align 4, !tbaa !9
  %1934 = load i32, ptr %28, align 4, !tbaa !9
  %1935 = load i32, ptr %29, align 4, !tbaa !9
  %1936 = icmp ne i32 %1934, %1935
  %1937 = zext i1 %1936 to i32
  store i32 %1937, ptr %28, align 4, !tbaa !9
  %1938 = load i32, ptr %28, align 4, !tbaa !9
  %1939 = icmp ne i32 %1938, 0
  br i1 %1939, label %1940, label %1955

1940:                                             ; preds = %1913
  %1941 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %1941, ptr %28, align 4, !tbaa !9
  store i32 117440512, ptr %29, align 4, !tbaa !9
  %1942 = load i32, ptr %28, align 4, !tbaa !9
  %1943 = load i32, ptr %29, align 4, !tbaa !9
  %1944 = icmp ne i32 %1942, %1943
  %1945 = zext i1 %1944 to i32
  store i32 %1945, ptr %28, align 4, !tbaa !9
  %1946 = load i32, ptr %28, align 4, !tbaa !9
  %1947 = icmp ne i32 %1946, 0
  br i1 %1947, label %1948, label %1949

1948:                                             ; preds = %1940
  br label %1961

1949:                                             ; preds = %1940
  %1950 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1950, ptr %28, align 4, !tbaa !9
  store i32 12, ptr %29, align 4, !tbaa !9
  %1951 = load i32, ptr %29, align 4, !tbaa !9
  %1952 = load i32, ptr %28, align 4, !tbaa !9
  %1953 = add i32 %1952, %1951
  store i32 %1953, ptr %28, align 4, !tbaa !9
  %1954 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1954, ptr %10, align 4, !tbaa !9
  br label %2000

1955:                                             ; preds = %1913
  %1956 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1956, ptr %28, align 4, !tbaa !9
  store i32 8, ptr %29, align 4, !tbaa !9
  %1957 = load i32, ptr %29, align 4, !tbaa !9
  %1958 = load i32, ptr %28, align 4, !tbaa !9
  %1959 = add i32 %1958, %1957
  store i32 %1959, ptr %28, align 4, !tbaa !9
  %1960 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1960, ptr %10, align 4, !tbaa !9
  br label %2000

1961:                                             ; preds = %1948
  %1962 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1962, ptr %28, align 4, !tbaa !9
  %1963 = load ptr, ptr %5, align 8, !tbaa !5
  %1964 = getelementptr inbounds %struct.w2c_hermes, ptr %1963, i32 0, i32 6
  %1965 = load i32, ptr %28, align 4, !tbaa !9
  %1966 = zext i32 %1965 to i64
  %1967 = add i64 %1966, 8
  %1968 = call i32 @i32_load(ptr noundef %1964, i64 noundef %1967)
  store i32 %1968, ptr %28, align 4, !tbaa !9
  %1969 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1969, ptr %9, align 4, !tbaa !9
  %1970 = load ptr, ptr %5, align 8, !tbaa !5
  %1971 = getelementptr inbounds %struct.w2c_hermes, ptr %1970, i32 0, i32 6
  %1972 = load i32, ptr %28, align 4, !tbaa !9
  %1973 = zext i32 %1972 to i64
  %1974 = add i64 %1973, 12
  %1975 = call i32 @i32_load(ptr noundef %1971, i64 noundef %1974)
  store i32 %1975, ptr %28, align 4, !tbaa !9
  %1976 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1976, ptr %29, align 4, !tbaa !9
  store i32 12, ptr %30, align 4, !tbaa !9
  %1977 = load i32, ptr %30, align 4, !tbaa !9
  %1978 = load i32, ptr %29, align 4, !tbaa !9
  %1979 = add i32 %1978, %1977
  store i32 %1979, ptr %29, align 4, !tbaa !9
  %1980 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %1980, ptr %30, align 4, !tbaa !9
  %1981 = load ptr, ptr %5, align 8, !tbaa !5
  %1982 = getelementptr inbounds %struct.w2c_hermes, ptr %1981, i32 0, i32 6
  %1983 = load i32, ptr %30, align 4, !tbaa !9
  %1984 = zext i32 %1983 to i64
  %1985 = add i64 %1984, 23
  %1986 = call i32 @i32_load8_s(ptr noundef %1982, i64 noundef %1985)
  store i32 %1986, ptr %30, align 4, !tbaa !9
  store i32 0, ptr %31, align 4, !tbaa !9
  %1987 = load i32, ptr %30, align 4, !tbaa !9
  %1988 = load i32, ptr %31, align 4, !tbaa !9
  %1989 = icmp slt i32 %1987, %1988
  %1990 = zext i1 %1989 to i32
  store i32 %1990, ptr %30, align 4, !tbaa !9
  %1991 = load i32, ptr %30, align 4, !tbaa !9
  %1992 = icmp ne i32 %1991, 0
  br i1 %1992, label %1993, label %1995

1993:                                             ; preds = %1961
  %1994 = load i32, ptr %28, align 4, !tbaa !9
  br label %1997

1995:                                             ; preds = %1961
  %1996 = load i32, ptr %29, align 4, !tbaa !9
  br label %1997

1997:                                             ; preds = %1995, %1993
  %1998 = phi i32 [ %1994, %1993 ], [ %1996, %1995 ]
  store i32 %1998, ptr %28, align 4, !tbaa !9
  %1999 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %1999, ptr %10, align 4, !tbaa !9
  br label %2000

2000:                                             ; preds = %1997, %1955, %1949, %1892, %1848
  %2001 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2001, ptr %28, align 4, !tbaa !9
  %2002 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2002, ptr %29, align 4, !tbaa !9
  store i32 1, ptr %30, align 4, !tbaa !9
  %2003 = load i32, ptr %30, align 4, !tbaa !9
  %2004 = and i32 %2003, 31
  %2005 = load i32, ptr %29, align 4, !tbaa !9
  %2006 = shl i32 %2005, %2004
  store i32 %2006, ptr %29, align 4, !tbaa !9
  %2007 = load i32, ptr %29, align 4, !tbaa !9
  %2008 = load i32, ptr %28, align 4, !tbaa !9
  %2009 = add i32 %2008, %2007
  store i32 %2009, ptr %28, align 4, !tbaa !9
  %2010 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2010, ptr %29, align 4, !tbaa !9
  %2011 = load ptr, ptr %5, align 8, !tbaa !5
  %2012 = getelementptr inbounds %struct.w2c_hermes, ptr %2011, i32 0, i32 6
  %2013 = load i32, ptr %29, align 4, !tbaa !9
  %2014 = zext i32 %2013 to i64
  %2015 = add i64 %2014, 8
  %2016 = call i32 @i32_load(ptr noundef %2012, i64 noundef %2015)
  store i32 %2016, ptr %29, align 4, !tbaa !9
  store i32 1, ptr %30, align 4, !tbaa !9
  %2017 = load i32, ptr %30, align 4, !tbaa !9
  %2018 = and i32 %2017, 31
  %2019 = load i32, ptr %29, align 4, !tbaa !9
  %2020 = shl i32 %2019, %2018
  store i32 %2020, ptr %29, align 4, !tbaa !9
  %2021 = load i32, ptr %29, align 4, !tbaa !9
  %2022 = load i32, ptr %28, align 4, !tbaa !9
  %2023 = add i32 %2022, %2021
  store i32 %2023, ptr %28, align 4, !tbaa !9
  %2024 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %2024, ptr %24, align 4, !tbaa !9
  store i32 0, ptr %28, align 4, !tbaa !9
  %2025 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %2025, ptr %12, align 4, !tbaa !9
  store i32 0, ptr %28, align 4, !tbaa !9
  br label %2026

2026:                                             ; preds = %2000, %1832
  %2027 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %2027, ptr %16, align 4, !tbaa !9
  %2028 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2028, ptr %28, align 4, !tbaa !9
  store i32 1, ptr %29, align 4, !tbaa !9
  %2029 = load i32, ptr %28, align 4, !tbaa !9
  %2030 = load i32, ptr %29, align 4, !tbaa !9
  %2031 = and i32 %2030, 31
  %2032 = ashr i32 %2029, %2031
  store i32 %2032, ptr %28, align 4, !tbaa !9
  %2033 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %2033, ptr %18, align 4, !tbaa !9
  store i32 53, ptr %28, align 4, !tbaa !9
  %2034 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %2034, ptr %13, align 4, !tbaa !9
  store double 0.000000e+00, ptr %35, align 8, !tbaa !11
  %2035 = load double, ptr %35, align 8, !tbaa !11
  store double %2035, ptr %25, align 8, !tbaa !11
  store i32 0, ptr %28, align 4, !tbaa !9
  %2036 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %2036, ptr %14, align 4, !tbaa !9
  store i32 0, ptr %28, align 4, !tbaa !9
  %2037 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %2037, ptr %11, align 4, !tbaa !9
  store i32 0, ptr %28, align 4, !tbaa !9
  %2038 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %2038, ptr %9, align 4, !tbaa !9
  store i32 0, ptr %28, align 4, !tbaa !9
  %2039 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %2039, ptr %10, align 4, !tbaa !9
  store i32 0, ptr %28, align 4, !tbaa !9
  %2040 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %2040, ptr %8, align 4, !tbaa !9
  br label %2041

2041:                                             ; preds = %2284, %2275, %2262, %2257, %2256, %2207, %2206, %2196, %2026
  %2042 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2042, ptr %28, align 4, !tbaa !9
  %2043 = load i32, ptr %28, align 4, !tbaa !9
  %2044 = icmp ne i32 %2043, 0
  br i1 %2044, label %2045, label %2047

2045:                                             ; preds = %2041
  %2046 = load i32, ptr %8, align 4, !tbaa !9
  store i32 %2046, ptr %28, align 4, !tbaa !9
  br label %2171

2047:                                             ; preds = %2041
  %2048 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2048, ptr %28, align 4, !tbaa !9
  %2049 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %2049, ptr %29, align 4, !tbaa !9
  %2050 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2050, ptr %30, align 4, !tbaa !9
  %2051 = load i32, ptr %30, align 4, !tbaa !9
  %2052 = icmp ne i32 %2051, 0
  br i1 %2052, label %2053, label %2055

2053:                                             ; preds = %2047
  %2054 = load i32, ptr %28, align 4, !tbaa !9
  br label %2057

2055:                                             ; preds = %2047
  %2056 = load i32, ptr %29, align 4, !tbaa !9
  br label %2057

2057:                                             ; preds = %2055, %2053
  %2058 = phi i32 [ %2054, %2053 ], [ %2056, %2055 ]
  store i32 %2058, ptr %28, align 4, !tbaa !9
  %2059 = load i32, ptr %16, align 4, !tbaa !9
  store i32 %2059, ptr %29, align 4, !tbaa !9
  %2060 = load i32, ptr %24, align 4, !tbaa !9
  store i32 %2060, ptr %30, align 4, !tbaa !9
  %2061 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2061, ptr %31, align 4, !tbaa !9
  %2062 = load i32, ptr %31, align 4, !tbaa !9
  %2063 = icmp ne i32 %2062, 0
  br i1 %2063, label %2064, label %2066

2064:                                             ; preds = %2057
  %2065 = load i32, ptr %29, align 4, !tbaa !9
  br label %2068

2066:                                             ; preds = %2057
  %2067 = load i32, ptr %30, align 4, !tbaa !9
  br label %2068

2068:                                             ; preds = %2066, %2064
  %2069 = phi i32 [ %2065, %2064 ], [ %2067, %2066 ]
  store i32 %2069, ptr %29, align 4, !tbaa !9
  %2070 = load i32, ptr %28, align 4, !tbaa !9
  %2071 = load i32, ptr %29, align 4, !tbaa !9
  %2072 = icmp eq i32 %2070, %2071
  %2073 = zext i1 %2072 to i32
  store i32 %2073, ptr %28, align 4, !tbaa !9
  %2074 = load i32, ptr %28, align 4, !tbaa !9
  %2075 = icmp ne i32 %2074, 0
  br i1 %2075, label %2076, label %2086

2076:                                             ; preds = %2068
  store i32 1, ptr %28, align 4, !tbaa !9
  %2077 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %2077, ptr %12, align 4, !tbaa !9
  %2078 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2078, ptr %28, align 4, !tbaa !9
  store i32 3, ptr %29, align 4, !tbaa !9
  %2079 = load i32, ptr %29, align 4, !tbaa !9
  %2080 = load i32, ptr %28, align 4, !tbaa !9
  %2081 = sub i32 %2080, %2079
  store i32 %2081, ptr %28, align 4, !tbaa !9
  %2082 = load i32, ptr %28, align 4, !tbaa !9
  switch i32 %2082, label %2085 [
    i32 0, label %2083
    i32 1, label %2084
  ]

2083:                                             ; preds = %2076
  br label %2292

2084:                                             ; preds = %2076
  br label %2312

2085:                                             ; preds = %2076
  br label %2328

2086:                                             ; preds = %2068
  %2087 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2087, ptr %28, align 4, !tbaa !9
  %2088 = load i32, ptr %28, align 4, !tbaa !9
  %2089 = icmp ne i32 %2088, 0
  br i1 %2089, label %2090, label %2097

2090:                                             ; preds = %2086
  %2091 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2091, ptr %28, align 4, !tbaa !9
  %2092 = load ptr, ptr %5, align 8, !tbaa !5
  %2093 = getelementptr inbounds %struct.w2c_hermes, ptr %2092, i32 0, i32 6
  %2094 = load i32, ptr %28, align 4, !tbaa !9
  %2095 = zext i32 %2094 to i64
  %2096 = call i32 @i32_load8_u(ptr noundef %2093, i64 noundef %2095)
  store i32 %2096, ptr %28, align 4, !tbaa !9
  br label %2104

2097:                                             ; preds = %2086
  %2098 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %2098, ptr %28, align 4, !tbaa !9
  %2099 = load ptr, ptr %5, align 8, !tbaa !5
  %2100 = getelementptr inbounds %struct.w2c_hermes, ptr %2099, i32 0, i32 6
  %2101 = load i32, ptr %28, align 4, !tbaa !9
  %2102 = zext i32 %2101 to i64
  %2103 = call i32 @i32_load8_u(ptr noundef %2100, i64 noundef %2102)
  store i32 %2103, ptr %28, align 4, !tbaa !9
  br label %2104

2104:                                             ; preds = %2097, %2090
  %2105 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %2105, ptr %7, align 4, !tbaa !9
  %2106 = load i32, ptr %28, align 4, !tbaa !9
  %2107 = trunc i32 %2106 to i8
  %2108 = sext i8 %2107 to i32
  store i32 %2108, ptr %28, align 4, !tbaa !9
  store i32 48, ptr %29, align 4, !tbaa !9
  %2109 = load i32, ptr %29, align 4, !tbaa !9
  %2110 = load i32, ptr %28, align 4, !tbaa !9
  %2111 = sub i32 %2110, %2109
  store i32 %2111, ptr %28, align 4, !tbaa !9
  %2112 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2112, ptr %29, align 4, !tbaa !9
  store i32 32, ptr %30, align 4, !tbaa !9
  %2113 = load i32, ptr %30, align 4, !tbaa !9
  %2114 = load i32, ptr %29, align 4, !tbaa !9
  %2115 = or i32 %2114, %2113
  store i32 %2115, ptr %29, align 4, !tbaa !9
  %2116 = load i32, ptr %29, align 4, !tbaa !9
  %2117 = trunc i32 %2116 to i8
  %2118 = sext i8 %2117 to i32
  store i32 %2118, ptr %29, align 4, !tbaa !9
  store i32 87, ptr %30, align 4, !tbaa !9
  %2119 = load i32, ptr %30, align 4, !tbaa !9
  %2120 = load i32, ptr %29, align 4, !tbaa !9
  %2121 = sub i32 %2120, %2119
  store i32 %2121, ptr %29, align 4, !tbaa !9
  %2122 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2122, ptr %30, align 4, !tbaa !9
  store i32 48, ptr %31, align 4, !tbaa !9
  %2123 = load i32, ptr %31, align 4, !tbaa !9
  %2124 = load i32, ptr %30, align 4, !tbaa !9
  %2125 = sub i32 %2124, %2123
  store i32 %2125, ptr %30, align 4, !tbaa !9
  store i32 255, ptr %31, align 4, !tbaa !9
  %2126 = load i32, ptr %31, align 4, !tbaa !9
  %2127 = load i32, ptr %30, align 4, !tbaa !9
  %2128 = and i32 %2127, %2126
  store i32 %2128, ptr %30, align 4, !tbaa !9
  store i32 10, ptr %31, align 4, !tbaa !9
  %2129 = load i32, ptr %30, align 4, !tbaa !9
  %2130 = load i32, ptr %31, align 4, !tbaa !9
  %2131 = icmp ult i32 %2129, %2130
  %2132 = zext i1 %2131 to i32
  store i32 %2132, ptr %30, align 4, !tbaa !9
  %2133 = load i32, ptr %30, align 4, !tbaa !9
  %2134 = icmp ne i32 %2133, 0
  br i1 %2134, label %2135, label %2137

2135:                                             ; preds = %2104
  %2136 = load i32, ptr %28, align 4, !tbaa !9
  br label %2139

2137:                                             ; preds = %2104
  %2138 = load i32, ptr %29, align 4, !tbaa !9
  br label %2139

2139:                                             ; preds = %2137, %2135
  %2140 = phi i32 [ %2136, %2135 ], [ %2138, %2137 ]
  store i32 %2140, ptr %28, align 4, !tbaa !9
  %2141 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %2141, ptr %14, align 4, !tbaa !9
  %2142 = load i32, ptr %21, align 4, !tbaa !9
  store i32 %2142, ptr %28, align 4, !tbaa !9
  %2143 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2143, ptr %29, align 4, !tbaa !9
  %2144 = load i32, ptr %29, align 4, !tbaa !9
  %2145 = icmp ne i32 %2144, 0
  %2146 = xor i1 %2145, true
  %2147 = zext i1 %2146 to i32
  store i32 %2147, ptr %29, align 4, !tbaa !9
  store i32 1, ptr %30, align 4, !tbaa !9
  %2148 = load i32, ptr %30, align 4, !tbaa !9
  %2149 = and i32 %2148, 31
  %2150 = load i32, ptr %29, align 4, !tbaa !9
  %2151 = shl i32 %2150, %2149
  store i32 %2151, ptr %29, align 4, !tbaa !9
  %2152 = load i32, ptr %29, align 4, !tbaa !9
  %2153 = load i32, ptr %28, align 4, !tbaa !9
  %2154 = add i32 %2153, %2152
  store i32 %2154, ptr %28, align 4, !tbaa !9
  %2155 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %2155, ptr %21, align 4, !tbaa !9
  %2156 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2156, ptr %28, align 4, !tbaa !9
  store i32 1, ptr %29, align 4, !tbaa !9
  %2157 = load i32, ptr %29, align 4, !tbaa !9
  %2158 = load i32, ptr %28, align 4, !tbaa !9
  %2159 = add i32 %2158, %2157
  store i32 %2159, ptr %28, align 4, !tbaa !9
  store i32 0, ptr %29, align 4, !tbaa !9
  %2160 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2160, ptr %30, align 4, !tbaa !9
  %2161 = load i32, ptr %30, align 4, !tbaa !9
  %2162 = icmp ne i32 %2161, 0
  br i1 %2162, label %2163, label %2165

2163:                                             ; preds = %2139
  %2164 = load i32, ptr %28, align 4, !tbaa !9
  br label %2167

2165:                                             ; preds = %2139
  %2166 = load i32, ptr %29, align 4, !tbaa !9
  br label %2167

2167:                                             ; preds = %2165, %2163
  %2168 = phi i32 [ %2164, %2163 ], [ %2166, %2165 ]
  store i32 %2168, ptr %28, align 4, !tbaa !9
  %2169 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %2169, ptr %12, align 4, !tbaa !9
  %2170 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %2170, ptr %28, align 4, !tbaa !9
  br label %2171

2171:                                             ; preds = %2167, %2045
  %2172 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %2172, ptr %7, align 4, !tbaa !9
  store i32 1, ptr %29, align 4, !tbaa !9
  %2173 = load i32, ptr %29, align 4, !tbaa !9
  %2174 = and i32 %2173, 31
  %2175 = load i32, ptr %28, align 4, !tbaa !9
  %2176 = lshr i32 %2175, %2174
  store i32 %2176, ptr %28, align 4, !tbaa !9
  %2177 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %2177, ptr %8, align 4, !tbaa !9
  %2178 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2178, ptr %28, align 4, !tbaa !9
  %2179 = load i32, ptr %14, align 4, !tbaa !9
  store i32 %2179, ptr %29, align 4, !tbaa !9
  %2180 = load i32, ptr %29, align 4, !tbaa !9
  %2181 = load i32, ptr %28, align 4, !tbaa !9
  %2182 = and i32 %2181, %2180
  store i32 %2182, ptr %28, align 4, !tbaa !9
  %2183 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %2183, ptr %17, align 4, !tbaa !9
  store i32 0, ptr %29, align 4, !tbaa !9
  %2184 = load i32, ptr %28, align 4, !tbaa !9
  %2185 = load i32, ptr %29, align 4, !tbaa !9
  %2186 = icmp ne i32 %2184, %2185
  %2187 = zext i1 %2186 to i32
  store i32 %2187, ptr %28, align 4, !tbaa !9
  %2188 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %2188, ptr %7, align 4, !tbaa !9
  %2189 = load i32, ptr %10, align 4, !tbaa !9
  store i32 %2189, ptr %28, align 4, !tbaa !9
  %2190 = load i32, ptr %28, align 4, !tbaa !9
  switch i32 %2190, label %2196 [
    i32 0, label %2191
    i32 1, label %2192
    i32 2, label %2193
    i32 3, label %2194
    i32 4, label %2195
  ]

2191:                                             ; preds = %2171
  br label %2197

2192:                                             ; preds = %2171
  br label %2222

2193:                                             ; preds = %2171
  br label %2262

2194:                                             ; preds = %2171
  br label %2267

2195:                                             ; preds = %2171
  br label %2284

2196:                                             ; preds = %2171
  br label %2041

2197:                                             ; preds = %2191
  store i32 0, ptr %28, align 4, !tbaa !9
  %2198 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %2198, ptr %10, align 4, !tbaa !9
  %2199 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2199, ptr %28, align 4, !tbaa !9
  %2200 = load i32, ptr %28, align 4, !tbaa !9
  %2201 = icmp ne i32 %2200, 0
  %2202 = xor i1 %2201, true
  %2203 = zext i1 %2202 to i32
  store i32 %2203, ptr %28, align 4, !tbaa !9
  %2204 = load i32, ptr %28, align 4, !tbaa !9
  %2205 = icmp ne i32 %2204, 0
  br i1 %2205, label %2206, label %2207

2206:                                             ; preds = %2197
  br label %2041

2207:                                             ; preds = %2197
  %2208 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %2208, ptr %28, align 4, !tbaa !9
  store i64 4607182418800017408, ptr %34, align 8, !tbaa !19
  %2209 = load ptr, ptr %5, align 8, !tbaa !5
  %2210 = getelementptr inbounds %struct.w2c_hermes, ptr %2209, i32 0, i32 6
  %2211 = load i32, ptr %28, align 4, !tbaa !9
  %2212 = zext i32 %2211 to i64
  %2213 = add i64 %2212, 40
  %2214 = load i64, ptr %34, align 8, !tbaa !19
  call void @i64_store(ptr noundef %2210, i64 noundef %2213, i64 noundef %2214)
  %2215 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2215, ptr %28, align 4, !tbaa !9
  store i32 1, ptr %29, align 4, !tbaa !9
  %2216 = load i32, ptr %29, align 4, !tbaa !9
  %2217 = load i32, ptr %28, align 4, !tbaa !9
  %2218 = sub i32 %2217, %2216
  store i32 %2218, ptr %28, align 4, !tbaa !9
  %2219 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %2219, ptr %13, align 4, !tbaa !9
  store i32 1, ptr %28, align 4, !tbaa !9
  %2220 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %2220, ptr %10, align 4, !tbaa !9
  store double 1.000000e+00, ptr %35, align 8, !tbaa !11
  %2221 = load double, ptr %35, align 8, !tbaa !11
  store double %2221, ptr %25, align 8, !tbaa !11
  br label %2041

2222:                                             ; preds = %2192
  %2223 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %2223, ptr %28, align 4, !tbaa !9
  %2224 = load double, ptr %25, align 8, !tbaa !11
  store double %2224, ptr %36, align 8, !tbaa !11
  %2225 = load double, ptr %25, align 8, !tbaa !11
  store double %2225, ptr %37, align 8, !tbaa !11
  %2226 = load double, ptr %37, align 8, !tbaa !11
  %2227 = load double, ptr %36, align 8, !tbaa !11
  %2228 = fadd double %2227, %2226
  store double %2228, ptr %36, align 8, !tbaa !11
  store double 1.000000e+00, ptr %37, align 8, !tbaa !11
  store double 0.000000e+00, ptr %38, align 8, !tbaa !11
  %2229 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2229, ptr %32, align 4, !tbaa !9
  %2230 = load i32, ptr %32, align 4, !tbaa !9
  %2231 = icmp ne i32 %2230, 0
  br i1 %2231, label %2232, label %2234

2232:                                             ; preds = %2222
  %2233 = load double, ptr %37, align 8, !tbaa !11
  br label %2236

2234:                                             ; preds = %2222
  %2235 = load double, ptr %38, align 8, !tbaa !11
  br label %2236

2236:                                             ; preds = %2234, %2232
  %2237 = phi double [ %2233, %2232 ], [ %2235, %2234 ]
  store double %2237, ptr %37, align 8, !tbaa !11
  %2238 = load double, ptr %37, align 8, !tbaa !11
  %2239 = load double, ptr %36, align 8, !tbaa !11
  %2240 = fadd double %2239, %2238
  store double %2240, ptr %36, align 8, !tbaa !11
  %2241 = load double, ptr %36, align 8, !tbaa !11
  store double %2241, ptr %25, align 8, !tbaa !11
  %2242 = load ptr, ptr %5, align 8, !tbaa !5
  %2243 = getelementptr inbounds %struct.w2c_hermes, ptr %2242, i32 0, i32 6
  %2244 = load i32, ptr %28, align 4, !tbaa !9
  %2245 = zext i32 %2244 to i64
  %2246 = add i64 %2245, 40
  %2247 = load double, ptr %36, align 8, !tbaa !11
  call void @f64_store(ptr noundef %2243, i64 noundef %2246, double noundef %2247)
  store i32 1, ptr %28, align 4, !tbaa !9
  %2248 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %2248, ptr %10, align 4, !tbaa !9
  %2249 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %2249, ptr %28, align 4, !tbaa !9
  store i32 1, ptr %29, align 4, !tbaa !9
  %2250 = load i32, ptr %29, align 4, !tbaa !9
  %2251 = load i32, ptr %28, align 4, !tbaa !9
  %2252 = sub i32 %2251, %2250
  store i32 %2252, ptr %28, align 4, !tbaa !9
  %2253 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %2253, ptr %13, align 4, !tbaa !9
  %2254 = load i32, ptr %28, align 4, !tbaa !9
  %2255 = icmp ne i32 %2254, 0
  br i1 %2255, label %2256, label %2257

2256:                                             ; preds = %2236
  br label %2041

2257:                                             ; preds = %2236
  store i32 0, ptr %28, align 4, !tbaa !9
  %2258 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %2258, ptr %13, align 4, !tbaa !9
  store i32 2, ptr %28, align 4, !tbaa !9
  %2259 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %2259, ptr %10, align 4, !tbaa !9
  %2260 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2260, ptr %28, align 4, !tbaa !9
  %2261 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %2261, ptr %11, align 4, !tbaa !9
  br label %2041

2262:                                             ; preds = %2193
  store double 2.000000e+00, ptr %35, align 8, !tbaa !11
  %2263 = load double, ptr %35, align 8, !tbaa !11
  store double %2263, ptr %26, align 8, !tbaa !11
  store i32 3, ptr %28, align 4, !tbaa !9
  %2264 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %2264, ptr %10, align 4, !tbaa !9
  %2265 = load i32, ptr %7, align 4, !tbaa !9
  store i32 %2265, ptr %28, align 4, !tbaa !9
  %2266 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %2266, ptr %9, align 4, !tbaa !9
  br label %2041

2267:                                             ; preds = %2194
  store i32 4, ptr %28, align 4, !tbaa !9
  store i32 3, ptr %29, align 4, !tbaa !9
  %2268 = load i32, ptr %17, align 4, !tbaa !9
  store i32 %2268, ptr %30, align 4, !tbaa !9
  %2269 = load i32, ptr %30, align 4, !tbaa !9
  %2270 = icmp ne i32 %2269, 0
  br i1 %2270, label %2271, label %2273

2271:                                             ; preds = %2267
  %2272 = load i32, ptr %28, align 4, !tbaa !9
  br label %2275

2273:                                             ; preds = %2267
  %2274 = load i32, ptr %29, align 4, !tbaa !9
  br label %2275

2275:                                             ; preds = %2273, %2271
  %2276 = phi i32 [ %2272, %2271 ], [ %2274, %2273 ]
  store i32 %2276, ptr %28, align 4, !tbaa !9
  %2277 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %2277, ptr %10, align 4, !tbaa !9
  %2278 = load double, ptr %26, align 8, !tbaa !11
  store double %2278, ptr %35, align 8, !tbaa !11
  %2279 = load double, ptr %26, align 8, !tbaa !11
  store double %2279, ptr %36, align 8, !tbaa !11
  %2280 = load double, ptr %36, align 8, !tbaa !11
  %2281 = load double, ptr %35, align 8, !tbaa !11
  %2282 = fadd double %2281, %2280
  store double %2282, ptr %35, align 8, !tbaa !11
  %2283 = load double, ptr %35, align 8, !tbaa !11
  store double %2283, ptr %26, align 8, !tbaa !11
  br label %2041

2284:                                             ; preds = %2195
  %2285 = load double, ptr %26, align 8, !tbaa !11
  store double %2285, ptr %35, align 8, !tbaa !11
  %2286 = load double, ptr %26, align 8, !tbaa !11
  store double %2286, ptr %36, align 8, !tbaa !11
  %2287 = load double, ptr %36, align 8, !tbaa !11
  %2288 = load double, ptr %35, align 8, !tbaa !11
  %2289 = fadd double %2288, %2287
  store double %2289, ptr %35, align 8, !tbaa !11
  %2290 = load double, ptr %35, align 8, !tbaa !11
  store double %2290, ptr %26, align 8, !tbaa !11
  store i32 4, ptr %28, align 4, !tbaa !9
  %2291 = load i32, ptr %28, align 4, !tbaa !9
  store i32 %2291, ptr %10, align 4, !tbaa !9
  br label %2041

2292:                                             ; preds = %2083
  %2293 = load double, ptr %26, align 8, !tbaa !11
  store double %2293, ptr %35, align 8, !tbaa !11
  %2294 = load double, ptr %25, align 8, !tbaa !11
  store double %2294, ptr %36, align 8, !tbaa !11
  %2295 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2295, ptr %30, align 4, !tbaa !9
  %2296 = load i32, ptr %11, align 4, !tbaa !9
  store i32 %2296, ptr %31, align 4, !tbaa !9
  %2297 = load i32, ptr %31, align 4, !tbaa !9
  %2298 = load i32, ptr %30, align 4, !tbaa !9
  %2299 = and i32 %2298, %2297
  store i32 %2299, ptr %30, align 4, !tbaa !9
  store i32 1, ptr %31, align 4, !tbaa !9
  %2300 = load i32, ptr %31, align 4, !tbaa !9
  %2301 = load i32, ptr %30, align 4, !tbaa !9
  %2302 = and i32 %2301, %2300
  store i32 %2302, ptr %30, align 4, !tbaa !9
  %2303 = load i32, ptr %30, align 4, !tbaa !9
  %2304 = uitofp i32 %2303 to double
  store double %2304, ptr %37, align 8, !tbaa !11
  %2305 = load double, ptr %37, align 8, !tbaa !11
  %2306 = load double, ptr %36, align 8, !tbaa !11
  %2307 = fadd double %2306, %2305
  store double %2307, ptr %36, align 8, !tbaa !11
  %2308 = load double, ptr %36, align 8, !tbaa !11
  %2309 = load double, ptr %35, align 8, !tbaa !11
  %2310 = fmul double %2309, %2308
  store double %2310, ptr %35, align 8, !tbaa !11
  %2311 = load double, ptr %35, align 8, !tbaa !11
  store double %2311, ptr %25, align 8, !tbaa !11
  br label %2328

2312:                                             ; preds = %2084
  %2313 = load double, ptr %26, align 8, !tbaa !11
  store double %2313, ptr %35, align 8, !tbaa !11
  %2314 = load double, ptr %25, align 8, !tbaa !11
  store double %2314, ptr %36, align 8, !tbaa !11
  %2315 = load i32, ptr %9, align 4, !tbaa !9
  store i32 %2315, ptr %30, align 4, !tbaa !9
  store i32 1, ptr %31, align 4, !tbaa !9
  %2316 = load i32, ptr %31, align 4, !tbaa !9
  %2317 = load i32, ptr %30, align 4, !tbaa !9
  %2318 = and i32 %2317, %2316
  store i32 %2318, ptr %30, align 4, !tbaa !9
  %2319 = load i32, ptr %30, align 4, !tbaa !9
  %2320 = uitofp i32 %2319 to double
  store double %2320, ptr %37, align 8, !tbaa !11
  %2321 = load double, ptr %37, align 8, !tbaa !11
  %2322 = load double, ptr %36, align 8, !tbaa !11
  %2323 = fadd double %2322, %2321
  store double %2323, ptr %36, align 8, !tbaa !11
  %2324 = load double, ptr %36, align 8, !tbaa !11
  %2325 = load double, ptr %35, align 8, !tbaa !11
  %2326 = fmul double %2325, %2324
  store double %2326, ptr %35, align 8, !tbaa !11
  %2327 = load double, ptr %35, align 8, !tbaa !11
  store double %2327, ptr %25, align 8, !tbaa !11
  br label %2328

2328:                                             ; preds = %2312, %2292, %2085, %1469, %1458, %1437
  %2329 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2329, ptr %28, align 4, !tbaa !9
  %2330 = load i32, ptr %12, align 4, !tbaa !9
  store i32 %2330, ptr %29, align 4, !tbaa !9
  %2331 = load ptr, ptr %5, align 8, !tbaa !5
  %2332 = getelementptr inbounds %struct.w2c_hermes, ptr %2331, i32 0, i32 6
  %2333 = load i32, ptr %28, align 4, !tbaa !9
  %2334 = zext i32 %2333 to i64
  %2335 = add i64 %2334, 8
  %2336 = load i32, ptr %29, align 4, !tbaa !9
  call void @i32_store8(ptr noundef %2332, i64 noundef %2335, i32 noundef %2336)
  %2337 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %2337, ptr %28, align 4, !tbaa !9
  %2338 = load double, ptr %25, align 8, !tbaa !11
  store double %2338, ptr %36, align 8, !tbaa !11
  %2339 = load ptr, ptr %5, align 8, !tbaa !5
  %2340 = getelementptr inbounds %struct.w2c_hermes, ptr %2339, i32 0, i32 6
  %2341 = load i32, ptr %28, align 4, !tbaa !9
  %2342 = zext i32 %2341 to i64
  %2343 = load double, ptr %36, align 8, !tbaa !11
  call void @f64_store(ptr noundef %2340, i64 noundef %2342, double noundef %2343)
  %2344 = load i32, ptr %15, align 4, !tbaa !9
  store i32 %2344, ptr %28, align 4, !tbaa !9
  store i32 48, ptr %29, align 4, !tbaa !9
  %2345 = load i32, ptr %29, align 4, !tbaa !9
  %2346 = load i32, ptr %28, align 4, !tbaa !9
  %2347 = add i32 %2346, %2345
  store i32 %2347, ptr %28, align 4, !tbaa !9
  %2348 = load i32, ptr %28, align 4, !tbaa !9
  %2349 = load ptr, ptr %5, align 8, !tbaa !5
  %2350 = getelementptr inbounds %struct.w2c_hermes, ptr %2349, i32 0, i32 3
  store i32 %2348, ptr %2350, align 8, !tbaa !13
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #4
  ret void
}

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 speculatable willreturn memory(none) }
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 = { 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, !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 = !{!"double", !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, !18, i64 80}
!15 = !{!"", !6, i64 0, !16, i64 8, !16, i64 16, !16, i64 24, !17, i64 32}
!16 = !{!"long", !7, i64 0}
!17 = !{!"_Bool", !7, i64 0}
!18 = !{!"", !6, i64 0, !10, i64 8, !10, i64 12}
!19 = !{!16, !16, i64 0}


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

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

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

; Function Attrs: inlinehint nounwind uwtable
declare hidden i64 @i64_load(ptr 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

; 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 i32 @i32_load8_u(ptr noundef, i64 noundef) local_unnamed_addr #0

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

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

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

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

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

; Function Attrs: nounwind uwtable
define dso_local void @w2c_hermes_hermes0x3A0x3AOptValue0x3Cdouble0x3E0x20hermes0x3A0x3AparseIntWithRadix0x3Cfalse0x2C0x20hermes0x3A0x3Avm0x3A0x3AStringView0x3E0x28hermes0x3A0x3Avm0x3A0x3AStringView0x2C0x20int0x29(ptr noundef %0, i32 noundef %1, i32 noundef %2, i32 noundef %3) local_unnamed_addr #2 {
  %5 = getelementptr inbounds i8, ptr %0, i64 24
  %6 = load i32, ptr %5, align 8, !tbaa !5
  %7 = add i32 %6, -48
  store i32 %7, ptr %5, align 8, !tbaa !5
  %8 = getelementptr inbounds i8, ptr %0, i64 40
  %9 = zext i32 %7 to i64
  %10 = add nuw nsw i64 %9, 36
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %10, i32 noundef %3)
  %11 = add nuw nsw i64 %9, 40
  tail call void @i64_store(ptr noundef nonnull %8, i64 noundef %11, i64 noundef 0)
  %12 = add i32 %6, -8
  %13 = add nuw nsw i64 %9, 32
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %13, i32 noundef %12)
  %14 = zext i32 %2 to i64
  %15 = add nuw nsw i64 %14, 8
  %16 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %15)
  %17 = add nuw nsw i64 %9, 24
  tail call void @i32_store(ptr noundef nonnull %8, i64 noundef %17, i32 noundef %16)
  %18 = tail call i64 @i64_load(ptr noundef nonnull %8, i64 noundef %14)
  %19 = add nuw nsw i64 %9, 16
  tail call void @i64_store(ptr noundef nonnull %8, i64 noundef %19, i64 noundef %18)
  %20 = tail call i64 @i64_load(ptr noundef nonnull %8, i64 noundef %13)
  %21 = add nuw nsw i64 %9, 8
  tail call void @i64_store(ptr noundef nonnull %8, i64 noundef %21, i64 noundef %20)
  %22 = add nuw nsw i64 %9, 20
  %23 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %22)
  %24 = and i32 %23, 1073741824
  %25 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %19)
  %26 = icmp slt i32 %23, 0
  %.not1318 = icmp eq i32 %24, 0
  br i1 %26, label %27, label %59

27:                                               ; preds = %4
  br i1 %.not1318, label %93, label %28

28:                                               ; preds = %27
  %29 = zext i32 %25 to i64
  %30 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %29)
  %31 = zext i32 %30 to i64
  %32 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %31)
  %33 = icmp ugt i32 %32, 150994943
  br i1 %33, label %34, label %42

34:                                               ; preds = %28
  %35 = add nuw nsw i64 %31, 12
  %36 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %35)
  %37 = add i32 %30, 12
  %38 = add nuw nsw i64 %31, 23
  %39 = tail call i32 @i32_load8_s(ptr noundef nonnull %8, i64 noundef %38)
  %40 = icmp slt i32 %39, 0
  %41 = select i1 %40, i32 %36, i32 %37
  br label %93

42:                                               ; preds = %28
  %43 = and i32 %32, 251658240
  %44 = icmp eq i32 %43, 67108864
  br i1 %44, label %91, label %45

45:                                               ; preds = %42
  %46 = add i32 %30, 12
  %47 = icmp eq i32 %43, 134217728
  br i1 %47, label %93, label %48

48:                                               ; preds = %45
  %49 = add nuw nsw i64 %31, 8
  %50 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %49)
  %51 = zext i32 %50 to i64
  %52 = add nuw nsw i64 %51, 12
  %53 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %52)
  %54 = add i32 %50, 12
  %55 = add nuw nsw i64 %51, 23
  %56 = tail call i32 @i32_load8_s(ptr noundef nonnull %8, i64 noundef %55)
  %57 = icmp slt i32 %56, 0
  %58 = select i1 %57, i32 %53, i32 %54
  br label %93

59:                                               ; preds = %4
  br i1 %.not1318, label %170, label %60

60:                                               ; preds = %59
  %61 = zext i32 %25 to i64
  %62 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %61)
  %63 = zext i32 %62 to i64
  %64 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %63)
  %65 = icmp ugt i32 %64, 150994943
  br i1 %65, label %66, label %74

66:                                               ; preds = %60
  %67 = add nuw nsw i64 %63, 12
  %68 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %67)
  %69 = add i32 %62, 12
  %70 = add nuw nsw i64 %63, 23
  %71 = tail call i32 @i32_load8_s(ptr noundef nonnull %8, i64 noundef %70)
  %72 = icmp slt i32 %71, 0
  %73 = select i1 %72, i32 %68, i32 %69
  br label %170

74:                                               ; preds = %60
  %75 = and i32 %64, 251658240
  %76 = icmp eq i32 %75, 50331648
  br i1 %76, label %168, label %77

77:                                               ; preds = %74
  %78 = add i32 %62, 12
  %79 = icmp eq i32 %75, 117440512
  br i1 %79, label %170, label %80

80:                                               ; preds = %77
  %81 = add nuw nsw i64 %63, 8
  %82 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %81)
  %83 = zext i32 %82 to i64
  %84 = add nuw nsw i64 %83, 12
  %85 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %84)
  %86 = add i32 %82, 12
  %87 = add nuw nsw i64 %83, 23
  %88 = tail call i32 @i32_load8_s(ptr noundef nonnull %8, i64 noundef %87)
  %89 = icmp slt i32 %88, 0
  %90 = select i1 %89, i32 %85, i32 %86
  br label %170

91:                                               ; preds = %42
  %92 = add i32 %30, 8
  br label %93

93:                                               ; preds = %45, %27, %91, %48, %34
  %.01245 = phi i32 [ %25, %27 ], [ %41, %34 ], [ %92, %91 ], [ %46, %45 ], [ %58, %48 ]
  %94 = add i32 %3, 87
  %95 = add i32 %3, 48
  %96 = and i32 %23, 1073741823
  %97 = add i32 %.01245, %96
  %98 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %21)
  %99 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %17)
  %100 = add nuw nsw i64 %9, 12
  %101 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %100)
  %102 = sitofp i32 %101 to double
  br i1 %.not1318, label %262, label %.preheader1390

.preheader1390:                                   ; preds = %93
  %103 = zext i32 %25 to i64
  %104 = add i32 %99, %96
  %105 = zext i32 %98 to i64
  br label %106

106:                                              ; preds = %.preheader1390, %157
  %.01279 = phi i32 [ %167, %157 ], [ %97, %.preheader1390 ]
  %.01274 = phi i32 [ %165, %157 ], [ 0, %.preheader1390 ]
  %.not1319 = icmp eq i32 %.01279, 0
  %107 = select i1 %.not1319, i32 %.01274, i32 %.01279
  %108 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %103)
  %109 = zext i32 %108 to i64
  %110 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %109)
  %111 = icmp ult i32 %110, 150994944
  br i1 %111, label %112, label %129

112:                                              ; preds = %106
  %113 = and i32 %110, 251658240
  switch i32 %113, label %118 [
    i32 134217728, label %116
    i32 67108864, label %114
  ]

114:                                              ; preds = %112
  %115 = add i32 %108, 8
  br label %137

116:                                              ; preds = %112
  %117 = add i32 %108, 12
  br label %137

118:                                              ; preds = %112
  %119 = add nuw nsw i64 %109, 8
  %120 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %119)
  %121 = zext i32 %120 to i64
  %122 = add nuw nsw i64 %121, 12
  %123 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %122)
  %124 = add i32 %120, 12
  %125 = add nuw nsw i64 %121, 23
  %126 = tail call i32 @i32_load8_s(ptr noundef nonnull %8, i64 noundef %125)
  %127 = icmp slt i32 %126, 0
  %128 = select i1 %127, i32 %123, i32 %124
  br label %137

129:                                              ; preds = %106
  %130 = add nuw nsw i64 %109, 12
  %131 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %130)
  %132 = add i32 %108, 12
  %133 = add nuw nsw i64 %109, 23
  %134 = tail call i32 @i32_load8_s(ptr noundef nonnull %8, i64 noundef %133)
  %135 = icmp slt i32 %134, 0
  %136 = select i1 %135, i32 %131, i32 %132
  br label %137

137:                                              ; preds = %129, %118, %116, %114
  %.01244 = phi i32 [ %128, %118 ], [ %115, %114 ], [ %117, %116 ], [ %136, %129 ]
  %138 = add i32 %104, %.01244
  %139 = select i1 %.not1319, i32 0, i32 %138
  %140 = icmp eq i32 %107, %139
  br i1 %140, label %.thread, label %141

141:                                              ; preds = %137
  br i1 %.not1319, label %145, label %142

142:                                              ; preds = %141
  %143 = zext i32 %.01279 to i64
  %144 = tail call i32 @i32_load8_s(ptr noundef nonnull %8, i64 noundef %143)
  br label %148

145:                                              ; preds = %141
  %146 = zext i32 %.01274 to i64
  %147 = tail call i32 @i32_load16_u(ptr noundef nonnull %8, i64 noundef %146)
  br label %148

148:                                              ; preds = %145, %142
  %.1 = phi i32 [ %144, %142 ], [ %147, %145 ]
  %149 = add i32 %.1, 65488
  %150 = and i32 %149, 65534
  %151 = icmp ult i32 %150, 10
  %152 = and i32 %.1, 65535
  %.not1322 = icmp sgt i32 %95, %152
  %or.cond = and i1 %.not1322, %151
  br i1 %or.cond, label %157, label %153

153:                                              ; preds = %148
  %154 = or i32 %.1, 32
  %155 = and i32 %154, 65535
  %156 = icmp ugt i32 %155, 96
  %.not1323 = icmp sgt i32 %94, %155
  %or.cond1340 = and i1 %156, %.not1323
  br i1 %or.cond1340, label %157, label %.thread1351

157:                                              ; preds = %153, %148
  %.01269 = phi i32 [ %.1, %148 ], [ %154, %153 ]
  %.01259 = phi i32 [ 208, %148 ], [ 169, %153 ]
  %158 = tail call double @f64_load(ptr noundef nonnull %8, i64 noundef %105)
  %159 = fmul double %158, %102
  %160 = add i32 %.01259, %.01269
  %161 = and i32 %160, 255
  %162 = uitofp nneg i32 %161 to double
  %163 = fadd double %159, %162
  tail call void @f64_store(ptr noundef nonnull %8, i64 noundef %105, double noundef %163)
  %164 = select i1 %.not1319, i32 2, i32 0
  %165 = add i32 %164, %.01274
  %166 = add i32 %.01279, 1
  %167 = select i1 %.not1319, i32 0, i32 %166
  br label %106

168:                                              ; preds = %74
  %169 = add i32 %62, 8
  br label %170

170:                                              ; preds = %77, %59, %168, %80, %66
  %.2 = phi i32 [ %25, %59 ], [ %73, %66 ], [ %169, %168 ], [ %78, %77 ], [ %90, %80 ]
  %171 = add i32 %3, 87
  %172 = add i32 %3, 48
  %173 = shl nuw i32 %23, 1
  %174 = and i32 %173, 2147483646
  %175 = add i32 %.2, %174
  %176 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %21)
  %177 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %17)
  %178 = add nuw nsw i64 %9, 12
  %179 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %178)
  %180 = sitofp i32 %179 to double
  br i1 %.not1318, label %238, label %.preheader1396

.preheader1396:                                   ; preds = %170
  %181 = zext i32 %25 to i64
  %182 = and i32 %23, 1073741823
  %183 = add i32 %177, %182
  %184 = shl i32 %183, 1
  %185 = zext i32 %176 to i64
  br label %186

186:                                              ; preds = %.preheader1396, %230
  %.11270 = phi i32 [ %237, %230 ], [ %175, %.preheader1396 ]
  %187 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %181)
  %188 = zext i32 %187 to i64
  %189 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %188)
  %190 = icmp ugt i32 %189, 150994943
  br i1 %190, label %191, label %199

191:                                              ; preds = %186
  %192 = add nuw nsw i64 %188, 12
  %193 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %192)
  %194 = add i32 %187, 12
  %195 = add nuw nsw i64 %188, 23
  %196 = tail call i32 @i32_load8_s(ptr noundef nonnull %8, i64 noundef %195)
  %197 = icmp slt i32 %196, 0
  %198 = select i1 %197, i32 %193, i32 %194
  br label %216

199:                                              ; preds = %186
  %200 = and i32 %189, 251658240
  switch i32 %200, label %205 [
    i32 50331648, label %203
    i32 117440512, label %201
  ]

201:                                              ; preds = %199
  %202 = add i32 %187, 12
  br label %216

203:                                              ; preds = %199
  %204 = add i32 %187, 8
  br label %216

205:                                              ; preds = %199
  %206 = add nuw nsw i64 %188, 8
  %207 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %206)
  %208 = zext i32 %207 to i64
  %209 = add nuw nsw i64 %208, 12
  %210 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %209)
  %211 = add i32 %207, 12
  %212 = add nuw nsw i64 %208, 23
  %213 = tail call i32 @i32_load8_s(ptr noundef nonnull %8, i64 noundef %212)
  %214 = icmp slt i32 %213, 0
  %215 = select i1 %214, i32 %210, i32 %211
  br label %216

216:                                              ; preds = %205, %203, %201, %191
  %.0 = phi i32 [ %198, %191 ], [ %215, %205 ], [ %202, %201 ], [ %204, %203 ]
  %217 = add i32 %184, %.0
  %218 = icmp eq i32 %.11270, %217
  br i1 %218, label %.thread, label %219

219:                                              ; preds = %216
  %220 = zext i32 %.11270 to i64
  %221 = tail call i32 @i32_load16_u(ptr noundef nonnull %8, i64 noundef %220)
  %222 = add i32 %221, 65488
  %223 = and i32 %222, 65534
  %224 = icmp ult i32 %223, 10
  %225 = and i32 %221, 65535
  %.not1316 = icmp sgt i32 %172, %225
  %or.cond1341 = and i1 %.not1316, %224
  br i1 %or.cond1341, label %230, label %226

226:                                              ; preds = %219
  %227 = or i32 %221, 32
  %228 = and i32 %227, 65535
  %229 = icmp ugt i32 %228, 96
  %.not1317 = icmp sgt i32 %171, %228
  %or.cond1342 = and i1 %229, %.not1317
  br i1 %or.cond1342, label %230, label %.thread1351

230:                                              ; preds = %226, %219
  %.11275 = phi i32 [ %221, %219 ], [ %227, %226 ]
  %.11260 = phi i32 [ 208, %219 ], [ 169, %226 ]
  %231 = tail call double @f64_load(ptr noundef nonnull %8, i64 noundef %185)
  %232 = fmul double %231, %180
  %233 = add i32 %.11260, %.11275
  %234 = and i32 %233, 255
  %235 = uitofp nneg i32 %234 to double
  %236 = fadd double %232, %235
  tail call void @f64_store(ptr noundef nonnull %8, i64 noundef %185, double noundef %236)
  %237 = add i32 %.11270, 2
  br label %186

238:                                              ; preds = %170
  %239 = add i32 %174, %25
  %240 = shl i32 %177, 1
  %241 = add i32 %239, %240
  %242 = icmp eq i32 %241, %175
  br i1 %242, label %.thread, label %.preheader1393

.preheader1393:                                   ; preds = %238
  %243 = zext i32 %176 to i64
  br label %244

244:                                              ; preds = %.preheader1393, %254
  %.21271 = phi i32 [ %261, %254 ], [ %175, %.preheader1393 ]
  %245 = zext i32 %.21271 to i64
  %246 = tail call i32 @i32_load16_u(ptr noundef nonnull %8, i64 noundef %245)
  %247 = add i32 %246, 65488
  %248 = and i32 %247, 65534
  %249 = icmp ult i32 %248, 10
  %250 = icmp slt i32 %246, %172
  %or.cond1343 = and i1 %250, %249
  br i1 %or.cond1343, label %254, label %251

251:                                              ; preds = %244
  %252 = or i32 %246, 32
  %253 = icmp ugt i32 %252, 96
  %.not1312 = icmp slt i32 %252, %171
  %or.cond1344 = and i1 %253, %.not1312
  br i1 %or.cond1344, label %254, label %.thread1351

254:                                              ; preds = %251, %244
  %.21281 = phi i32 [ %246, %244 ], [ %252, %251 ]
  %.4 = phi i32 [ 208, %244 ], [ 169, %251 ]
  %255 = tail call double @f64_load(ptr noundef nonnull %8, i64 noundef %243)
  %256 = fmul double %255, %180
  %257 = add i32 %.4, %.21281
  %258 = and i32 %257, 255
  %259 = uitofp nneg i32 %258 to double
  %260 = fadd double %256, %259
  tail call void @f64_store(ptr noundef nonnull %8, i64 noundef %243, double noundef %260)
  %261 = add i32 %.21271, 2
  %.not1313 = icmp eq i32 %261, %241
  br i1 %.not1313, label %.thread, label %244

262:                                              ; preds = %93
  %263 = add i32 %25, %96
  %264 = add i32 %263, %99
  %.not1324 = icmp eq i32 %.01245, 0
  %265 = select i1 %.not1324, i32 0, i32 %264
  %266 = icmp eq i32 %264, %97
  %267 = select i1 %.not1324, i1 true, i1 %266
  br i1 %267, label %.thread, label %.preheader

.preheader:                                       ; preds = %262
  %268 = zext i32 %98 to i64
  br label %269

269:                                              ; preds = %.preheader, %280
  %.31282 = phi i32 [ %287, %280 ], [ %97, %.preheader ]
  %270 = zext i32 %.31282 to i64
  %271 = tail call i32 @i32_load8_s(ptr noundef nonnull %8, i64 noundef %270)
  %272 = add i32 %271, 65488
  %273 = and i32 %272, 65534
  %274 = icmp ult i32 %273, 10
  %275 = and i32 %271, 65535
  %.not1325 = icmp sgt i32 %95, %275
  %or.cond1345 = and i1 %.not1325, %274
  br i1 %or.cond1345, label %280, label %276

276:                                              ; preds = %269
  %277 = or i32 %271, 32
  %278 = and i32 %277, 65535
  %279 = icmp ugt i32 %278, 96
  %.not1326 = icmp sgt i32 %94, %278
  %or.cond1346 = and i1 %279, %.not1326
  br i1 %or.cond1346, label %280, label %.thread1351

280:                                              ; preds = %276, %269
  %.31272 = phi i32 [ %271, %269 ], [ %277, %276 ]
  %.21261 = phi i32 [ 208, %269 ], [ 169, %276 ]
  %281 = tail call double @f64_load(ptr noundef nonnull %8, i64 noundef %268)
  %282 = fmul double %281, %102
  %283 = add i32 %.21261, %.31272
  %284 = and i32 %283, 255
  %285 = uitofp nneg i32 %284 to double
  %286 = fadd double %282, %285
  tail call void @f64_store(ptr noundef nonnull %8, i64 noundef %268, double noundef %286)
  %287 = add i32 %.31282, 1
  %.not1327 = icmp eq i32 %287, %265
  br i1 %.not1327, label %.thread, label %269

.thread:                                          ; preds = %216, %254, %137, %280, %238, %262
  %288 = tail call double @f64_load(ptr noundef nonnull %8, i64 noundef %11)
  %289 = fcmp oge double %288, 0x4340000000000000
  %290 = tail call range(i32 0, 33) i32 @llvm.ctpop.i32(i32 %3)
  %.not1329 = icmp eq i32 %290, 1
  %or.cond1347 = select i1 %289, i1 %.not1329, i1 false
  br i1 %or.cond1347, label %291, label %.thread1351

291:                                              ; preds = %.thread
  tail call void @i64_store(ptr noundef nonnull %8, i64 noundef %11, i64 noundef 0)
  %292 = add nuw nsw i64 %14, 4
  %293 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %292)
  %294 = and i32 %293, 1073741824
  %295 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %14)
  %296 = icmp slt i32 %293, 0
  %.not1333 = icmp eq i32 %294, 0
  br i1 %296, label %297, label %310

297:                                              ; preds = %291
  br i1 %.not1333, label %324, label %298

298:                                              ; preds = %297
  %299 = zext i32 %295 to i64
  %300 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %299)
  %301 = zext i32 %300 to i64
  %302 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %301)
  %303 = icmp ugt i32 %302, 150994943
  br i1 %303, label %327, label %304

304:                                              ; preds = %298
  %305 = and i32 %302, 251658240
  switch i32 %305, label %341 [
    i32 67108864, label %.thread1355
    i32 134217728, label %.thread1357
  ]

.thread1357:                                      ; preds = %304
  %306 = and i32 %293, 1073741823
  %307 = add nuw nsw i32 %306, 12
  %308 = add i32 %307, %300
  %309 = add i32 %300, 12
  br label %363

310:                                              ; preds = %291
  br i1 %.not1333, label %367, label %311

311:                                              ; preds = %310
  %312 = zext i32 %295 to i64
  %313 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %312)
  %314 = zext i32 %313 to i64
  %315 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %314)
  %316 = icmp ugt i32 %315, 150994943
  br i1 %316, label %370, label %317

317:                                              ; preds = %311
  %318 = and i32 %315, 251658240
  switch i32 %318, label %386 [
    i32 50331648, label %.thread1359
    i32 117440512, label %.thread1361
  ]

.thread1361:                                      ; preds = %317
  %319 = and i32 %293, 1073741823
  %320 = shl nuw nsw i32 %319, 1
  %321 = add nuw i32 %320, 12
  %322 = add i32 %321, %313
  %323 = add i32 %313, 12
  br label %409

324:                                              ; preds = %297
  %325 = and i32 %293, 1073741823
  %326 = add i32 %295, %325
  br label %363

327:                                              ; preds = %298
  %328 = add nuw nsw i64 %301, 12
  %329 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %328)
  %330 = add i32 %300, 12
  %331 = add nuw nsw i64 %301, 23
  %332 = tail call i32 @i32_load8_s(ptr noundef nonnull %8, i64 noundef %331)
  %333 = icmp slt i32 %332, 0
  %334 = select i1 %333, i32 %329, i32 %330
  %335 = and i32 %293, 1073741823
  %336 = add i32 %334, %335
  br label %363

.thread1355:                                      ; preds = %304
  %337 = and i32 %293, 1073741823
  %338 = add nuw nsw i32 %337, 8
  %339 = add i32 %338, %300
  %340 = add i32 %300, 8
  br label %363

341:                                              ; preds = %304
  %342 = add nuw nsw i64 %301, 8
  %343 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %342)
  %344 = zext i32 %343 to i64
  %345 = add nuw nsw i64 %344, 12
  %346 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %345)
  %347 = add nuw nsw i64 %344, 23
  %348 = tail call i32 @i32_load8_s(ptr noundef nonnull %8, i64 noundef %347)
  %349 = and i32 %293, 1073741823
  %350 = icmp slt i32 %348, 0
  %351 = add i32 %343, 12
  %352 = select i1 %350, i32 %346, i32 %351
  %353 = add i32 %352, %349
  %354 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %342)
  %355 = zext i32 %354 to i64
  %356 = add nuw nsw i64 %355, 12
  %357 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %356)
  %358 = add i32 %354, 12
  %359 = add nuw nsw i64 %355, 23
  %360 = tail call i32 @i32_load8_s(ptr noundef nonnull %8, i64 noundef %359)
  %361 = icmp slt i32 %360, 0
  %362 = select i1 %361, i32 %357, i32 %358
  br label %363

363:                                              ; preds = %341, %.thread1355, %.thread1357, %327, %324
  %.21276 = phi i32 [ %295, %324 ], [ %334, %327 ], [ %362, %341 ], [ %309, %.thread1357 ], [ %340, %.thread1355 ]
  %.01263 = phi i32 [ %326, %324 ], [ %336, %327 ], [ %353, %341 ], [ %308, %.thread1357 ], [ %339, %.thread1355 ]
  %.11256 = phi i32 [ %325, %324 ], [ %335, %327 ], [ %349, %341 ], [ %306, %.thread1357 ], [ %337, %.thread1355 ]
  %364 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %15)
  %365 = add i32 %.11256, %.21276
  %366 = add i32 %365, %364
  br label %412

367:                                              ; preds = %310
  %368 = shl nuw nsw i32 %293, 1
  %369 = add i32 %295, %368
  br label %409

370:                                              ; preds = %311
  %371 = add nuw nsw i64 %314, 12
  %372 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %371)
  %373 = add i32 %313, 12
  %374 = add nuw nsw i64 %314, 23
  %375 = tail call i32 @i32_load8_s(ptr noundef nonnull %8, i64 noundef %374)
  %376 = icmp slt i32 %375, 0
  %377 = select i1 %376, i32 %372, i32 %373
  %378 = and i32 %293, 1073741823
  %379 = shl nuw nsw i32 %378, 1
  %380 = add i32 %377, %379
  br label %409

.thread1359:                                      ; preds = %317
  %381 = and i32 %293, 1073741823
  %382 = shl nuw nsw i32 %381, 1
  %383 = add nuw i32 %382, 8
  %384 = add i32 %383, %313
  %385 = add i32 %313, 8
  br label %409

386:                                              ; preds = %317
  %387 = add nuw nsw i64 %314, 8
  %388 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %387)
  %389 = zext i32 %388 to i64
  %390 = add nuw nsw i64 %389, 12
  %391 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %390)
  %392 = add nuw nsw i64 %389, 23
  %393 = tail call i32 @i32_load8_s(ptr noundef nonnull %8, i64 noundef %392)
  %394 = and i32 %293, 1073741823
  %395 = icmp slt i32 %393, 0
  %396 = add i32 %388, 12
  %397 = select i1 %395, i32 %391, i32 %396
  %398 = shl nuw nsw i32 %394, 1
  %399 = add i32 %397, %398
  %400 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %387)
  %401 = zext i32 %400 to i64
  %402 = add nuw nsw i64 %401, 12
  %403 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %402)
  %404 = add i32 %400, 12
  %405 = add nuw nsw i64 %401, 23
  %406 = tail call i32 @i32_load8_s(ptr noundef nonnull %8, i64 noundef %405)
  %407 = icmp slt i32 %406, 0
  %408 = select i1 %407, i32 %403, i32 %404
  br label %409

409:                                              ; preds = %386, %.thread1359, %.thread1361, %370, %367
  %.31277 = phi i32 [ %295, %367 ], [ %377, %370 ], [ %408, %386 ], [ %323, %.thread1361 ], [ %385, %.thread1359 ]
  %.11264 = phi i32 [ %293, %367 ], [ %378, %370 ], [ %394, %386 ], [ %319, %.thread1361 ], [ %381, %.thread1359 ]
  %.01250 = phi i32 [ %369, %367 ], [ %380, %370 ], [ %399, %386 ], [ %322, %.thread1361 ], [ %384, %.thread1359 ]
  %410 = tail call i32 @i32_load(ptr noundef nonnull %8, i64 noundef %15)
  %reass.add = add i32 %410, %.11264
  %reass.mul = shl i32 %reass.add, 1
  %411 = add i32 %reass.mul, %.31277
  br label %412

412:                                              ; preds = %409, %363
  %.21265 = phi i32 [ %.01263, %363 ], [ 0, %409 ]
  %.11251 = phi i32 [ 0, %363 ], [ %.01250, %409 ]
  %.01249 = phi i32 [ 0, %363 ], [ %411, %409 ]
  %.9 = phi i32 [ %366, %363 ], [ 0, %409 ]
  %413 = ashr i32 %3, 1
  br label %.outer

default.unreachable:                              ; preds = %463
  unreachable

.peel.next:                                       ; preds = %467, %433
  %.01284 = phi i32 [ %434, %433 ], [ %464, %467 ]
  %.31266 = phi i32 [ %.41267, %433 ], [ %.41267.peel, %467 ]
  %.21257 = phi i32 [ %.31258, %433 ], [ %.31258.peel, %467 ]
  %.21252 = phi i32 [ %.31253, %433 ], [ %.31253.peel, %467 ]
  %.not1336 = icmp eq i32 %.01284, 0
  br i1 %.not1336, label %414, label %433

414:                                              ; preds = %.peel.next
  %.not1337 = icmp eq i32 %.31266, 0
  %415 = select i1 %.not1337, i32 %.21252, i32 %.31266
  %416 = select i1 %.not1337, i32 %.01249, i32 %.9
  %417 = icmp eq i32 %415, %416
  br i1 %417, label %.thread1351, label %418

.loopexit:                                        ; preds = %445
  switch i32 %.41278.ph1385, label %.thread1351 [
    i32 3, label %468
    i32 4, label %473
  ]

418:                                              ; preds = %414
  %.21252..31266 = select i1 %.not1337, i32 %.21252, i32 %.31266
  %. = select i1 %.not1337, i32 2, i32 0
  %419 = zext i32 %.21252..31266 to i64
  %420 = tail call i32 @i32_load8_u(ptr noundef nonnull %8, i64 noundef %419)
  %sext = shl i32 %420, 24
  %421 = ashr exact i32 %sext, 24
  %422 = add nsw i32 %421, -48
  %423 = or i32 %421, 32
  %424 = add nsw i32 %423, -87
  %425 = add i32 %420, 208
  %426 = and i32 %425, 254
  %427 = icmp ult i32 %426, 10
  %428 = select i1 %427, i32 %422, i32 %424
  %429 = add i32 %., %.21252
  %430 = add i32 %.31266, 1
  %431 = select i1 %.not1337, i32 0, i32 %430
  br label %433

.outer.loopexit:                                  ; preds = %463
  %432 = zext i1 %466 to i32
  br label %.outer

.outer:                                           ; preds = %.outer.loopexit, %412
  %.01284.ph = phi i32 [ 0, %412 ], [ %464, %.outer.loopexit ]
  %.41283.ph = phi i32 [ 0, %412 ], [ %432, %.outer.loopexit ]
  %.41278.ph = phi i32 [ 0, %412 ], [ 3, %.outer.loopexit ]
  %.41273.ph = phi i32 [ 0, %412 ], [ %.41273.ph1367, %.outer.loopexit ]
  %.31266.ph = phi i32 [ %.21265, %412 ], [ %.41267.peel, %.outer.loopexit ]
  %.31262.ph = phi i32 [ 53, %412 ], [ %.31262.ph1378, %.outer.loopexit ]
  %.21257.ph = phi i32 [ 0, %412 ], [ %.31258.peel, %.outer.loopexit ]
  %.21252.ph = phi i32 [ %.11251, %412 ], [ %.31253.peel, %.outer.loopexit ]
  %.01247.ph = phi double [ 0.000000e+00, %412 ], [ %.01247.ph1381, %.outer.loopexit ]
  %.01246.ph = phi double [ 0.000000e+00, %412 ], [ 2.000000e+00, %.outer.loopexit ]
  br label %.outer1364

433:                                              ; preds = %418, %.peel.next
  %.41267 = phi i32 [ %431, %418 ], [ %.31266, %.peel.next ]
  %.31258 = phi i32 [ %428, %418 ], [ %.21257, %.peel.next ]
  %.31253 = phi i32 [ %429, %418 ], [ %.21252, %.peel.next ]
  %.11 = phi i32 [ %413, %418 ], [ %.01284, %.peel.next ]
  %434 = lshr i32 %.11, 1
  %435 = and i32 %.11, %.31258
  %.not1551 = icmp eq i32 %435, 0
  br i1 %.not1551, label %.peel.next, label %.loopexit1521, !llvm.loop !15

.loopexit1521:                                    ; preds = %433, %467
  %.41267.lcssa1500 = phi i32 [ %.41267.peel, %467 ], [ %.41267, %433 ]
  %.31258.lcssa1493 = phi i32 [ %.31258.peel, %467 ], [ %.31258, %433 ]
  %.31253.lcssa1486 = phi i32 [ %.31253.peel, %467 ], [ %.31253, %433 ]
  %.lcssa1481 = phi i32 [ %464, %467 ], [ %434, %433 ]
  tail call void @i64_store(ptr noundef nonnull %8, i64 noundef %11, i64 noundef 4607182418800017408)
  %436 = add i32 %.31262.ph1378, -1
  br label %.outer1374.backedge

.outer1374:                                       ; preds = %.outer1374.backedge, %.outer1364
  %.01284.ph1375 = phi i32 [ %.01284.ph1365, %.outer1364 ], [ %.01284.ph1375.be, %.outer1374.backedge ]
  %.41278.ph1376 = phi i32 [ %.41278.ph1366, %.outer1364 ], [ 1, %.outer1374.backedge ]
  %.31266.ph1377 = phi i32 [ %.31266.ph1368, %.outer1364 ], [ %.31266.ph1377.be, %.outer1374.backedge ]
  %.31262.ph1378 = phi i32 [ %.31262.ph1369, %.outer1364 ], [ %.31262.ph1378.be, %.outer1374.backedge ]
  %.21257.ph1379 = phi i32 [ %.21257.ph1370, %.outer1364 ], [ %.21257.ph1379.be, %.outer1374.backedge ]
  %.21252.ph1380 = phi i32 [ %.21252.ph1371, %.outer1364 ], [ %.21252.ph1380.be, %.outer1374.backedge ]
  %.01247.ph1381 = phi double [ %.01247.ph1372, %.outer1364 ], [ %.01247.ph1381.be, %.outer1374.backedge ]
  %.01246.ph1382 = phi double [ %.01246.ph1373, %.outer1364 ], [ %.01246.ph1389, %.outer1374.backedge ]
  br label %.outer1383

.loopexit1529:                                    ; preds = %463
  %437 = fadd double %.01247.ph1381, %.01247.ph1381
  %438 = select i1 %466, double 1.000000e+00, double 0.000000e+00
  %439 = fadd double %437, %438
  tail call void @f64_store(ptr noundef nonnull %8, i64 noundef %11, double noundef %439)
  %440 = add i32 %.31262.ph1378, -1
  %.not1339 = icmp eq i32 %440, 0
  br i1 %.not1339, label %441, label %.outer1374.backedge

.outer1374.backedge:                              ; preds = %.loopexit1529, %.loopexit1521
  %.01284.ph1375.be = phi i32 [ %.lcssa1481, %.loopexit1521 ], [ %464, %.loopexit1529 ]
  %.31266.ph1377.be = phi i32 [ %.41267.lcssa1500, %.loopexit1521 ], [ %.41267.peel, %.loopexit1529 ]
  %.31262.ph1378.be = phi i32 [ %436, %.loopexit1521 ], [ %440, %.loopexit1529 ]
  %.21257.ph1379.be = phi i32 [ %.31258.lcssa1493, %.loopexit1521 ], [ %.31258.peel, %.loopexit1529 ]
  %.21252.ph1380.be = phi i32 [ %.31253.lcssa1486, %.loopexit1521 ], [ %.31253.peel, %.loopexit1529 ]
  %.01247.ph1381.be = phi double [ 1.000000e+00, %.loopexit1521 ], [ %439, %.loopexit1529 ]
  br label %.outer1374

441:                                              ; preds = %.loopexit1529
  %442 = zext i1 %466 to i32
  br label %.outer1364

.outer1364:                                       ; preds = %.outer, %441
  %.01284.ph1365 = phi i32 [ %.01284.ph, %.outer ], [ %464, %441 ]
  %.41278.ph1366 = phi i32 [ %.41278.ph, %.outer ], [ 2, %441 ]
  %.41273.ph1367 = phi i32 [ %.41273.ph, %.outer ], [ %442, %441 ]
  %.31266.ph1368 = phi i32 [ %.31266.ph, %.outer ], [ %.41267.peel, %441 ]
  %.31262.ph1369 = phi i32 [ %.31262.ph, %.outer ], [ 0, %441 ]
  %.21257.ph1370 = phi i32 [ %.21257.ph, %.outer ], [ %.31258.peel, %441 ]
  %.21252.ph1371 = phi i32 [ %.21252.ph, %.outer ], [ %.31253.peel, %441 ]
  %.01247.ph1372 = phi double [ %.01247.ph, %.outer ], [ %439, %441 ]
  %.01246.ph1373 = phi double [ %.01246.ph, %.outer ], [ %.01246.ph1389, %441 ]
  br label %.outer1374

443:                                              ; preds = %463
  %444 = select i1 %466, i32 4, i32 3
  br label %.outer1383.backedge

.outer1383:                                       ; preds = %.outer1383.backedge, %.outer1374
  %.01284.ph1384 = phi i32 [ %.01284.ph1375, %.outer1374 ], [ %464, %.outer1383.backedge ]
  %.41278.ph1385 = phi i32 [ %.41278.ph1376, %.outer1374 ], [ %.41278.ph1385.be, %.outer1383.backedge ]
  %.31266.ph1386 = phi i32 [ %.31266.ph1377, %.outer1374 ], [ %.41267.peel, %.outer1383.backedge ]
  %.21257.ph1387 = phi i32 [ %.21257.ph1379, %.outer1374 ], [ %.31258.peel, %.outer1383.backedge ]
  %.21252.ph1388 = phi i32 [ %.21252.ph1380, %.outer1374 ], [ %.31253.peel, %.outer1383.backedge ]
  %.01246.ph1389 = phi double [ %.01246.ph1382, %.outer1374 ], [ %.01246.ph1389.be, %.outer1383.backedge ]
  %.not1336.peel = icmp eq i32 %.01284.ph1384, 0
  br i1 %.not1336.peel, label %445, label %463

445:                                              ; preds = %.outer1383
  %.not1337.peel = icmp eq i32 %.31266.ph1386, 0
  %446 = select i1 %.not1337.peel, i32 %.21252.ph1388, i32 %.31266.ph1386
  %447 = select i1 %.not1337.peel, i32 %.01249, i32 %.9
  %448 = icmp eq i32 %446, %447
  br i1 %448, label %.loopexit, label %449

449:                                              ; preds = %445
  %.21252.ph1388..31266.ph1386 = select i1 %.not1337.peel, i32 %.21252.ph1388, i32 %.31266.ph1386
  %.1599 = select i1 %.not1337.peel, i32 2, i32 0
  %450 = zext i32 %.21252.ph1388..31266.ph1386 to i64
  %451 = tail call i32 @i32_load8_u(ptr noundef nonnull %8, i64 noundef %450)
  %sext.peel = shl i32 %451, 24
  %452 = ashr exact i32 %sext.peel, 24
  %453 = add nsw i32 %452, -48
  %454 = or i32 %452, 32
  %455 = add nsw i32 %454, -87
  %456 = add i32 %451, 208
  %457 = and i32 %456, 254
  %458 = icmp ult i32 %457, 10
  %459 = select i1 %458, i32 %453, i32 %455
  %460 = add i32 %.1599, %.21252.ph1388
  %461 = add i32 %.31266.ph1386, 1
  %462 = select i1 %.not1337.peel, i32 0, i32 %461
  br label %463

463:                                              ; preds = %449, %.outer1383
  %.41267.peel = phi i32 [ %462, %449 ], [ %.31266.ph1386, %.outer1383 ]
  %.31258.peel = phi i32 [ %459, %449 ], [ %.21257.ph1387, %.outer1383 ]
  %.31253.peel = phi i32 [ %460, %449 ], [ %.21252.ph1388, %.outer1383 ]
  %.11.peel = phi i32 [ %413, %449 ], [ %.01284.ph1384, %.outer1383 ]
  %464 = lshr i32 %.11.peel, 1
  %465 = and i32 %.11.peel, %.31258.peel
  %466 = icmp ne i32 %465, 0
  switch i32 %.41278.ph1385, label %default.unreachable [
    i32 0, label %467
    i32 1, label %.loopexit1529
    i32 2, label %.outer.loopexit
    i32 3, label %443
    i32 4, label %.outer1383.backedge
  ]

467:                                              ; preds = %463
  br i1 %466, label %.loopexit1521, label %.peel.next

.outer1383.backedge:                              ; preds = %463, %443
  %.41278.ph1385.be = phi i32 [ %444, %443 ], [ %.41278.ph1385, %463 ]
  %.01246.ph1389.be = fadd double %.01246.ph1389, %.01246.ph1389
  br label %.outer1383

468:                                              ; preds = %.loopexit
  %469 = and i32 %.41273.ph1367, %.41283.ph
  %470 = uitofp nneg i32 %469 to double
  %471 = fadd double %.01247.ph1381, %470
  %472 = fmul double %.01246.ph1389, %471
  br label %.thread1351

473:                                              ; preds = %.loopexit
  %474 = uitofp nneg i32 %.41283.ph to double
  %475 = fadd double %.01247.ph1381, %474
  %476 = fmul double %.01246.ph1389, %475
  br label %.thread1351

.thread1351:                                      ; preds = %226, %251, %153, %276, %414, %.loopexit, %.thread, %473, %468
  %.51268 = phi i32 [ 1, %.thread ], [ 1, %.loopexit ], [ 1, %473 ], [ 1, %468 ], [ 1, %414 ], [ 0, %276 ], [ 0, %153 ], [ 0, %251 ], [ 0, %226 ]
  %.11248 = phi double [ %288, %.thread ], [ %.01247.ph1381, %.loopexit ], [ %476, %473 ], [ %472, %468 ], [ %.01247.ph1381, %414 ], [ 0.000000e+00, %276 ], [ 0.000000e+00, %153 ], [ 0.000000e+00, %251 ], [ 0.000000e+00, %226 ]
  %477 = zext i32 %1 to i64
  %478 = add nuw nsw i64 %477, 8
  tail call void @i32_store8(ptr noundef nonnull %8, i64 noundef %478, i32 noundef %.51268)
  tail call void @f64_store(ptr noundef nonnull %8, i64 noundef %477, double noundef %.11248)
  store i32 %6, ptr %5, align 8, !tbaa !5
  ret void
}

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 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #2 = { 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" }

!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 = distinct !{!15, !16}
!16 = !{!"llvm.loop.peeled.count", i32 1}


; Effective O3 passes: ConstraintEliminationPass,CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LICMPass,LoopFullUnrollPass,LoopInstSimplifyPass,LoopSimplifyCFGPass,LoopSimplifyPass,LoopUnrollPass,ReassociatePass,SCCPPass,SROAPass,SimplifyCFGPass,TailCallElimPass