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
  %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
  store x86_fp80 %v4_36, x86_fp80* %st6.global-to-local, align 4
  %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_4e = fmul x86_fp80 %v6_40, %v6_40
  store x86_fp80 %v3_4e, x86_fp80* %st6.global-to-local, align 4
  %v3_53 = fmul x86_fp80 %v4_3a, %v4_3a
  %tmp246 = bitcast double %v3_36 to i64
  %tmp247 = trunc i64 %tmp246 to i32
  %v3_55 = fptrunc x86_fp80 %v3_53 to double
  %v4_55 = inttoptr i32 %tmp247 to double*
  store double %v3_55, double* %v4_55, align 4
  %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 %v3_49, %v5_5c
  %v2_5e = call x86_fp80 @llvm.sqrt.f80(x86_fp80 %v6_5c)
  store x86_fp80 %v2_5e, x86_fp80* %st7.global-to-local, align 4
  %v3_60 = add i32 %v3_f, -24
  %v4_60 = inttoptr i32 %v3_60 to double*
  %v5_60 = load double, double* %v4_60, align 4
  %v6_60 = fpext double %v5_60 to x86_fp80
  %v7_60 = fsub x86_fp80 %v2_5e, %v6_60
  %v2_63 = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v7_60)
  store x86_fp80 %v2_63, x86_fp80* %st7.global-to-local, align 4
  %v3_65 = add i32 %v3_f, -16
  %v4_65 = inttoptr i32 %v3_65 to double*
  %v5_65 = load double, double* %v4_65, align 4
  %v6_65 = fpext double %v5_65 to x86_fp80
  %v7_65 = fmul x86_fp80 %v2_63, %v6_65
  store x86_fp80 %v7_65, x86_fp80* %st7.global-to-local, align 4
  %v5_68 = load double, double* %v4_23, align 4
  %v6_68 = fpext double %v5_68 to x86_fp80
  %v7_68 = fmul x86_fp80 %v7_65, %v6_68
  %v3_6b = fptrunc x86_fp80 %v7_68 to double
  %v4_6b = inttoptr i32 %v0_12 to double*
  store double %v3_6b, double* %v4_6b, align 4
  %v4_71 = load double, double* bitcast (i32* @ecx to double*), align 8
  %v5_71 = fpext double %v4_71 to x86_fp80
  %v6_71 = fadd x86_fp80 %v3_4e, %v5_71
  %v2_73 = call x86_fp80 @llvm.sqrt.f80(x86_fp80 %v6_71)
  store x86_fp80 %v2_73, x86_fp80* %st7.global-to-local, align 4
  %v5_75 = load double, double* %v4_60, align 4
  %v6_75 = fpext double %v5_75 to x86_fp80
  %v7_75 = fsub x86_fp80 %v2_73, %v6_75
  %v2_78 = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v7_75)
  store x86_fp80 %v2_78, x86_fp80* %st7.global-to-local, align 4
  %v5_7a = load double, double* %v4_65, align 4
  %v6_7a = fpext double %v5_7a to x86_fp80
  %v7_7a = fmul x86_fp80 %v2_78, %v6_7a
  store x86_fp80 %v7_7a, x86_fp80* %st7.global-to-local, align 4
  %v5_7d = load double, double* %v4_23, align 4
  %v6_7d = fpext double %v5_7d to x86_fp80
  %v7_7d = fmul x86_fp80 %v7_7a, %v6_7d
  %v2_80 = load i32, i32* @edx, align 8
  %v3_80 = fptrunc x86_fp80 %v7_7d to double
  %v4_80 = inttoptr i32 %v2_80 to double*
  store double %v3_80, double* %v4_80, align 4
  %v7_86 = fadd x86_fp80 %v3_49, %v3_4e
  %v2_89 = call x86_fp80 @llvm.sqrt.f80(x86_fp80 %v7_86)
  store x86_fp80 %v2_89, x86_fp80* %st7.global-to-local, align 4
  %v5_8b = load double, double* %v4_60, align 4
  %v6_8b = fpext double %v5_8b to x86_fp80
  %v7_8b = fsub x86_fp80 %v2_89, %v6_8b
  %v2_8e = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v7_8b)
  store x86_fp80 %v2_8e, x86_fp80* %st7.global-to-local, align 4
  %v5_90 = load double, double* %v4_65, align 4
  %v6_90 = fpext double %v5_90 to x86_fp80
  %v7_90 = fmul x86_fp80 %v2_8e, %v6_90
  %v2_93 = load i32, i32* @ecx, align 8
  %v3_93 = fptrunc x86_fp80 %v7_90 to double
  %v4_93 = inttoptr i32 %v2_93 to double*
  store double %v3_93, double* %v4_93, align 4
  %v3_96 = load double, double* bitcast (i32* @edx to double*), align 8
  %v4_96 = fpext double %v3_96 to x86_fp80
  %v4_98 = load double, double* bitcast (i32* @eax to double*), align 8
  %v5_98 = fpext double %v4_98 to x86_fp80
  %v6_98 = fadd x86_fp80 %v4_96, %v5_98
  store x86_fp80 %v6_98, x86_fp80* %st7.global-to-local, align 4
  %v6_9c = fsub x86_fp80 %v4_96, %v5_98
  store x86_fp80 %v6_9c, x86_fp80* %st6.global-to-local, align 4
  %tmp248 = bitcast double %v3_96 to i64
  %tmp249 = trunc i64 %tmp248 to i32
  %v3_9e = fptrunc x86_fp80 %v6_9c to double
  %v4_9e = inttoptr i32 %tmp249 to double*
  store double %v3_9e, double* %v4_9e, align 4
  %v1_a0 = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v4_a7 = load double, double* %v3_18, align 4
  %v5_a7 = fpext double %v4_a7 to x86_fp80
  %v6_a7 = fmul x86_fp80 %v1_a0, %v5_a7
  store x86_fp80 %v6_a7, x86_fp80* %st7.global-to-local, align 4
  %v3_a9 = load double, double* bitcast (i32* @ecx to double*), align 8
  %v4_a9 = fpext double %v3_a9 to x86_fp80
  store x86_fp80 %v4_a9, x86_fp80* %st6.global-to-local, align 4
  %v2_ab = load i32, i32* %edi.global-to-local, align 4
  %v3_ab = add i32 %v2_ab, 8
  %v4_ab = inttoptr i32 %v3_ab to double*
  %v5_ab = load double, double* %v4_ab, align 4
  %v6_ab = fpext double %v5_ab to x86_fp80
  %v7_ab = fmul x86_fp80 %v4_a9, %v6_ab
  %v4_ae = fadd x86_fp80 %v6_a7, %v7_ab
  store x86_fp80 %v4_ae, x86_fp80* %st7.global-to-local, align 4
  store x86_fp80 %v1_a0, x86_fp80* %st6.global-to-local, align 4
  %v5_b3 = load double, double* %v4_ab, align 4
  %v6_b3 = fpext double %v5_b3 to x86_fp80
  %v7_b3 = fmul x86_fp80 %v1_a0, %v6_b3
  %v2_b6 = fsub x86_fp80 0xK80000000000000000000, %v7_b3
  store x86_fp80 %v2_b6, x86_fp80* %st6.global-to-local, align 4
  %v3_ba = inttoptr i32 %v2_ab to double*
  %v4_ba = load double, double* %v3_ba, align 4
  %v5_ba = fpext double %v4_ba to x86_fp80
  %v6_ba = fmul x86_fp80 %v4_a9, %v5_ba
  %v4_bd = fsub x86_fp80 %v6_ba, %v7_b3
  %tmp250 = bitcast double %v3_a9 to i64
  %tmp251 = trunc i64 %tmp250 to i32
  %v3_bf = fptrunc x86_fp80 %v4_bd to double
  %v4_bf = inttoptr i32 %tmp251 to double*
  store double %v3_bf, double* %v4_bf, align 4
  %v1_c1 = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v2_c1 = load i32, i32* %ebx.global-to-local, align 4
  %v3_c1 = fptrunc x86_fp80 %v1_c1 to double
  %v4_c1 = inttoptr i32 %v2_c1 to double*
  store double %v3_c1, double* %v4_c1, align 4
  %v3_c5 = load double, double* bitcast (i32* @eax to double*), align 8
  %v4_c5 = fpext double %v3_c5 to x86_fp80
  %v3_c7 = fmul x86_fp80 %v4_c5, %v4_c5
  %v3_cc = load double, double* bitcast (i32* @edx to double*), align 8
  %v4_cc = fpext double %v3_cc to x86_fp80
  %v3_ce = fmul x86_fp80 %v4_cc, %v4_cc
  %v3_d3 = load double, double* bitcast (i32* @ecx to double*), align 8
  %v4_d3 = fpext double %v3_d3 to x86_fp80
  %v3_d5 = fmul x86_fp80 %v4_d3, %v4_d3
  %v3_dc = fadd x86_fp80 %v4_c5, %v4_c5
  %v7_e1 = fadd x86_fp80 %v3_ce, %v3_d5
  %v2_e4 = call x86_fp80 @llvm.sqrt.f80(x86_fp80 %v7_e1)
  %v4_e6 = fdiv x86_fp80 %v3_dc, %v2_e4
  %v7_ef = fsub x86_fp80 %v3_c7, %v3_ce
  %v7_f2 = fsub x86_fp80 %v7_ef, %v3_d5
  store x86_fp80 %v7_f2, x86_fp80* %st7.global-to-local, align 4
  %v7_fc = fsub x86_fp80 %v3_ce, %v3_d5
  %v4_ff = fmul x86_fp80 %v7_fc, %v4_e6
  store x86_fp80 %v4_ff, x86_fp80* %st6.global-to-local, align 4
  %v3_105 = fadd x86_fp80 %v4_e6, %v4_e6
  %v6_107 = fmul x86_fp80 %v3_105, %v4_d3
  %v6_109 = fmul x86_fp80 %v6_107, %v4_cc
  %v1_10c = load i32, i32* %esi.global-to-local, align 4
  %v2_10c = add i32 %v1_10c, 32
  %v3_10c = inttoptr i32 %v2_10c to double*
  %v4_10c = load double, double* %v3_10c, align 4
  %v5_10c = fpext double %v4_10c to x86_fp80
  %v3_10f = add i32 %v2_ab, -48
  %v4_10f = inttoptr i32 %v3_10f to double*
  %v5_10f = load double, double* %v4_10f, align 4
  %v6_10f = fpext double %v5_10f to x86_fp80
  %v7_10f = fmul x86_fp80 %v5_10c, %v6_10f
  %v4_112 = fadd x86_fp80 %v7_10f, %v6_109
  %tmp252 = bitcast double %v3_cc to i64
  %tmp253 = trunc i64 %tmp252 to i32
  %v3_114 = fptrunc x86_fp80 %v4_112 to double
  %v4_114 = inttoptr i32 %tmp253 to double*
  store double %v3_114, double* %v4_114, align 4
  %v2_117 = add i32 %v1_10c, 40
  %v3_117 = inttoptr i32 %v2_117 to double*
  %v4_117 = load double, double* %v3_117, align 4
  %v5_117 = fpext double %v4_117 to x86_fp80
  %v3_11a = add i32 %v2_ab, -40
  %v4_11a = inttoptr i32 %v3_11a to double*
  %v5_11a = load double, double* %v4_11a, align 4
  %v6_11a = fpext double %v5_11a to x86_fp80
  %v7_11a = fmul x86_fp80 %v5_117, %v6_11a
  %v3_11d = load x86_fp80, x86_fp80* %st6.global-to-local, align 4
  %v4_11d = fadd x86_fp80 %v3_11d, %v7_11a
  store x86_fp80 %v4_11d, x86_fp80* %st6.global-to-local, align 4
  %v2_11f = load i32, i32* @ecx, align 8
  %v3_11f = fptrunc x86_fp80 %v4_11d to double
  %v4_11f = inttoptr i32 %v2_11f to double*
  store double %v3_11f, double* %v4_11f, align 4
  %v2_122 = add i32 %v1_10c, 24
  %v3_122 = inttoptr i32 %v2_122 to double*
  %v4_122 = load double, double* %v3_122, align 4
  %v5_122 = fpext double %v4_122 to x86_fp80
  store x86_fp80 %v5_122, x86_fp80* %st6.global-to-local, align 4
  %v3_125 = add i32 %v2_ab, -32
  %v4_125 = inttoptr i32 %v3_125 to double*
  %v5_125 = load double, double* %v4_125, align 4
  %v6_125 = fpext double %v5_125 to x86_fp80
  %v7_125 = fmul x86_fp80 %v5_122, %v6_125
  store x86_fp80 %v7_125, x86_fp80* %st6.global-to-local, align 4
  %v3_128 = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v4_128 = fadd x86_fp80 %v7_125, %v3_128
  store x86_fp80 %v4_128, x86_fp80* %st7.global-to-local, align 4
  %v3_12a = fptrunc x86_fp80 %v4_128 to double
  store double %v3_12a, double* %v4_c1, align 4
  %v5_12a = add i3 %v0_16, 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 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 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 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 ptrtoint (i8* @global_var_1.1 to i3)))))))))))))
  store i3 %v5_12a, i3* %fpu_stat_TOP.global-to-local, align 1
  store i32 %v2_c1, 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_c1
}

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