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:
  %ebp.global-to-local = alloca i32, align 4
  %edi.global-to-local = alloca i32, align 4
  %esi.global-to-local = alloca i32, align 4
  %fpu_stat_TOP.global-to-local = alloca i3, align 1
  %st1.global-to-local = alloca x86_fp80, align 4
  %st2.global-to-local = alloca x86_fp80, align 4
  %st3.global-to-local = alloca x86_fp80, align 4
  %st4.global-to-local = alloca x86_fp80, align 4
  %st5.global-to-local = alloca x86_fp80, align 4
  %st6.global-to-local = alloca x86_fp80, align 4
  %st7.global-to-local = alloca x86_fp80, align 4
  %stack_var_-4 = alloca i32, align 4
  %v0_0 = load i32, i32* %ebp.global-to-local, align 4
  store i32 %v0_0, i32* %stack_var_-4, align 4
  %v4_0 = ptrtoint i32* %stack_var_-4 to i32
  store i32 %v4_0, i32* %ebp.global-to-local, align 4
  %v0_3 = load i32, i32* %esi.global-to-local, align 4
  %v0_4 = load i32, i32* %edi.global-to-local, align 4
  store i32 %arg1, i32* %esi.global-to-local, align 4
  %v1_8 = add i32 %arg1, 48
  %v2_8 = inttoptr i32 %v1_8 to i32*
  %v3_8 = load i32, i32* %v2_8, align 4
  store i32 %v3_8, i32* %edi.global-to-local, align 4
  %v1_b = add i32 %arg1, 208
  %v2_b = inttoptr i32 %v1_b to i32*
  %v3_b = load i32, i32* %v2_b, align 4
  %v10_b = icmp eq i32 %v3_b, 0
  %v1_12 = icmp eq i1 %v10_b, false
  br i1 %v1_12, label %dec_label_pc_0.dec_label_pc_8d_crit_edge, label %dec_label_pc_14

dec_label_pc_0.dec_label_pc_8d_crit_edge:         ; preds = %dec_label_pc_0
  %v0_8d.pre = load i3, i3* %fpu_stat_TOP.global-to-local, align 1
  br label %dec_label_pc_8d

dec_label_pc_14:                                  ; preds = %dec_label_pc_0
  %v4_14 = add i32 %v3_b, 1
  store i32 %v4_14, i32* %v2_b, align 4
  %v0_1a = load i3, i3* %fpu_stat_TOP.global-to-local, align 1
  %v1_1a = load i32, i32* %edi.global-to-local, align 4
  %v2_1a = add i32 %v1_1a, -16
  %v3_1a = inttoptr i32 %v2_1a to double*
  %v4_1a = load double, double* %v3_1a, align 4
  %v5_1a = fpext double %v4_1a to x86_fp80
  store x86_fp80 %v5_1a, x86_fp80* %st7.global-to-local, align 4
  %v3_1d = load double, double* bitcast (i32* @ecx to double*), align 8
  %v4_1d = fpext double %v3_1d to x86_fp80
  store x86_fp80 %v4_1d, x86_fp80* %st6.global-to-local, align 4
  %v3_1f = load double, double* bitcast (i32* @edx to double*), align 8
  %v4_1f = fpext double %v3_1f to x86_fp80
  store x86_fp80 %v4_1f, x86_fp80* %st5.global-to-local, align 4
  %v3_21 = load double, double* bitcast (i32* @eax to double*), align 8
  %v4_21 = fpext double %v3_21 to x86_fp80
  store x86_fp80 %v4_21, x86_fp80* %st4.global-to-local, align 4
  %v4_25 = fadd x86_fp80 %v4_1f, %v4_21
  %v4_27 = fadd x86_fp80 %v4_25, %v4_1d
  %v2_29 = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v4_27)
  %v4_2b = fadd x86_fp80 %v2_29, %v5_1a
  %tmp246 = bitcast double %v3_21 to i64
  %tmp247 = trunc i64 %tmp246 to i32
  %v3_2d = fptrunc x86_fp80 %v4_2b to double
  %v4_2d = inttoptr i32 %tmp247 to double*
  store double %v3_2d, double* %v4_2d, align 4
  %v2_2f = load x86_fp80, x86_fp80* %st6.global-to-local, align 4
  %v3_31 = load x86_fp80, x86_fp80* %st4.global-to-local, align 4
  %v4_31 = fsub x86_fp80 %v2_2f, %v3_31
  %v3_33 = load x86_fp80, x86_fp80* %st5.global-to-local, align 4
  %v4_33 = fsub x86_fp80 %v4_31, %v3_33
  %v2_35 = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v4_33)
  %v3_37 = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v4_37 = fadd x86_fp80 %v3_37, %v2_35
  %v2_39 = load i32, i32* @edx, align 8
  %v3_39 = fptrunc x86_fp80 %v4_37 to double
  %v4_39 = inttoptr i32 %v2_39 to double*
  store double %v3_39, double* %v4_39, align 4
  %v2_3b = load x86_fp80, x86_fp80* %st5.global-to-local, align 4
  %v3_3d = load x86_fp80, x86_fp80* %st4.global-to-local, align 4
  %v4_3d = fsub x86_fp80 %v2_3b, %v3_3d
  %v3_3f = load x86_fp80, x86_fp80* %st6.global-to-local, align 4
  %v4_3f = fsub x86_fp80 %v4_3d, %v3_3f
  %v2_41 = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v4_3f)
  %v3_43 = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v4_43 = fadd x86_fp80 %v3_43, %v2_41
  store x86_fp80 %v4_43, x86_fp80* %st3.global-to-local, align 4
  %v2_45 = load i32, i32* @ecx, align 8
  %v3_45 = fptrunc x86_fp80 %v4_43 to double
  %v4_45 = inttoptr i32 %v2_45 to double*
  store double %v3_45, double* %v4_45, align 4
  %v2_47 = load x86_fp80, x86_fp80* %st4.global-to-local, align 4
  %v3_47 = load x86_fp80, x86_fp80* %st5.global-to-local, align 4
  %v4_47 = fsub x86_fp80 %v2_47, %v3_47
  store x86_fp80 %v4_47, x86_fp80* %st5.global-to-local, align 4
  %v3_49 = load x86_fp80, x86_fp80* %st6.global-to-local, align 4
  %v4_49 = fsub x86_fp80 %v4_47, %v3_49
  %v2_4b = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v4_49)
  %v3_4d = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v4_4d = fadd x86_fp80 %v3_4d, %v2_4b
  store x86_fp80 %v4_4d, x86_fp80* %st6.global-to-local, align 4
  %v2_4f = load i32, i32* @ecx, align 8
  %v3_4f = add i32 %v2_4f, 8
  %v4_4f = fptrunc x86_fp80 %v4_4d to double
  %v5_4f = inttoptr i32 %v3_4f to double*
  store double %v4_4f, double* %v5_4f, align 4
  %v1_52 = load i32, i32* %esi.global-to-local, align 4
  %v2_52 = add i32 %v1_52, 40
  %v3_52 = inttoptr i32 %v2_52 to double*
  %v4_52 = load double, double* %v3_52, align 4
  %v5_52 = fpext double %v4_52 to x86_fp80
  store x86_fp80 %v5_52, x86_fp80* %st6.global-to-local, align 4
  %v2_55 = add i32 %v1_52, 32
  %v3_55 = inttoptr i32 %v2_55 to double*
  %v4_55 = load double, double* %v3_55, align 4
  %v5_55 = fpext double %v4_55 to x86_fp80
  store x86_fp80 %v5_55, x86_fp80* %st5.global-to-local, align 4
  %v2_58 = add i32 %v1_52, 24
  %v3_58 = inttoptr i32 %v2_58 to double*
  %v4_58 = load double, double* %v3_58, align 4
  %v5_58 = fpext double %v4_58 to x86_fp80
  store x86_fp80 %v5_58, x86_fp80* %st4.global-to-local, align 4
  %v4_5d = fadd x86_fp80 %v5_55, %v5_58
  %v4_5f = fadd x86_fp80 %v4_5d, %v5_52
  %v2_61 = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v4_5f)
  %v3_63 = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v4_63 = fadd x86_fp80 %v3_63, %v2_61
  %v4_65 = fptrunc x86_fp80 %v4_63 to double
  store double %v4_65, double* %v3_58, align 4
  %v2_68 = load x86_fp80, x86_fp80* %st6.global-to-local, align 4
  %v3_6a = load x86_fp80, x86_fp80* %st4.global-to-local, align 4
  %v4_6a = fsub x86_fp80 %v2_68, %v3_6a
  %v3_6c = load x86_fp80, x86_fp80* %st5.global-to-local, align 4
  %v4_6c = fsub x86_fp80 %v4_6a, %v3_6c
  %v2_6e = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v4_6c)
  %v3_70 = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v4_70 = fadd x86_fp80 %v3_70, %v2_6e
  %v4_72 = fptrunc x86_fp80 %v4_70 to double
  store double %v4_72, double* %v3_55, align 4
  %v2_75 = load x86_fp80, x86_fp80* %st5.global-to-local, align 4
  %v3_77 = load x86_fp80, x86_fp80* %st4.global-to-local, align 4
  %v4_77 = fsub x86_fp80 %v2_75, %v3_77
  %v3_79 = load x86_fp80, x86_fp80* %st6.global-to-local, align 4
  %v4_79 = fsub x86_fp80 %v4_77, %v3_79
  %v2_7b = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v4_79)
  %v3_7d = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v4_7d = fadd x86_fp80 %v3_7d, %v2_7b
  store x86_fp80 %v4_7d, x86_fp80* %st3.global-to-local, align 4
  %v4_7f = fptrunc x86_fp80 %v4_7d to double
  store double %v4_7f, double* %v3_52, align 4
  %v2_82 = load x86_fp80, x86_fp80* %st4.global-to-local, align 4
  %v3_82 = load x86_fp80, x86_fp80* %st5.global-to-local, align 4
  %v4_82 = fsub x86_fp80 %v2_82, %v3_82
  store x86_fp80 %v4_82, x86_fp80* %st5.global-to-local, align 4
  %v3_84 = load x86_fp80, x86_fp80* %st6.global-to-local, align 4
  %v4_84 = fsub x86_fp80 %v4_82, %v3_84
  %v2_86 = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v4_84)
  store x86_fp80 %v2_86, x86_fp80* %st6.global-to-local, align 4
  %v3_88 = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v4_88 = fadd x86_fp80 %v2_86, %v3_88
  store x86_fp80 %v4_88, x86_fp80* %st7.global-to-local, align 4
  %v3_8a = add i32 %v1_52, -56
  %v4_8a = fptrunc x86_fp80 %v4_88 to double
  %v5_8a = inttoptr i32 %v3_8a to double*
  store double %v4_8a, double* %v5_8a, align 4
  %v2_dd.pre = load i32, i32* %stack_var_-4, align 4
  br label %dec_label_pc_8d

dec_label_pc_8d:                                  ; preds = %dec_label_pc_0.dec_label_pc_8d_crit_edge, %dec_label_pc_14
  %v2_dd = phi i32 [ %v0_0, %dec_label_pc_0.dec_label_pc_8d_crit_edge ], [ %v2_dd.pre, %dec_label_pc_14 ]
  %v2_d5 = phi i32 [ %arg1, %dec_label_pc_0.dec_label_pc_8d_crit_edge ], [ %v1_52, %dec_label_pc_14 ]
  %v0_8d = phi i3 [ %v0_8d.pre, %dec_label_pc_0.dec_label_pc_8d_crit_edge ], [ %v0_1a, %dec_label_pc_14 ]
  %v1_8d = load i32, i32* @ecx, align 8
  %v2_8d = add i32 %v1_8d, 8
  %v3_8d = inttoptr i32 %v2_8d to double*
  %v4_8d = load double, double* %v3_8d, align 4
  %v5_8d = fpext double %v4_8d to x86_fp80
  store x86_fp80 %v5_8d, x86_fp80* %st7.global-to-local, align 4
  %v3_90 = load double, double* bitcast (i32* @ecx to double*), align 8
  %v4_90 = fpext double %v3_90 to x86_fp80
  store x86_fp80 %v4_90, x86_fp80* %st6.global-to-local, align 4
  %v3_92 = load double, double* bitcast (i32* @edx to double*), align 8
  %v4_92 = fpext double %v3_92 to x86_fp80
  store x86_fp80 %v4_92, x86_fp80* %st5.global-to-local, align 4
  %v3_94 = load double, double* bitcast (i32* @eax to double*), align 8
  %v4_94 = fpext double %v3_94 to x86_fp80
  store x86_fp80 %v4_94, x86_fp80* %st4.global-to-local, align 4
  %v4_98 = fmul x86_fp80 %v5_8d, %v4_90
  %v3_9a = fadd x86_fp80 %v4_98, %v4_98
  store x86_fp80 %v3_9a, x86_fp80* %st3.global-to-local, align 4
  %v4_9e = fmul x86_fp80 %v4_92, %v4_94
  %v3_a0 = fadd x86_fp80 %v4_9e, %v4_9e
  store x86_fp80 %v3_a0, x86_fp80* %st2.global-to-local, align 4
  %v3_a4 = fmul x86_fp80 %v4_94, %v4_94
  %v3_a8 = fmul x86_fp80 %v4_92, %v4_92
  %v4_aa = fsub x86_fp80 %v3_a4, %v3_a8
  store x86_fp80 %v4_aa, x86_fp80* %st1.global-to-local, align 4
  %v4_ae = fadd x86_fp80 %v3_9a, %v4_aa
  %v3_b0 = add i32 %v2_d5, 24
  %v4_b0 = inttoptr i32 %v3_b0 to double*
  %v5_b0 = load double, double* %v4_b0, align 4
  %v6_b0 = fpext double %v5_b0 to x86_fp80
  %v7_b0 = fadd x86_fp80 %v4_ae, %v6_b0
  %tmp248 = bitcast double %v3_94 to i64
  %tmp249 = trunc i64 %tmp248 to i32
  %v3_b3 = fptrunc x86_fp80 %v7_b0 to double
  %v4_b3 = inttoptr i32 %tmp249 to double*
  store double %v3_b3, double* %v4_b3, align 4
  %v2_b5 = load x86_fp80, x86_fp80* %st1.global-to-local, align 4
  %v3_b5 = load x86_fp80, x86_fp80* %st3.global-to-local, align 4
  %v4_b5 = fsub x86_fp80 %v3_b5, %v2_b5
  %v2_b7 = load x86_fp80, x86_fp80* %st2.global-to-local, align 4
  store x86_fp80 %v4_b5, x86_fp80* %st2.global-to-local, align 4
  store x86_fp80 %v2_b7, x86_fp80* %st3.global-to-local, align 4
  %v3_b9 = add i32 %v2_d5, 32
  %v4_b9 = inttoptr i32 %v3_b9 to double*
  %v5_b9 = load double, double* %v4_b9, align 4
  %v6_b9 = fpext double %v5_b9 to x86_fp80
  %v7_b9 = fadd x86_fp80 %v4_b5, %v6_b9
  store x86_fp80 %v7_b9, x86_fp80* %st2.global-to-local, align 4
  %v2_bc = load i32, i32* @edx, align 8
  %v3_bc = fptrunc x86_fp80 %v7_b9 to double
  %v4_bc = inttoptr i32 %v2_bc to double*
  store double %v3_bc, double* %v4_bc, align 4
  %v2_be = load x86_fp80, x86_fp80* %st3.global-to-local, align 4
  %v3_be = load x86_fp80, x86_fp80* %st6.global-to-local, align 4
  store x86_fp80 %v2_be, x86_fp80* %st6.global-to-local, align 4
  %v3_c0 = fmul x86_fp80 %v3_be, %v3_be
  %v3_c2 = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v3_c4 = fmul x86_fp80 %v3_c2, %v3_c2
  store x86_fp80 %v3_c4, x86_fp80* %st3.global-to-local, align 4
  %v4_c6 = fsub x86_fp80 %v3_c0, %v3_c4
  store x86_fp80 %v4_c6, x86_fp80* %st7.global-to-local, align 4
  %v4_cc = fadd x86_fp80 %v2_be, %v4_c6
  store x86_fp80 %v4_cc, x86_fp80* %st5.global-to-local, align 4
  %v3_ce = add i32 %v2_d5, 40
  %v4_ce = inttoptr i32 %v3_ce to double*
  %v5_ce = load double, double* %v4_ce, align 4
  %v6_ce = fpext double %v5_ce to x86_fp80
  %v7_ce = fadd x86_fp80 %v4_cc, %v6_ce
  store x86_fp80 %v7_ce, x86_fp80* %st5.global-to-local, align 4
  %v2_d1 = load i32, i32* @ecx, align 8
  %v3_d1 = fptrunc x86_fp80 %v7_ce to double
  %v4_d1 = inttoptr i32 %v2_d1 to double*
  store double %v3_d1, double* %v4_d1, align 4
  %v2_d3 = load x86_fp80, x86_fp80* %st6.global-to-local, align 4
  %v3_d3 = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v4_d3 = fsub x86_fp80 %v2_d3, %v3_d3
  store x86_fp80 %v4_d3, x86_fp80* %st7.global-to-local, align 4
  %v3_d5 = add i32 %v2_d5, -56
  %v4_d5 = inttoptr i32 %v3_d5 to double*
  %v5_d5 = load double, double* %v4_d5, align 4
  %v6_d5 = fpext double %v5_d5 to x86_fp80
  %v7_d5 = fadd x86_fp80 %v4_d3, %v6_d5
  store x86_fp80 %v7_d5, x86_fp80* %st7.global-to-local, align 4
  %v2_d8 = load i32, i32* @ecx, align 8
  %v3_d8 = add i32 %v2_d8, 8
  %v4_d8 = fptrunc x86_fp80 %v7_d5 to double
  %v5_d8 = inttoptr i32 %v3_d8 to double*
  store double %v4_d8, double* %v5_d8, align 4
  store i3 %v0_8d, i3* %fpu_stat_TOP.global-to-local, align 1
  store i32 %v0_4, i32* %edi.global-to-local, align 4
  store i32 %v0_3, i32* %esi.global-to-local, align 4
  store i32 %v2_dd, i32* %ebp.global-to-local, align 4
  %v0_de = load i32, i32* @eax, align 8
  ret i32 %v0_de
}

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

attributes #0 = { nounwind readnone speculatable }
