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
  %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
  store x86_fp80 %v4_16, x86_fp80* %st7.global-to-local, align 4
  %v3_18 = inttoptr i32 %v3_f to double*
  %v4_18 = load double, double* %v3_18, align 4
  %v5_18 = fpext double %v4_18 to x86_fp80
  %v6_18 = fmul x86_fp80 %v4_16, %v5_18
  store x86_fp80 %v6_18, x86_fp80* %st7.global-to-local, align 4
  %v3_1a = load double, double* bitcast (i32* @ecx to double*), align 8
  %v4_1a = fpext double %v3_1a to x86_fp80
  %v3_1c = add i32 %v3_f, 8
  %v4_1c = inttoptr i32 %v3_1c to double*
  %v5_1c = load double, double* %v4_1c, align 4
  %v6_1c = fpext double %v5_1c to x86_fp80
  %v7_1c = fmul x86_fp80 %v4_1a, %v6_1c
  %v4_21 = fsub x86_fp80 %v6_18, %v7_1c
  store x86_fp80 %v4_21, x86_fp80* %st7.global-to-local, align 4
  %v3_23 = add i32 %v3_f, 16
  %v4_23 = inttoptr i32 %v3_23 to double*
  %v5_23 = load double, double* %v4_23, align 4
  %v6_23 = fpext double %v5_23 to x86_fp80
  %v7_23 = fmul x86_fp80 %v4_21, %v6_23
  %v3_29 = load double, double* bitcast (i32* @edx to double*), align 8
  %v4_29 = fpext double %v3_29 to x86_fp80
  store x86_fp80 %v4_29, x86_fp80* %st7.global-to-local, align 4
  %v5_2b = load double, double* %v4_23, align 4
  %v6_2b = fpext double %v5_2b to x86_fp80
  %v7_2b = fmul x86_fp80 %v4_29, %v6_2b
  %tmp244 = bitcast double %v3_29 to i64
  %tmp245 = trunc i64 %tmp244 to i32
  %v3_2e = fptrunc x86_fp80 %v7_2b to double
  %v4_2e = inttoptr i32 %tmp245 to double*
  store double %v3_2e, double* %v4_2e, align 4
  %v3_31 = load double, double* bitcast (i32* @eax to double*), align 8
  %v4_31 = fpext double %v3_31 to x86_fp80
  store x86_fp80 %v4_31, x86_fp80* %st7.global-to-local, align 4
  %v5_33 = load double, double* %v4_1c, align 4
  %v6_33 = fpext double %v5_33 to x86_fp80
  %v7_33 = fmul x86_fp80 %v4_31, %v6_33
  store x86_fp80 %v7_33, x86_fp80* %st7.global-to-local, align 4
  %v3_36 = load double, double* bitcast (i32* @ecx to double*), align 8
  %v4_36 = fpext double %v3_36 to x86_fp80
  %v4_38 = load double, double* %v3_18, align 4
  %v5_38 = fpext double %v4_38 to x86_fp80
  %v6_38 = fmul x86_fp80 %v4_36, %v5_38
  %v4_3a = fadd x86_fp80 %v7_33, %v6_38
  %v4_40 = load double, double* bitcast (i32* @edx to double*), align 8
  %v5_40 = fpext double %v4_40 to x86_fp80
  %v6_40 = fsub x86_fp80 %v7_23, %v5_40
  %v6_46 = fadd x86_fp80 %v7_23, %v5_40
  %v3_49 = fmul x86_fp80 %v6_46, %v6_46
  %v3_4b = fmul x86_fp80 %v3_49, %v3_49
  %v3_4d = fmul x86_fp80 %v3_4b, %v3_4b
  %v3_52 = fmul x86_fp80 %v6_40, %v6_40
  %v3_54 = fmul x86_fp80 %v3_52, %v3_52
  %v3_56 = fmul x86_fp80 %v3_54, %v3_54
  %v3_5b = fmul x86_fp80 %v4_3a, %v4_3a
  %v3_5d = fmul x86_fp80 %v3_5b, %v3_5b
  %v3_5f = fmul x86_fp80 %v3_5d, %v3_5d
  %tmp246 = bitcast double %v3_36 to i64
  %tmp247 = trunc i64 %tmp246 to i32
  %v3_61 = fptrunc x86_fp80 %v3_5f to double
  %v4_61 = inttoptr i32 %tmp247 to double*
  store double %v3_61, double* %v4_61, align 4
  %v4_68 = load double, double* bitcast (i32* @ecx to double*), align 8
  %v5_68 = fpext double %v4_68 to x86_fp80
  %v6_68 = fadd x86_fp80 %v3_4d, %v5_68
  %v2_6a = call x86_fp80 @llvm.sqrt.f80(x86_fp80 %v6_68)
  %v2_6c = call x86_fp80 @llvm.sqrt.f80(x86_fp80 %v2_6a)
  store x86_fp80 %v2_6c, x86_fp80* %st7.global-to-local, align 4
  %v3_6e = add i32 %v3_f, -24
  %v4_6e = inttoptr i32 %v3_6e to double*
  %v5_6e = load double, double* %v4_6e, align 4
  %v6_6e = fpext double %v5_6e to x86_fp80
  %v7_6e = fsub x86_fp80 %v2_6c, %v6_6e
  %v2_71 = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v7_6e)
  store x86_fp80 %v2_71, x86_fp80* %st7.global-to-local, align 4
  %v3_73 = add i32 %v3_f, -16
  %v4_73 = inttoptr i32 %v3_73 to double*
  %v5_73 = load double, double* %v4_73, align 4
  %v6_73 = fpext double %v5_73 to x86_fp80
  %v7_73 = fmul x86_fp80 %v2_71, %v6_73
  store x86_fp80 %v7_73, x86_fp80* %st7.global-to-local, align 4
  %v5_76 = load double, double* %v4_23, align 4
  %v6_76 = fpext double %v5_76 to x86_fp80
  %v7_76 = fmul x86_fp80 %v7_73, %v6_76
  %v3_79 = fptrunc x86_fp80 %v7_76 to double
  %v4_79 = inttoptr i32 %v0_12 to double*
  store double %v3_79, double* %v4_79, align 4
  %v4_7f = load double, double* bitcast (i32* @ecx to double*), align 8
  %v5_7f = fpext double %v4_7f to x86_fp80
  %v6_7f = fadd x86_fp80 %v3_56, %v5_7f
  %v2_81 = call x86_fp80 @llvm.sqrt.f80(x86_fp80 %v6_7f)
  %v2_83 = call x86_fp80 @llvm.sqrt.f80(x86_fp80 %v2_81)
  store x86_fp80 %v2_83, x86_fp80* %st7.global-to-local, align 4
  %v5_85 = load double, double* %v4_6e, align 4
  %v6_85 = fpext double %v5_85 to x86_fp80
  %v7_85 = fsub x86_fp80 %v2_83, %v6_85
  %v2_88 = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v7_85)
  store x86_fp80 %v2_88, x86_fp80* %st7.global-to-local, align 4
  %v5_8a = load double, double* %v4_73, align 4
  %v6_8a = fpext double %v5_8a to x86_fp80
  %v7_8a = fmul x86_fp80 %v2_88, %v6_8a
  store x86_fp80 %v7_8a, x86_fp80* %st7.global-to-local, align 4
  %v5_8d = load double, double* %v4_23, align 4
  %v6_8d = fpext double %v5_8d to x86_fp80
  %v7_8d = fmul x86_fp80 %v7_8a, %v6_8d
  %v2_90 = load i32, i32* @edx, align 8
  %v3_90 = fptrunc x86_fp80 %v7_8d to double
  %v4_90 = inttoptr i32 %v2_90 to double*
  store double %v3_90, double* %v4_90, align 4
  %v7_96 = fadd x86_fp80 %v3_4d, %v3_56
  %v2_99 = call x86_fp80 @llvm.sqrt.f80(x86_fp80 %v7_96)
  %v2_9b = call x86_fp80 @llvm.sqrt.f80(x86_fp80 %v2_99)
  store x86_fp80 %v2_9b, x86_fp80* %st7.global-to-local, align 4
  %v5_9d = load double, double* %v4_6e, align 4
  %v6_9d = fpext double %v5_9d to x86_fp80
  %v7_9d = fsub x86_fp80 %v2_9b, %v6_9d
  %v2_a0 = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v7_9d)
  store x86_fp80 %v2_a0, x86_fp80* %st7.global-to-local, align 4
  %v5_a2 = load double, double* %v4_73, align 4
  %v6_a2 = fpext double %v5_a2 to x86_fp80
  %v7_a2 = fmul x86_fp80 %v2_a0, %v6_a2
  %v2_a5 = load i32, i32* @ecx, align 8
  %v3_a5 = fptrunc x86_fp80 %v7_a2 to double
  %v4_a5 = inttoptr i32 %v2_a5 to double*
  store double %v3_a5, double* %v4_a5, align 4
  %v3_a8 = load double, double* bitcast (i32* @edx to double*), align 8
  %v4_a8 = fpext double %v3_a8 to x86_fp80
  %v4_aa = load double, double* bitcast (i32* @eax to double*), align 8
  %v5_aa = fpext double %v4_aa to x86_fp80
  %v6_aa = fadd x86_fp80 %v4_a8, %v5_aa
  store x86_fp80 %v6_aa, x86_fp80* %st7.global-to-local, align 4
  %v6_ae = fsub x86_fp80 %v4_a8, %v5_aa
  %tmp248 = bitcast double %v3_a8 to i64
  %tmp249 = trunc i64 %tmp248 to i32
  %v3_b0 = fptrunc x86_fp80 %v6_ae to double
  %v4_b0 = inttoptr i32 %tmp249 to double*
  store double %v3_b0, double* %v4_b0, align 4
  %v1_b2 = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v4_b9 = load double, double* %v3_18, align 4
  %v5_b9 = fpext double %v4_b9 to x86_fp80
  %v6_b9 = fmul x86_fp80 %v1_b2, %v5_b9
  store x86_fp80 %v6_b9, x86_fp80* %st7.global-to-local, align 4
  %v3_bb = load double, double* bitcast (i32* @ecx to double*), align 8
  %v4_bb = fpext double %v3_bb to x86_fp80
  %v2_bd = load i32, i32* %edi.global-to-local, align 4
  %v3_bd = add i32 %v2_bd, 8
  %v4_bd = inttoptr i32 %v3_bd to double*
  %v5_bd = load double, double* %v4_bd, align 4
  %v6_bd = fpext double %v5_bd to x86_fp80
  %v7_bd = fmul x86_fp80 %v4_bb, %v6_bd
  %v4_c0 = fadd x86_fp80 %v6_b9, %v7_bd
  store x86_fp80 %v4_c0, x86_fp80* %st7.global-to-local, align 4
  %v5_c5 = load double, double* %v4_bd, align 4
  %v6_c5 = fpext double %v5_c5 to x86_fp80
  %v7_c5 = fmul x86_fp80 %v1_b2, %v6_c5
  %v3_cc = inttoptr i32 %v2_bd to double*
  %v4_cc = load double, double* %v3_cc, align 4
  %v5_cc = fpext double %v4_cc to x86_fp80
  %v6_cc = fmul x86_fp80 %v4_bb, %v5_cc
  %v4_cf = fsub x86_fp80 %v6_cc, %v7_c5
  %tmp250 = bitcast double %v3_bb to i64
  %tmp251 = trunc i64 %tmp250 to i32
  %v3_d1 = fptrunc x86_fp80 %v4_cf to double
  %v4_d1 = inttoptr i32 %tmp251 to double*
  store double %v3_d1, double* %v4_d1, align 4
  %v1_d3 = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v2_d3 = load i32, i32* %ebx.global-to-local, align 4
  %v3_d3 = fptrunc x86_fp80 %v1_d3 to double
  %v4_d3 = inttoptr i32 %v2_d3 to double*
  store double %v3_d3, double* %v4_d3, align 4
  %v5_d3 = 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 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 ptrtoint (i8* @global_var_1.1 to i3), i3 ptrtoint (i8* @global_var_1.1 to i3))))))))))
  store i3 %v5_d3, i3* %fpu_stat_TOP.global-to-local, align 1
  store i32 %v2_d3, 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_d3
}

; 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

attributes #0 = { nounwind readnone speculatable }
