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
  %tmp241 = bitcast double %v3_29 to i64
  %tmp242 = trunc i64 %tmp241 to i32
  %v3_2e = fptrunc x86_fp80 %v7_2b to double
  %v4_2e = inttoptr i32 %tmp242 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
  %tmp243 = fptrunc x86_fp80 %v6_46 to double
  %v4_4b = call double @llvm.fabs.f64(double %tmp243)
  %tmp244 = fptrunc x86_fp80 %v6_40 to double
  %v4_50 = call double @llvm.fabs.f64(double %tmp244)
  %tmp245 = bitcast double %v3_36 to i64
  %tmp246 = trunc i64 %tmp245 to i32
  %tmp247 = fptrunc x86_fp80 %v4_3a to double
  %v3_55 = call double @llvm.fabs.f64(double %tmp247)
  %v4_55 = inttoptr i32 %tmp246 to double*
  store double %v3_55, double* %v4_55, align 4
  %v5_59 = fpext double %v4_4b to x86_fp80
  %v4_5c = load double, double* bitcast (i32* @ecx to double*), align 8
  %v5_5c = fpext double %v4_5c to x86_fp80
  %v6_5c = fadd x86_fp80 %v5_5c, %v5_59
  store x86_fp80 %v6_5c, x86_fp80* %st7.global-to-local, align 4
  %v3_5e = add i32 %v3_f, -24
  %v4_5e = inttoptr i32 %v3_5e to double*
  %v5_5e = load double, double* %v4_5e, align 4
  %v6_5e = fpext double %v5_5e to x86_fp80
  %v7_5e = fsub x86_fp80 %v6_5c, %v6_5e
  %v2_61 = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v7_5e)
  store x86_fp80 %v2_61, x86_fp80* %st7.global-to-local, align 4
  %v3_63 = add i32 %v3_f, -16
  %v4_63 = inttoptr i32 %v3_63 to double*
  %v5_63 = load double, double* %v4_63, align 4
  %v6_63 = fpext double %v5_63 to x86_fp80
  %v7_63 = fmul x86_fp80 %v2_61, %v6_63
  store x86_fp80 %v7_63, x86_fp80* %st7.global-to-local, align 4
  %v5_66 = load double, double* %v4_23, align 4
  %v6_66 = fpext double %v5_66 to x86_fp80
  %v7_66 = fmul x86_fp80 %v7_63, %v6_66
  %v3_69 = fptrunc x86_fp80 %v7_66 to double
  %v4_69 = inttoptr i32 %v0_12 to double*
  store double %v3_69, double* %v4_69, align 4
  %v5_6c = fpext double %v4_50 to x86_fp80
  %v4_6f = load double, double* bitcast (i32* @ecx to double*), align 8
  %v5_6f = fpext double %v4_6f to x86_fp80
  %v6_6f = fadd x86_fp80 %v5_6c, %v5_6f
  store x86_fp80 %v6_6f, x86_fp80* %st7.global-to-local, align 4
  %v5_71 = load double, double* %v4_5e, align 4
  %v6_71 = fpext double %v5_71 to x86_fp80
  %v7_71 = fsub x86_fp80 %v6_6f, %v6_71
  %v2_74 = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v7_71)
  store x86_fp80 %v2_74, x86_fp80* %st7.global-to-local, align 4
  %v5_76 = load double, double* %v4_63, align 4
  %v6_76 = fpext double %v5_76 to x86_fp80
  %v7_76 = fmul x86_fp80 %v2_74, %v6_76
  store x86_fp80 %v7_76, x86_fp80* %st7.global-to-local, align 4
  %v5_79 = load double, double* %v4_23, align 4
  %v6_79 = fpext double %v5_79 to x86_fp80
  %v7_79 = fmul x86_fp80 %v7_76, %v6_79
  %v2_7c = load i32, i32* @edx, align 8
  %v3_7c = fptrunc x86_fp80 %v7_79 to double
  %v4_7c = inttoptr i32 %v2_7c to double*
  store double %v3_7c, double* %v4_7c, align 4
  %v7_82 = fadd x86_fp80 %v5_6c, %v5_59
  store x86_fp80 %v7_82, x86_fp80* %st7.global-to-local, align 4
  %v5_85 = load double, double* %v4_5e, align 4
  %v6_85 = fpext double %v5_85 to x86_fp80
  %v7_85 = fsub x86_fp80 %v7_82, %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_63, align 4
  %v6_8a = fpext double %v5_8a to x86_fp80
  %v7_8a = fmul x86_fp80 %v2_88, %v6_8a
  %v2_8d = load i32, i32* @ecx, align 8
  %v3_8d = fptrunc x86_fp80 %v7_8a to double
  %v4_8d = inttoptr i32 %v2_8d to double*
  store double %v3_8d, double* %v4_8d, align 4
  %v3_90 = load double, double* bitcast (i32* @edx to double*), align 8
  %v4_90 = fpext double %v3_90 to x86_fp80
  %v4_92 = load double, double* bitcast (i32* @eax to double*), align 8
  %v5_92 = fpext double %v4_92 to x86_fp80
  %v6_92 = fadd x86_fp80 %v4_90, %v5_92
  store x86_fp80 %v6_92, x86_fp80* %st7.global-to-local, align 4
  %v6_96 = fsub x86_fp80 %v4_90, %v5_92
  %tmp248 = bitcast double %v3_90 to i64
  %tmp249 = trunc i64 %tmp248 to i32
  %v3_98 = fptrunc x86_fp80 %v6_96 to double
  %v4_98 = inttoptr i32 %tmp249 to double*
  store double %v3_98, double* %v4_98, align 4
  %v1_9a = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v4_a1 = load double, double* %v3_18, align 4
  %v5_a1 = fpext double %v4_a1 to x86_fp80
  %v6_a1 = fmul x86_fp80 %v1_9a, %v5_a1
  store x86_fp80 %v6_a1, x86_fp80* %st7.global-to-local, align 4
  %v3_a3 = load double, double* bitcast (i32* @ecx to double*), align 8
  %v4_a3 = fpext double %v3_a3 to x86_fp80
  %v5_a5 = load double, double* %v4_1c, align 4
  %v6_a5 = fpext double %v5_a5 to x86_fp80
  %v7_a5 = fmul x86_fp80 %v4_a3, %v6_a5
  %v4_a8 = fadd x86_fp80 %v6_a1, %v7_a5
  store x86_fp80 %v4_a8, x86_fp80* %st7.global-to-local, align 4
  %v2_ad = load i32, i32* %edi.global-to-local, align 4
  %v3_ad = add i32 %v2_ad, 8
  %v4_ad = inttoptr i32 %v3_ad to double*
  %v5_ad = load double, double* %v4_ad, align 4
  %v6_ad = fpext double %v5_ad to x86_fp80
  %v7_ad = fmul x86_fp80 %v1_9a, %v6_ad
  %v3_b4 = inttoptr i32 %v2_ad to double*
  %v4_b4 = load double, double* %v3_b4, align 4
  %v5_b4 = fpext double %v4_b4 to x86_fp80
  %v6_b4 = fmul x86_fp80 %v4_a3, %v5_b4
  %v4_b7 = fsub x86_fp80 %v6_b4, %v7_ad
  %tmp250 = bitcast double %v3_a3 to i64
  %tmp251 = trunc i64 %tmp250 to i32
  %v3_b9 = fptrunc x86_fp80 %v4_b7 to double
  %v4_b9 = inttoptr i32 %tmp251 to double*
  store double %v3_b9, double* %v4_b9, align 4
  %v1_bb = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v2_bb = load i32, i32* %ebx.global-to-local, align 4
  %v3_bb = fptrunc x86_fp80 %v1_bb to double
  %v4_bb = inttoptr i32 %v2_bb to double*
  store double %v3_bb, double* %v4_bb, align 4
  %v5_bb = 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 ptrtoint (i8* @global_var_1.1 to i3), i3 ptrtoint (i8* @global_var_1.1 to i3))))))))
  store i3 %v5_bb, i3* %fpu_stat_TOP.global-to-local, align 1
  store i32 %v2_bb, 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_bb
}

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