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

@eax = internal unnamed_addr global i32 0, align 8
@ecx = internal unnamed_addr global i32 0, align 8
@edx = internal unnamed_addr global i32 0, align 8

define i32 @function_0(i32 %arg1) local_unnamed_addr {
dec_label_pc_0:
  %ebx.global-to-local = alloca i32, align 4
  %edi.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
  %st7.global-to-local = alloca x86_fp80, align 4
  %stack_var_-16 = alloca i32, align 4
  %v0_3 = load i32, i32* %esi.global-to-local, align 4
  %v0_4 = load i32, i32* %edi.global-to-local, align 4
  %v0_5 = load i32, i32* %ebx.global-to-local, align 4
  store i32 %v0_5, i32* %stack_var_-16, align 4
  store i32 %arg1, i32* %edi.global-to-local, align 4
  %v0_9 = load i32, i32* @eax, align 8
  store i32 %v0_9, i32* %ebx.global-to-local, align 4
  %v1_b = add i32 %arg1, 48
  %v2_b = inttoptr i32 %v1_b to i32*
  %v3_b = load i32, i32* %v2_b, align 4
  store i32 %v3_b, i32* %esi.global-to-local, align 4
  %v1_e = add i32 %arg1, 128
  store i32 %v1_e, i32* %edi.global-to-local, align 4
  %v0_14 = load i3, i3* %fpu_stat_TOP.global-to-local, align 1
  %v2_14 = add i32 %v3_b, -40
  %v3_14 = inttoptr i32 %v2_14 to double*
  %v4_14 = load double, double* %v3_14, align 4
  %v5_14 = fpext double %v4_14 to x86_fp80
  store x86_fp80 %v5_14, x86_fp80* %st7.global-to-local, align 4
  %v4_19 = load double, double* bitcast (i32* @eax to double*), align 8
  %v5_19 = fpext double %v4_19 to x86_fp80
  %v6_19 = fmul x86_fp80 %v5_14, %v5_19
  %v1_1b = add i32 %v3_b, -80
  %v2_1b = inttoptr i32 %v1_1b to i32*
  %v3_1b = load i32, i32* %v2_1b, align 4
  %v1_1e = urem i32 %v3_1b, 2
  %v2_1e = icmp eq i32 %v1_1e, 0
  store i32 %v1_1e, i32* @eax, align 8
  %v2_23 = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v6_19)
  %spec.select = select i1 %v2_1e, x86_fp80 %v6_19, x86_fp80 %v2_23
  %v3_25 = fptrunc x86_fp80 %spec.select to double
  %v4_25 = inttoptr i32 %v0_9 to double*
  store double %v3_25, double* %v4_25, align 4
  %v5_25 = add i3 %v0_14, -1
  store i3 %v5_25, i3* %fpu_stat_TOP.global-to-local, align 1
  %v1_27 = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v4_27 = load double, double* bitcast (i32* @edx to double*), align 8
  %v5_27 = fpext double %v4_27 to x86_fp80
  %v6_27 = fmul x86_fp80 %v1_27, %v5_27
  store x86_fp80 %v6_27, x86_fp80* %st7.global-to-local, align 4
  %v3_29 = load i32, i32* %v2_1b, align 4
  %v1_2c = and i32 %v3_29, 2
  %v2_2c = icmp eq i32 %v1_2c, 0
  store i32 %v1_2c, i32* @eax, align 8
  %tmp285 = bitcast double %v4_27 to i64
  %tmp286 = trunc i64 %tmp285 to i32
  br i1 %v2_2c, label %dec_label_pc_33, label %dec_label_pc_31

dec_label_pc_31:                                  ; preds = %dec_label_pc_0
  %v2_31 = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v6_27)
  store x86_fp80 %v2_31, x86_fp80* %st7.global-to-local, align 4
  br label %dec_label_pc_33

dec_label_pc_33:                                  ; preds = %dec_label_pc_31, %dec_label_pc_0
  %v1_33 = phi x86_fp80 [ %v2_31, %dec_label_pc_31 ], [ %v6_27, %dec_label_pc_0 ]
  %v3_33 = fptrunc x86_fp80 %v1_33 to double
  %v4_33 = inttoptr i32 %tmp286 to double*
  store double %v3_33, double* %v4_33, align 4
  %v1_3a = add i32 %v0_9, 4
  %v2_3a = inttoptr i32 %v1_3a to i32*
  %v3_3a = load i32, i32* %v2_3a, align 4
  %v1_3d = and i32 %v3_3a, -1048576
  store i32 %v1_3d, i32* @eax, align 8
  %v3_45 = load double, double* bitcast (i32* @eax to double*), align 8
  %v4_45 = fpext double %v3_45 to x86_fp80
  store x86_fp80 %v4_45, x86_fp80* %st7.global-to-local, align 4
  store i3 %v0_14, i3* %fpu_stat_TOP.global-to-local, align 1
  %v0_4c = load i32, i32* %fpsw.global-to-local, align 4
  %v1_4c = call i16 @__asm_fnstsw(i32 %v0_4c)
  %v2_4c = sext i16 %v1_4c to i32
  %v3_4c = load i32, i32* @eax, align 8
  %v4_4c = and i32 %v3_4c, -65536
  %tmp287 = udiv i32 %v2_4c, 2
  %v12_4e = and i32 %tmp287, 32512
  %v2_4c.masked = and i32 %v2_4c, -65281
  %v13_4e = or i32 %v4_4c, %v2_4c.masked
  %v14_4e = or i32 %v13_4e, %v12_4e
  store i32 %v14_4e, i32* @eax, align 8
  %v15_4e31 = and i32 %v2_4c, 256
  %v16_4e = icmp eq i32 %v15_4e31, 0
  br i1 %v16_4e, label %dec_label_pc_52, label %dec_label_pc_97

dec_label_pc_52:                                  ; preds = %dec_label_pc_33
  %v3_52 = load double, double* bitcast (i32* @eax to double*), align 8
  %v4_52 = fpext double %v3_52 to x86_fp80
  store x86_fp80 %v4_52, x86_fp80* %st7.global-to-local, align 4
  %v0_59 = load i32, i32* %fpsw.global-to-local, align 4
  %v1_59 = call i16 @__asm_fnstsw(i32 %v0_59)
  %v2_59 = sext i16 %v1_59 to i32
  %v3_59 = load i32, i32* @eax, align 8
  %v4_59 = and i32 %v3_59, -65536
  %tmp288 = udiv i32 %v2_59, 2
  %v12_5b = and i32 %tmp288, 32512
  %v2_59.masked = and i32 %v2_59, -65281
  %v13_5b = or i32 %v4_59, %v2_59.masked
  %v14_5b = or i32 %v13_5b, %v12_5b
  store i32 %v14_5b, i32* @eax, align 8
  %v15_5b32 = and i32 %v2_59, 256
  %v16_5b = icmp ne i32 %v15_5b32, 0
  %v1_5d = icmp eq i1 %v16_5b, false
  br i1 %v1_5d, label %dec_label_pc_97, label %dec_label_pc_5f

dec_label_pc_5f:                                  ; preds = %dec_label_pc_52
  %v0_5f = load i32, i32* %esi.global-to-local, align 4
  %v1_5f = add i32 %v0_5f, -80
  %v2_5f = inttoptr i32 %v1_5f to i32*
  %v3_5f = load i32, i32* %v2_5f, align 4
  %v1_62 = and i32 %v3_5f, 4
  %v2_62 = icmp eq i32 %v1_62, 0
  store i32 %v1_62, i32* @eax, align 8
  br i1 %v2_62, label %dec_label_pc_5f.dec_label_pc_85_crit_edge, label %dec_label_pc_67

dec_label_pc_5f.dec_label_pc_85_crit_edge:        ; preds = %dec_label_pc_5f
  %v0_8a.pre = load i32, i32* %ebx.global-to-local, align 4
  %.pre44 = add i32 %v0_8a.pre, 4
  %.pre45 = inttoptr i32 %.pre44 to i32*
  br label %dec_label_pc_85

dec_label_pc_67:                                  ; preds = %dec_label_pc_5f
  %v3_67 = load double, double* bitcast (i32* @eax to double*), align 8
  %v4_67 = fpext double %v3_67 to x86_fp80
  store x86_fp80 %v4_67, x86_fp80* %st7.global-to-local, align 4
  %v2_69 = add i32 %v0_5f, 32
  %v3_69 = inttoptr i32 %v2_69 to double*
  %v4_69 = load double, double* %v3_69, align 4
  %v5_69 = fpext double %v4_69 to x86_fp80
  %v4_6d = fmul x86_fp80 %v4_67, %v5_69
  %v2_71 = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v4_67)
  %v4_73 = fdiv x86_fp80 %v4_6d, %v2_71
  %v4_75 = fadd x86_fp80 %v4_73, %v4_67
  store x86_fp80 %v4_75, x86_fp80* %st7.global-to-local, align 4
  %v2_77 = load i32, i32* %ebx.global-to-local, align 4
  %v3_77 = fptrunc x86_fp80 %v4_75 to double
  %v4_77 = inttoptr i32 %v2_77 to double*
  store double %v3_77, double* %v4_77, align 4
  %v1_79 = add i32 %v2_77, 4
  %v2_79 = inttoptr i32 %v1_79 to i32*
  %v3_79 = load i32, i32* %v2_79, align 4
  %v1_7c = and i32 %v3_79, -1048576
  store i32 %v1_7c, i32* @eax, align 8
  br label %dec_label_pc_85

dec_label_pc_85:                                  ; preds = %dec_label_pc_5f.dec_label_pc_85_crit_edge, %dec_label_pc_67
  %v2_8a.pre-phi = phi i32* [ %.pre45, %dec_label_pc_5f.dec_label_pc_85_crit_edge ], [ %v2_79, %dec_label_pc_67 ]
  %stack_var_8.0 = phi i32 [ %v1_3d, %dec_label_pc_5f.dec_label_pc_85_crit_edge ], [ %v1_7c, %dec_label_pc_67 ]
  store i32 1048575, i32* @eax, align 8
  %v3_8a = load i32, i32* %v2_8a.pre-phi, align 4
  %v5_8a = urem i32 %v3_8a, 1048576
  store i32 %v5_8a, i32* %v2_8a.pre-phi, align 4
  store i32 1072693248, i32* @eax, align 8
  %v0_92 = load i32, i32* %ebx.global-to-local, align 4
  %v1_92 = add i32 %v0_92, 4
  %v2_92 = inttoptr i32 %v1_92 to i32*
  %v3_92 = load i32, i32* %v2_92, align 4
  %v5_92 = xor i32 %v3_92, 1072693248
  store i32 %v5_92, i32* %v2_92, align 4
  br label %dec_label_pc_a7

dec_label_pc_97:                                  ; preds = %dec_label_pc_33, %dec_label_pc_52
  %v1_9a = and i32 %v3_3a, -2147483648
  %v1_9f18 = or i32 %v1_9a, 1072693248
  store i32 %v1_9f18, i32* @eax, align 8
  br label %dec_label_pc_a7

dec_label_pc_a7:                                  ; preds = %dec_label_pc_97, %dec_label_pc_85
  %stack_var_8.1 = phi i32 [ %v1_9f18, %dec_label_pc_97 ], [ %stack_var_8.0, %dec_label_pc_85 ]
  %v3_a7 = load double, double* bitcast (i32* @eax to double*), align 8
  %tmp289 = call double @llvm.fabs.f64(double %v3_a7)
  %v2_a9 = fpext double %tmp289 to x86_fp80
  store x86_fp80 %v2_a9, x86_fp80* %st7.global-to-local, align 4
  %v2_ab = load i32, i32* %esi.global-to-local, align 4
  %v3_ab = inttoptr i32 %v2_ab to double*
  %v4_ab = load double, double* %v3_ab, align 4
  %v5_ab = fpext double %v4_ab to x86_fp80
  %v6_ab = fadd x86_fp80 %v2_a9, %v5_ab
  %v2_ad = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v6_ab)
  %v2_af = fsub x86_fp80 0xK80000000000000000000, %v2_ad
  store x86_fp80 %v2_af, x86_fp80* %st7.global-to-local, align 4
  %v3_b1 = add i32 %v2_ab, 8
  %v4_b1 = inttoptr i32 %v3_b1 to double*
  %v5_b1 = load double, double* %v4_b1, align 4
  %v6_b1 = fpext double %v5_b1 to x86_fp80
  %v7_b1 = fsub x86_fp80 %v6_b1, %v2_ad
  %v2_b4 = load i32, i32* %ebx.global-to-local, align 4
  %v3_b4 = fptrunc x86_fp80 %v7_b1 to double
  %v4_b4 = inttoptr i32 %v2_b4 to double*
  store double %v3_b4, double* %v4_b4, align 4
  store i32 0, i32* @eax, align 8
  %v4_c1 = load double, double* bitcast (i32* @eax to double*), align 8
  %v5_c1 = fpext double %v4_c1 to x86_fp80
  %v6_c1 = fmul x86_fp80 %v5_c1, 0xK00000000000000000000
  store x86_fp80 %v6_c1, x86_fp80* %st7.global-to-local, align 4
  %v3_c3 = fptrunc x86_fp80 %v6_c1 to double
  store double %v3_c3, double* %v4_b4, align 4
  %v1_c8 = mul i32 %stack_var_8.1, 2048
  %v2_cd = and i32 %v1_c8, -2147483648
  store i32 %v2_cd, i32* @eax, align 8
  %v1_d0 = add i32 %v2_b4, 4
  %v2_d0 = inttoptr i32 %v1_d0 to i32*
  %v3_d0 = load i32, i32* %v2_d0, align 4
  %v5_d0 = xor i32 %v3_d0, %v2_cd
  store i32 %v5_d0, i32* %v2_d0, align 4
  %v0_d5 = load i32, i32* @edx, align 8
  %v1_d5 = add i32 %v0_d5, 4
  %v2_d5 = inttoptr i32 %v1_d5 to i32*
  %v3_d5 = load i32, i32* %v2_d5, align 4
  %v1_d8 = and i32 %v3_d5, -1048576
  store i32 %v1_d8, i32* @eax, align 8
  %v3_e0 = load double, double* bitcast (i32* @edx to double*), align 8
  %v4_e0 = fpext double %v3_e0 to x86_fp80
  store x86_fp80 %v4_e0, x86_fp80* %st7.global-to-local, align 4
  %v0_e7 = load i32, i32* %fpsw.global-to-local, align 4
  %v1_e7 = call i16 @__asm_fnstsw(i32 %v0_e7)
  %v2_e7 = sext i16 %v1_e7 to i32
  %v3_e7 = load i32, i32* @eax, align 8
  %v4_e7 = and i32 %v3_e7, -65536
  %tmp290 = udiv i32 %v2_e7, 2
  %v12_e9 = and i32 %tmp290, 32512
  %v2_e7.masked = and i32 %v2_e7, -65281
  %v13_e9 = or i32 %v4_e7, %v2_e7.masked
  %v14_e9 = or i32 %v13_e9, %v12_e9
  store i32 %v14_e9, i32* @eax, align 8
  %v15_e933 = and i32 %v2_e7, 256
  %v16_e9 = icmp eq i32 %v15_e933, 0
  br i1 %v16_e9, label %dec_label_pc_ed, label %dec_label_pc_132

dec_label_pc_ed:                                  ; preds = %dec_label_pc_a7
  %v3_ed = load double, double* bitcast (i32* @edx to double*), align 8
  %v4_ed = fpext double %v3_ed to x86_fp80
  store x86_fp80 %v4_ed, x86_fp80* %st7.global-to-local, align 4
  %v0_f4 = load i32, i32* %fpsw.global-to-local, align 4
  %v1_f4 = call i16 @__asm_fnstsw(i32 %v0_f4)
  %v2_f4 = sext i16 %v1_f4 to i32
  %v3_f4 = load i32, i32* @eax, align 8
  %v4_f4 = and i32 %v3_f4, -65536
  %tmp291 = udiv i32 %v2_f4, 2
  %v12_f6 = and i32 %tmp291, 32512
  %v2_f4.masked = and i32 %v2_f4, -65281
  %v13_f6 = or i32 %v4_f4, %v2_f4.masked
  %v14_f6 = or i32 %v13_f6, %v12_f6
  store i32 %v14_f6, i32* @eax, align 8
  %v15_f634 = and i32 %v2_f4, 256
  %v16_f6 = icmp ne i32 %v15_f634, 0
  %v1_f8 = icmp eq i1 %v16_f6, false
  br i1 %v1_f8, label %dec_label_pc_132, label %dec_label_pc_fa

dec_label_pc_fa:                                  ; preds = %dec_label_pc_ed
  %v0_fa = load i32, i32* %esi.global-to-local, align 4
  %v1_fa = add i32 %v0_fa, -80
  %v2_fa = inttoptr i32 %v1_fa to i32*
  %v3_fa = load i32, i32* %v2_fa, align 4
  %v1_fd = and i32 %v3_fa, 8
  %v2_fd = icmp eq i32 %v1_fd, 0
  store i32 %v1_fd, i32* @eax, align 8
  br i1 %v2_fd, label %dec_label_pc_fa.dec_label_pc_120_crit_edge, label %dec_label_pc_102

dec_label_pc_fa.dec_label_pc_120_crit_edge:       ; preds = %dec_label_pc_fa
  %v0_125.pre = load i32, i32* @edx, align 8
  %.pre = add i32 %v0_125.pre, 4
  %.pre43 = inttoptr i32 %.pre to i32*
  br label %dec_label_pc_120

dec_label_pc_102:                                 ; preds = %dec_label_pc_fa
  %v3_102 = load double, double* bitcast (i32* @edx to double*), align 8
  %v4_102 = fpext double %v3_102 to x86_fp80
  store x86_fp80 %v4_102, x86_fp80* %st7.global-to-local, align 4
  %v2_104 = add i32 %v0_fa, 32
  %v3_104 = inttoptr i32 %v2_104 to double*
  %v4_104 = load double, double* %v3_104, align 4
  %v5_104 = fpext double %v4_104 to x86_fp80
  %v4_108 = fmul x86_fp80 %v4_102, %v5_104
  %v2_10c = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v4_102)
  %v4_10e = fdiv x86_fp80 %v4_108, %v2_10c
  %v4_110 = fadd x86_fp80 %v4_10e, %v4_102
  store x86_fp80 %v4_110, x86_fp80* %st7.global-to-local, align 4
  %tmp292 = bitcast double %v3_102 to i64
  %tmp293 = trunc i64 %tmp292 to i32
  %v3_112 = fptrunc x86_fp80 %v4_110 to double
  %v4_112 = inttoptr i32 %tmp293 to double*
  store double %v3_112, double* %v4_112, align 4
  %v0_114 = load i32, i32* @edx, align 8
  %v1_114 = add i32 %v0_114, 4
  %v2_114 = inttoptr i32 %v1_114 to i32*
  %v3_114 = load i32, i32* %v2_114, align 4
  %v1_117 = and i32 %v3_114, -1048576
  store i32 %v1_117, i32* @eax, align 8
  br label %dec_label_pc_120

dec_label_pc_120:                                 ; preds = %dec_label_pc_fa.dec_label_pc_120_crit_edge, %dec_label_pc_102
  %v2_125.pre-phi = phi i32* [ %.pre43, %dec_label_pc_fa.dec_label_pc_120_crit_edge ], [ %v2_114, %dec_label_pc_102 ]
  %stack_var_8.2 = phi i32 [ %v1_d8, %dec_label_pc_fa.dec_label_pc_120_crit_edge ], [ %v1_117, %dec_label_pc_102 ]
  store i32 1048575, i32* @eax, align 8
  %v3_125 = load i32, i32* %v2_125.pre-phi, align 4
  %v5_125 = urem i32 %v3_125, 1048576
  store i32 %v5_125, i32* %v2_125.pre-phi, align 4
  store i32 1072693248, i32* @eax, align 8
  %v0_12d = load i32, i32* @edx, align 8
  %v1_12d = add i32 %v0_12d, 4
  %v2_12d = inttoptr i32 %v1_12d to i32*
  %v3_12d = load i32, i32* %v2_12d, align 4
  %v5_12d = xor i32 %v3_12d, 1072693248
  store i32 %v5_12d, i32* %v2_12d, align 4
  br label %dec_label_pc_142

dec_label_pc_132:                                 ; preds = %dec_label_pc_a7, %dec_label_pc_ed
  %v1_135 = and i32 %v3_d5, -2147483648
  %v1_13a15 = or i32 %v1_135, 1072693248
  store i32 %v1_13a15, i32* @eax, align 8
  br label %dec_label_pc_142

dec_label_pc_142:                                 ; preds = %dec_label_pc_132, %dec_label_pc_120
  %stack_var_8.3 = phi i32 [ %v1_13a15, %dec_label_pc_132 ], [ %stack_var_8.2, %dec_label_pc_120 ]
  %v0_142 = load i3, i3* %fpu_stat_TOP.global-to-local, align 1
  %v3_142 = load double, double* bitcast (i32* @edx to double*), align 8
  %tmp294 = call double @llvm.fabs.f64(double %v3_142)
  %v2_144 = fpext double %tmp294 to x86_fp80
  store x86_fp80 %v2_144, x86_fp80* %st7.global-to-local, align 4
  %v2_146 = load i32, i32* %esi.global-to-local, align 4
  %v3_146 = inttoptr i32 %v2_146 to double*
  %v4_146 = load double, double* %v3_146, align 4
  %v5_146 = fpext double %v4_146 to x86_fp80
  %v6_146 = fadd x86_fp80 %v2_144, %v5_146
  %v2_148 = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v6_146)
  %v2_14a = fsub x86_fp80 0xK80000000000000000000, %v2_148
  store x86_fp80 %v2_14a, x86_fp80* %st7.global-to-local, align 4
  %v3_14c = add i32 %v2_146, 8
  %v4_14c = inttoptr i32 %v3_14c to double*
  %v5_14c = load double, double* %v4_14c, align 4
  %v6_14c = fpext double %v5_14c to x86_fp80
  %v7_14c = fsub x86_fp80 %v6_14c, %v2_148
  %tmp295 = bitcast double %v3_142 to i64
  %tmp296 = trunc i64 %tmp295 to i32
  %v3_14f = fptrunc x86_fp80 %v7_14c to double
  %v4_14f = inttoptr i32 %tmp296 to double*
  store double %v3_14f, double* %v4_14f, align 4
  %v4_15c = load double, double* bitcast (i32* @edx to double*), align 8
  %v5_15c = fpext double %v4_15c to x86_fp80
  %v6_15c = fmul x86_fp80 %v5_15c, 0xK00000000000000000000
  store x86_fp80 %v6_15c, x86_fp80* %st7.global-to-local, align 4
  %tmp297 = bitcast double %v4_15c to i64
  %tmp298 = trunc i64 %tmp297 to i32
  %v3_15e = fptrunc x86_fp80 %v6_15c to double
  %v4_15e = inttoptr i32 %tmp298 to double*
  store double %v3_15e, double* %v4_15e, align 4
  %v1_163 = mul i32 %stack_var_8.3, 2048
  %v2_168 = and i32 %v1_163, -2147483648
  store i32 %v2_168, i32* @eax, align 8
  %v0_16b = load i32, i32* @edx, align 8
  %v1_16b = add i32 %v0_16b, 4
  %v2_16b = inttoptr i32 %v1_16b to i32*
  %v3_16b = load i32, i32* %v2_16b, align 4
  %v5_16b = xor i32 %v3_16b, %v2_168
  store i32 %v5_16b, i32* %v2_16b, align 4
  %v3_174 = load double, double* bitcast (i32* @eax to double*), align 8
  %v4_174 = fpext double %v3_174 to x86_fp80
  store x86_fp80 %v4_174, x86_fp80* %st7.global-to-local, align 4
  %v2_176 = load i32, i32* %esi.global-to-local, align 4
  %v3_176 = add i32 %v2_176, -40
  %v4_176 = inttoptr i32 %v3_176 to double*
  %v5_176 = load double, double* %v4_176, align 4
  %v6_176 = fpext double %v5_176 to x86_fp80
  %v7_176 = fdiv x86_fp80 %v4_174, %v6_176
  store x86_fp80 %v7_176, x86_fp80* %st7.global-to-local, align 4
  %v3_179 = load double, double* bitcast (i32* @edx to double*), align 8
  %v4_179 = fpext double %v3_179 to x86_fp80
  %v5_17b = load double, double* %v4_176, align 4
  %v6_17b = fpext double %v5_17b to x86_fp80
  %v7_17b = fdiv x86_fp80 %v4_179, %v6_17b
  %v3_17f = load double, double* bitcast (i32* @ecx to double*), align 8
  %v4_17f = fpext double %v3_17f to x86_fp80
  %v2_182 = xor i3 %v0_142, -4
  %v3_184 = add i32 %v2_176, -68
  %v4_184 = inttoptr i32 %v3_184 to float*
  %v5_184 = load float, float* %v4_184, align 4
  %v6_184 = fpext float %v5_184 to x86_fp80
  %v7_184 = fmul x86_fp80 %v4_17f, %v6_184
  %v3_189 = add i32 %v2_176, -72
  %v4_189 = inttoptr i32 %v3_189 to float*
  %v5_189 = load float, float* %v4_189, align 4
  %v6_189 = fpext float %v5_189 to x86_fp80
  %v7_189 = fmul x86_fp80 %v7_17b, %v6_189
  %v4_18c = fadd x86_fp80 %v7_184, %v7_189
  %v3_190 = add i32 %v2_176, -76
  %v4_190 = inttoptr i32 %v3_190 to float*
  %v5_190 = load float, float* %v4_190, align 4
  %v6_190 = fpext float %v5_190 to x86_fp80
  %v7_190 = fmul x86_fp80 %v7_176, %v6_190
  %v4_193 = fadd x86_fp80 %v7_190, %v4_18c
  store x86_fp80 %v4_193, x86_fp80* %st7.global-to-local, align 4
  store i3 %v2_182, i3* %fpu_stat_TOP.global-to-local, align 1
  %v0_1cf = load i32, i32* %fpsw.global-to-local, align 4
  %v1_1cf = call i16 @__asm_fnstsw(i32 %v0_1cf)
  %v2_1cf = sext i16 %v1_1cf to i32
  %v3_1cf = load i32, i32* @eax, align 8
  %v4_1cf = and i32 %v3_1cf, -65536
  %tmp299 = udiv i32 %v2_1cf, 2
  %v12_1d1 = and i32 %tmp299, 32512
  %v2_1cf.masked = and i32 %v2_1cf, -65281
  %v13_1d1 = or i32 %v4_1cf, %v2_1cf.masked
  %v14_1d1 = or i32 %v13_1d1, %v12_1d1
  store i32 %v14_1d1, i32* @eax, align 8
  %v15_1d135 = and i32 %v2_1cf, 256
  %v16_1d1 = icmp ne i32 %v15_1d135, 0
  %v1_1d3 = icmp eq i1 %v16_1d1, false
  %v0_1dc = load i3, i3* %fpu_stat_TOP.global-to-local, align 1
  br i1 %v1_1d3, label %dec_label_pc_1dc, label %dec_label_pc_1d5

dec_label_pc_1d5:                                 ; preds = %dec_label_pc_142
  %v1_1d7 = load i32, i32* %esi.global-to-local, align 4
  %v2_1d7 = add i32 %v1_1d7, -24
  %v3_1d7 = inttoptr i32 %v2_1d7 to double*
  %v4_1d7 = load double, double* %v3_1d7, align 4
  %v5_1d7 = fpext double %v4_1d7 to x86_fp80
  store x86_fp80 %v5_1d7, x86_fp80* %st7.global-to-local, align 4
  br label %dec_label_pc_1f2

dec_label_pc_1dc:                                 ; preds = %dec_label_pc_142
  %v1_1dc = add i3 %v0_1dc, -1
  store x86_fp80 0xK3FFF8000000000000000, x86_fp80* %st7.global-to-local, align 4
  store i3 %v1_1dc, i3* %fpu_stat_TOP.global-to-local, align 1
  %v0_1e0 = load i32, i32* %fpsw.global-to-local, align 4
  %v1_1e0 = call i16 @__asm_fnstsw(i32 %v0_1e0)
  %v2_1e0 = sext i16 %v1_1e0 to i32
  %v3_1e0 = load i32, i32* @eax, align 8
  %v4_1e0 = and i32 %v3_1e0, -65536
  %tmp300 = udiv i32 %v2_1e0, 2
  %v12_1e2 = and i32 %tmp300, 32512
  %v2_1e0.masked = and i32 %v2_1e0, -65281
  %v13_1e2 = or i32 %v4_1e0, %v2_1e0.masked
  %v14_1e2 = or i32 %v13_1e2, %v12_1e2
  store i32 %v14_1e2, i32* @eax, align 8
  %v15_1e236 = and i32 %v2_1e0, 256
  %v16_1e2 = icmp eq i32 %v15_1e236, 0
  %v0_1ed = load i3, i3* %fpu_stat_TOP.global-to-local, align 1
  %v4_1e6 = add i3 %v0_1ed, 1
  br i1 %v16_1e2, label %dec_label_pc_1e6, label %dec_label_pc_1ed

dec_label_pc_1e6:                                 ; preds = %dec_label_pc_1dc
  %v2_1ed = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  store i3 %v4_1e6, i3* %fpu_stat_TOP.global-to-local, align 1
  %v2_1e8 = load i32, i32* %esi.global-to-local, align 4
  %v3_1e8 = add i32 %v2_1e8, -16
  %v4_1e8 = inttoptr i32 %v3_1e8 to double*
  %v5_1e8 = load double, double* %v4_1e8, align 4
  %v6_1e8 = fpext double %v5_1e8 to x86_fp80
  %v7_1e8 = fdiv x86_fp80 %v6_1e8, %v2_1ed
  store x86_fp80 %v7_1e8, x86_fp80* %st7.global-to-local, align 4
  br label %dec_label_pc_1f2

dec_label_pc_1ed:                                 ; preds = %dec_label_pc_1dc
  %v1_1ef = load i32, i32* %esi.global-to-local, align 4
  %v2_1ef = add i32 %v1_1ef, -16
  %v3_1ef = inttoptr i32 %v2_1ef to double*
  %v4_1ef = load double, double* %v3_1ef, align 4
  %v5_1ef = fpext double %v4_1ef to x86_fp80
  store i3 %v4_1e6, i3* %fpu_stat_TOP.global-to-local, align 1
  store x86_fp80 %v5_1ef, x86_fp80* %st7.global-to-local, align 4
  br label %dec_label_pc_1f2

dec_label_pc_1f2:                                 ; preds = %dec_label_pc_1ed, %dec_label_pc_1e6, %dec_label_pc_1d5
  %v3_1f5 = phi x86_fp80 [ %v5_1ef, %dec_label_pc_1ed ], [ %v7_1e8, %dec_label_pc_1e6 ], [ %v5_1d7, %dec_label_pc_1d5 ]
  %v0_1f2 = phi i3 [ %v4_1e6, %dec_label_pc_1ed ], [ %v4_1e6, %dec_label_pc_1e6 ], [ %v0_1dc, %dec_label_pc_1d5 ]
  %v1_1f2 = load i32, i32* @ecx, align 8
  %v2_1f2 = add i32 %v1_1f2, 8
  %v3_1f2 = inttoptr i32 %v2_1f2 to double*
  %v4_1f2 = load double, double* %v3_1f2, align 4
  %v5_1f2 = fpext double %v4_1f2 to x86_fp80
  %v4_1f5 = fmul x86_fp80 %v3_1f5, %v5_1f2
  %v4_1f7 = fptrunc x86_fp80 %v4_1f5 to double
  store double %v4_1f7, double* %v3_1f2, align 4
  %v2_1fa = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v4_1fa = fmul x86_fp80 %v2_1fa, %v2_1fa
  %v4_1fc = fmul x86_fp80 %v4_1fa, %v4_1fa
  %v4_1fe = fmul x86_fp80 %v4_1fc, %v4_1fc
  store x86_fp80 %v4_1fe, x86_fp80* %st7.global-to-local, align 4
  %v2_200 = load i32, i32* %edi.global-to-local, align 4
  %v3_200 = add i32 %v2_200, -88
  %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 = fadd x86_fp80 %v4_1fe, %v6_200
  store x86_fp80 %v7_200, x86_fp80* %st7.global-to-local, align 4
  %v2_203 = load i32, i32* @ecx, align 8
  %v3_203 = fptrunc x86_fp80 %v7_200 to double
  %v4_203 = inttoptr i32 %v2_203 to double*
  store double %v3_203, double* %v4_203, align 4
  %v1_205 = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v3_205 = add i32 %v2_200, -96
  %v4_205 = inttoptr i32 %v3_205 to double*
  %v5_205 = load double, double* %v4_205, align 4
  %v6_205 = fpext double %v5_205 to x86_fp80
  %v7_205 = fadd x86_fp80 %v1_205, %v6_205
  store x86_fp80 %v7_205, x86_fp80* %st7.global-to-local, align 4
  %v2_208 = load i32, i32* @edx, align 8
  %v3_208 = fptrunc x86_fp80 %v7_205 to double
  %v4_208 = inttoptr i32 %v2_208 to double*
  store double %v3_208, double* %v4_208, align 4
  %v1_20a = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v3_20a = add i32 %v2_200, -104
  %v4_20a = inttoptr i32 %v3_20a to double*
  %v5_20a = load double, double* %v4_20a, align 4
  %v6_20a = fpext double %v5_20a to x86_fp80
  %v7_20a = fadd x86_fp80 %v1_20a, %v6_20a
  store x86_fp80 %v7_20a, x86_fp80* %st7.global-to-local, align 4
  %v2_20d = load i32, i32* %ebx.global-to-local, align 4
  %v3_20d = fptrunc x86_fp80 %v7_20a to double
  %v4_20d = inttoptr i32 %v2_20d to double*
  store double %v3_20d, double* %v4_20d, align 4
  %v5_20d = xor i3 %v0_1f2, -4
  store i3 %v5_20d, i3* %fpu_stat_TOP.global-to-local, align 1
  store i32 %v2_20d, i32* @eax, align 8
  %v2_211 = load i32, i32* %stack_var_-16, align 4
  store i32 %v2_211, i32* %ebx.global-to-local, align 4
  store i32 %v0_4, i32* %edi.global-to-local, align 4
  store i32 %v0_3, i32* %esi.global-to-local, align 4
  ret i32 %v2_20d
}

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

declare i16 @__asm_fnstsw(i32) local_unnamed_addr

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

attributes #0 = { nounwind readnone speculatable }
