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
@global_var_1.1 = constant i8 -117

define i32 @function_0(i32 %arg1) local_unnamed_addr {
dec_label_pc_0:
  %ebx.global-to-local = alloca i32, align 4
  %edi.global-to-local = alloca i32, align 4
  %esi.global-to-local = alloca i32, align 4
  %fpu_stat_TOP.global-to-local = alloca i3, align 1
  %st6.global-to-local = alloca x86_fp80, align 4
  %st7.global-to-local = alloca x86_fp80, align 4
  %v0_9 = load i32, i32* %ebx.global-to-local, align 4
  %v0_a = load i32, i32* %esi.global-to-local, align 4
  %v0_b = load i32, i32* %edi.global-to-local, align 4
  store i32 %arg1, i32* %esi.global-to-local, align 4
  %v1_f = add i32 %arg1, 48
  %v2_f = inttoptr i32 %v1_f to i32*
  %v3_f = load i32, i32* %v2_f, align 4
  store i32 %v3_f, i32* %edi.global-to-local, align 4
  %v0_12 = load i32, i32* @eax, align 8
  store i32 %v0_12, i32* %ebx.global-to-local, align 4
  %v0_16 = load i3, i3* %fpu_stat_TOP.global-to-local, align 1
  %v3_16 = load double, double* bitcast (i32* @eax to double*), align 8
  %v4_16 = fpext double %v3_16 to x86_fp80
  %v3_18 = fmul x86_fp80 %v4_16, %v4_16
  %v3_1a = load double, double* bitcast (i32* @edx to double*), align 8
  %v4_1a = fpext double %v3_1a to x86_fp80
  %v3_1c = fmul x86_fp80 %v4_1a, %v4_1a
  %v3_1e = load double, double* bitcast (i32* @ecx to double*), align 8
  %v4_1e = fpext double %v3_1e to x86_fp80
  %v3_20 = fmul x86_fp80 %v4_1e, %v4_1e
  %v4_22 = fadd x86_fp80 %v3_1c, %v3_20
  store x86_fp80 %v4_22, x86_fp80* %st6.global-to-local, align 4
  %v4_24 = fadd x86_fp80 %v3_18, %v4_22
  %v2_26 = call x86_fp80 @llvm.sqrt.f80(x86_fp80 %v4_24)
  store x86_fp80 %v4_16, x86_fp80* %st7.global-to-local, align 4
  %v3_2d = add i32 %v3_f, 32
  %v4_2d = inttoptr i32 %v3_2d to double*
  %v5_2d = load double, double* %v4_2d, align 4
  %v6_2d = fpext double %v5_2d to x86_fp80
  %v7_2d = fmul x86_fp80 %v4_16, %v6_2d
  store x86_fp80 %v7_2d, x86_fp80* %st7.global-to-local, align 4
  %tmp243 = bitcast double %v3_1e to i64
  %tmp244 = trunc i64 %tmp243 to i32
  %v2_30 = add i32 %tmp244, 8
  %v3_30 = inttoptr i32 %v2_30 to double*
  %v4_30 = load double, double* %v3_30, align 4
  %v5_30 = fpext double %v4_30 to x86_fp80
  store x86_fp80 %v5_30, x86_fp80* %st6.global-to-local, align 4
  %v3_33 = add i32 %v3_f, 24
  %v4_33 = inttoptr i32 %v3_33 to double*
  %v5_33 = load double, double* %v4_33, align 4
  %v6_33 = fpext double %v5_33 to x86_fp80
  %v7_33 = fmul x86_fp80 %v5_30, %v6_33
  store x86_fp80 %v7_33, x86_fp80* %st6.global-to-local, align 4
  %v4_36 = fadd x86_fp80 %v7_2d, %v7_33
  %tmp245 = fptrunc x86_fp80 %v4_36 to double
  %v4_3a = call double @llvm.fabs.f64(double %tmp245)
  store x86_fp80 %v4_16, x86_fp80* %st7.global-to-local, align 4
  %v5_40 = load double, double* %v4_33, align 4
  %v6_40 = fpext double %v5_40 to x86_fp80
  %v7_40 = fmul x86_fp80 %v4_16, %v6_40
  store x86_fp80 %v7_40, x86_fp80* %st7.global-to-local, align 4
  %v4_43 = load double, double* %v3_30, align 4
  %v5_43 = fpext double %v4_43 to x86_fp80
  store x86_fp80 %v5_43, x86_fp80* %st6.global-to-local, align 4
  %v5_46 = load double, double* %v4_2d, align 4
  %v6_46 = fpext double %v5_46 to x86_fp80
  %v7_46 = fmul x86_fp80 %v5_43, %v6_46
  %v2_49 = fsub x86_fp80 0xK80000000000000000000, %v7_46
  store x86_fp80 %v2_49, x86_fp80* %st6.global-to-local, align 4
  %v4_4b = fsub x86_fp80 %v7_40, %v7_46
  store x86_fp80 %v4_4b, x86_fp80* %st7.global-to-local, align 4
  %v3_50 = inttoptr i32 %v3_f to double*
  %v4_50 = load double, double* %v3_50, align 4
  %v5_50 = fpext double %v4_50 to x86_fp80
  %v6_50 = fmul x86_fp80 %v4_4b, %v5_50
  store x86_fp80 %v6_50, x86_fp80* %st7.global-to-local, align 4
  store x86_fp80 %v4_1e, x86_fp80* %st6.global-to-local, align 4
  %v3_54 = add i32 %v3_f, 8
  %v4_54 = inttoptr i32 %v3_54 to double*
  %v5_54 = load double, double* %v4_54, align 4
  %v6_54 = fpext double %v5_54 to x86_fp80
  %v7_54 = fmul x86_fp80 %v4_1e, %v6_54
  %v2_57 = fsub x86_fp80 0xK80000000000000000000, %v7_54
  store x86_fp80 %v2_57, x86_fp80* %st6.global-to-local, align 4
  %v4_59 = fsub x86_fp80 %v6_50, %v7_54
  store x86_fp80 %v4_59, x86_fp80* %st7.global-to-local, align 4
  %v3_5b = add i32 %v3_f, 16
  %v4_5b = inttoptr i32 %v3_5b to double*
  %v5_5b = load double, double* %v4_5b, align 4
  %v6_5b = fpext double %v5_5b to x86_fp80
  %v7_5b = fmul x86_fp80 %v4_59, %v6_5b
  store x86_fp80 %v4_4b, x86_fp80* %st7.global-to-local, align 4
  %v5_64 = load double, double* %v4_54, align 4
  %v6_64 = fpext double %v5_64 to x86_fp80
  %v7_64 = fmul x86_fp80 %v4_4b, %v6_64
  store x86_fp80 %v7_64, x86_fp80* %st7.global-to-local, align 4
  store x86_fp80 %v4_1e, x86_fp80* %st6.global-to-local, align 4
  %v4_69 = load double, double* %v3_50, align 4
  %v5_69 = fpext double %v4_69 to x86_fp80
  %v6_69 = fmul x86_fp80 %v4_1e, %v5_69
  %v4_6b = fadd x86_fp80 %v7_64, %v6_69
  %v2_6d = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v4_6b)
  store x86_fp80 %v2_6d, x86_fp80* %st7.global-to-local, align 4
  store x86_fp80 %v7_5b, x86_fp80* %st6.global-to-local, align 4
  %v5_75 = load double, double* %v4_5b, align 4
  %v6_75 = fpext double %v5_75 to x86_fp80
  %v7_75 = fmul x86_fp80 %v4_1a, %v6_75
  %v4_7a = fsub x86_fp80 %v7_5b, %v7_75
  %v2_7c = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v4_7a)
  store x86_fp80 %v2_7c, x86_fp80* %st6.global-to-local, align 4
  %v5_84 = load double, double* %v4_5b, align 4
  %v6_84 = fpext double %v5_84 to x86_fp80
  %v7_84 = fmul x86_fp80 %v4_1a, %v6_84
  %v4_87 = fadd x86_fp80 %v7_84, %v7_5b
  %tmp246 = bitcast double %v3_1a to i64
  %tmp247 = trunc i64 %tmp246 to i32
  %tmp248 = fptrunc x86_fp80 %v4_87 to double
  %v3_8c = call double @llvm.fabs.f64(double %tmp248)
  %v4_8c = inttoptr i32 %tmp247 to double*
  store double %v3_8c, double* %v4_8c, align 4
  %v1_8e = load x86_fp80, x86_fp80* %st6.global-to-local, align 4
  %v2_8e = load i32, i32* %ebx.global-to-local, align 4
  %v3_8e = fptrunc x86_fp80 %v1_8e to double
  %v4_8e = inttoptr i32 %v2_8e to double*
  store double %v3_8e, double* %v4_8e, align 4
  %v1_90 = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v2_90 = load i32, i32* @ecx, align 8
  %v3_90 = fptrunc x86_fp80 %v1_90 to double
  %v4_90 = inttoptr i32 %v2_90 to double*
  store double %v3_90, double* %v4_90, align 4
  %v3_93 = load double, double* bitcast (i32* @eax to double*), align 8
  %v4_93 = fpext double %v3_93 to x86_fp80
  %v4_95 = load double, double* bitcast (i32* @edx to double*), align 8
  %v5_95 = fpext double %v4_95 to x86_fp80
  %v6_95 = fadd x86_fp80 %v4_93, %v5_95
  store x86_fp80 %v6_95, x86_fp80* %st7.global-to-local, align 4
  %v5_97 = load double, double* %v4_5b, align 4
  %v6_97 = fpext double %v5_97 to x86_fp80
  %v7_97 = fmul x86_fp80 %v6_95, %v6_97
  %v6_a2 = fsub x86_fp80 %v5_95, %v4_93
  store x86_fp80 %v6_a2, x86_fp80* %st7.global-to-local, align 4
  %v2_a4 = load i32, i32* %edi.global-to-local, align 4
  %v3_a4 = add i32 %v2_a4, 16
  %v4_a4 = inttoptr i32 %v3_a4 to double*
  %v5_a4 = load double, double* %v4_a4, align 4
  %v6_a4 = fpext double %v5_a4 to x86_fp80
  %v7_a4 = fmul x86_fp80 %v6_a2, %v6_a4
  %tmp249 = bitcast double %v4_95 to i64
  %tmp250 = trunc i64 %tmp249 to i32
  %v3_a8 = fptrunc x86_fp80 %v7_a4 to double
  %v4_a8 = inttoptr i32 %tmp250 to double*
  store double %v3_a8, double* %v4_a8, align 4
  store x86_fp80 %v7_97, x86_fp80* %st7.global-to-local, align 4
  %v3_b0 = inttoptr i32 %v2_a4 to double*
  %v4_b0 = load double, double* %v3_b0, align 4
  %v5_b0 = fpext double %v4_b0 to x86_fp80
  %v6_b0 = fmul x86_fp80 %v7_97, %v5_b0
  store x86_fp80 %v6_b0, x86_fp80* %st7.global-to-local, align 4
  %v3_b2 = load double, double* bitcast (i32* @ecx to double*), align 8
  %v4_b2 = fpext double %v3_b2 to x86_fp80
  store x86_fp80 %v4_b2, x86_fp80* %st6.global-to-local, align 4
  %v3_b4 = add i32 %v2_a4, 8
  %v4_b4 = inttoptr i32 %v3_b4 to double*
  %v5_b4 = load double, double* %v4_b4, align 4
  %v6_b4 = fpext double %v5_b4 to x86_fp80
  %v7_b4 = fmul x86_fp80 %v4_b2, %v6_b4
  %v4_b7 = fadd x86_fp80 %v6_b0, %v7_b4
  store x86_fp80 %v4_b7, x86_fp80* %st7.global-to-local, align 4
  store x86_fp80 %v7_97, x86_fp80* %st6.global-to-local, align 4
  %v5_c0 = load double, double* %v4_b4, align 4
  %v6_c0 = fpext double %v5_c0 to x86_fp80
  %v7_c0 = fmul x86_fp80 %v7_97, %v6_c0
  %v2_c3 = fsub x86_fp80 0xK80000000000000000000, %v7_c0
  store x86_fp80 %v2_c3, x86_fp80* %st6.global-to-local, align 4
  %v4_c7 = load double, double* %v3_b0, align 4
  %v5_c7 = fpext double %v4_c7 to x86_fp80
  %v6_c7 = fmul x86_fp80 %v4_b2, %v5_c7
  %v4_c9 = fsub x86_fp80 %v6_c7, %v7_c0
  store x86_fp80 %v4_c9, x86_fp80* %st6.global-to-local, align 4
  %tmp251 = bitcast double %v3_b2 to i64
  %tmp252 = trunc i64 %tmp251 to i32
  %v3_cc = fptrunc x86_fp80 %v4_c9 to double
  %v4_cc = inttoptr i32 %tmp252 to double*
  store double %v3_cc, double* %v4_cc, align 4
  %v1_ce = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v3_ce = add i32 %v2_a4, 32
  %v4_ce = inttoptr i32 %v3_ce to double*
  %v5_ce = load double, double* %v4_ce, align 4
  %v6_ce = fpext double %v5_ce to x86_fp80
  %v7_ce = fmul x86_fp80 %v1_ce, %v6_ce
  %v2_d1 = fsub x86_fp80 0xK80000000000000000000, %v7_ce
  store x86_fp80 %v2_d1, x86_fp80* %st7.global-to-local, align 4
  %v5_d3 = fpext double %v4_3a to x86_fp80
  store x86_fp80 %v5_d3, x86_fp80* %st6.global-to-local, align 4
  %v3_d6 = add i32 %v2_a4, 24
  %v4_d6 = inttoptr i32 %v3_d6 to double*
  %v5_d6 = load double, double* %v4_d6, align 4
  %v6_d6 = fpext double %v5_d6 to x86_fp80
  %v7_d6 = fmul x86_fp80 %v5_d3, %v6_d6
  store x86_fp80 %v7_d6, x86_fp80* %st6.global-to-local, align 4
  %v4_d9 = fsub x86_fp80 %v7_d6, %v7_ce
  %v2_db = load i32, i32* @ecx, align 8
  %v3_db = add i32 %v2_db, 8
  %v4_db = fptrunc x86_fp80 %v4_d9 to double
  %v5_db = inttoptr i32 %v3_db to double*
  store double %v4_db, double* %v5_db, align 4
  store x86_fp80 %v4_b7, x86_fp80* %st7.global-to-local, align 4
  %v5_e3 = load double, double* %v4_d6, align 4
  %v6_e3 = fpext double %v5_e3 to x86_fp80
  %v7_e3 = fmul x86_fp80 %v4_b7, %v6_e3
  store x86_fp80 %v7_e3, x86_fp80* %st7.global-to-local, align 4
  store x86_fp80 %v5_d3, x86_fp80* %st6.global-to-local, align 4
  %v5_e9 = load double, double* %v4_ce, align 4
  %v6_e9 = fpext double %v5_e9 to x86_fp80
  %v7_e9 = fmul x86_fp80 %v5_d3, %v6_e9
  %v4_ec = fadd x86_fp80 %v7_e3, %v7_e9
  %v3_f1 = fmul x86_fp80 %v4_ec, %v4_ec
  %v3_f3 = load double, double* bitcast (i32* @edx to double*), align 8
  %v4_f3 = fpext double %v3_f3 to x86_fp80
  %v3_f5 = fmul x86_fp80 %v4_f3, %v4_f3
  %v3_f7 = load double, double* bitcast (i32* @ecx to double*), align 8
  %v4_f7 = fpext double %v3_f7 to x86_fp80
  %v3_f9 = fmul x86_fp80 %v4_f7, %v4_f7
  %v4_fb = fadd x86_fp80 %v3_f5, %v3_f9
  store x86_fp80 %v4_fb, x86_fp80* %st6.global-to-local, align 4
  %v4_fd = fadd x86_fp80 %v3_f1, %v4_fb
  %v2_ff = call x86_fp80 @llvm.sqrt.f80(x86_fp80 %v4_fd)
  %v7_101 = fdiv x86_fp80 %v2_26, %v2_ff
  %v7_107 = fmul x86_fp80 %v7_101, %v4_ec
  store x86_fp80 %v7_107, x86_fp80* %st7.global-to-local, align 4
  %v3_10a = add i32 %v2_a4, -16
  %v4_10a = inttoptr i32 %v3_10a to double*
  %v5_10a = load double, double* %v4_10a, align 4
  %v6_10a = fpext double %v5_10a to x86_fp80
  %v7_10a = fmul x86_fp80 %v7_107, %v6_10a
  store x86_fp80 %v7_10a, x86_fp80* %st7.global-to-local, align 4
  %v3_10d = add i32 %v2_a4, -24
  %v4_10d = inttoptr i32 %v3_10d to double*
  %v5_10d = load double, double* %v4_10d, align 4
  %v6_10d = fpext double %v5_10d to x86_fp80
  %v7_10d = fsub x86_fp80 %v7_10a, %v6_10d
  %v2_110 = load i32, i32* %ebx.global-to-local, align 4
  %v3_110 = fptrunc x86_fp80 %v7_10d to double
  %v4_110 = inttoptr i32 %v2_110 to double*
  store double %v3_110, double* %v4_110, align 4
  %v5_110 = add i3 %v0_16, add (i3 add (i3 add (i3 ptrtoint (i8* @global_var_1.1 to i3), i3 ptrtoint (i8* @global_var_1.1 to i3)), i3 ptrtoint (i8* @global_var_1.1 to i3)), i3 add (i3 add (i3 add (i3 ptrtoint (i8* @global_var_1.1 to i3), i3 ptrtoint (i8* @global_var_1.1 to i3)), i3 ptrtoint (i8* @global_var_1.1 to i3)), i3 add (i3 sub (i3 0, i3 ptrtoint (i8* @global_var_1.1 to i3)), i3 add (i3 sub (i3 0, i3 ptrtoint (i8* @global_var_1.1 to i3)), i3 add (i3 sub (i3 0, i3 ptrtoint (i8* @global_var_1.1 to i3)), i3 add (i3 sub (i3 0, i3 ptrtoint (i8* @global_var_1.1 to i3)), i3 add (i3 sub (i3 0, i3 ptrtoint (i8* @global_var_1.1 to i3)), i3 add (i3 sub (i3 0, i3 ptrtoint (i8* @global_var_1.1 to i3)), i3 add (i3 sub (i3 0, i3 ptrtoint (i8* @global_var_1.1 to i3)), i3 add (i3 add (i3 sub (i3 0, i3 ptrtoint (i8* @global_var_1.1 to i3)), i3 add (i3 ptrtoint (i8* @global_var_1.1 to i3), i3 ptrtoint (i8* @global_var_1.1 to i3))), i3 add (i3 add (i3 ptrtoint (i8* @global_var_1.1 to i3), i3 ptrtoint (i8* @global_var_1.1 to i3)), i3 add (i3 add (i3 ptrtoint (i8* @global_var_1.1 to i3), i3 ptrtoint (i8* @global_var_1.1 to i3)), i3 add (i3 add (i3 add (i3 ptrtoint (i8* @global_var_1.1 to i3), i3 ptrtoint (i8* @global_var_1.1 to i3)), i3 ptrtoint (i8* @global_var_1.1 to i3)), i3 ptrtoint (i8* @global_var_1.1 to i3))))))))))))))
  %v3_113 = load double, double* bitcast (i32* @edx to double*), align 8
  %v4_113 = fpext double %v3_113 to x86_fp80
  store x86_fp80 %v4_113, x86_fp80* %st7.global-to-local, align 4
  %v5_115 = load double, double* %v4_10a, align 4
  %v6_115 = fpext double %v5_115 to x86_fp80
  %v7_115 = fmul x86_fp80 %v4_113, %v6_115
  %v7_118 = fmul x86_fp80 %v7_115, %v7_101
  %tmp253 = bitcast double %v3_113 to i64
  %tmp254 = trunc i64 %tmp253 to i32
  %v3_11b = fptrunc x86_fp80 %v7_118 to double
  %v4_11b = inttoptr i32 %tmp254 to double*
  store double %v3_11b, double* %v4_11b, align 4
  %v3_11e = load double, double* bitcast (i32* @ecx to double*), align 8
  %v4_11e = fpext double %v3_11e to x86_fp80
  store x86_fp80 %v4_11e, x86_fp80* %st7.global-to-local, align 4
  %v5_120 = load double, double* %v4_10a, align 4
  %v6_120 = fpext double %v5_120 to x86_fp80
  %v7_120 = fmul x86_fp80 %v4_11e, %v6_120
  %v7_123 = fmul x86_fp80 %v7_120, %v7_101
  store x86_fp80 %v7_123, x86_fp80* %st7.global-to-local, align 4
  %tmp255 = bitcast double %v3_11e to i64
  %tmp256 = trunc i64 %tmp255 to i32
  %v3_126 = fptrunc x86_fp80 %v7_123 to double
  %v4_126 = inttoptr i32 %tmp256 to double*
  store double %v3_126, double* %v4_126, align 4
  store i3 %v5_110, i3* %fpu_stat_TOP.global-to-local, align 1
  store i32 %v2_110, i32* @eax, align 8
  store i32 %v0_b, i32* %edi.global-to-local, align 4
  store i32 %v0_a, i32* %esi.global-to-local, align 4
  store i32 %v0_9, i32* %ebx.global-to-local, align 4
  ret i32 %v2_110
}

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