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 x86_fp80 @function_0(i32 %arg1) local_unnamed_addr {
dec_label_pc_0:
  %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
  %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
  %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
  %v0_b = load i3, i3* %fpu_stat_TOP.global-to-local, align 1
  %v2_b = add i32 %v3_8, -24
  %v3_b = inttoptr i32 %v2_b to double*
  %v4_b = load double, double* %v3_b, align 4
  %v5_b = fpext double %v4_b to x86_fp80
  store x86_fp80 %v5_b, x86_fp80* %st7.global-to-local, align 4
  %v1_e = load i32, i32* @ecx, align 8
  %v2_e = add i32 %v1_e, 8
  %v3_e = inttoptr i32 %v2_e to double*
  %v4_e = load double, double* %v3_e, align 4
  %v5_e = fpext double %v4_e to x86_fp80
  %v4_11 = fadd x86_fp80 %v5_b, %v5_e
  %v2_13 = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v4_11)
  %v4_15 = fsub x86_fp80 %v2_13, %v5_b
  store x86_fp80 %v4_15, x86_fp80* %st6.global-to-local, align 4
  %v3_17 = load double, double* bitcast (i32* @ecx to double*), align 8
  %v4_17 = fpext double %v3_17 to x86_fp80
  %v4_19 = fadd x86_fp80 %v5_b, %v4_17
  %v2_1b = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v4_19)
  %v4_1d = fsub x86_fp80 %v2_1b, %v5_b
  store x86_fp80 %v4_1d, x86_fp80* %st5.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
  %v4_21 = fadd x86_fp80 %v5_b, %v4_1f
  %v2_23 = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v4_21)
  %v4_25 = fsub x86_fp80 %v2_23, %v5_b
  store x86_fp80 %v4_25, x86_fp80* %st4.global-to-local, align 4
  %v3_27 = load double, double* bitcast (i32* @eax to double*), align 8
  %v4_27 = fpext double %v3_27 to x86_fp80
  %v4_29 = fadd x86_fp80 %v5_b, %v4_27
  %v2_2b = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v4_29)
  %v4_2d = fsub x86_fp80 %v2_2b, %v5_b
  store x86_fp80 %v4_2d, x86_fp80* %st3.global-to-local, align 4
  %v2_2f = add i32 %v3_8, -16
  %v3_2f = inttoptr i32 %v2_2f to double*
  %v4_2f = load double, double* %v3_2f, align 4
  %v5_2f = fpext double %v4_2f to x86_fp80
  store x86_fp80 %v5_2f, x86_fp80* %st2.global-to-local, align 4
  %v3_32 = add i3 %v0_b, 1
  %v3_34 = fmul x86_fp80 %v4_15, %v4_15
  %v3_38 = fmul x86_fp80 %v4_1d, %v4_1d
  %v4_3a = fadd x86_fp80 %v3_34, %v3_38
  %v3_3e = fmul x86_fp80 %v4_25, %v4_25
  %v4_40 = fadd x86_fp80 %v4_3a, %v3_3e
  %v3_44 = fmul x86_fp80 %v4_2d, %v4_2d
  %v4_46 = fadd x86_fp80 %v4_40, %v3_44
  store x86_fp80 %v4_46, x86_fp80* %st1.global-to-local, align 4
  store i3 %v3_32, i3* %fpu_stat_TOP.global-to-local, align 1
  %v3_48 = inttoptr i32 %v3_8 to double*
  %v4_48 = load double, double* %v3_48, align 4
  %v5_48 = fpext double %v4_48 to x86_fp80
  %v6_48 = fadd x86_fp80 %v4_46, %v5_48
  store x86_fp80 %v6_48, x86_fp80* %st1.global-to-local, align 4
  %v0_4e = load i32, i32* %fpsw.global-to-local, align 4
  %v1_4e = call i16 @__asm_fnstsw(i32 %v0_4e)
  %v2_4e = sext i16 %v1_4e to i32
  %v3_4e = load i32, i32* @eax, align 8
  %v4_4e = and i32 %v3_4e, -65536
  %tmp240 = udiv i32 %v2_4e, 2
  %v12_50 = and i32 %tmp240, 32512
  %v2_4e.masked = and i32 %v2_4e, -65281
  %v13_50 = or i32 %v4_4e, %v2_4e.masked
  %v14_50 = or i32 %v13_50, %v12_50
  store i32 %v14_50, i32* @eax, align 8
  %v15_504 = and i32 %v2_4e, 256
  %v16_50 = icmp eq i32 %v15_504, 0
  %v2_54 = load x86_fp80, x86_fp80* %st2.global-to-local, align 4
  br i1 %v16_50, label %dec_label_pc_54, label %dec_label_pc_56

dec_label_pc_54:                                  ; preds = %dec_label_pc_0
  %v3_54 = load x86_fp80, x86_fp80* %st1.global-to-local, align 4
  %v4_54 = fdiv x86_fp80 %v2_54, %v3_54
  store x86_fp80 %v4_54, x86_fp80* %st2.global-to-local, align 4
  br label %dec_label_pc_56

dec_label_pc_56:                                  ; preds = %dec_label_pc_0, %dec_label_pc_54
  %v3_5f = phi x86_fp80 [ %v4_54, %dec_label_pc_54 ], [ %v2_54, %dec_label_pc_0 ]
  %v0_56 = load i32, i32* @edx, align 8
  %v1_56 = add i32 %v0_56, -8
  store i32 %v1_56, i32* @eax, align 8
  %v0_59 = load i3, i3* %fpu_stat_TOP.global-to-local, align 1
  %v2_5b = load x86_fp80, x86_fp80* %st6.global-to-local, align 4
  %v4_5b = fmul x86_fp80 %v3_5f, %v2_5b
  store x86_fp80 %v4_5b, x86_fp80* %st6.global-to-local, align 4
  %v2_5d = load x86_fp80, x86_fp80* %st5.global-to-local, align 4
  %v4_5d = fmul x86_fp80 %v3_5f, %v2_5d
  store x86_fp80 %v4_5d, x86_fp80* %st5.global-to-local, align 4
  %v2_5f = load x86_fp80, x86_fp80* %st4.global-to-local, align 4
  %v4_5f = fmul x86_fp80 %v3_5f, %v2_5f
  store x86_fp80 %v4_5f, x86_fp80* %st4.global-to-local, align 4
  %v2_61 = load x86_fp80, x86_fp80* %st3.global-to-local, align 4
  %v4_61 = fmul x86_fp80 %v3_5f, %v2_61
  store x86_fp80 %v4_61, x86_fp80* %st3.global-to-local, align 4
  %v2_63 = load i32, i32* %esi.global-to-local, align 4
  %v3_63 = add i32 %v2_63, 232
  %v4_63 = inttoptr i32 %v3_63 to double*
  %v5_63 = load double, double* %v4_63, align 4
  %v6_63 = fpext double %v5_63 to x86_fp80
  %v7_63 = fmul x86_fp80 %v3_5f, %v6_63
  store x86_fp80 %v7_63, x86_fp80* %st2.global-to-local, align 4
  %v4_69 = fptrunc x86_fp80 %v7_63 to double
  store double %v4_69, double* %v4_63, align 4
  %v1_6f = load x86_fp80, x86_fp80* %st3.global-to-local, align 4
  %v3_6f = add i32 %v2_63, 24
  %v4_6f = inttoptr i32 %v3_6f to double*
  %v5_6f = load double, double* %v4_6f, align 4
  %v6_6f = fpext double %v5_6f to x86_fp80
  %v7_6f = fadd x86_fp80 %v1_6f, %v6_6f
  store x86_fp80 %v7_6f, x86_fp80* %st3.global-to-local, align 4
  %v2_72 = load i32, i32* @eax, align 8
  %v3_72 = fptrunc x86_fp80 %v7_6f to double
  %v4_72 = inttoptr i32 %v2_72 to double*
  store double %v3_72, double* %v4_72, align 4
  %v1_74 = load x86_fp80, x86_fp80* %st4.global-to-local, align 4
  %v3_74 = add i32 %v2_63, 32
  %v4_74 = inttoptr i32 %v3_74 to double*
  %v5_74 = load double, double* %v4_74, align 4
  %v6_74 = fpext double %v5_74 to x86_fp80
  %v7_74 = fadd x86_fp80 %v1_74, %v6_74
  store x86_fp80 %v7_74, x86_fp80* %st4.global-to-local, align 4
  %v2_77 = load i32, i32* @edx, align 8
  %v3_77 = fptrunc x86_fp80 %v7_74 to double
  %v4_77 = inttoptr i32 %v2_77 to double*
  store double %v3_77, double* %v4_77, align 4
  %v1_79 = load x86_fp80, x86_fp80* %st5.global-to-local, align 4
  %v3_79 = add i32 %v2_63, 40
  %v4_79 = inttoptr i32 %v3_79 to double*
  %v5_79 = load double, double* %v4_79, align 4
  %v6_79 = fpext double %v5_79 to x86_fp80
  %v7_79 = fadd x86_fp80 %v1_79, %v6_79
  store x86_fp80 %v7_79, x86_fp80* %st5.global-to-local, align 4
  %v2_7c = load i32, i32* @ecx, align 8
  %v3_7c = fptrunc x86_fp80 %v7_79 to double
  %v4_7c = inttoptr i32 %v2_7c to double*
  store double %v3_7c, double* %v4_7c, align 4
  %v1_7e = load x86_fp80, x86_fp80* %st6.global-to-local, align 4
  %v3_7e = add i32 %v2_63, -56
  %v4_7e = inttoptr i32 %v3_7e to double*
  %v5_7e = load double, double* %v4_7e, align 4
  %v6_7e = fpext double %v5_7e to x86_fp80
  %v7_7e = fadd x86_fp80 %v1_7e, %v6_7e
  store x86_fp80 %v7_7e, x86_fp80* %st6.global-to-local, align 4
  %v2_81 = load i32, i32* %edi.global-to-local, align 4
  %v3_81 = add i32 %v2_81, -32
  %v4_81 = inttoptr i32 %v3_81 to double*
  %v5_81 = load double, double* %v4_81, align 4
  %v6_81 = fpext double %v5_81 to x86_fp80
  %v7_81 = fadd x86_fp80 %v7_7e, %v6_81
  store x86_fp80 %v7_81, x86_fp80* %st6.global-to-local, align 4
  %v2_84 = load i32, i32* @ecx, align 8
  %v3_84 = add i32 %v2_84, 8
  %v4_84 = fptrunc x86_fp80 %v7_81 to double
  %v5_84 = inttoptr i32 %v3_84 to double*
  store double %v4_84, double* %v5_84, align 4
  %v4_87 = add i3 %v0_59, -1
  store i3 %v4_87, 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
  %v0_8c = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  ret x86_fp80 %v0_8c
}

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

declare i16 @__asm_fnstsw(i32) local_unnamed_addr

attributes #0 = { nounwind readnone speculatable }
