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:
  %esi.global-to-local = alloca i32, 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
  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
  store i32 %v3_7, i32* %esi.global-to-local, align 4
  %v3_a = load double, double* bitcast (i32* @ecx to double*), align 8
  %v4_a = fpext double %v3_a to x86_fp80
  store x86_fp80 %v4_a, x86_fp80* %st7.global-to-local, align 4
  %v3_c = load double, double* bitcast (i32* @edx to double*), align 8
  %v4_c = fpext double %v3_c to x86_fp80
  store x86_fp80 %v4_c, x86_fp80* %st6.global-to-local, align 4
  %v3_e = load double, double* bitcast (i32* @eax to double*), align 8
  %v4_e = fpext double %v3_e to x86_fp80
  %v3_10 = add i32 %v3_7, -16
  %v4_10 = inttoptr i32 %v3_10 to double*
  %v5_10 = load double, double* %v4_10, align 4
  %v6_10 = fpext double %v5_10 to x86_fp80
  %v7_10 = fadd x86_fp80 %v4_e, %v6_10
  %tmp234 = bitcast double %v3_e to i64
  %tmp235 = trunc i64 %tmp234 to i32
  %v3_13 = fptrunc x86_fp80 %v7_10 to double
  %v4_13 = inttoptr i32 %tmp235 to double*
  store double %v3_13, double* %v4_13, align 4
  %v1_15 = load x86_fp80, x86_fp80* %st6.global-to-local, align 4
  %v3_15 = add i32 %v3_7, -24
  %v4_15 = inttoptr i32 %v3_15 to double*
  %v5_15 = load double, double* %v4_15, align 4
  %v6_15 = fpext double %v5_15 to x86_fp80
  %v7_15 = fadd x86_fp80 %v1_15, %v6_15
  store x86_fp80 %v7_15, x86_fp80* %st6.global-to-local, align 4
  %v2_18 = load i32, i32* @edx, align 8
  %v3_18 = fptrunc x86_fp80 %v7_15 to double
  %v4_18 = inttoptr i32 %v2_18 to double*
  store double %v3_18, double* %v4_18, align 4
  %v1_1a = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v3_1a = add i32 %v3_7, -32
  %v4_1a = inttoptr i32 %v3_1a to double*
  %v5_1a = load double, double* %v4_1a, align 4
  %v6_1a = fpext double %v5_1a to x86_fp80
  %v7_1a = fadd x86_fp80 %v1_1a, %v6_1a
  %v2_1d = load i32, i32* @ecx, align 8
  %v3_1d = fptrunc x86_fp80 %v7_1a to double
  %v4_1d = inttoptr i32 %v2_1d to double*
  store double %v3_1d, double* %v4_1d, align 4
  %v3_1f = load double, double* bitcast (i32* @eax to double*), align 8
  %v4_1f = fpext double %v3_1f to x86_fp80
  %v3_21 = fmul x86_fp80 %v4_1f, %v4_1f
  %v3_23 = load double, double* bitcast (i32* @edx to double*), align 8
  %v4_23 = fpext double %v3_23 to x86_fp80
  %v3_25 = fmul x86_fp80 %v4_23, %v4_23
  store x86_fp80 %v3_25, x86_fp80* %st6.global-to-local, align 4
  %v4_27 = fadd x86_fp80 %v3_21, %v3_25
  %v2_29 = fsub x86_fp80 0xK80000000000000000000, %v4_27
  store x86_fp80 %v2_29, x86_fp80* %st7.global-to-local, align 4
  %v3_2b = add i32 %v3_7, -48
  %v4_2b = inttoptr i32 %v3_2b to double*
  %v5_2b = load double, double* %v4_2b, align 4
  %v6_2b = fpext double %v5_2b to x86_fp80
  %v7_2b = fsub x86_fp80 %v6_2b, %v4_27
  %v3_2e = fmul x86_fp80 %v7_2b, %v7_2b
  %v3_30 = load double, double* bitcast (i32* @ecx to double*), align 8
  %v4_30 = fpext double %v3_30 to x86_fp80
  %v3_32 = fmul x86_fp80 %v4_30, %v4_30
  %v4_34 = fadd x86_fp80 %v3_32, %v3_2e
  %v2_36 = call x86_fp80 @llvm.sqrt.f80(x86_fp80 %v4_34)
  store x86_fp80 %v2_36, x86_fp80* %st7.global-to-local, align 4
  %tmp236 = call double @llvm.fabs.f64(double %v3_1f)
  %v2_3a = fpext double %tmp236 to x86_fp80
  %v4_3c = fdiv x86_fp80 %v2_3a, %v2_36
  store x86_fp80 %v4_3c, x86_fp80* %st6.global-to-local, align 4
  %v2_3e = add i32 %v3_7, -40
  %v3_3e = inttoptr i32 %v2_3e to double*
  %v4_3e = load double, double* %v3_3e, align 4
  %v5_3e = fpext double %v4_3e to x86_fp80
  %v4_41 = fmul x86_fp80 %v4_3c, %v5_3e
  store x86_fp80 %v4_41, x86_fp80* %st6.global-to-local, align 4
  %v5_43 = load double, double* %v4_10, align 4
  %v6_43 = fpext double %v5_43 to x86_fp80
  %v7_43 = fsub x86_fp80 %v4_41, %v6_43
  %tmp237 = bitcast double %v3_1f to i64
  %tmp238 = trunc i64 %tmp237 to i32
  %v3_46 = fptrunc x86_fp80 %v7_43 to double
  %v4_46 = inttoptr i32 %tmp238 to double*
  store double %v3_46, double* %v4_46, align 4
  %v3_48 = load double, double* bitcast (i32* @edx to double*), align 8
  %tmp239 = call double @llvm.fabs.f64(double %v3_48)
  %v2_4a = fpext double %tmp239 to x86_fp80
  %v3_4c = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v4_4c = fdiv x86_fp80 %v2_4a, %v3_4c
  store x86_fp80 %v4_4c, x86_fp80* %st6.global-to-local, align 4
  %v4_4e = load double, double* %v3_3e, align 4
  %v5_4e = fpext double %v4_4e to x86_fp80
  %v4_51 = fmul x86_fp80 %v4_4c, %v5_4e
  store x86_fp80 %v4_51, x86_fp80* %st6.global-to-local, align 4
  %v5_53 = load double, double* %v4_15, align 4
  %v6_53 = fpext double %v5_53 to x86_fp80
  %v7_53 = fsub x86_fp80 %v4_51, %v6_53
  %tmp240 = bitcast double %v3_48 to i64
  %tmp241 = trunc i64 %tmp240 to i32
  %v3_56 = fptrunc x86_fp80 %v7_53 to double
  %v4_56 = inttoptr i32 %tmp241 to double*
  store double %v3_56, double* %v4_56, align 4
  %v3_58 = load double, double* bitcast (i32* @ecx to double*), align 8
  %tmp242 = call double @llvm.fabs.f64(double %v3_58)
  %v2_5a = fpext double %tmp242 to x86_fp80
  %v3_5c = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  store x86_fp80 %v3_5c, x86_fp80* %st6.global-to-local, align 4
  %v4_5e = fmul x86_fp80 %v3_5c, %v2_5a
  store x86_fp80 %v4_5e, x86_fp80* %st7.global-to-local, align 4
  %v4_60 = load double, double* %v3_3e, align 4
  %v5_60 = fpext double %v4_60 to x86_fp80
  store x86_fp80 %v5_60, x86_fp80* %st6.global-to-local, align 4
  %v4_63 = fdiv x86_fp80 %v4_5e, %v5_60
  store x86_fp80 %v4_63, x86_fp80* %st7.global-to-local, align 4
  %v5_65 = load double, double* %v4_1a, align 4
  %v6_65 = fpext double %v5_65 to x86_fp80
  %v7_65 = fsub x86_fp80 %v4_63, %v6_65
  store x86_fp80 %v7_65, x86_fp80* %st7.global-to-local, align 4
  %tmp243 = bitcast double %v3_58 to i64
  %tmp244 = trunc i64 %tmp243 to i32
  %v3_68 = fptrunc x86_fp80 %v7_65 to double
  %v4_68 = inttoptr i32 %tmp244 to double*
  store double %v3_68, double* %v4_68, align 4
  store i32 %v0_3, i32* %esi.global-to-local, align 4
  %v0_6c = load i32, i32* @eax, align 8
  ret i32 %v0_6c
}

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

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

attributes #0 = { nounwind readnone speculatable }
