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
  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
  store x86_fp80 %v4_1a, x86_fp80* %st6.global-to-local, align 4
  %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
  %v2_1f = fsub x86_fp80 0xK80000000000000000000, %v7_1c
  store x86_fp80 %v2_1f, x86_fp80* %st6.global-to-local, align 4
  %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
  store x86_fp80 %v4_16, x86_fp80* %st7.global-to-local, align 4
  %v5_2b = load double, double* %v4_1c, align 4
  %v6_2b = fpext double %v5_2b to x86_fp80
  %v7_2b = fmul x86_fp80 %v4_16, %v6_2b
  store x86_fp80 %v7_2b, x86_fp80* %st7.global-to-local, align 4
  store x86_fp80 %v4_1a, x86_fp80* %st6.global-to-local, align 4
  %v4_30 = load double, double* %v3_18, align 4
  %v5_30 = fpext double %v4_30 to x86_fp80
  %v6_30 = fmul x86_fp80 %v4_1a, %v5_30
  %v4_32 = fadd x86_fp80 %v7_2b, %v6_30
  %v2_34 = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v4_32)
  store x86_fp80 %v2_34, x86_fp80* %st7.global-to-local, align 4
  store x86_fp80 %v7_23, x86_fp80* %st6.global-to-local, align 4
  %v3_3a = load double, double* bitcast (i32* @edx to double*), align 8
  %v4_3a = fpext double %v3_3a to x86_fp80
  %v5_3c = load double, double* %v4_23, align 4
  %v6_3c = fpext double %v5_3c to x86_fp80
  %v7_3c = fmul x86_fp80 %v4_3a, %v6_3c
  %v4_41 = fsub x86_fp80 %v7_23, %v7_3c
  %v2_43 = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v4_41)
  store x86_fp80 %v2_43, x86_fp80* %st6.global-to-local, align 4
  %v5_4b = load double, double* %v4_23, align 4
  %v6_4b = fpext double %v5_4b to x86_fp80
  %v7_4b = fmul x86_fp80 %v4_3a, %v6_4b
  %v4_4e = fadd x86_fp80 %v7_4b, %v7_23
  %tmp241 = bitcast double %v3_3a to i64
  %tmp242 = trunc i64 %tmp241 to i32
  %tmp243 = fptrunc x86_fp80 %v4_4e to double
  %v3_53 = call double @llvm.fabs.f64(double %tmp243)
  %v4_53 = inttoptr i32 %tmp242 to double*
  store double %v3_53, double* %v4_53, align 4
  %v1_55 = load x86_fp80, x86_fp80* %st6.global-to-local, align 4
  %v3_55 = fptrunc x86_fp80 %v1_55 to double
  %v4_55 = inttoptr i32 %v0_12 to double*
  store double %v3_55, double* %v4_55, align 4
  %v1_57 = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v2_57 = load i32, i32* @ecx, align 8
  %v3_57 = fptrunc x86_fp80 %v1_57 to double
  %v4_57 = inttoptr i32 %v2_57 to double*
  store double %v3_57, double* %v4_57, align 4
  %v3_5a = load double, double* bitcast (i32* @eax to double*), align 8
  %v4_5a = fpext double %v3_5a to x86_fp80
  %v4_5c = load double, double* bitcast (i32* @edx to double*), align 8
  %v5_5c = fpext double %v4_5c to x86_fp80
  %v6_5c = fadd x86_fp80 %v4_5a, %v5_5c
  store x86_fp80 %v6_5c, x86_fp80* %st7.global-to-local, align 4
  %v5_5e = load double, double* %v4_23, align 4
  %v6_5e = fpext double %v5_5e to x86_fp80
  %v7_5e = fmul x86_fp80 %v6_5c, %v6_5e
  %v6_69 = fsub x86_fp80 %v5_5c, %v4_5a
  store x86_fp80 %v6_69, x86_fp80* %st7.global-to-local, align 4
  %v5_6b = load double, double* %v4_23, align 4
  %v6_6b = fpext double %v5_6b to x86_fp80
  %v7_6b = fmul x86_fp80 %v6_69, %v6_6b
  store x86_fp80 %v7_6b, x86_fp80* %st7.global-to-local, align 4
  store x86_fp80 %v7_5e, x86_fp80* %st6.global-to-local, align 4
  %v4_72 = load double, double* %v3_18, align 4
  %v5_72 = fpext double %v4_72 to x86_fp80
  %v6_72 = fmul x86_fp80 %v7_5e, %v5_72
  store x86_fp80 %v6_72, x86_fp80* %st6.global-to-local, align 4
  %v3_74 = load double, double* bitcast (i32* @ecx to double*), align 8
  %v4_74 = fpext double %v3_74 to x86_fp80
  %v5_76 = load double, double* %v4_1c, align 4
  %v6_76 = fpext double %v5_76 to x86_fp80
  %v7_76 = fmul x86_fp80 %v4_74, %v6_76
  %v4_79 = fadd x86_fp80 %v6_72, %v7_76
  store x86_fp80 %v4_79, x86_fp80* %st6.global-to-local, align 4
  %v5_7f = load double, double* %v4_1c, align 4
  %v6_7f = fpext double %v5_7f to x86_fp80
  %v7_7f = fmul x86_fp80 %v7_5e, %v6_7f
  %v4_86 = load double, double* %v3_18, align 4
  %v5_86 = fpext double %v4_86 to x86_fp80
  %v6_86 = fmul x86_fp80 %v4_74, %v5_86
  %v4_88 = fsub x86_fp80 %v6_86, %v7_7f
  %tmp244 = bitcast double %v3_74 to i64
  %tmp245 = trunc i64 %tmp244 to i32
  %v3_8b = fptrunc x86_fp80 %v4_88 to double
  %v4_8b = inttoptr i32 %tmp245 to double*
  store double %v3_8b, double* %v4_8b, align 4
  %v1_8d = load x86_fp80, x86_fp80* %st6.global-to-local, align 4
  %v2_8d = load i32, i32* %ebx.global-to-local, align 4
  %v3_8d = fptrunc x86_fp80 %v1_8d to double
  %v4_8d = inttoptr i32 %v2_8d to double*
  store double %v3_8d, double* %v4_8d, align 4
  %v1_8f = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v2_8f = load i32, i32* @edx, align 8
  %v3_8f = fptrunc x86_fp80 %v1_8f to double
  %v4_8f = inttoptr i32 %v2_8f to double*
  store double %v3_8f, double* %v4_8f, align 4
  %v3_92 = load double, double* bitcast (i32* @eax to double*), align 8
  %v4_92 = fpext double %v3_92 to x86_fp80
  store x86_fp80 %v4_92, x86_fp80* %st7.global-to-local, align 4
  %v3_94 = add i32 %v3_f, -16
  %v4_94 = inttoptr i32 %v3_94 to double*
  %v5_94 = load double, double* %v4_94, align 4
  %v6_94 = fpext double %v5_94 to x86_fp80
  %v7_94 = fmul x86_fp80 %v4_92, %v6_94
  store x86_fp80 %v7_94, x86_fp80* %st7.global-to-local, align 4
  %v3_97 = add i32 %v3_f, -24
  %v4_97 = inttoptr i32 %v3_97 to double*
  %v5_97 = load double, double* %v4_97, align 4
  %v6_97 = fpext double %v5_97 to x86_fp80
  %v7_97 = fsub x86_fp80 %v7_94, %v6_97
  %v3_9a = fptrunc x86_fp80 %v7_97 to double
  store double %v3_9a, double* %v4_8d, align 4
  %v3_9c = load double, double* bitcast (i32* @edx to double*), align 8
  %v4_9c = fpext double %v3_9c to x86_fp80
  store x86_fp80 %v4_9c, x86_fp80* %st7.global-to-local, align 4
  %v2_9e = load i32, i32* %edi.global-to-local, align 4
  %v3_9e = add i32 %v2_9e, -16
  %v4_9e = inttoptr i32 %v3_9e to double*
  %v5_9e = load double, double* %v4_9e, align 4
  %v6_9e = fpext double %v5_9e to x86_fp80
  %v7_9e = fmul x86_fp80 %v4_9c, %v6_9e
  %tmp246 = bitcast double %v3_9c to i64
  %tmp247 = trunc i64 %tmp246 to i32
  %v3_a1 = fptrunc x86_fp80 %v7_9e to double
  %v4_a1 = inttoptr i32 %tmp247 to double*
  store double %v3_a1, double* %v4_a1, align 4
  %v3_a3 = load double, double* bitcast (i32* @ecx to double*), align 8
  %v4_a3 = fpext double %v3_a3 to x86_fp80
  store x86_fp80 %v4_a3, x86_fp80* %st7.global-to-local, align 4
  %v5_a5 = load double, double* %v4_9e, align 4
  %v6_a5 = fpext double %v5_a5 to x86_fp80
  %v7_a5 = fmul x86_fp80 %v4_a3, %v6_a5
  %tmp248 = bitcast double %v3_a3 to i64
  %tmp249 = trunc i64 %tmp248 to i32
  %v3_a8 = fptrunc x86_fp80 %v7_a5 to double
  %v4_a8 = inttoptr i32 %tmp249 to double*
  store double %v3_a8, double* %v4_a8, align 4
  %v3_ab = load double, double* bitcast (i32* @eax to double*), align 8
  %v4_ab = fpext double %v3_ab to x86_fp80
  %v3_ad = fmul x86_fp80 %v4_ab, %v4_ab
  %v3_b2 = load double, double* bitcast (i32* @edx to double*), align 8
  %v4_b2 = fpext double %v3_b2 to x86_fp80
  %v3_b4 = fmul x86_fp80 %v4_b2, %v4_b2
  %v3_b9 = load double, double* bitcast (i32* @ecx to double*), align 8
  %v4_b9 = fpext double %v3_b9 to x86_fp80
  %v3_bb = fmul x86_fp80 %v4_b9, %v4_b9
  %v3_c2 = fadd x86_fp80 %v4_ab, %v4_ab
  %v7_c7 = fadd x86_fp80 %v3_b4, %v3_bb
  %v2_ca = call x86_fp80 @llvm.sqrt.f80(x86_fp80 %v7_c7)
  %v4_cc = fdiv x86_fp80 %v3_c2, %v2_ca
  %v7_d5 = fsub x86_fp80 %v3_ad, %v3_b4
  %v7_d8 = fsub x86_fp80 %v7_d5, %v3_bb
  store x86_fp80 %v7_d8, x86_fp80* %st7.global-to-local, align 4
  %v7_e2 = fsub x86_fp80 %v3_b4, %v3_bb
  %v4_e5 = fmul x86_fp80 %v7_e2, %v4_cc
  store x86_fp80 %v4_e5, x86_fp80* %st6.global-to-local, align 4
  %v3_eb = fadd x86_fp80 %v4_cc, %v4_cc
  %v6_ed = fmul x86_fp80 %v3_eb, %v4_b9
  %v6_ef = fmul x86_fp80 %v6_ed, %v4_b2
  %v2_f2 = load i32, i32* %esi.global-to-local, align 4
  %v3_f2 = add i32 %v2_f2, 32
  %v4_f2 = inttoptr i32 %v3_f2 to double*
  %v5_f2 = load double, double* %v4_f2, align 4
  %v6_f2 = fpext double %v5_f2 to x86_fp80
  %v7_f2 = fadd x86_fp80 %v6_ef, %v6_f2
  %tmp250 = bitcast double %v3_b2 to i64
  %tmp251 = trunc i64 %tmp250 to i32
  %v3_f5 = fptrunc x86_fp80 %v7_f2 to double
  %v4_f5 = inttoptr i32 %tmp251 to double*
  store double %v3_f5, double* %v4_f5, align 4
  %v1_f8 = load x86_fp80, x86_fp80* %st6.global-to-local, align 4
  %v3_f8 = add i32 %v2_f2, 40
  %v4_f8 = inttoptr i32 %v3_f8 to double*
  %v5_f8 = load double, double* %v4_f8, align 4
  %v6_f8 = fpext double %v5_f8 to x86_fp80
  %v7_f8 = fadd x86_fp80 %v1_f8, %v6_f8
  store x86_fp80 %v7_f8, x86_fp80* %st6.global-to-local, align 4
  %v2_fb = load i32, i32* @ecx, align 8
  %v3_fb = fptrunc x86_fp80 %v7_f8 to double
  %v4_fb = inttoptr i32 %v2_fb to double*
  store double %v3_fb, double* %v4_fb, align 4
  %v1_fe = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v3_fe = add i32 %v2_f2, 24
  %v4_fe = inttoptr i32 %v3_fe to double*
  %v5_fe = load double, double* %v4_fe, align 4
  %v6_fe = fpext double %v5_fe to x86_fp80
  %v7_fe = fadd x86_fp80 %v1_fe, %v6_fe
  store x86_fp80 %v7_fe, x86_fp80* %st7.global-to-local, align 4
  %v2_101 = load i32, i32* %ebx.global-to-local, align 4
  %v3_101 = fptrunc x86_fp80 %v7_fe to double
  %v4_101 = inttoptr i32 %v2_101 to double*
  store double %v3_101, double* %v4_101, align 4
  %v5_101 = add i3 %v0_16, add (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 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 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)), 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))))))
  store i3 %v5_101, i3* %fpu_stat_TOP.global-to-local, align 1
  store i32 %v2_101, 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_101
}

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

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