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
  %esi.global-to-local = alloca i32, align 4
  %st7.global-to-local = alloca x86_fp80, align 4
  %v0_0 = load i32, i32* %ebp.global-to-local, align 4
  %v0_3 = load i32, i32* %esi.global-to-local, align 4
  store i32 %arg1, i32* %esi.global-to-local, align 4
  %v1_7 = add i32 %arg1, 48
  %v2_7 = inttoptr i32 %v1_7 to i32*
  %v3_7 = load i32, i32* %v2_7, align 4
  %v2_a = add i32 %v3_7, -16
  %v3_a = inttoptr i32 %v2_a to double*
  %v4_a = load double, double* %v3_a, align 4
  %v5_a = fpext double %v4_a to x86_fp80
  store x86_fp80 %v5_a, x86_fp80* %st7.global-to-local, align 4
  %v3_d = load double, double* bitcast (i32* @ecx to double*), align 8
  %v4_d = fpext double %v3_d to x86_fp80
  %v4_11 = fsub x86_fp80 %v4_d, %v5_a
  %v2_13 = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v4_11)
  %v3_17 = add i32 %v3_7, -24
  %v4_17 = inttoptr i32 %v3_17 to double*
  %v5_17 = load double, double* %v4_17, align 4
  %v6_17 = fpext double %v5_17 to x86_fp80
  %v7_17 = fsub x86_fp80 %v4_d, %v6_17
  %v2_1a = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v7_17)
  %v4_1c = fsub x86_fp80 %v2_1a, %v2_13
  %v6_1e = fadd x86_fp80 %v4_1c, %v4_d
  %v4_20 = fsub x86_fp80 %v6_1e, %v5_a
  %tmp236 = bitcast double %v3_d to i64
  %tmp237 = trunc i64 %tmp236 to i32
  %v3_22 = fptrunc x86_fp80 %v4_20 to double
  %v4_22 = inttoptr i32 %tmp237 to double*
  store double %v3_22, double* %v4_22, align 4
  %v3_24 = load double, double* bitcast (i32* @edx to double*), align 8
  %v4_24 = fpext double %v3_24 to x86_fp80
  %v3_28 = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v4_28 = fsub x86_fp80 %v4_24, %v3_28
  %v2_2a = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v4_28)
  %v5_2e = load double, double* %v4_17, align 4
  %v6_2e = fpext double %v5_2e to x86_fp80
  %v7_2e = fsub x86_fp80 %v4_24, %v6_2e
  %v2_31 = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v7_2e)
  %v4_33 = fsub x86_fp80 %v2_31, %v2_2a
  %v6_35 = fadd x86_fp80 %v4_33, %v4_24
  %v4_37 = fsub x86_fp80 %v6_35, %v3_28
  %tmp238 = bitcast double %v3_24 to i64
  %tmp239 = trunc i64 %tmp238 to i32
  %v3_39 = fptrunc x86_fp80 %v4_37 to double
  %v4_39 = inttoptr i32 %tmp239 to double*
  store double %v3_39, double* %v4_39, align 4
  %v3_3b = load double, double* bitcast (i32* @eax to double*), align 8
  %v4_3b = fpext double %v3_3b to x86_fp80
  %v3_3f = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v4_3f = fsub x86_fp80 %v4_3b, %v3_3f
  %v2_41 = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v4_3f)
  %v5_45 = load double, double* %v4_17, align 4
  %v6_45 = fpext double %v5_45 to x86_fp80
  %v7_45 = fsub x86_fp80 %v4_3b, %v6_45
  %v2_48 = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v7_45)
  %v4_4a = fsub x86_fp80 %v2_48, %v2_41
  %v6_4c = fadd x86_fp80 %v4_4a, %v4_3b
  %v4_4e = fsub x86_fp80 %v6_4c, %v3_3f
  store x86_fp80 %v4_4e, x86_fp80* %st7.global-to-local, align 4
  %tmp240 = bitcast double %v3_3b to i64
  %tmp241 = trunc i64 %tmp240 to i32
  %v3_50 = fptrunc x86_fp80 %v4_4e to double
  %v4_50 = inttoptr i32 %tmp241 to double*
  store double %v3_50, double* %v4_50, align 4
  store i32 %v0_3, i32* %esi.global-to-local, align 4
  store i32 %v0_0, i32* %ebp.global-to-local, align 4
  %v0_54 = load i32, i32* @eax, align 8
  ret i32 %v0_54
}

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

attributes #0 = { nounwind readnone speculatable }
