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
  %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
  %st6.global-to-local = alloca x86_fp80, align 4
  %st7.global-to-local = alloca x86_fp80, align 4
  %v0_3 = load i32, i32* %ebx.global-to-local, align 4
  %v0_4 = load i32, i32* %esi.global-to-local, align 4
  %v0_5 = load i32, i32* @eax, align 8
  store i32 %v0_5, i32* %ebx.global-to-local, align 4
  store i32 %arg1, i32* %esi.global-to-local, align 4
  %v1_a = add i32 %arg1, 48
  %v2_a = inttoptr i32 %v1_a to i32*
  %v3_a = load i32, i32* %v2_a, align 4
  store i32 %v3_a, i32* %esi.global-to-local, align 4
  %v0_d = load i3, i3* %fpu_stat_TOP.global-to-local, align 1
  %v3_d = load double, double* bitcast (i32* @ecx to double*), align 8
  %tmp251 = call double @llvm.fabs.f64(double %v3_d)
  %v2_f = fpext double %tmp251 to x86_fp80
  store x86_fp80 %v2_f, x86_fp80* %st7.global-to-local, align 4
  %v3_11 = load double, double* bitcast (i32* @edx to double*), align 8
  %tmp252 = call double @llvm.fabs.f64(double %v3_11)
  %v2_13 = fpext double %tmp252 to x86_fp80
  store x86_fp80 %v2_13, x86_fp80* %st6.global-to-local, align 4
  %v3_15 = load double, double* bitcast (i32* @eax to double*), align 8
  %tmp253 = call double @llvm.fabs.f64(double %v3_15)
  %v2_17 = fpext double %tmp253 to x86_fp80
  store x86_fp80 %v2_17, x86_fp80* %st5.global-to-local, align 4
  %v3_1b = add i32 %v3_a, -68
  %v4_1b = inttoptr i32 %v3_1b to float*
  %v5_1b = load float, float* %v4_1b, align 4
  %v6_1b = fpext float %v5_1b to x86_fp80
  %v7_1b = fmul x86_fp80 %v2_17, %v6_1b
  %v3_20 = add i32 %v3_a, -72
  %v4_20 = inttoptr i32 %v3_20 to float*
  %v5_20 = load float, float* %v4_20, align 4
  %v6_20 = fpext float %v5_20 to x86_fp80
  %v7_20 = fmul x86_fp80 %v2_13, %v6_20
  %v4_23 = fadd x86_fp80 %v7_1b, %v7_20
  %v3_27 = add i32 %v3_a, -76
  %v4_27 = inttoptr i32 %v3_27 to float*
  %v5_27 = load float, float* %v4_27, align 4
  %v6_27 = fpext float %v5_27 to x86_fp80
  %v7_27 = fmul x86_fp80 %v2_f, %v6_27
  %v4_2a = fadd x86_fp80 %v7_27, %v4_23
  %v3_2e = add i32 %v3_a, -44
  %v4_2e = inttoptr i32 %v3_2e to float*
  %v5_2e = load float, float* %v4_2e, align 4
  %v6_2e = fpext float %v5_2e to x86_fp80
  %v7_2e = fmul x86_fp80 %v2_17, %v6_2e
  %v3_33 = add i32 %v3_a, -48
  %v4_33 = inttoptr i32 %v3_33 to float*
  %v5_33 = load float, float* %v4_33, align 4
  %v6_33 = fpext float %v5_33 to x86_fp80
  %v7_33 = fmul x86_fp80 %v2_13, %v6_33
  %v4_36 = fadd x86_fp80 %v7_2e, %v7_33
  %v3_3a = add i32 %v3_a, -52
  %v4_3a = inttoptr i32 %v3_3a to float*
  %v5_3a = load float, float* %v4_3a, align 4
  %v6_3a = fpext float %v5_3a to x86_fp80
  %v7_3a = fmul x86_fp80 %v2_f, %v6_3a
  %v4_3d = fadd x86_fp80 %v4_36, %v7_3a
  store x86_fp80 %v4_3d, x86_fp80* %st5.global-to-local, align 4
  %v3_41 = add i32 %v3_a, -56
  %v4_41 = inttoptr i32 %v3_41 to float*
  %v5_41 = load float, float* %v4_41, align 4
  %v6_41 = fpext float %v5_41 to x86_fp80
  %v7_41 = fmul x86_fp80 %v2_17, %v6_41
  store x86_fp80 %v7_41, x86_fp80* %st6.global-to-local, align 4
  %v3_46 = add i32 %v3_a, -60
  %v4_46 = inttoptr i32 %v3_46 to float*
  %v5_46 = load float, float* %v4_46, align 4
  %v6_46 = fpext float %v5_46 to x86_fp80
  %v7_46 = fmul x86_fp80 %v2_13, %v6_46
  %v4_49 = fadd x86_fp80 %v7_41, %v7_46
  store x86_fp80 %v4_49, x86_fp80* %st6.global-to-local, align 4
  store x86_fp80 %v4_2a, x86_fp80* %st7.global-to-local, align 4
  %v3_4d = add i32 %v3_a, -64
  %v4_4d = inttoptr i32 %v3_4d to float*
  %v5_4d = load float, float* %v4_4d, align 4
  %v6_4d = fpext float %v5_4d to x86_fp80
  %v7_4d = fmul x86_fp80 %v2_f, %v6_4d
  %v4_50 = fadd x86_fp80 %v4_49, %v7_4d
  store x86_fp80 %v4_50, x86_fp80* %st6.global-to-local, align 4
  %v7_50 = add i3 %v0_d, -3
  store i3 %v7_50, i3* %fpu_stat_TOP.global-to-local, align 1
  %v0_56 = load i32, i32* %fpsw.global-to-local, align 4
  %v1_56 = call i16 @__asm_fnstsw(i32 %v0_56)
  %v2_56 = sext i16 %v1_56 to i32
  %v3_56 = load i32, i32* @eax, align 8
  %v4_56 = and i32 %v3_56, -65536
  %tmp254 = udiv i32 %v2_56, 2
  %v12_58 = and i32 %tmp254, 32512
  %v2_56.masked = and i32 %v2_56, -65281
  %v13_58 = or i32 %v4_56, %v2_56.masked
  %v14_58 = or i32 %v13_58, %v12_58
  store i32 %v14_58, i32* @eax, align 8
  %v15_5813 = and i32 %v2_56, 256
  %v16_58 = icmp eq i32 %v15_5813, 0
  br i1 %v16_58, label %dec_label_pc_5c, label %dec_label_pc_5e

dec_label_pc_5c:                                  ; preds = %dec_label_pc_0
  %v2_5c = load x86_fp80, x86_fp80* %st5.global-to-local, align 4
  %v3_5c = load x86_fp80, x86_fp80* %st6.global-to-local, align 4
  store x86_fp80 %v3_5c, x86_fp80* %st5.global-to-local, align 4
  store x86_fp80 %v2_5c, x86_fp80* %st6.global-to-local, align 4
  br label %dec_label_pc_5e

dec_label_pc_5e:                                  ; preds = %dec_label_pc_0, %dec_label_pc_5c
  %v0_60 = load i32, i32* %fpsw.global-to-local, align 4
  %v1_60 = call i16 @__asm_fnstsw(i32 %v0_60)
  %v2_60 = sext i16 %v1_60 to i32
  %v3_60 = load i32, i32* @eax, align 8
  %v4_60 = and i32 %v3_60, -65536
  %tmp255 = udiv i32 %v2_60, 2
  %v12_62 = and i32 %tmp255, 32512
  %v2_60.masked = and i32 %v2_60, -65281
  %v13_62 = or i32 %v4_60, %v2_60.masked
  %v14_62 = or i32 %v13_62, %v12_62
  store i32 %v14_62, i32* @eax, align 8
  %v0_70 = load i32, i32* %fpsw.global-to-local, align 4
  %v1_70 = call i16 @__asm_fnstsw(i32 %v0_70)
  %v2_70 = sext i16 %v1_70 to i32
  %v3_70 = load i32, i32* @eax, align 8
  %v4_70 = and i32 %v3_70, -65536
  %tmp256 = udiv i32 %v2_70, 2
  %v12_72 = and i32 %tmp256, 32512
  %v2_70.masked = and i32 %v2_70, -65281
  %v13_72 = or i32 %v4_70, %v2_70.masked
  %v14_72 = or i32 %v13_72, %v12_72
  store i32 %v14_72, i32* @eax, align 8
  %v2_7a = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v0_7c = load i3, i3* %fpu_stat_TOP.global-to-local, align 1
  store x86_fp80 %v2_7a, x86_fp80* %st6.global-to-local, align 4
  %v2_7e = load i32, i32* %esi.global-to-local, align 4
  %v3_7e = add i32 %v2_7e, -104
  %v4_7e = inttoptr i32 %v3_7e to float*
  %v5_7e = load float, float* %v4_7e, align 4
  %v6_7e = fpext float %v5_7e to x86_fp80
  %v7_7e = fmul x86_fp80 %v2_7a, %v6_7e
  store x86_fp80 %v7_7e, x86_fp80* %st6.global-to-local, align 4
  store x86_fp80 %v2_7a, x86_fp80* %st5.global-to-local, align 4
  %v3_83 = add i32 %v2_7e, -108
  %v4_83 = inttoptr i32 %v3_83 to float*
  %v5_83 = load float, float* %v4_83, align 4
  %v6_83 = fpext float %v5_83 to x86_fp80
  %v7_83 = fmul x86_fp80 %v2_7a, %v6_83
  %v4_86 = fadd x86_fp80 %v7_7e, %v7_83
  store x86_fp80 %v4_86, x86_fp80* %st6.global-to-local, align 4
  store x86_fp80 %v2_7a, x86_fp80* %st5.global-to-local, align 4
  %v3_8a = add i32 %v2_7e, -112
  %v4_8a = inttoptr i32 %v3_8a to float*
  %v5_8a = load float, float* %v4_8a, align 4
  %v6_8a = fpext float %v5_8a to x86_fp80
  %v7_8a = fmul x86_fp80 %v2_7a, %v6_8a
  %v4_8d = fadd x86_fp80 %v4_86, %v7_8a
  store x86_fp80 %v4_8d, x86_fp80* %st6.global-to-local, align 4
  store x86_fp80 %v2_7a, x86_fp80* %st5.global-to-local, align 4
  %v3_91 = add i32 %v2_7e, -80
  %v4_91 = inttoptr i32 %v3_91 to float*
  %v5_91 = load float, float* %v4_91, align 4
  %v6_91 = fpext float %v5_91 to x86_fp80
  %v7_91 = fmul x86_fp80 %v2_7a, %v6_91
  store x86_fp80 %v7_91, x86_fp80* %st5.global-to-local, align 4
  %v3_96 = add i32 %v2_7e, -84
  %v4_96 = inttoptr i32 %v3_96 to float*
  %v5_96 = load float, float* %v4_96, align 4
  %v6_96 = fpext float %v5_96 to x86_fp80
  %v7_96 = fmul x86_fp80 %v2_7a, %v6_96
  %v4_99 = fadd x86_fp80 %v7_91, %v7_96
  store x86_fp80 %v4_99, x86_fp80* %st5.global-to-local, align 4
  %v3_9d = add i32 %v2_7e, -88
  %v4_9d = inttoptr i32 %v3_9d to float*
  %v5_9d = load float, float* %v4_9d, align 4
  %v6_9d = fpext float %v5_9d to x86_fp80
  %v7_9d = fmul x86_fp80 %v2_7a, %v6_9d
  %v4_a0 = fadd x86_fp80 %v4_99, %v7_9d
  store x86_fp80 %v2_7a, x86_fp80* %st5.global-to-local, align 4
  store x86_fp80 %v4_a0, x86_fp80* %st7.global-to-local, align 4
  %v3_a4 = add i32 %v2_7e, -92
  %v4_a4 = inttoptr i32 %v3_a4 to float*
  %v5_a4 = load float, float* %v4_a4, align 4
  %v6_a4 = fpext float %v5_a4 to x86_fp80
  %v7_a4 = fmul x86_fp80 %v4_a0, %v6_a4
  store x86_fp80 %v7_a4, x86_fp80* %st7.global-to-local, align 4
  %v3_a9 = add i32 %v2_7e, -96
  %v4_a9 = inttoptr i32 %v3_a9 to float*
  %v5_a9 = load float, float* %v4_a9, align 4
  %v6_a9 = fpext float %v5_a9 to x86_fp80
  %v7_a9 = fmul x86_fp80 %v7_a4, %v6_a9
  %v4_ac = fadd x86_fp80 %v7_a9, %v7_a9
  store x86_fp80 %v4_ac, x86_fp80* %st7.global-to-local, align 4
  %v3_b0 = add i32 %v2_7e, -100
  %v4_b0 = inttoptr i32 %v3_b0 to float*
  %v5_b0 = load float, float* %v4_b0, align 4
  %v6_b0 = fpext float %v5_b0 to x86_fp80
  %v7_b0 = fmul x86_fp80 %v4_ac, %v6_b0
  %v4_b3 = fadd x86_fp80 %v7_b0, %v7_b0
  store x86_fp80 %v4_b3, x86_fp80* %st7.global-to-local, align 4
  %v2_b5 = add i32 %v2_7e, -16
  %v3_b5 = inttoptr i32 %v2_b5 to double*
  %v4_b5 = load double, double* %v3_b5, align 4
  %v5_b5 = fpext double %v4_b5 to x86_fp80
  store x86_fp80 %v5_b5, x86_fp80* %st7.global-to-local, align 4
  %v1_b8 = load i32, i32* @ecx, align 8
  %v2_b8 = add i32 %v1_b8, 8
  %v3_b8 = inttoptr i32 %v2_b8 to double*
  %v4_b8 = load double, double* %v3_b8, align 4
  %v5_b8 = fpext double %v4_b8 to x86_fp80
  %v4_bb = fmul x86_fp80 %v5_b5, %v5_b8
  store x86_fp80 %v4_bb, x86_fp80* %st6.global-to-local, align 4
  %v4_bd = fptrunc x86_fp80 %v4_bb to double
  store double %v4_bd, double* %v3_b8, align 4
  %v2_c0 = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v4_c0 = fmul x86_fp80 %v2_c0, %v2_c0
  %v4_c2 = fmul x86_fp80 %v4_c0, %v4_c0
  %v4_c4 = fmul x86_fp80 %v4_c2, %v4_c2
  store x86_fp80 %v4_c4, x86_fp80* %st7.global-to-local, align 4
  %v2_c9 = add i32 %v2_7e, -120
  %v3_c9 = inttoptr i32 %v2_c9 to double*
  %v4_c9 = load double, double* %v3_c9, align 4
  %v5_c9 = fpext double %v4_c9 to x86_fp80
  %v4_cc = fadd x86_fp80 %v4_c4, %v5_c9
  %v2_ce = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v4_cc)
  store x86_fp80 %v2_ce, x86_fp80* %st6.global-to-local, align 4
  %v4_d0 = load double, double* %v3_c9, align 4
  %v5_d0 = fpext double %v4_d0 to x86_fp80
  %v4_d3 = fsub x86_fp80 %v5_d0, %v4_c4
  %v2_d5 = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v4_d3)
  %v4_d9 = fsub x86_fp80 %v2_ce, %v2_d5
  %v4_db = fsub x86_fp80 %v4_d9, %v4_c4
  %v4_e2 = fadd x86_fp80 %v4_db, 0xKBFFF8000000000000000
  store x86_fp80 %v4_e2, x86_fp80* %st7.global-to-local, align 4
  store x86_fp80 %v4_e2, x86_fp80* %st6.global-to-local, align 4
  store x86_fp80 %v4_e2, x86_fp80* %st5.global-to-local, align 4
  %v3_e8 = add i32 %v2_7e, -32
  %v4_e8 = inttoptr i32 %v3_e8 to double*
  %v5_e8 = load double, double* %v4_e8, align 4
  %v6_e8 = fpext double %v5_e8 to x86_fp80
  %v7_e8 = fmul x86_fp80 %v4_e2, %v6_e8
  store x86_fp80 %v7_e8, x86_fp80* %st5.global-to-local, align 4
  %v4_eb = fsub x86_fp80 %v4_e2, %v7_e8
  store x86_fp80 %v4_eb, x86_fp80* %st7.global-to-local, align 4
  %v3_ed = add i32 %v2_7e, -24
  %v4_ed = inttoptr i32 %v3_ed to double*
  %v5_ed = load double, double* %v4_ed, align 4
  %v6_ed = fpext double %v5_ed to x86_fp80
  %v7_ed = fmul x86_fp80 %v4_e2, %v6_ed
  store x86_fp80 %v7_ed, x86_fp80* %st6.global-to-local, align 4
  %v4_f0 = fsub x86_fp80 %v4_eb, %v7_ed
  store x86_fp80 %v4_f0, x86_fp80* %st7.global-to-local, align 4
  %v3_f2 = add i32 %v2_7e, -40
  %v4_f2 = inttoptr i32 %v3_f2 to double*
  %v5_f2 = load double, double* %v4_f2, align 4
  %v6_f2 = fpext double %v5_f2 to x86_fp80
  %v7_f2 = fmul x86_fp80 %v4_f0, %v6_f2
  %v4_f5 = fsub x86_fp80 %v7_f2, %v7_f2
  store x86_fp80 %v4_f5, x86_fp80* %st7.global-to-local, align 4
  %v2_f7 = load i32, i32* %ebx.global-to-local, align 4
  %v3_f7 = fptrunc x86_fp80 %v4_f5 to double
  %v4_f7 = inttoptr i32 %v2_f7 to double*
  store double %v3_f7, double* %v4_f7, align 4
  %v1_f9 = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v2_f9 = load i32, i32* @edx, align 8
  %v3_f9 = fptrunc x86_fp80 %v1_f9 to double
  %v4_f9 = inttoptr i32 %v2_f9 to double*
  store double %v3_f9, double* %v4_f9, align 4
  %v1_fb = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v2_fb = load i32, i32* @ecx, align 8
  %v3_fb = fptrunc x86_fp80 %v1_fb to double
  %v4_fb = inttoptr i32 %v2_fb to double*
  store double %v3_fb, double* %v4_fb, align 4
  %v5_fb = add i3 %v0_7c, 3
  store i3 %v5_fb, i3* %fpu_stat_TOP.global-to-local, align 1
  store i32 %v2_f7, i32* @eax, align 8
  store i32 %v0_4, i32* %esi.global-to-local, align 4
  store i32 %v0_3, i32* %ebx.global-to-local, align 4
  ret i32 %v2_f7
}

; 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 }
