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:
  %edi.global-to-local = alloca i32, align 4
  %esi.global-to-local = alloca i32, align 4
  %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
  %v3_b = load double, double* bitcast (i32* @ecx to double*), align 8
  %v4_b = fpext double %v3_b to x86_fp80
  store x86_fp80 %v4_b, x86_fp80* %st7.global-to-local, align 4
  %v3_d = load double, double* bitcast (i32* @edx to double*), align 8
  %v4_d = fpext double %v3_d to x86_fp80
  store x86_fp80 %v4_d, x86_fp80* %st6.global-to-local, align 4
  %v3_f = load double, double* bitcast (i32* @eax to double*), align 8
  %v4_f = fpext double %v3_f to x86_fp80
  store x86_fp80 %v4_f, x86_fp80* %st5.global-to-local, align 4
  %v4_13 = fmul x86_fp80 %v4_d, %v4_d
  %v4_17 = fmul x86_fp80 %v4_b, %v4_b
  %v4_19 = fadd x86_fp80 %v4_17, %v4_13
  store x86_fp80 %v4_19, x86_fp80* %st3.global-to-local, align 4
  %v4_1d = fmul x86_fp80 %v4_f, %v4_f
  %v4_1f = fadd x86_fp80 %v4_13, %v4_1d
  store x86_fp80 %v4_1f, x86_fp80* %st4.global-to-local, align 4
  %v4_23 = fmul x86_fp80 %v4_1f, %v4_1f
  %v4_25 = fmul x86_fp80 %v4_1f, %v4_23
  %v4_29 = fdiv x86_fp80 0xK3FFF8000000000000000, %v4_25
  store x86_fp80 %v4_29, x86_fp80* %st2.global-to-local, align 4
  store x86_fp80 %v4_1d, x86_fp80* %st1.global-to-local, align 4
  %v4_31 = fmul x86_fp80 %v4_19, %v4_1d
  %v3_33 = inttoptr i32 %v3_8 to double*
  %v4_33 = load double, double* %v3_33, align 4
  %v5_33 = fpext double %v4_33 to x86_fp80
  %v6_33 = fmul x86_fp80 %v4_31, %v5_33
  %v4_37 = fsub x86_fp80 %v4_1d, %v4_19
  %v4_3b = fmul x86_fp80 %v4_37, %v4_37
  %v4_3d = fsub x86_fp80 %v4_3b, %v6_33
  %v4_3f = fmul x86_fp80 %v4_37, %v4_3d
  %v2_43 = call x86_fp80 @llvm.sqrt.f80(x86_fp80 %v4_1f)
  %v4_49 = fsub x86_fp80 %v4_1f, %v4_17
  store x86_fp80 %v4_49, x86_fp80* %st4.global-to-local, align 4
  %v3_4b = fadd x86_fp80 %v2_43, %v2_43
  %v4_4d = fmul x86_fp80 %v3_4b, %v4_b
  store x86_fp80 %v4_4d, x86_fp80* %st7.global-to-local, align 4
  %v3_51 = fmul x86_fp80 %v4_49, %v4_49
  %v3_55 = fmul x86_fp80 %v4_4d, %v4_4d
  %v4_57 = fsub x86_fp80 %v3_51, %v3_55
  store x86_fp80 %v4_57, x86_fp80* %st1.global-to-local, align 4
  %v4_5b = fmul x86_fp80 %v4_49, %v4_4d
  %v3_5d = fadd x86_fp80 %v4_5b, %v4_5b
  store x86_fp80 %v3_5d, x86_fp80* %st3.global-to-local, align 4
  %v3_61 = add i32 %arg1, 24
  %v4_61 = inttoptr i32 %v3_61 to double*
  %v5_61 = load double, double* %v4_61, align 4
  %v6_61 = fpext double %v5_61 to x86_fp80
  %v7_61 = fadd x86_fp80 %v4_3f, %v6_61
  %tmp236 = bitcast double %v3_f to i64
  %tmp237 = trunc i64 %tmp236 to i32
  %v3_64 = fptrunc x86_fp80 %v7_61 to double
  %v4_64 = inttoptr i32 %tmp237 to double*
  store double %v3_64, double* %v4_64, align 4
  %v2_66 = load x86_fp80, x86_fp80* %st3.global-to-local, align 4
  %v3_68 = load x86_fp80, x86_fp80* %st4.global-to-local, align 4
  %v4_68 = fmul x86_fp80 %v2_66, %v3_68
  %v3_6a = load x86_fp80, x86_fp80* %st1.global-to-local, align 4
  %v4_6c = fmul x86_fp80 %v3_68, %v3_6a
  %v3_6e = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v4_6e = fmul x86_fp80 %v3_6a, %v3_6e
  %v4_70 = fadd x86_fp80 %v4_68, %v4_6e
  store x86_fp80 %v4_70, x86_fp80* %st7.global-to-local, align 4
  %v4_74 = fmul x86_fp80 %v2_66, %v3_6e
  %v2_76 = load x86_fp80, x86_fp80* %st2.global-to-local, align 4
  %v4_78 = fsub x86_fp80 %v4_6c, %v4_74
  store x86_fp80 %v4_78, x86_fp80* %st4.global-to-local, align 4
  %v3_7a = load x86_fp80, x86_fp80* %st5.global-to-local, align 4
  %v3_7e = fmul x86_fp80 %v3_7a, %v3_7a
  %v2_80 = load x86_fp80, x86_fp80* %st6.global-to-local, align 4
  %v3_82 = fmul x86_fp80 %v2_80, %v2_80
  %v4_84 = fsub x86_fp80 %v3_7e, %v3_82
  %v4_88 = fmul x86_fp80 %v3_7a, %v2_80
  %v3_8a = fadd x86_fp80 %v4_88, %v4_88
  %v3_8e = fmul x86_fp80 %v3_8a, %v3_8a
  %v3_92 = fmul x86_fp80 %v4_84, %v4_84
  %v4_94 = fsub x86_fp80 %v3_92, %v3_8e
  store x86_fp80 %v4_94, x86_fp80* %st2.global-to-local, align 4
  %v4_98 = fmul x86_fp80 %v3_8a, %v4_84
  %v3_9a = fadd x86_fp80 %v4_98, %v4_98
  store x86_fp80 %v3_9a, x86_fp80* %st1.global-to-local, align 4
  %v4_9c = fmul x86_fp80 %v4_84, %v3_9a
  %v4_9e = fmul x86_fp80 %v3_8a, %v4_94
  store x86_fp80 %v4_9e, x86_fp80* %st3.global-to-local, align 4
  %v4_a0 = fadd x86_fp80 %v4_9e, %v4_9c
  %v4_a2 = fmul x86_fp80 %v4_78, %v4_a0
  %v2_a6 = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v4_a2)
  store x86_fp80 %v2_a6, x86_fp80* %st5.global-to-local, align 4
  %v4_a8 = fmul x86_fp80 %v2_76, %v2_a6
  store x86_fp80 %v4_a8, x86_fp80* %st6.global-to-local, align 4
  %v2_aa = add i32 %arg1, 40
  %v3_aa = inttoptr i32 %v2_aa to double*
  %v4_aa = load double, double* %v3_aa, align 4
  %tmp238 = call double @llvm.fabs.f64(double %v4_aa)
  %v2_ad = fpext double %tmp238 to x86_fp80
  store x86_fp80 %v2_ad, x86_fp80* %st5.global-to-local, align 4
  %v4_af = fsub x86_fp80 %v2_ad, %v4_a8
  store x86_fp80 %v4_af, x86_fp80* %st6.global-to-local, align 4
  %v2_b1 = load i32, i32* @ecx, align 8
  %v3_b1 = fptrunc x86_fp80 %v4_af to double
  %v4_b1 = inttoptr i32 %v2_b1 to double*
  store double %v3_b1, double* %v4_b1, align 4
  %v2_b3 = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v4_70)
  store x86_fp80 %v2_b3, x86_fp80* %st7.global-to-local, align 4
  %v1_b5 = load i32, i32* %esi.global-to-local, align 4
  %v2_b5 = add i32 %v1_b5, 32
  %v3_b5 = inttoptr i32 %v2_b5 to double*
  %v4_b5 = load double, double* %v3_b5, align 4
  %tmp239 = call double @llvm.fabs.f64(double %v4_b5)
  %v2_b8 = fpext double %tmp239 to x86_fp80
  store x86_fp80 %v2_b8, x86_fp80* %st6.global-to-local, align 4
  %v4_ba = fsub x86_fp80 %v2_b8, %v2_b3
  store x86_fp80 %v4_ba, x86_fp80* %st7.global-to-local, align 4
  %v2_bc = load i32, i32* @edx, align 8
  %v3_bc = fptrunc x86_fp80 %v4_ba to double
  %v4_bc = inttoptr i32 %v2_bc to double*
  store double %v3_bc, double* %v4_bc, align 4
  store i32 %v0_4, i32* %edi.global-to-local, align 4
  store i32 %v0_3, i32* %esi.global-to-local, align 4
  %v0_c1 = load i32, i32* @eax, align 8
  ret i32 %v0_c1
}

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

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

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

attributes #0 = { nounwind readnone speculatable }
