source_filename = "test"
target datalayout = "e-p:32:32-f64:32:64-f80:32-n8:16:32-S128"

@edi = internal unnamed_addr global i32 0, align 8

define i32 @function_0() local_unnamed_addr {
dec_label_pc_0:
  %eax.global-to-local = alloca i32, align 4
  %edx.global-to-local = alloca i32, align 4
  %esi.global-to-local = alloca i32, align 4
  %fpsw.global-to-local = alloca i32, align 4
  %fpu_stat_TOP.global-to-local = alloca i3, align 1
  %st5.global-to-local = alloca x86_fp80, align 4
  %st7.global-to-local = alloca x86_fp80, align 4
  %tmp291 = call double @__decompiler_undefined_function_3()
  %stack_var_-90 = alloca double, align 8
  %v0_3 = load i32, i32* %esi.global-to-local, align 4
  %v1_3 = add i32 %v0_3, -120
  %v2_3 = inttoptr i32 %v1_3 to i128*
  %v3_3 = load i128, i128* %v2_3, align 4
  %v4_3 = call i128 @__asm_movupd(i128 %v3_3)
  %v1_8 = add i32 %v0_3, -104
  %v2_8 = inttoptr i32 %v1_8 to i64*
  %v3_8 = load i64, i64* %v2_8, align 4
  %v4_8 = call i128 @__asm_movsd(i64 %v3_8)
  %v1_d = load i32, i32* @edi, align 8
  %v2_d = add i32 %v1_d, -32
  %v3_d = inttoptr i32 %v2_d to i128*
  %v4_d = load i128, i128* %v3_d, align 4
  %v5_d = call i128 @__asm_mulpd(i128 %v4_3, i128 %v4_d)
  %v1_12 = load i32, i32* @edi, align 8
  %v2_12 = add i32 %v1_12, -32
  %v3_12 = inttoptr i32 %v2_12 to i64*
  %v4_12 = load i64, i64* %v3_12, align 4
  %v5_12 = call i128 @__asm_mulsd(i128 %v4_8, i64 %v4_12)
  %v2_17 = load double, double* %stack_var_-90, align 8
  %v3_17 = fptrunc double %v2_17 to float
  %v4_17 = bitcast float %v3_17 to i32
  %v5_17 = sext i32 %v4_17 to i128
  call void @__asm_movupd.1(i128 %v5_17, i128 %v5_d)
  %v1_1c = call i32 @__asm_movsd.2(i128 %v5_12)
  %v4_1c = sext i32 %v1_1c to i64
  %v6_1c = bitcast i64 %v4_1c to double
  %v1_22 = load i32, i32* @edi, align 8
  %v2_22 = add i32 %v1_22, -64
  %v3_22 = inttoptr i32 %v2_22 to i128*
  %v4_22 = load i128, i128* %v3_22, align 4
  %v5_22 = call i128 @__asm_addpd(i128 %v5_d, i128 %v4_22)
  %v1_27 = load i32, i32* @edi, align 8
  %v2_27 = add i32 %v1_27, -48
  %v3_27 = inttoptr i32 %v2_27 to i64*
  %v4_27 = load i64, i64* %v3_27, align 4
  %v5_27 = call i128 @__asm_addsd(i128 %v5_12, i64 %v4_27)
  %v0_2c = load i32, i32* @edi, align 8
  %v1_2c = add i32 %v0_2c, -76
  %v2_2c = inttoptr i32 %v1_2c to i32*
  %v3_2c = load i32, i32* %v2_2c, align 4
  %v11_2c = icmp slt i32 %v3_2c, 0
  %v2_30 = icmp eq i1 %v11_2c, false
  %v0_32 = load i32, i32* %esi.global-to-local, align 4
  br i1 %v2_30, label %dec_label_pc_32, label %dec_label_pc_4b

dec_label_pc_32:                                  ; preds = %dec_label_pc_0
  %v1_32 = add i32 %v0_32, 112
  %v2_32 = inttoptr i32 %v1_32 to i64*
  %v3_32 = load i64, i64* %v2_32, align 4
  %v4_32 = call i128 @__asm_movsd(i64 %v3_32)
  %v1_37 = load i32, i32* @edi, align 8
  %v2_37 = add i32 %v1_37, -32
  %v3_37 = inttoptr i32 %v2_37 to i64*
  %v4_37 = load i64, i64* %v3_37, align 4
  %v5_37 = call i128 @__asm_mulsd(i128 %v4_32, i64 %v4_37)
  %v0_3c = load i32, i32* %esi.global-to-local, align 4
  %v1_3c = add i32 %v0_3c, -120
  %v2_3c = inttoptr i32 %v1_3c to i128*
  %v3_3c = load i128, i128* %v2_3c, align 4
  call void @__asm_movupd.1(i128 %v3_3c, i128 %v5_22)
  %v1_41 = call i32 @__asm_movsd.2(i128 %v5_27)
  %v3_41 = add i32 %v0_3c, -104
  %v4_41 = sext i32 %v1_41 to i64
  %v5_41 = inttoptr i32 %v3_41 to i64*
  store i64 %v4_41, i64* %v5_41, align 4
  %v1_46 = call i32 @__asm_movsd.2(i128 %v5_37)
  %v2_46 = load i32, i32* %esi.global-to-local, align 4
  %v3_46 = add i32 %v2_46, 112
  %v4_46 = sext i32 %v1_46 to i64
  %v5_46 = inttoptr i32 %v3_46 to i64*
  store i64 %v4_46, i64* %v5_46, align 4
  br label %dec_label_pc_4b

dec_label_pc_4b:                                  ; preds = %dec_label_pc_0, %dec_label_pc_32
  %v2_53 = phi i32 [ %v2_46, %dec_label_pc_32 ], [ %v0_32, %dec_label_pc_0 ]
  %v0_4b = load i3, i3* %fpu_stat_TOP.global-to-local, align 1
  %v3_51 = load double, double* bitcast (i32* @edi to double*), align 8
  %v4_51 = fpext double %v3_51 to x86_fp80
  store x86_fp80 %v4_51, x86_fp80* %st7.global-to-local, align 4
  %v3_53 = add i32 %v2_53, -32
  %v5_53 = inttoptr i32 %v3_53 to double*
  store double %v3_51, double* %v5_53, align 4
  %v0_56 = load i32, i32* @edi, align 8
  %v1_56 = add i32 %v0_56, -104
  %v2_56 = inttoptr i32 %v1_56 to i32*
  %v3_56 = load i32, i32* %v2_56, align 4
  %v1_59 = urem i32 %v3_56, 32
  %v2_59 = icmp eq i32 %v1_59, 0
  %v1_5f = icmp eq i1 %v2_59, false
  %spec.select = select i1 %v1_5f, i32 %v1_59, i32 1
  store i32 %spec.select, i32* %edx.global-to-local, align 4
  br label %dec_label_pc_66

dec_label_pc_66:                                  ; preds = %dec_label_pc_4b, %dec_label_pc_215
  %v2_b3 = phi i32 [ %v0_1f8, %dec_label_pc_215 ], [ %v0_56, %dec_label_pc_4b ]
  %v0_66 = phi i3 [ %v6_1f5, %dec_label_pc_215 ], [ %v0_4b, %dec_label_pc_4b ]
  %stack_var_-82.0 = phi double [ %stack_var_-82.1, %dec_label_pc_215 ], [ %tmp291, %dec_label_pc_4b ]
  %stack_var_-26.0 = phi double [ %v4_1a6, %dec_label_pc_215 ], [ 1.000000e+00, %dec_label_pc_4b ]
  %stack_var_-74.0 = phi double [ %stack_var_-74.1.pre-phi, %dec_label_pc_215 ], [ %v6_1c, %dec_label_pc_4b ]
  %v7_66 = fpext double %stack_var_-74.0 to x86_fp80
  store x86_fp80 %v7_66, x86_fp80* %st7.global-to-local, align 4
  %v5_6a = fpext double %stack_var_-82.0 to x86_fp80
  %v3_6e = load double, double* %stack_var_-90, align 8
  %v8_6e = fpext double %v3_6e to x86_fp80
  store x86_fp80 %v8_6e, x86_fp80* %st5.global-to-local, align 4
  %v2_71 = xor i3 %v0_66, -4
  %v3_73 = add i32 %v2_b3, -132
  %v4_73 = inttoptr i32 %v3_73 to float*
  %v5_73 = load float, float* %v4_73, align 4
  %v6_73 = fpext float %v5_73 to x86_fp80
  %v7_73 = fmul x86_fp80 %v8_6e, %v6_73
  %v3_7b = add i32 %v2_b3, -136
  %v4_7b = inttoptr i32 %v3_7b to float*
  %v5_7b = load float, float* %v4_7b, align 4
  %v6_7b = fpext float %v5_7b to x86_fp80
  %v7_7b = fmul x86_fp80 %v5_6a, %v6_7b
  %v4_81 = fadd x86_fp80 %v7_73, %v7_7b
  %v3_85 = add i32 %v2_b3, -140
  %v4_85 = inttoptr i32 %v3_85 to float*
  %v5_85 = load float, float* %v4_85, align 4
  %v6_85 = fpext float %v5_85 to x86_fp80
  %v7_85 = fmul x86_fp80 %v7_66, %v6_85
  %v4_8b = fadd x86_fp80 %v7_85, %v4_81
  %v3_8f = add i32 %v2_b3, -108
  %v4_8f = inttoptr i32 %v3_8f to float*
  %v5_8f = load float, float* %v4_8f, align 4
  %v6_8f = fpext float %v5_8f to x86_fp80
  %v7_8f = fmul x86_fp80 %v8_6e, %v6_8f
  %v3_94 = add i32 %v2_b3, -112
  %v4_94 = inttoptr i32 %v3_94 to float*
  %v5_94 = load float, float* %v4_94, align 4
  %v6_94 = fpext float %v5_94 to x86_fp80
  %v7_94 = fmul x86_fp80 %v5_6a, %v6_94
  %v4_97 = fadd x86_fp80 %v7_8f, %v7_94
  %v3_9b = add i32 %v2_b3, -116
  %v4_9b = inttoptr i32 %v3_9b to float*
  %v5_9b = load float, float* %v4_9b, align 4
  %v6_9b = fpext float %v5_9b to x86_fp80
  %v7_9b = fmul x86_fp80 %v7_66, %v6_9b
  %v4_9e = fadd x86_fp80 %v4_97, %v7_9b
  store x86_fp80 %v4_9e, x86_fp80* %st5.global-to-local, align 4
  %v3_a2 = add i32 %v2_b3, -120
  %v4_a2 = inttoptr i32 %v3_a2 to float*
  %v5_a2 = load float, float* %v4_a2, align 4
  %v6_a2 = fpext float %v5_a2 to x86_fp80
  %v7_a2 = fmul x86_fp80 %v8_6e, %v6_a2
  %v3_a7 = add i32 %v2_b3, -124
  %v4_a7 = inttoptr i32 %v3_a7 to float*
  %v5_a7 = load float, float* %v4_a7, align 4
  %v6_a7 = fpext float %v5_a7 to x86_fp80
  %v7_a7 = fmul x86_fp80 %v5_6a, %v6_a7
  %v4_aa = fadd x86_fp80 %v7_a2, %v7_a7
  store x86_fp80 %v4_8b, x86_fp80* %st7.global-to-local, align 4
  %v3_ae = add i32 %v2_b3, -128
  %v4_ae = inttoptr i32 %v3_ae to float*
  %v5_ae = load float, float* %v4_ae, align 4
  %v6_ae = fpext float %v5_ae to x86_fp80
  %v7_ae = fmul x86_fp80 %v7_66, %v6_ae
  %v4_b1 = fadd x86_fp80 %v4_aa, %v7_ae
  %v3_b3 = add i32 %v2_b3, -16
  %v4_b3 = inttoptr i32 %v3_b3 to double*
  %v5_b3 = load double, double* %v4_b3, align 4
  %v6_b3 = fpext double %v5_b3 to x86_fp80
  %v7_b3 = fmul x86_fp80 %v4_9e, %v6_b3
  %v4_b6 = fptrunc x86_fp80 %v7_b3 to double
  %v2_ba = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v7_b3)
  store x86_fp80 %v2_ba, x86_fp80* %st5.global-to-local, align 4
  %v3_c0 = add i32 %v2_b3, -64
  %v4_c0 = inttoptr i32 %v3_c0 to double*
  %v5_c0 = load double, double* %v4_c0, align 4
  %v6_c0 = fpext double %v5_c0 to x86_fp80
  %v7_c0 = fsub x86_fp80 %v2_ba, %v6_c0
  store x86_fp80 %v7_c0, x86_fp80* %st5.global-to-local, align 4
  %tmp299 = fptrunc x86_fp80 %v7_c0 to double
  store double %tmp299, double* %stack_var_-90, align 8
  %v5_c6 = load double, double* %v4_b3, align 4
  %v6_c6 = fpext double %v5_c6 to x86_fp80
  %v7_c6 = fmul x86_fp80 %v4_b1, %v6_c6
  %v4_c9 = fptrunc x86_fp80 %v7_c6 to double
  %v2_cd = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v7_c6)
  store x86_fp80 %v2_cd, x86_fp80* %st5.global-to-local, align 4
  store i3 %v2_71, i3* %fpu_stat_TOP.global-to-local, align 1
  %v0_d7 = call i32 @__asm_wait()
  store i32 %v0_d7, i32* %eax.global-to-local, align 4
  %v0_d8 = load i32, i32* %fpsw.global-to-local, align 4
  %v1_d8 = call i16 @__asm_fnstsw(i32 %v0_d8)
  %v2_d8 = sext i16 %v1_d8 to i32
  %v3_d8 = load i32, i32* %eax.global-to-local, align 4
  %v4_d8 = and i32 %v3_d8, -65536
  %v3_da = and i32 %v2_d8, 16640
  %v2_d8.masked = and i32 %v2_d8, -65281
  %v12_da = or i32 %v4_d8, %v2_d8.masked
  %v13_da = or i32 %v12_da, %v3_da
  store i32 %v13_da, i32* %eax.global-to-local, align 4
  %v1_e3 = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %storemerge15.in = load i3, i3* %fpu_stat_TOP.global-to-local, align 1
  %v2_e9 = load i32, i32* @edi, align 8
  %v3_e9 = add i32 %v2_e9, -56
  %v4_e9 = inttoptr i32 %v3_e9 to double*
  %v5_e9 = load double, double* %v4_e9, align 4
  %v6_e9 = fpext double %v5_e9 to x86_fp80
  %v7_e9 = fsub x86_fp80 %v1_e3, %v6_e9
  store x86_fp80 %v7_e9, x86_fp80* %st7.global-to-local, align 4
  %v3_f0 = add i32 %v2_e9, -16
  %v4_f0 = inttoptr i32 %v3_f0 to double*
  %v5_f0 = load double, double* %v4_f0, align 4
  %v6_f0 = fpext double %v5_f0 to x86_fp80
  %v7_f0 = fmul x86_fp80 %v7_e9, %v6_f0
  %v4_f3 = fptrunc x86_fp80 %v7_f0 to double
  %v2_f7 = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v7_f0)
  store x86_fp80 %v2_f7, x86_fp80* %st7.global-to-local, align 4
  %v6_fb = add i3 %storemerge15.in, 1
  store i3 %v6_fb, i3* %fpu_stat_TOP.global-to-local, align 1
  store x86_fp80 %v1_e3, x86_fp80* %st5.global-to-local, align 4
  %v0_101 = call i32 @__asm_wait()
  store i32 %v0_101, i32* %eax.global-to-local, align 4
  %v0_102 = load i32, i32* %fpsw.global-to-local, align 4
  %v1_102 = call i16 @__asm_fnstsw(i32 %v0_102)
  %v2_102 = sext i16 %v1_102 to i32
  %v3_102 = load i32, i32* %eax.global-to-local, align 4
  %v4_102 = and i32 %v3_102, -65536
  %v3_104 = and i32 %v2_102, 16640
  %v2_102.masked = and i32 %v2_102, -65281
  %v12_104 = or i32 %v4_102, %v2_102.masked
  %v13_104 = or i32 %v12_104, %v3_104
  store i32 %v13_104, i32* %eax.global-to-local, align 4
  %v1_10d = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v2_113 = load i32, i32* @edi, align 8
  %v3_113 = add i32 %v2_113, -48
  %v4_113 = inttoptr i32 %v3_113 to double*
  %v5_113 = load double, double* %v4_113, align 4
  %v6_113 = fpext double %v5_113 to x86_fp80
  %v7_113 = fsub x86_fp80 %v1_10d, %v6_113
  store x86_fp80 %v7_113, x86_fp80* %st7.global-to-local, align 4
  %v3_122 = load double, double* %stack_var_-90, align 8
  %v8_122 = fpext double %v3_122 to x86_fp80
  store x86_fp80 %v8_122, x86_fp80* %st5.global-to-local, align 4
  %v0_127 = call i32 @__asm_wait()
  store i32 %v0_127, i32* %eax.global-to-local, align 4
  %v0_128 = load i32, i32* %fpsw.global-to-local, align 4
  %v1_128 = call i16 @__asm_fnstsw(i32 %v0_128)
  %v2_128 = sext i16 %v1_128 to i32
  %v3_128 = load i32, i32* %eax.global-to-local, align 4
  %v4_128 = and i32 %v3_128, -65536
  %v3_12a = and i32 %v2_128, 16640
  %v2_128.masked = and i32 %v2_128, -65281
  %v12_12a = or i32 %v4_128, %v2_128.masked
  %v13_12a = or i32 %v12_12a, %v3_12a
  store i32 %v13_12a, i32* %eax.global-to-local, align 4
  %v0_133 = call i32 @__asm_wait()
  store i32 %v0_133, i32* %eax.global-to-local, align 4
  %v0_134 = load i32, i32* %fpsw.global-to-local, align 4
  %v1_134 = call i16 @__asm_fnstsw(i32 %v0_134)
  %v2_134 = sext i16 %v1_134 to i32
  %v3_134 = load i32, i32* %eax.global-to-local, align 4
  %v4_134 = and i32 %v3_134, -65536
  %v3_136 = and i32 %v2_134, 16640
  %v2_134.masked = and i32 %v2_134, -65281
  %v12_136 = or i32 %v4_134, %v2_134.masked
  %v13_136 = or i32 %v12_136, %v3_136
  store i32 %v13_136, i32* %eax.global-to-local, align 4
  %v0_141 = call i32 @__asm_wait()
  store i32 %v0_141, i32* %eax.global-to-local, align 4
  %v0_142 = load i32, i32* %fpsw.global-to-local, align 4
  %v1_142 = call i16 @__asm_fnstsw(i32 %v0_142)
  %v2_142 = sext i16 %v1_142 to i32
  %v3_142 = load i32, i32* %eax.global-to-local, align 4
  %v4_142 = and i32 %v3_142, -65536
  %v3_144 = and i32 %v2_142, 16640
  %v2_142.masked = and i32 %v2_142, -65281
  %v12_144 = or i32 %v4_142, %v2_142.masked
  %v13_144 = or i32 %v12_144, %v3_144
  store i32 %v13_144, i32* %eax.global-to-local, align 4
  %v1_14b = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v2_14b = load i32, i32* @edi, align 8
  %v3_14b = add i32 %v2_14b, -92
  %v4_14b = inttoptr i32 %v3_14b to double*
  %v5_14b = load double, double* %v4_14b, align 4
  %v6_14b = fpext double %v5_14b to x86_fp80
  %v7_14b = fsub x86_fp80 %v1_14b, %v6_14b
  store x86_fp80 %v7_14b, x86_fp80* %st7.global-to-local, align 4
  %v3_152 = add i32 %v2_14b, -84
  %v4_152 = inttoptr i32 %v3_152 to double*
  %v5_152 = load double, double* %v4_152, align 4
  %v6_152 = fpext double %v5_152 to x86_fp80
  %v7_152 = fsub x86_fp80 %v7_14b, %v6_152
  store x86_fp80 %v7_152, x86_fp80* %st7.global-to-local, align 4
  %tmp300 = fptrunc x86_fp80 %v7_152 to double
  store double %tmp300, double* %stack_var_-90, align 8
  %v3_158 = add i32 %v2_14b, -100
  %v4_158 = inttoptr i32 %v3_158 to double*
  %v5_158 = load double, double* %v4_158, align 4
  %v6_158 = fpext double %v5_158 to x86_fp80
  %v7_158 = fsub x86_fp80 %v7_152, %v6_158
  store x86_fp80 %v7_158, x86_fp80* %st7.global-to-local, align 4
  store x86_fp80 %v7_152, x86_fp80* %st5.global-to-local, align 4
  %v0_16c = call i32 @__asm_wait()
  store i32 %v0_16c, i32* %eax.global-to-local, align 4
  %v0_16d = load i32, i32* %fpsw.global-to-local, align 4
  %v1_16d = call i16 @__asm_fnstsw(i32 %v0_16d)
  %v2_16d = sext i16 %v1_16d to i32
  %v3_16d = load i32, i32* %eax.global-to-local, align 4
  %v4_16d = and i32 %v3_16d, -65536
  %v3_16f = and i32 %v2_16d, 16640
  %v2_16d.masked = and i32 %v2_16d, -65281
  %v12_16f = or i32 %v4_16d, %v2_16d.masked
  %v13_16f = or i32 %v12_16f, %v3_16f
  store i32 %v13_16f, i32* %eax.global-to-local, align 4
  %v0_178 = call i32 @__asm_wait()
  store i32 %v0_178, i32* %eax.global-to-local, align 4
  %v0_179 = load i32, i32* %fpsw.global-to-local, align 4
  %v1_179 = call i16 @__asm_fnstsw(i32 %v0_179)
  %v2_179 = sext i16 %v1_179 to i32
  %v3_179 = load i32, i32* %eax.global-to-local, align 4
  %v4_179 = and i32 %v3_179, -65536
  %v3_17b = and i32 %v2_179, 16640
  %v2_179.masked = and i32 %v2_179, -65281
  %v12_17b = or i32 %v4_179, %v2_179.masked
  %v13_17b = or i32 %v12_17b, %v3_17b
  store i32 %v13_17b, i32* %eax.global-to-local, align 4
  %v0_186 = call i32 @__asm_wait()
  store i32 %v0_186, i32* %eax.global-to-local, align 4
  %v0_187 = load i32, i32* %fpsw.global-to-local, align 4
  %v1_187 = call i16 @__asm_fnstsw(i32 %v0_187)
  %v2_187 = sext i16 %v1_187 to i32
  %v3_187 = load i32, i32* %eax.global-to-local, align 4
  %v4_187 = and i32 %v3_187, -65536
  %v3_189 = and i32 %v2_187, 16640
  %v2_187.masked = and i32 %v2_187, -65281
  %v12_189 = or i32 %v4_187, %v2_187.masked
  %v13_189 = or i32 %v12_189, %v3_189
  store i32 %v13_189, i32* %eax.global-to-local, align 4
  %v1_190 = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v4_190 = fptrunc x86_fp80 %v1_190 to double
  store double %v4_190, double* %stack_var_-90, align 8
  %v5_19b = fpext double %stack_var_-26.0 to x86_fp80
  store x86_fp80 %v5_19b, x86_fp80* %st7.global-to-local, align 4
  %v2_19f = load i32, i32* @edi, align 8
  %v3_19f = add i32 %v2_19f, -16
  %v4_19f = inttoptr i32 %v3_19f to double*
  %v5_19f = load double, double* %v4_19f, align 4
  %v6_19f = fpext double %v5_19f to x86_fp80
  %v7_19f = fmul x86_fp80 %v5_19b, %v6_19f
  %v2_1a2 = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v7_19f)
  store x86_fp80 %v2_1a2, x86_fp80* %st7.global-to-local, align 4
  %tmp301 = fptrunc x86_fp80 %v7_19f to double
  %v4_1a6 = call double @llvm.fabs.f64(double %tmp301)
  store x86_fp80 %v1_190, x86_fp80* %st5.global-to-local, align 4
  %v3_1b3 = add i32 %v2_19f, -72
  %v4_1b3 = inttoptr i32 %v3_1b3 to float*
  %v5_1b3 = load float, float* %v4_1b3, align 4
  %v6_1b3 = fpext float %v5_1b3 to x86_fp80
  %v7_1b3 = fmul x86_fp80 %v1_190, %v6_1b3
  store x86_fp80 %v7_1b3, x86_fp80* %st5.global-to-local, align 4
  %v3_1ba = add i32 %v2_19f, -68
  %v4_1ba = inttoptr i32 %v3_1ba to float*
  %v5_1ba = load float, float* %v4_1ba, align 4
  %v6_1ba = fpext float %v5_1ba to x86_fp80
  %v7_1ba = fmul x86_fp80 %v1_190, %v6_1ba
  %v4_1bd = fadd x86_fp80 %v7_1b3, %v7_1ba
  store x86_fp80 %v4_1bd, x86_fp80* %st5.global-to-local, align 4
  %v0_1c6 = call i32 @__asm_wait()
  store i32 %v0_1c6, i32* %eax.global-to-local, align 4
  %v0_1c7 = load i32, i32* %fpsw.global-to-local, align 4
  %v1_1c7 = call i16 @__asm_fnstsw(i32 %v0_1c7)
  %v2_1c7 = sext i16 %v1_1c7 to i32
  %v3_1c7 = load i32, i32* %eax.global-to-local, align 4
  %v4_1c7 = and i32 %v3_1c7, -65536
  %v1_1c9 = udiv i32 %v2_1c7, 256
  %v2_1c9 = trunc i32 %v1_1c9 to i8
  %v3_1c9 = and i8 %v2_1c9, 65
  %v4_1c9 = icmp eq i8 %v3_1c9, 0
  %v9_1c9 = zext i8 %v3_1c9 to i32
  %v11_1c9 = mul i32 %v9_1c9, 256
  %v2_1c7.masked = and i32 %v2_1c7, -65281
  %v12_1c9 = or i32 %v4_1c7, %v2_1c7.masked
  %v13_1c9 = or i32 %v12_1c9, %v11_1c9
  store i32 %v13_1c9, i32* %eax.global-to-local, align 4
  %v1_1cc = icmp eq i1 %v4_1c9, false
  br i1 %v1_1cc, label %dec_label_pc_1d0, label %dec_label_pc_1ce

dec_label_pc_1ce:                                 ; preds = %dec_label_pc_66
  %v1_1ce = load x86_fp80, x86_fp80* %st5.global-to-local, align 4
  %v2_1ce = fsub x86_fp80 0xK80000000000000000000, %v1_1ce
  store x86_fp80 %v2_1ce, x86_fp80* %st5.global-to-local, align 4
  br label %dec_label_pc_1d0

dec_label_pc_1d0:                                 ; preds = %dec_label_pc_1ce, %dec_label_pc_66
  %v0_1d2 = call i32 @__asm_wait()
  store i32 %v0_1d2, i32* %eax.global-to-local, align 4
  %v0_1d3 = load i32, i32* %fpsw.global-to-local, align 4
  %v1_1d3 = call i16 @__asm_fnstsw(i32 %v0_1d3)
  %v2_1d3 = sext i16 %v1_1d3 to i32
  %v3_1d3 = load i32, i32* %eax.global-to-local, align 4
  %v4_1d3 = and i32 %v3_1d3, -65536
  %v3_1d5 = and i32 %v2_1d3, 16640
  %v2_1d3.masked = and i32 %v2_1d3, -65281
  %v12_1d5 = or i32 %v4_1d3, %v2_1d3.masked
  %v13_1d5 = or i32 %v12_1d5, %v3_1d5
  store i32 %v13_1d5, i32* %eax.global-to-local, align 4
  %v1_1de = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %storemerge4.in = load i3, i3* %fpu_stat_TOP.global-to-local, align 1
  %storemerge4 = add i3 %storemerge4.in, 1
  %v4_1e0 = fdiv x86_fp80 %v1_1de, %v1_1de
  store x86_fp80 %v4_1e0, x86_fp80* %st7.global-to-local, align 4
  %v1_1e2 = load i32, i32* %esi.global-to-local, align 4
  %v2_1e2 = add i32 %v1_1e2, -32
  %v3_1e2 = inttoptr i32 %v2_1e2 to double*
  %v4_1e2 = load double, double* %v3_1e2, align 4
  %v5_1e2 = fpext double %v4_1e2 to x86_fp80
  store i3 %storemerge4, i3* %fpu_stat_TOP.global-to-local, align 1
  store x86_fp80 %v5_1e2, x86_fp80* %st7.global-to-local, align 4
  %v0_1e7 = call i32 @__asm_wait()
  store i32 %v0_1e7, i32* %eax.global-to-local, align 4
  %v0_1e8 = load i32, i32* %fpsw.global-to-local, align 4
  %v1_1e8 = call i16 @__asm_fnstsw(i32 %v0_1e8)
  %v2_1e8 = sext i16 %v1_1e8 to i32
  %v3_1e8 = load i32, i32* %eax.global-to-local, align 4
  %v4_1e8 = and i32 %v3_1e8, -65536
  %v3_1ea = and i32 %v2_1e8, 16640
  %v2_1e8.masked = and i32 %v2_1e8, -65281
  %v12_1ea = or i32 %v4_1e8, %v2_1e8.masked
  %v13_1ea = or i32 %v12_1ea, %v3_1ea
  store i32 %v13_1ea, i32* %eax.global-to-local, align 4
  %v1_1ef = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %storemerge.in = load i3, i3* %fpu_stat_TOP.global-to-local, align 1
  %v2_1f5 = load i32, i32* %esi.global-to-local, align 4
  %v3_1f5 = add i32 %v2_1f5, -32
  %v4_1f5 = fptrunc x86_fp80 %v1_1ef to double
  %v5_1f5 = inttoptr i32 %v3_1f5 to double*
  store double %v4_1f5, double* %v5_1f5, align 4
  %v6_1f5 = add i3 %storemerge.in, 2
  store i3 %v6_1f5, i3* %fpu_stat_TOP.global-to-local, align 1
  %v0_1f8 = load i32, i32* @edi, align 8
  %v1_1f8 = add i32 %v0_1f8, -76
  %v2_1f8 = inttoptr i32 %v1_1f8 to i32*
  %v3_1f8 = load i32, i32* %v2_1f8, align 4
  %v10_1f8 = icmp eq i32 %v3_1f8, 0
  %v11_1f8 = icmp slt i32 %v3_1f8, 0
  %v3_1fc = icmp eq i1 %v11_1f8, false
  %v4_1fc = icmp eq i1 %v10_1f8, false
  %v5_1fc = icmp eq i1 %v3_1fc, %v4_1fc
  br i1 %v5_1fc, label %dec_label_pc_215, label %dec_label_pc_1fe

dec_label_pc_1fe:                                 ; preds = %dec_label_pc_1d0
  store x86_fp80 %v7_f0, x86_fp80* %st7.global-to-local, align 4
  store x86_fp80 %v7_b3, x86_fp80* %st5.global-to-local, align 4
  store double %v4_b6, double* %stack_var_-90, align 8
  store i3 %v6_1f5, i3* %fpu_stat_TOP.global-to-local, align 1
  br label %dec_label_pc_215

dec_label_pc_215:                                 ; preds = %dec_label_pc_1fe, %dec_label_pc_1d0
  %stack_var_-74.1.pre-phi = phi double [ %v4_f3, %dec_label_pc_1fe ], [ %v4_190, %dec_label_pc_1d0 ]
  %stack_var_-82.1 = phi double [ %v4_c9, %dec_label_pc_1fe ], [ %v4_190, %dec_label_pc_1d0 ]
  %v0_215 = load i32, i32* %edx.global-to-local, align 4
  %v1_215 = add i32 %v0_215, -1
  store i32 %v1_215, i32* %edx.global-to-local, align 4
  %v8_216 = icmp sgt i32 %v0_215, 1
  br i1 %v8_216, label %dec_label_pc_66, label %dec_label_pc_21c

dec_label_pc_21c:                                 ; preds = %dec_label_pc_215
  %v4_21c = load double, double* %v5_1f5, align 4
  %v5_21c = fpext double %v4_21c to x86_fp80
  %v6_21c = add i3 %storemerge.in, 1
  store i3 %v6_21c, i3* %fpu_stat_TOP.global-to-local, align 1
  store x86_fp80 %v5_21c, x86_fp80* %st7.global-to-local, align 4
  %v3_21f = load i32, i32* %v2_1f8, align 4
  %v11_21f = icmp slt i32 %v3_21f, 0
  %v2_223 = icmp eq i1 %v11_21f, false
  br i1 %v2_223, label %dec_label_pc_225, label %dec_label_pc_228

dec_label_pc_225:                                 ; preds = %dec_label_pc_21c
  %v3_225 = add i32 %v0_1f8, -32
  %v4_225 = inttoptr i32 %v3_225 to double*
  %v5_225 = load double, double* %v4_225, align 4
  %v6_225 = fpext double %v5_225 to x86_fp80
  %v7_225 = fdiv x86_fp80 %v5_21c, %v6_225
  store x86_fp80 %v7_225, x86_fp80* %st7.global-to-local, align 4
  br label %dec_label_pc_228

dec_label_pc_228:                                 ; preds = %dec_label_pc_21c, %dec_label_pc_225
  %v1_228 = phi x86_fp80 [ %v5_21c, %dec_label_pc_21c ], [ %v7_225, %dec_label_pc_225 ]
  %v4_228 = fptrunc x86_fp80 %v1_228 to double
  store double %v4_228, double* %v5_1f5, align 4
  store i3 %v6_1f5, i3* %fpu_stat_TOP.global-to-local, align 1
  ret i32 %v13_1ea
}

declare i128 @__asm_movupd(i128) local_unnamed_addr

declare i128 @__asm_movsd(i64) local_unnamed_addr

declare i128 @__asm_mulpd(i128, i128) local_unnamed_addr

declare i128 @__asm_mulsd(i128, i64) local_unnamed_addr

declare void @__asm_movupd.1(i128, i128) local_unnamed_addr

declare i32 @__asm_movsd.2(i128) local_unnamed_addr

declare i128 @__asm_addpd(i128, i128) local_unnamed_addr

declare i128 @__asm_addsd(i128, i64) local_unnamed_addr

; Function Attrs: nounwind readnone speculatable
declare x86_fp80 @llvm.fabs.f80(x86_fp80) #0

declare i32 @__asm_wait() local_unnamed_addr

declare i16 @__asm_fnstsw(i32) local_unnamed_addr

declare double @__decompiler_undefined_function_3() local_unnamed_addr

; Function Attrs: nounwind readnone speculatable
declare double @llvm.fabs.f64(double) #0

attributes #0 = { nounwind readnone speculatable }
