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:
  %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
  %st6.global-to-local = alloca x86_fp80, align 4
  %st7.global-to-local = alloca x86_fp80, align 4
  %tmp293 = call double @__decompiler_undefined_function_4()
  %stack_var_-60 = 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)
  %v1_17 = load i32, i32* @edi, align 8
  %v2_17 = add i32 %v1_17, -64
  %v3_17 = inttoptr i32 %v2_17 to i128*
  %v4_17 = load i128, i128* %v3_17, align 4
  %v5_17 = call i128 @__asm_addpd(i128 %v5_d, i128 %v4_17)
  %v1_1c = load i32, i32* @edi, align 8
  %v2_1c = add i32 %v1_1c, -48
  %v3_1c = inttoptr i32 %v2_1c to i64*
  %v4_1c = load i64, i64* %v3_1c, align 4
  %v5_1c = call i128 @__asm_addsd(i128 %v5_12, i64 %v4_1c)
  %v0_21 = load i32, i32* @edi, align 8
  %v1_21 = add i32 %v0_21, -76
  %v2_21 = inttoptr i32 %v1_21 to i32*
  %v3_21 = load i32, i32* %v2_21, align 4
  %v10_21 = icmp eq i32 %v3_21, 0
  br i1 %v10_21, label %dec_label_pc_40, label %dec_label_pc_27

dec_label_pc_27:                                  ; preds = %dec_label_pc_0
  %v0_27 = load i32, i32* %esi.global-to-local, align 4
  %v1_27 = add i32 %v0_27, 112
  %v2_27 = inttoptr i32 %v1_27 to i64*
  %v3_27 = load i64, i64* %v2_27, align 4
  %v4_27 = call i128 @__asm_movsd(i64 %v3_27)
  %v1_2c = load i32, i32* @edi, align 8
  %v2_2c = add i32 %v1_2c, -32
  %v3_2c = inttoptr i32 %v2_2c to i64*
  %v4_2c = load i64, i64* %v3_2c, align 4
  %v5_2c = call i128 @__asm_mulsd(i128 %v4_27, i64 %v4_2c)
  %v0_31 = load i32, i32* %esi.global-to-local, align 4
  %v1_31 = add i32 %v0_31, -120
  %v2_31 = inttoptr i32 %v1_31 to i128*
  %v3_31 = load i128, i128* %v2_31, align 4
  call void @__asm_movupd.1(i128 %v3_31, i128 %v5_17)
  %v1_36 = call i32 @__asm_movsd.2(i128 %v5_1c)
  %v3_36 = add i32 %v0_31, -104
  %v4_36 = sext i32 %v1_36 to i64
  %v5_36 = inttoptr i32 %v3_36 to i64*
  store i64 %v4_36, i64* %v5_36, align 4
  %v1_3b = call i32 @__asm_movsd.2(i128 %v5_2c)
  %v2_3b = load i32, i32* %esi.global-to-local, align 4
  %v3_3b = add i32 %v2_3b, 112
  %v4_3b = sext i32 %v1_3b to i64
  %v5_3b = inttoptr i32 %v3_3b to i64*
  store i64 %v4_3b, i64* %v5_3b, align 4
  br label %dec_label_pc_40

dec_label_pc_40:                                  ; preds = %dec_label_pc_27, %dec_label_pc_0
  %v2_40 = load double, double* %stack_var_-60, align 8
  %v3_40 = fptrunc double %v2_40 to float
  %v4_40 = bitcast float %v3_40 to i32
  %v5_40 = sext i32 %v4_40 to i128
  call void @__asm_movupd.1(i128 %v5_40, i128 %v5_17)
  %v1_45 = call i32 @__asm_movsd.2(i128 %v5_1c)
  %v4_45 = sext i32 %v1_45 to i64
  %v6_45 = bitcast i64 %v4_45 to double
  %v0_4b = load i3, i3* %fpu_stat_TOP.global-to-local, align 1
  %v3_4b = load double, double* %stack_var_-60, align 8
  %v8_4b = fpext double %v3_4b to x86_fp80
  %tmp308 = fptrunc double %v3_4b to float
  %tmp360 = fpext double %v3_4b to x86_fp80
  %v8_52 = fsub x86_fp80 %v8_4b, %tmp360
  %tmp310 = fptrunc x86_fp80 %v8_52 to double
  %tmp311 = call double @llvm.fabs.f64(double %tmp310)
  store double %tmp311, double* %stack_var_-60, align 8
  %v5_5b = fpext double %tmp293 to x86_fp80
  %tmp312 = fptrunc double %tmp293 to float
  %tmp361 = fpext double %tmp293 to x86_fp80
  %v8_63 = fsub x86_fp80 %v5_5b, %tmp361
  %v2_67 = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v8_63)
  store x86_fp80 %v2_67, x86_fp80* %st7.global-to-local, align 4
  %tmp314 = fptrunc x86_fp80 %v8_63 to double
  %v4_69 = call double @llvm.fabs.f64(double %tmp314)
  %v4_6d = bitcast float %tmp312 to i32
  %v1_71 = xor i32 %v4_6d, 46657
  %v4_7a = bitcast float %tmp308 to i32
  %v1_7e = xor i32 %v4_7a, 40321
  %v2_88 = zext i32 %v1_7e to i64
  %v3_88 = zext i32 %v1_71 to i64
  %v4_88 = mul nuw i64 %v2_88, %v3_88
  %v5_88 = trunc i64 %v4_88 to i32
  %v6_88 = udiv i64 %v4_88, 4294967296
  %v7_88 = trunc i64 %v6_88 to i32
  %tmp362 = sub i32 0, %v5_88
  %tmp363 = sub i32 %tmp362, 1
  %v1_90 = and i32 %tmp363, 23130
  %v1_95 = or i32 %v7_88, 23130
  %v2_9b = xor i32 %v1_95, %v1_90
  %v1_a9 = and i32 %v1_7e, 23130
  %v1_af = or i32 %v1_71, 23130
  %v2_b4 = xor i32 %v1_a9, %v1_af
  %v1_c6 = load i32, i32* @edi, align 8
  %v2_c6 = add i32 %v1_c6, -92
  %v3_c6 = inttoptr i32 %v2_c6 to i32*
  %v4_c6 = load i32, i32* %v3_c6, align 4
  %v5_c6 = sub i32 %v2_9b, %v4_c6
  %v4_cd = mul i32 %v5_c6, %v2_9b
  %v5_cf = add i32 %v4_cd, %tmp363
  %v2_d5 = udiv i32 %v5_cf, 256
  %v2_d8 = mul i32 %v5_cf, 256
  %v2_db = xor i32 %v2_d5, %v2_d8
  %v1_dd = urem i32 %v2_db, 65536
  %v4_e2 = bitcast i32 %v1_dd to float
  %v2_ea = add i32 %v1_c6, -88
  %v3_ea = inttoptr i32 %v2_ea to i32*
  %v4_ea = load i32, i32* %v3_ea, align 4
  %v5_ea = sub i32 %v2_b4, %v4_ea
  %v4_f1 = mul i32 %v5_ea, %v2_b4
  %v5_f3 = add i32 %v4_f1, %tmp363
  %v2_f9 = udiv i32 %v5_f3, 256
  %v2_fc = mul i32 %v5_f3, 256
  %v2_ff = xor i32 %v2_f9, %v2_fc
  %v1_101 = urem i32 %v2_ff, 65536
  %v4_106 = bitcast i32 %v1_101 to float
  %v2_112 = udiv i32 %v1_101, 64
  %v2_115 = mul i32 %v1_dd, 64
  %v2_115.masked = and i32 %v2_115, 65472
  %v1_11a = xor i32 %v2_115.masked, %v2_112
  %v1_12b = and i32 %v2_ff, 43690
  %v1_130 = and i32 %v2_db, 21845
  %v2_13619 = or i32 %v1_130, %v1_12b
  %v7_13c = fpext double %v6_45 to x86_fp80
  store x86_fp80 %v7_13c, x86_fp80* %st7.global-to-local, align 4
  %v5_140 = sitofp i32 %v2_13619 to x86_fp80
  %v6_140 = add i3 %v0_4b, -2
  %v4_144 = load double, double* bitcast (i32* @edi to double*), align 8
  %v5_144 = fpext double %v4_144 to x86_fp80
  %v6_144 = fmul x86_fp80 %v5_144, %v5_140
  store x86_fp80 %v6_144, x86_fp80* %st6.global-to-local, align 4
  %tmp315 = bitcast double %v4_144 to i64
  %tmp316 = trunc i64 %tmp315 to i32
  %v3_146 = add i32 %tmp316, -108
  %v4_146 = inttoptr i32 %v3_146 to double*
  %v5_146 = load double, double* %v4_146, align 4
  %v6_146 = fpext double %v5_146 to x86_fp80
  %v7_146 = fmul x86_fp80 %v6_144, %v6_146
  %v4_149 = fsub x86_fp80 %v7_13c, %v7_146
  %v7_149 = add i3 %v0_4b, -1
  %v4_14b = fptrunc x86_fp80 %v4_149 to double
  %v2_14f = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v4_149)
  store x86_fp80 %v2_14f, x86_fp80* %st7.global-to-local, align 4
  %v5_151 = sitofp i32 %v1_11a to x86_fp80
  %v6_155 = fmul x86_fp80 %v5_144, %v5_151
  store x86_fp80 %v6_155, x86_fp80* %st6.global-to-local, align 4
  %v3_157 = add i32 %tmp316, -84
  %v4_157 = inttoptr i32 %v3_157 to double*
  %v5_157 = load double, double* %v4_157, align 4
  %v6_157 = fpext double %v5_157 to x86_fp80
  %v7_157 = fmul x86_fp80 %v6_155, %v6_157
  %v4_15a = fadd x86_fp80 %v7_157, %v2_14f
  store x86_fp80 %v4_15a, x86_fp80* %st7.global-to-local, align 4
  store x86_fp80 %v5_151, x86_fp80* %st6.global-to-local, align 4
  %v3_160 = add i32 %tmp316, 16
  %v4_160 = inttoptr i32 %v3_160 to double*
  %v5_160 = load double, double* %v4_160, align 4
  %v6_160 = fpext double %v5_160 to x86_fp80
  %v7_160 = fmul x86_fp80 %v5_151, %v6_160
  store x86_fp80 %v7_160, x86_fp80* %st6.global-to-local, align 4
  %v2_163 = load i32, i32* %esi.global-to-local, align 4
  %v3_163 = add i32 %v2_163, 128
  %v4_163 = fptrunc x86_fp80 %v7_160 to double
  %v5_163 = inttoptr i32 %v3_163 to double*
  store double %v4_163, double* %v5_163, align 4
  store i3 %v7_149, i3* %fpu_stat_TOP.global-to-local, align 1
  %v1_16d = and i32 %v2_f9, 64
  %v2_16d = icmp eq i32 %v1_16d, 0
  %v1_170 = icmp eq i1 %v2_16d, false
  %v0_177 = load i32, i32* @edi, align 8
  %storemerge10.in.in.v = select i1 %v1_170, i32 -100, i32 -96
  %storemerge10.in.in = add i32 %v0_177, %storemerge10.in.in.v
  %storemerge10.in = inttoptr i32 %storemerge10.in.in to i32*
  %storemerge10 = load i32, i32* %storemerge10.in, align 4
  %v7_17a = icmp eq i32 %storemerge10, 0
  br i1 %v7_17a, label %dec_label_pc_401, label %dec_label_pc_183

dec_label_pc_183:                                 ; preds = %dec_label_pc_40
  %v10_183 = icmp eq i32 %storemerge10, 1
  %v1_186 = icmp eq i1 %v10_183, false
  br i1 %v1_186, label %dec_label_pc_1c6, label %dec_label_pc_188

dec_label_pc_188:                                 ; preds = %dec_label_pc_183
  %v3_188 = load double, double* %stack_var_-60, align 8
  %v8_188 = fpext double %v3_188 to x86_fp80
  %v3_18b = fmul x86_fp80 %v8_188, %v8_188
  %v5_18d = fpext double %v4_69 to x86_fp80
  %v3_191 = fmul x86_fp80 %v5_18d, %v5_18d
  %v4_193 = fadd x86_fp80 %v3_191, %v3_18b
  %v2_195 = call x86_fp80 @llvm.sqrt.f80(x86_fp80 %v4_193)
  store x86_fp80 %v2_195, x86_fp80* %st7.global-to-local, align 4
  %tmp318 = fpext float %v4_106 to x86_fp80
  %v4_19b = load double, double* bitcast (i32* @edi to double*), align 8
  %v5_19b = fpext double %v4_19b to x86_fp80
  %v6_19b = fmul x86_fp80 %tmp318, %v5_19b
  store x86_fp80 %v6_19b, x86_fp80* %st6.global-to-local, align 4
  %tmp319 = bitcast double %v4_19b to i64
  %tmp320 = trunc i64 %tmp319 to i32
  %v3_19d = add i32 %tmp320, -16
  %v4_19d = inttoptr i32 %v3_19d to double*
  %v5_19d = load double, double* %v4_19d, align 4
  %v6_19d = fpext double %v5_19d to x86_fp80
  %v7_19d = fmul x86_fp80 %v6_19b, %v6_19d
  %v4_1a0 = fadd x86_fp80 %v2_195, %v7_19d
  store x86_fp80 %v4_1a0, x86_fp80* %st7.global-to-local, align 4
  store x86_fp80 0xK3FFF8000000000000000, x86_fp80* %st6.global-to-local, align 4
  %v5_1a4 = load double, double* %v4_19d, align 4
  %v6_1a4 = fpext double %v5_1a4 to x86_fp80
  %v7_1a4 = fsub x86_fp80 0xK3FFF8000000000000000, %v6_1a4
  store x86_fp80 %v7_1a4, x86_fp80* %st6.global-to-local, align 4
  %v3_1a7 = add i32 %tmp320, 8
  %v4_1a7 = inttoptr i32 %v3_1a7 to double*
  %v5_1a7 = load double, double* %v4_1a7, align 4
  %v6_1a7 = fpext double %v5_1a7 to x86_fp80
  %v7_1a7 = fmul x86_fp80 %v7_1a4, %v6_1a7
  %v4_1aa = fadd x86_fp80 %v4_1a0, %v7_1a7
  store x86_fp80 %v4_1aa, x86_fp80* %st7.global-to-local, align 4
  %tmp321 = fpext float %v4_e2 to x86_fp80
  %v6_1b0 = fmul x86_fp80 %tmp321, %v5_19b
  store x86_fp80 %v6_1b0, x86_fp80* %st6.global-to-local, align 4
  %v3_1b2 = add i32 %tmp320, -72
  %v4_1b2 = inttoptr i32 %v3_1b2 to double*
  %v5_1b2 = load double, double* %v4_1b2, align 4
  %v6_1b2 = fpext double %v5_1b2 to x86_fp80
  %v7_1b2 = fmul x86_fp80 %v6_1b0, %v6_1b2
  %tmp322 = call double @llvm.fabs.f64(double %v4_14b)
  %v2_1b9 = fpext double %tmp322 to x86_fp80
  %tmp358 = fmul x86_fp80 %v7_1b2, %v2_1b9
  %v4_1bd = fsub x86_fp80 0xK80000000000000000000, %tmp358
  store x86_fp80 %v4_1bd, x86_fp80* %st6.global-to-local, align 4
  %v4_1bf = fsub x86_fp80 %v4_1aa, %tmp358
  store x86_fp80 %v4_1bf, x86_fp80* %st7.global-to-local, align 4
  store i3 %v6_140, i3* %fpu_stat_TOP.global-to-local, align 1
  br label %dec_label_pc_442

dec_label_pc_1c6:                                 ; preds = %dec_label_pc_183
  %v10_1c6 = icmp eq i32 %storemerge10, 2
  %v1_1c9 = icmp eq i1 %v10_1c6, false
  br i1 %v1_1c9, label %dec_label_pc_20a, label %dec_label_pc_1cb

dec_label_pc_1cb:                                 ; preds = %dec_label_pc_1c6
  %v3_1cb = load double, double* %stack_var_-60, align 8
  %v8_1cb = fpext double %v3_1cb to x86_fp80
  %v3_1ce = fmul x86_fp80 %v8_1cb, %v8_1cb
  %v5_1d0 = fpext double %v4_69 to x86_fp80
  %v3_1d4 = fmul x86_fp80 %v5_1d0, %v5_1d0
  %v4_1d6 = fadd x86_fp80 %v3_1d4, %v3_1ce
  store x86_fp80 %v4_1d6, x86_fp80* %st7.global-to-local, align 4
  %v3_1dc = fmul x86_fp80 %v4_149, %v4_149
  store x86_fp80 %v3_1dc, x86_fp80* %st6.global-to-local, align 4
  %tmp324 = fpext float %v4_106 to x86_fp80
  %v3_1e2 = add i32 %v0_177, 24
  %v4_1e2 = inttoptr i32 %v3_1e2 to double*
  %v5_1e2 = load double, double* %v4_1e2, align 4
  %v6_1e2 = fpext double %v5_1e2 to x86_fp80
  %v7_1e2 = fmul x86_fp80 %tmp324, %v6_1e2
  %v3_1e5 = add i32 %v0_177, -16
  %v4_1e5 = inttoptr i32 %v3_1e5 to double*
  %v5_1e5 = load double, double* %v4_1e5, align 4
  %v6_1e5 = fpext double %v5_1e5 to x86_fp80
  %v7_1e5 = fmul x86_fp80 %v7_1e2, %v6_1e5
  %v4_1e8 = fmul x86_fp80 %v3_1dc, %v7_1e5
  %v4_1ea = fsub x86_fp80 %v4_1d6, %v4_1e8
  %v2_1ec = call x86_fp80 @llvm.sqrt.f80(x86_fp80 %v4_1ea)
  store x86_fp80 %v2_1ec, x86_fp80* %st7.global-to-local, align 4
  %tmp325 = fpext float %v4_e2 to x86_fp80
  %v4_1f2 = load double, double* bitcast (i32* @edi to double*), align 8
  %v5_1f2 = fpext double %v4_1f2 to x86_fp80
  %v6_1f2 = fmul x86_fp80 %tmp325, %v5_1f2
  store x86_fp80 %v6_1f2, x86_fp80* %st6.global-to-local, align 4
  %tmp326 = bitcast double %v4_1f2 to i64
  %tmp327 = trunc i64 %tmp326 to i32
  %v2_1f4 = add i32 %tmp327, -72
  %v3_1f4 = inttoptr i32 %v2_1f4 to double*
  %v4_1f4 = load double, double* %v3_1f4, align 4
  %v5_1f4 = fpext double %v4_1f4 to x86_fp80
  %v4_1f7 = fmul x86_fp80 %v6_1f2, %v5_1f4
  %v4_1f9 = fadd x86_fp80 %v2_1ec, %v4_1f7
  store x86_fp80 %v4_1f9, x86_fp80* %st7.global-to-local, align 4
  store x86_fp80 0xK3FFF8000000000000000, x86_fp80* %st6.global-to-local, align 4
  %v5_1fd = load double, double* %v3_1f4, align 4
  %v6_1fd = fpext double %v5_1fd to x86_fp80
  %v7_1fd = fsub x86_fp80 0xK3FFF8000000000000000, %v6_1fd
  store x86_fp80 %v7_1fd, x86_fp80* %st6.global-to-local, align 4
  %v3_200 = add i32 %tmp327, 8
  %v4_200 = inttoptr i32 %v3_200 to double*
  %v5_200 = load double, double* %v4_200, align 4
  %v6_200 = fpext double %v5_200 to x86_fp80
  %v7_200 = fmul x86_fp80 %v7_1fd, %v6_200
  store x86_fp80 %v7_200, x86_fp80* %st6.global-to-local, align 4
  %v4_203 = fadd x86_fp80 %v4_1f9, %v7_200
  store x86_fp80 %v4_203, x86_fp80* %st7.global-to-local, align 4
  store i3 %v6_140, i3* %fpu_stat_TOP.global-to-local, align 1
  br label %dec_label_pc_442

dec_label_pc_20a:                                 ; preds = %dec_label_pc_1c6
  %v10_20a = icmp eq i32 %storemerge10, 3
  %v1_20d = icmp eq i1 %v10_20a, false
  br i1 %v1_20d, label %dec_label_pc_25a, label %dec_label_pc_20f

dec_label_pc_20f:                                 ; preds = %dec_label_pc_20a
  %v3_20f = load double, double* %stack_var_-60, align 8
  %v8_20f = fpext double %v3_20f to x86_fp80
  store x86_fp80 %v8_20f, x86_fp80* %st7.global-to-local, align 4
  %tmp329 = fpext float %v4_106 to x86_fp80
  %v7_212 = add i3 %v0_4b, -3
  %v4_216 = load double, double* bitcast (i32* @edi to double*), align 8
  %v5_216 = fpext double %v4_216 to x86_fp80
  %v6_216 = fmul x86_fp80 %tmp329, %v5_216
  store x86_fp80 %v6_216, x86_fp80* %st6.global-to-local, align 4
  %tmp330 = bitcast double %v4_216 to i64
  %tmp331 = trunc i64 %tmp330 to i32
  %v3_218 = add i32 %tmp331, -16
  %v4_218 = inttoptr i32 %v3_218 to double*
  %v5_218 = load double, double* %v4_218, align 4
  %v6_218 = fpext double %v5_218 to x86_fp80
  %v7_218 = fmul x86_fp80 %v6_216, %v6_218
  %tmp332 = call double @llvm.fabs.f64(double %v4_14b)
  %v2_21f = fpext double %tmp332 to x86_fp80
  %v4_221 = fmul x86_fp80 %v7_218, %v2_21f
  %v4_223 = fsub x86_fp80 %v8_20f, %v4_221
  store x86_fp80 %v4_223, x86_fp80* %st7.global-to-local, align 4
  %v5_225 = fpext double %v4_69 to x86_fp80
  store x86_fp80 %v5_225, x86_fp80* %st6.global-to-local, align 4
  %tmp333 = fpext float %v4_e2 to x86_fp80
  %v6_22d = fmul x86_fp80 %tmp333, %v5_216
  %v3_22f = add i32 %tmp331, -72
  %v4_22f = inttoptr i32 %v3_22f to double*
  %v5_22f = load double, double* %v4_22f, align 4
  %v6_22f = fpext double %v5_22f to x86_fp80
  %v7_22f = fmul x86_fp80 %v6_22d, %v6_22f
  %v4_238 = fmul x86_fp80 %v7_22f, %v2_21f
  %v4_23a = fsub x86_fp80 %v5_225, %v4_238
  store x86_fp80 %v4_23a, x86_fp80* %st6.global-to-local, align 4
  store i3 %v7_212, i3* %fpu_stat_TOP.global-to-local, align 1
  %v0_23e = call i32 @__asm_wait()
  %v0_23f = load i32, i32* %fpsw.global-to-local, align 4
  %v1_23f = call i16 @__asm_fnstsw(i32 %v0_23f)
  %v0_250 = load i3, i3* %fpu_stat_TOP.global-to-local, align 1
  %v1_250 = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v4_250 = add i3 %v0_250, 1
  store i3 %v4_250, i3* %fpu_stat_TOP.global-to-local, align 1
  %v2_252 = load i32, i32* @edi, align 8
  %v3_252 = add i32 %v2_252, 8
  %v4_252 = inttoptr i32 %v3_252 to double*
  %v5_252 = load double, double* %v4_252, align 4
  %v6_252 = fpext double %v5_252 to x86_fp80
  %v7_252 = fadd x86_fp80 %v1_250, %v6_252
  store x86_fp80 %v7_252, x86_fp80* %st7.global-to-local, align 4
  br label %dec_label_pc_442

dec_label_pc_25a:                                 ; preds = %dec_label_pc_20a
  %v10_25a = icmp eq i32 %storemerge10, 4
  %v1_25d = icmp eq i1 %v10_25a, false
  br i1 %v1_25d, label %dec_label_pc_2e7, label %dec_label_pc_263

dec_label_pc_263:                                 ; preds = %dec_label_pc_25a
  %v7_26b = icmp ult i32 %v1_101, %v1_dd
  %v3_27b.pre = load double, double* %stack_var_-60, align 8
  %.pre29 = fpext double %v3_27b.pre to x86_fp80
  br i1 %v7_26b, label %dec_label_pc_263.dec_label_pc_27b_crit_edge, label %dec_label_pc_26d

dec_label_pc_263.dec_label_pc_27b_crit_edge:      ; preds = %dec_label_pc_263
  %.pre31 = fpext double %v4_69 to x86_fp80
  br label %dec_label_pc_27b

dec_label_pc_26d:                                 ; preds = %dec_label_pc_263
  store x86_fp80 %.pre29, x86_fp80* %st7.global-to-local, align 4
  %v5_270 = fpext double %v4_69 to x86_fp80
  store x86_fp80 %v5_270, x86_fp80* %st6.global-to-local, align 4
  store double %v4_69, double* %stack_var_-60, align 8
  store i3 %v7_149, i3* %fpu_stat_TOP.global-to-local, align 1
  br label %dec_label_pc_27b

dec_label_pc_27b:                                 ; preds = %dec_label_pc_263.dec_label_pc_27b_crit_edge, %dec_label_pc_26d
  %v5_2ad.pre-phi = phi x86_fp80 [ %.pre31, %dec_label_pc_263.dec_label_pc_27b_crit_edge ], [ %.pre29, %dec_label_pc_26d ]
  %v8_27b.pre-phi = phi x86_fp80 [ %.pre29, %dec_label_pc_263.dec_label_pc_27b_crit_edge ], [ %v5_270, %dec_label_pc_26d ]
  %v7_27e.pre-phi = add i3 %v0_4b, -3
  store x86_fp80 %v8_27b.pre-phi, x86_fp80* %st7.global-to-local, align 4
  %tmp335 = fpext float %v4_106 to x86_fp80
  %v4_282 = load double, double* bitcast (i32* @edi to double*), align 8
  %v5_282 = fpext double %v4_282 to x86_fp80
  %v6_282 = fmul x86_fp80 %tmp335, %v5_282
  store x86_fp80 %v6_282, x86_fp80* %st6.global-to-local, align 4
  %tmp336 = bitcast double %v4_282 to i64
  %tmp337 = trunc i64 %tmp336 to i32
  %v3_284 = add i32 %tmp337, -16
  %v4_284 = inttoptr i32 %v3_284 to double*
  %v5_284 = load double, double* %v4_284, align 4
  %v6_284 = fpext double %v5_284 to x86_fp80
  %v7_284 = fmul x86_fp80 %v6_282, %v6_284
  %v4_287 = fadd x86_fp80 %v8_27b.pre-phi, %v7_284
  store x86_fp80 %v4_287, x86_fp80* %st7.global-to-local, align 4
  store x86_fp80 0xK3FFF8000000000000000, x86_fp80* %st6.global-to-local, align 4
  %v5_28b = load double, double* %v4_284, align 4
  %v6_28b = fpext double %v5_28b to x86_fp80
  %v7_28b = fsub x86_fp80 0xK3FFF8000000000000000, %v6_28b
  store x86_fp80 %v7_28b, x86_fp80* %st6.global-to-local, align 4
  %v3_28e = add i32 %tmp337, 8
  %v4_28e = inttoptr i32 %v3_28e to double*
  %v5_28e = load double, double* %v4_28e, align 4
  %v6_28e = fpext double %v5_28e to x86_fp80
  %v7_28e = fmul x86_fp80 %v7_28b, %v6_28e
  %v4_291 = fadd x86_fp80 %v4_287, %v7_28e
  store x86_fp80 %v4_291, x86_fp80* %st7.global-to-local, align 4
  store x86_fp80 %v4_149, x86_fp80* %st6.global-to-local, align 4
  %v6_29b = fmul x86_fp80 %v5_151, %v5_282
  %v3_29d = add i32 %tmp337, -84
  %v4_29d = inttoptr i32 %v3_29d to double*
  %v5_29d = load double, double* %v4_29d, align 4
  %v6_29d = fpext double %v5_29d to x86_fp80
  %v7_29d = fmul x86_fp80 %v6_29b, %v6_29d
  %v4_2a0 = fsub x86_fp80 %v4_149, %v7_29d
  %v2_2a4 = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v4_2a0)
  %v4_2a6 = fsub x86_fp80 %v4_2a0, %v2_2a4
  store x86_fp80 %v4_2a6, x86_fp80* %st6.global-to-local, align 4
  %v5_2a8 = load double, double* %v4_28e, align 4
  %v6_2a8 = fpext double %v5_2a8 to x86_fp80
  %v7_2a8 = fmul x86_fp80 %v4_2a6, %v6_2a8
  %v3_2ab = fmul x86_fp80 %v7_2a8, %v7_2a8
  %v3_2b1 = fmul x86_fp80 %v5_2ad.pre-phi, %v5_2ad.pre-phi
  %v4_2b3 = fadd x86_fp80 %v3_2b1, %v3_2ab
  %v2_2b5 = call x86_fp80 @llvm.sqrt.f80(x86_fp80 %v4_2b3)
  store x86_fp80 %v2_2b5, x86_fp80* %st6.global-to-local, align 4
  %tmp338 = fpext float %v4_e2 to x86_fp80
  %v6_2bb = fmul x86_fp80 %tmp338, %v5_282
  %v3_2bd = add i32 %tmp337, -72
  %v4_2bd = inttoptr i32 %v3_2bd to double*
  %v5_2bd = load double, double* %v4_2bd, align 4
  %v6_2bd = fpext double %v5_2bd to x86_fp80
  %v7_2bd = fmul x86_fp80 %v6_2bb, %v6_2bd
  %v4_2c0 = fadd x86_fp80 %v7_2bd, %v2_2b5
  store x86_fp80 %v4_2c0, x86_fp80* %st6.global-to-local, align 4
  %v5_2c4 = load double, double* %v4_2bd, align 4
  %v6_2c4 = fpext double %v5_2c4 to x86_fp80
  %v7_2c4 = fsub x86_fp80 0xK3FFF8000000000000000, %v6_2c4
  %v5_2c7 = load double, double* %v4_28e, align 4
  %v6_2c7 = fpext double %v5_2c7 to x86_fp80
  %v7_2c7 = fmul x86_fp80 %v7_2c4, %v6_2c7
  %v4_2ca = fadd x86_fp80 %v7_2c7, %v4_2c0
  store x86_fp80 %v4_2ca, x86_fp80* %st6.global-to-local, align 4
  store i3 %v7_27e.pre-phi, i3* %fpu_stat_TOP.global-to-local, align 1
  %v0_2ce = call i32 @__asm_wait()
  %v0_2cf = load i32, i32* %fpsw.global-to-local, align 4
  %v1_2cf = call i16 @__asm_fnstsw(i32 %v0_2cf)
  %storemerge7.in = load i3, i3* %fpu_stat_TOP.global-to-local, align 1
  %storemerge7 = add i3 %storemerge7.in, 1
  store i3 %storemerge7, i3* %fpu_stat_TOP.global-to-local, align 1
  store x86_fp80 %v4_149, x86_fp80* %st7.global-to-local, align 4
  br label %dec_label_pc_442

dec_label_pc_2e7:                                 ; preds = %dec_label_pc_25a
  %v10_2e7 = icmp eq i32 %storemerge10, 5
  %v1_2ea = icmp eq i1 %v10_2e7, false
  br i1 %v1_2ea, label %dec_label_pc_393, label %dec_label_pc_2f0

dec_label_pc_2f0:                                 ; preds = %dec_label_pc_2e7
  store x86_fp80 %v4_149, x86_fp80* %st7.global-to-local, align 4
  %v7_2fe = icmp ult i32 %v1_101, %v1_dd
  %v3_362.pre = load double, double* %stack_var_-60, align 8
  br i1 %v7_2fe, label %dec_label_pc_2f0.dec_label_pc_31e_crit_edge, label %dec_label_pc_300

dec_label_pc_2f0.dec_label_pc_31e_crit_edge:      ; preds = %dec_label_pc_2f0
  %.pre = fpext double %v4_69 to x86_fp80
  %.pre28 = fpext double %v3_362.pre to x86_fp80
  br label %dec_label_pc_31e

dec_label_pc_300:                                 ; preds = %dec_label_pc_2f0
  %v8_300 = fpext double %v3_362.pre to x86_fp80
  store x86_fp80 %v8_300, x86_fp80* %st7.global-to-local, align 4
  %v5_303 = fpext double %v4_69 to x86_fp80
  store x86_fp80 %v5_303, x86_fp80* %st6.global-to-local, align 4
  store double %v4_69, double* %stack_var_-60, align 8
  store i3 %v7_149, i3* %fpu_stat_TOP.global-to-local, align 1
  br label %dec_label_pc_31e

dec_label_pc_31e:                                 ; preds = %dec_label_pc_2f0.dec_label_pc_31e_crit_edge, %dec_label_pc_300
  %v8_37d.pre-phi = phi x86_fp80 [ %.pre28, %dec_label_pc_2f0.dec_label_pc_31e_crit_edge ], [ %v5_303, %dec_label_pc_300 ]
  %v5_35a.pre-phi = phi x86_fp80 [ %.pre, %dec_label_pc_2f0.dec_label_pc_31e_crit_edge ], [ %v8_300, %dec_label_pc_300 ]
  %stack_var_-32.0 = phi float [ %v4_e2, %dec_label_pc_2f0.dec_label_pc_31e_crit_edge ], [ %v4_106, %dec_label_pc_300 ]
  %stack_var_-36.0 = phi float [ %v4_106, %dec_label_pc_2f0.dec_label_pc_31e_crit_edge ], [ %v4_e2, %dec_label_pc_300 ]
  %tmp340 = fpext float %stack_var_-36.0 to x86_fp80
  store x86_fp80 %tmp340, x86_fp80* %st7.global-to-local, align 4
  %v3_322 = add i32 %v0_177, 40
  %v4_322 = inttoptr i32 %v3_322 to double*
  %v5_322 = load double, double* %v4_322, align 4
  %v6_322 = fpext double %v5_322 to x86_fp80
  %v7_322 = fmul x86_fp80 %tmp340, %v6_322
  store x86_fp80 %v7_322, x86_fp80* %st7.global-to-local, align 4
  %v3_325 = add i32 %v0_177, -16
  %v4_325 = inttoptr i32 %v3_325 to double*
  %v5_325 = load double, double* %v4_325, align 4
  %v6_325 = fpext double %v5_325 to x86_fp80
  %v7_325 = fmul x86_fp80 %v7_322, %v6_325
  %tmp341 = fptrunc x86_fp80 %v7_325 to float
  %v4_32a = call float @llvm.fabs.f32(float %tmp341)
  %tmp342 = fpext float %stack_var_-32.0 to x86_fp80
  store x86_fp80 %tmp342, x86_fp80* %st7.global-to-local, align 4
  %v3_332 = add i32 %v0_177, 32
  %v4_332 = inttoptr i32 %v3_332 to double*
  %v5_332 = load double, double* %v4_332, align 4
  %v6_332 = fpext double %v5_332 to x86_fp80
  %v7_332 = fmul x86_fp80 %tmp342, %v6_332
  store x86_fp80 %v7_332, x86_fp80* %st7.global-to-local, align 4
  %v3_335 = add i32 %v0_177, -72
  %v4_335 = inttoptr i32 %v3_335 to double*
  %v5_335 = load double, double* %v4_335, align 4
  %v6_335 = fpext double %v5_335 to x86_fp80
  %v7_335 = fmul x86_fp80 %v7_332, %v6_335
  store x86_fp80 %v4_149, x86_fp80* %st7.global-to-local, align 4
  %v4_344 = load double, double* bitcast (i32* @edi to double*), align 8
  %v5_344 = fpext double %v4_344 to x86_fp80
  %v6_344 = fmul x86_fp80 %v5_151, %v5_344
  store x86_fp80 %v6_344, x86_fp80* %st6.global-to-local, align 4
  %tmp343 = bitcast double %v4_344 to i64
  %tmp344 = trunc i64 %tmp343 to i32
  %v3_346 = add i32 %tmp344, -84
  %v4_346 = inttoptr i32 %v3_346 to double*
  %v5_346 = load double, double* %v4_346, align 4
  %v6_346 = fpext double %v5_346 to x86_fp80
  %v7_346 = fmul x86_fp80 %v6_344, %v6_346
  %v4_349 = fsub x86_fp80 %v4_149, %v7_346
  %v2_34d = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v4_349)
  store x86_fp80 %v2_34d, x86_fp80* %st6.global-to-local, align 4
  %v4_34f = fsub x86_fp80 %v4_349, %v2_34d
  store x86_fp80 %v4_34f, x86_fp80* %st7.global-to-local, align 4
  %v3_351 = add i32 %tmp344, 8
  %v4_351 = inttoptr i32 %v3_351 to double*
  %v5_351 = load double, double* %v4_351, align 4
  %v6_351 = fpext double %v5_351 to x86_fp80
  %v7_351 = fmul x86_fp80 %v4_34f, %v6_351
  %v3_354 = fmul x86_fp80 %v7_351, %v7_351
  %v3_35e = fmul x86_fp80 %v5_35a.pre-phi, %v5_35a.pre-phi
  %v4_360 = fadd x86_fp80 %v3_35e, %v3_354
  %v3_365 = fmul x86_fp80 %v8_37d.pre-phi, %v8_37d.pre-phi
  %v4_367 = fadd x86_fp80 %v3_365, %v4_360
  %v7_369 = fpext float %v4_32a to x86_fp80
  %v3_371 = fmul x86_fp80 %v7_335, %v7_335
  %v4_373 = fmul x86_fp80 %v3_371, %v7_369
  %v4_375 = fadd x86_fp80 %v4_373, %v4_367
  %v2_377 = call x86_fp80 @llvm.sqrt.f80(x86_fp80 %v4_375)
  %v3_380 = fmul x86_fp80 %v8_37d.pre-phi, %v8_37d.pre-phi
  %v4_382 = fadd x86_fp80 %v3_380, %v3_354
  %v2_384 = call x86_fp80 @llvm.sqrt.f80(x86_fp80 %v4_382)
  %v2_386 = call x86_fp80 @llvm.sqrt.f80(x86_fp80 %v2_384)
  %v9_388 = fmul x86_fp80 %v2_386, %v7_335
  store x86_fp80 %v9_388, x86_fp80* %st6.global-to-local, align 4
  %v4_38c = fadd x86_fp80 %v2_377, %v9_388
  store x86_fp80 %v4_38c, x86_fp80* %st7.global-to-local, align 4
  store i3 %v6_140, i3* %fpu_stat_TOP.global-to-local, align 1
  br label %dec_label_pc_442

dec_label_pc_393:                                 ; preds = %dec_label_pc_2e7
  %v10_393 = icmp eq i32 %storemerge10, 6
  %v1_396 = icmp eq i1 %v10_393, false
  br i1 %v1_396, label %dec_label_pc_401, label %dec_label_pc_398

dec_label_pc_398:                                 ; preds = %dec_label_pc_393
  %tmp346 = fpext float %v4_e2 to x86_fp80
  store x86_fp80 %tmp346, x86_fp80* %st7.global-to-local, align 4
  %v3_39c = add i32 %v0_177, 32
  %v4_39c = inttoptr i32 %v3_39c to double*
  %v5_39c = load double, double* %v4_39c, align 4
  %v6_39c = fpext double %v5_39c to x86_fp80
  %v7_39c = fmul x86_fp80 %tmp346, %v6_39c
  store x86_fp80 %v7_39c, x86_fp80* %st7.global-to-local, align 4
  %v3_39f = add i32 %v0_177, -72
  %v4_39f = inttoptr i32 %v3_39f to double*
  %v5_39f = load double, double* %v4_39f, align 4
  %v6_39f = fpext double %v5_39f to x86_fp80
  %v7_39f = fmul x86_fp80 %v7_39c, %v6_39f
  %v3_3a6 = load double, double* %stack_var_-60, align 8
  %v8_3a6 = fpext double %v3_3a6 to x86_fp80
  store x86_fp80 %v8_3a6, x86_fp80* %st7.global-to-local, align 4
  %tmp347 = fpext float %v4_106 to x86_fp80
  %v4_3ad = load double, double* bitcast (i32* @edi to double*), align 8
  %v5_3ad = fpext double %v4_3ad to x86_fp80
  %v6_3ad = fmul x86_fp80 %tmp347, %v5_3ad
  store x86_fp80 %v6_3ad, x86_fp80* %st6.global-to-local, align 4
  %tmp348 = bitcast double %v4_3ad to i64
  %tmp349 = trunc i64 %tmp348 to i32
  %v3_3af = add i32 %tmp349, -16
  %v4_3af = inttoptr i32 %v3_3af to double*
  %v5_3af = load double, double* %v4_3af, align 4
  %v6_3af = fpext double %v5_3af to x86_fp80
  %v7_3af = fmul x86_fp80 %v6_3ad, %v6_3af
  store x86_fp80 %v7_3af, x86_fp80* %st6.global-to-local, align 4
  %v5_3b4 = load double, double* %v4_3af, align 4
  %v6_3b4 = fpext double %v5_3b4 to x86_fp80
  %v7_3b4 = fsub x86_fp80 0xK3FFF8000000000000000, %v6_3b4
  %v3_3b7 = add i32 %tmp349, 8
  %v4_3b7 = inttoptr i32 %v3_3b7 to double*
  %v5_3b7 = load double, double* %v4_3b7, align 4
  %v6_3b7 = fpext double %v5_3b7 to x86_fp80
  %v7_3b7 = fmul x86_fp80 %v7_3b4, %v6_3b7
  %v4_3ba = fadd x86_fp80 %v7_3af, %v7_3b7
  %v9_3bc = fsub x86_fp80 %v4_3ba, %v7_39f
  %v4_3c4 = fadd x86_fp80 %v9_3bc, %v8_3a6
  %v2_3c8 = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v4_3c4)
  store x86_fp80 %v2_3c8, x86_fp80* %st6.global-to-local, align 4
  %v4_3ca = fadd x86_fp80 %v4_3c4, %v2_3c8
  store x86_fp80 %v4_3ca, x86_fp80* %st7.global-to-local, align 4
  %v5_3cc = load double, double* %v4_3b7, align 4
  %v6_3cc = fpext double %v5_3cc to x86_fp80
  %v7_3cc = fmul x86_fp80 %v4_3ca, %v6_3cc
  %v3_3cf = fmul x86_fp80 %v7_3cc, %v7_3cc
  store x86_fp80 %v3_3cf, x86_fp80* %st7.global-to-local, align 4
  %v5_3d1 = fpext double %v4_69 to x86_fp80
  %v9_3d5 = fadd x86_fp80 %v9_3bc, %v5_3d1
  %v2_3db = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v9_3d5)
  %v4_3dd = fadd x86_fp80 %v9_3d5, %v2_3db
  store x86_fp80 %v4_3dd, x86_fp80* %st6.global-to-local, align 4
  %v5_3df = load double, double* %v4_3b7, align 4
  %v6_3df = fpext double %v5_3df to x86_fp80
  %v7_3df = fmul x86_fp80 %v4_3dd, %v6_3df
  %v3_3e2 = fmul x86_fp80 %v7_3df, %v7_3df
  %v4_3e4 = fadd x86_fp80 %v3_3cf, %v3_3e2
  %v9_3e8 = fadd x86_fp80 %v4_3e4, %v9_3bc
  %v2_3ee = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v9_3e8)
  store x86_fp80 %v2_3ee, x86_fp80* %st6.global-to-local, align 4
  %v4_3f0 = fadd x86_fp80 %v9_3e8, %v2_3ee
  store x86_fp80 %v4_3f0, x86_fp80* %st7.global-to-local, align 4
  %v5_3f2 = load double, double* %v4_3b7, align 4
  %v6_3f2 = fpext double %v5_3f2 to x86_fp80
  %v7_3f2 = fmul x86_fp80 %v4_3f0, %v6_3f2
  %v3_3f5 = fmul x86_fp80 %v7_3f2, %v7_3f2
  %v4_3f7 = fadd x86_fp80 %v3_3f5, %v3_3f5
  store i3 %v7_149, i3* %fpu_stat_TOP.global-to-local, align 1
  %v2_3f9 = call x86_fp80 @llvm.sqrt.f80(x86_fp80 %v4_3f7)
  %v9_3fb = fadd x86_fp80 %v2_3f9, %v7_39f
  store x86_fp80 %v9_3fb, x86_fp80* %st7.global-to-local, align 4
  br label %dec_label_pc_452

dec_label_pc_401:                                 ; preds = %dec_label_pc_393, %dec_label_pc_40
  %v3_401 = load double, double* %stack_var_-60, align 8
  %v8_401 = fpext double %v3_401 to x86_fp80
  store x86_fp80 %v8_401, x86_fp80* %st7.global-to-local, align 4
  %tmp350 = fpext float %v4_106 to x86_fp80
  %v7_404 = add i3 %v0_4b, -3
  %v4_408 = load double, double* bitcast (i32* @edi to double*), align 8
  %v5_408 = fpext double %v4_408 to x86_fp80
  %v6_408 = fmul x86_fp80 %tmp350, %v5_408
  store x86_fp80 %v6_408, x86_fp80* %st6.global-to-local, align 4
  %tmp351 = bitcast double %v4_408 to i64
  %tmp352 = trunc i64 %tmp351 to i32
  %v3_40a = add i32 %tmp352, -16
  %v4_40a = inttoptr i32 %v3_40a to double*
  %v5_40a = load double, double* %v4_40a, align 4
  %v6_40a = fpext double %v5_40a to x86_fp80
  %v7_40a = fmul x86_fp80 %v6_408, %v6_40a
  %v4_40d = fadd x86_fp80 %v7_40a, %v8_401
  store x86_fp80 %v4_40d, x86_fp80* %st7.global-to-local, align 4
  store x86_fp80 0xK3FFF8000000000000000, x86_fp80* %st6.global-to-local, align 4
  %v5_411 = load double, double* %v4_40a, align 4
  %v6_411 = fpext double %v5_411 to x86_fp80
  %v7_411 = fsub x86_fp80 0xK3FFF8000000000000000, %v6_411
  store x86_fp80 %v7_411, x86_fp80* %st6.global-to-local, align 4
  %v3_414 = add i32 %tmp352, 8
  %v4_414 = inttoptr i32 %v3_414 to double*
  %v5_414 = load double, double* %v4_414, align 4
  %v6_414 = fpext double %v5_414 to x86_fp80
  %v7_414 = fmul x86_fp80 %v7_411, %v6_414
  %v4_417 = fadd x86_fp80 %v4_40d, %v7_414
  store x86_fp80 %v4_417, x86_fp80* %st7.global-to-local, align 4
  %v5_419 = fpext double %v4_69 to x86_fp80
  store x86_fp80 %v5_419, x86_fp80* %st6.global-to-local, align 4
  %tmp353 = fpext float %v4_e2 to x86_fp80
  %v6_421 = fmul x86_fp80 %tmp353, %v5_408
  %v3_423 = add i32 %tmp352, -72
  %v4_423 = inttoptr i32 %v3_423 to double*
  %v5_423 = load double, double* %v4_423, align 4
  %v6_423 = fpext double %v5_423 to x86_fp80
  %v7_423 = fmul x86_fp80 %v6_421, %v6_423
  %v4_426 = fadd x86_fp80 %v7_423, %v5_419
  store x86_fp80 %v4_426, x86_fp80* %st6.global-to-local, align 4
  %v5_42a = load double, double* %v4_423, align 4
  %v6_42a = fpext double %v5_42a to x86_fp80
  %v7_42a = fsub x86_fp80 0xK3FFF8000000000000000, %v6_42a
  %v5_42d = load double, double* %v4_414, align 4
  %v6_42d = fpext double %v5_42d to x86_fp80
  %v7_42d = fmul x86_fp80 %v7_42a, %v6_42d
  %v4_430 = fadd x86_fp80 %v4_426, %v7_42d
  store x86_fp80 %v4_430, x86_fp80* %st6.global-to-local, align 4
  store i3 %v7_404, i3* %fpu_stat_TOP.global-to-local, align 1
  %v0_434 = call i32 @__asm_wait()
  %v0_435 = load i32, i32* %fpsw.global-to-local, align 4
  %v1_435 = call i16 @__asm_fnstsw(i32 %v0_435)
  %v2_435 = sext i16 %v1_435 to i32
  %v1_437 = udiv i32 %v2_435, 256
  %v3_437359 = and i32 %v1_437, 65
  %v4_437 = icmp eq i32 %v3_437359, 0
  %v1_43a = icmp eq i1 %v4_437, false
  %v0_440 = load i3, i3* %fpu_stat_TOP.global-to-local, align 1
  br i1 %v1_43a, label %dec_label_pc_440, label %dec_label_pc_43c

dec_label_pc_43c:                                 ; preds = %dec_label_pc_401
  %v1_440 = load x86_fp80, x86_fp80* %st6.global-to-local, align 4
  store x86_fp80 %v1_440, x86_fp80* %st7.global-to-local, align 4
  %v5_43c = add i3 %v0_440, 1
  store i3 %v5_43c, i3* %fpu_stat_TOP.global-to-local, align 1
  br label %dec_label_pc_442

dec_label_pc_440:                                 ; preds = %dec_label_pc_401
  %v4_440 = add i3 %v0_440, 1
  store i3 %v4_440, i3* %fpu_stat_TOP.global-to-local, align 1
  br label %dec_label_pc_442

dec_label_pc_442:                                 ; preds = %dec_label_pc_20f, %dec_label_pc_440, %dec_label_pc_43c, %dec_label_pc_31e, %dec_label_pc_27b, %dec_label_pc_1cb, %dec_label_pc_188
  %v0_444 = call i32 @__asm_wait()
  %v0_445 = load i32, i32* %fpsw.global-to-local, align 4
  %v1_445 = call i16 @__asm_fnstsw(i32 %v0_445)
  %v2_445 = sext i16 %v1_445 to i32
  %v4_445 = and i32 %v0_444, -65536
  %v3_447 = and i32 %v2_445, 16640
  %v2_445.masked = and i32 %v2_445, -65281
  %v12_447 = or i32 %v4_445, %v2_445.masked
  %v13_447 = or i32 %v12_447, %v3_447
  %v0_450 = load i3, i3* %fpu_stat_TOP.global-to-local, align 1
  %v4_450 = add i3 %v0_450, 1
  store i3 %v4_450, i3* %fpu_stat_TOP.global-to-local, align 1
  %v0_452.pre = load i32, i32* @edi, align 8
  %v1_45b.pre.pre = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  br label %dec_label_pc_452

dec_label_pc_452:                                 ; preds = %dec_label_pc_442, %dec_label_pc_398
  %v0_461 = phi i32 [ %v13_447, %dec_label_pc_442 ], [ %storemerge10, %dec_label_pc_398 ]
  %v1_45b.pre = phi x86_fp80 [ %v1_45b.pre.pre, %dec_label_pc_442 ], [ %v9_3fb, %dec_label_pc_398 ]
  %v0_45b = phi i3 [ %v4_450, %dec_label_pc_442 ], [ %v7_149, %dec_label_pc_398 ]
  %v2_458 = phi i32 [ %v0_452.pre, %dec_label_pc_442 ], [ %tmp349, %dec_label_pc_398 ]
  %v1_452 = add i32 %v2_458, -76
  %v2_452 = inttoptr i32 %v1_452 to i32*
  %v3_452 = load i32, i32* %v2_452, align 4
  %v10_452 = icmp eq i32 %v3_452, 0
  %v1_456 = icmp eq i1 %v10_452, false
  br i1 %v1_456, label %dec_label_pc_45b, label %dec_label_pc_458

dec_label_pc_458:                                 ; preds = %dec_label_pc_452
  %v3_458 = add i32 %v2_458, -32
  %v4_458 = inttoptr i32 %v3_458 to double*
  %v5_458 = load double, double* %v4_458, align 4
  %v6_458 = fpext double %v5_458 to x86_fp80
  %v7_458 = fdiv x86_fp80 %v1_45b.pre, %v6_458
  store x86_fp80 %v7_458, x86_fp80* %st7.global-to-local, align 4
  br label %dec_label_pc_45b

dec_label_pc_45b:                                 ; preds = %dec_label_pc_452, %dec_label_pc_458
  %v1_45b = phi x86_fp80 [ %v7_458, %dec_label_pc_458 ], [ %v1_45b.pre, %dec_label_pc_452 ]
  %v2_45b = load i32, i32* %esi.global-to-local, align 4
  %v3_45b = add i32 %v2_45b, -32
  %v4_45b = fptrunc x86_fp80 %v1_45b to double
  %v5_45b = inttoptr i32 %v3_45b to double*
  store double %v4_45b, double* %v5_45b, align 4
  %v6_45b = add i3 %v0_45b, 1
  store i3 %v6_45b, i3* %fpu_stat_TOP.global-to-local, align 1
  ret i32 %v0_461
}

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 i128 @__asm_addpd(i128, i128) local_unnamed_addr

declare i128 @__asm_addsd(i128, i64) local_unnamed_addr

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

declare i32 @__asm_movsd.2(i128) local_unnamed_addr

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

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

declare i32 @__asm_wait() local_unnamed_addr

declare i16 @__asm_fnstsw(i32) local_unnamed_addr

declare double @__decompiler_undefined_function_4() local_unnamed_addr

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

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

attributes #0 = { nounwind readnone speculatable }
