source_filename = "test"
target datalayout = "e-p:32:32-f64:32:64-f80:32-n8:16:32-S128"

define x86_fp80 @function_0() local_unnamed_addr {
dec_label_pc_0:
  %esi.global-to-local = alloca i32, align 4
  %fpu_stat_TOP.global-to-local = alloca i3, align 1
  %st4.global-to-local = alloca x86_fp80, align 4
  %st5.global-to-local = alloca x86_fp80, align 4
  %st6.global-to-local = alloca x86_fp80, align 4
  %st7.global-to-local = alloca x86_fp80, align 4
  %tmp226 = call i32 @__decompiler_undefined_function_2()
  %v0_0 = load i3, i3* %fpu_stat_TOP.global-to-local, align 1
  %v2_0 = add i32 %tmp226, -88
  %v3_0 = inttoptr i32 %v2_0 to double*
  %v4_0 = load double, double* %v3_0, align 4
  %v5_0 = fpext double %v4_0 to x86_fp80
  store x86_fp80 %v5_0, x86_fp80* %st7.global-to-local, align 4
  %v1_3 = load i32, i32* %esi.global-to-local, align 4
  %v2_3 = add i32 %v1_3, -104
  %v3_3 = inttoptr i32 %v2_3 to double*
  %v4_3 = load double, double* %v3_3, align 4
  %v5_3 = fpext double %v4_3 to x86_fp80
  %v6_3 = add i3 %v0_0, -2
  %v4_6 = fmul x86_fp80 %v5_0, %v5_3
  store x86_fp80 %v4_6, x86_fp80* %st6.global-to-local, align 4
  %v3_8 = add i32 %tmp226, -32
  %v4_8 = inttoptr i32 %v3_8 to double*
  %v5_8 = load double, double* %v4_8, align 4
  %v6_8 = fpext double %v5_8 to x86_fp80
  %v7_8 = fadd x86_fp80 %v4_6, %v6_8
  store x86_fp80 %v7_8, x86_fp80* %st6.global-to-local, align 4
  %v2_b = add i32 %v1_3, -112
  %v3_b = inttoptr i32 %v2_b to double*
  %v4_b = load double, double* %v3_b, align 4
  %v5_b = fpext double %v4_b to x86_fp80
  %v6_b = add i3 %v0_0, -3
  %v4_e = fmul x86_fp80 %v5_0, %v5_b
  store x86_fp80 %v4_e, x86_fp80* %st5.global-to-local, align 4
  %v3_10 = add i32 %tmp226, -24
  %v4_10 = inttoptr i32 %v3_10 to double*
  %v5_10 = load double, double* %v4_10, align 4
  %v6_10 = fpext double %v5_10 to x86_fp80
  %v7_10 = fadd x86_fp80 %v4_e, %v6_10
  store x86_fp80 %v7_10, x86_fp80* %st5.global-to-local, align 4
  %v2_13 = add i32 %v1_3, -120
  %v3_13 = inttoptr i32 %v2_13 to double*
  %v4_13 = load double, double* %v3_13, align 4
  %v5_13 = fpext double %v4_13 to x86_fp80
  %v6_13 = xor i3 %v0_0, -4
  %v4_16 = fmul x86_fp80 %v5_0, %v5_13
  store x86_fp80 %v4_16, x86_fp80* %st4.global-to-local, align 4
  %v3_18 = add i32 %tmp226, -16
  %v4_18 = inttoptr i32 %v3_18 to double*
  %v5_18 = load double, double* %v4_18, align 4
  %v6_18 = fpext double %v5_18 to x86_fp80
  %v7_18 = fadd x86_fp80 %v4_16, %v6_18
  store x86_fp80 %v7_18, x86_fp80* %st4.global-to-local, align 4
  %v2_1b = add i32 %v1_3, 112
  %v3_1b = inttoptr i32 %v2_1b to double*
  %v4_1b = load double, double* %v3_1b, align 4
  %v5_1b = fpext double %v4_1b to x86_fp80
  %v4_1e = fmul x86_fp80 %v5_0, %v5_1b
  %v4_20 = fptrunc x86_fp80 %v4_1e to double
  store double %v4_20, double* %v3_1b, align 4
  %v1_23 = load x86_fp80, x86_fp80* %st4.global-to-local, align 4
  %v3_25 = add i32 %tmp226, -60
  %v4_25 = inttoptr i32 %v3_25 to float*
  %v5_25 = load float, float* %v4_25, align 4
  %v6_25 = fpext float %v5_25 to x86_fp80
  %v7_25 = fmul x86_fp80 %v1_23, %v6_25
  %v2_28 = load x86_fp80, x86_fp80* %st5.global-to-local, align 4
  %v3_2a = add i32 %tmp226, -64
  %v4_2a = inttoptr i32 %v3_2a to float*
  %v5_2a = load float, float* %v4_2a, align 4
  %v6_2a = fpext float %v5_2a to x86_fp80
  %v7_2a = fmul x86_fp80 %v2_28, %v6_2a
  %v4_2d = fadd x86_fp80 %v7_25, %v7_2a
  %v2_2f = load x86_fp80, x86_fp80* %st6.global-to-local, align 4
  %v3_31 = add i32 %tmp226, -68
  %v4_31 = inttoptr i32 %v3_31 to float*
  %v5_31 = load float, float* %v4_31, align 4
  %v6_31 = fpext float %v5_31 to x86_fp80
  %v7_31 = fmul x86_fp80 %v2_2f, %v6_31
  %v4_34 = fadd x86_fp80 %v4_2d, %v7_31
  %v3_38 = add i32 %tmp226, -36
  %v4_38 = inttoptr i32 %v3_38 to float*
  %v5_38 = load float, float* %v4_38, align 4
  %v6_38 = fpext float %v5_38 to x86_fp80
  %v7_38 = fmul x86_fp80 %v1_23, %v6_38
  %v3_3d = add i32 %tmp226, -40
  %v4_3d = inttoptr i32 %v3_3d to float*
  %v5_3d = load float, float* %v4_3d, align 4
  %v6_3d = fpext float %v5_3d to x86_fp80
  %v7_3d = fmul x86_fp80 %v2_28, %v6_3d
  %v4_40 = fadd x86_fp80 %v7_38, %v7_3d
  %v3_44 = add i32 %tmp226, -44
  %v4_44 = inttoptr i32 %v3_44 to float*
  %v5_44 = load float, float* %v4_44, align 4
  %v6_44 = fpext float %v5_44 to x86_fp80
  %v7_44 = fmul x86_fp80 %v2_2f, %v6_44
  %v4_47 = fadd x86_fp80 %v4_40, %v7_44
  store x86_fp80 %v4_47, x86_fp80* %st4.global-to-local, align 4
  %v3_4b = add i32 %tmp226, -48
  %v4_4b = inttoptr i32 %v3_4b to float*
  %v5_4b = load float, float* %v4_4b, align 4
  %v6_4b = fpext float %v5_4b to x86_fp80
  %v7_4b = fmul x86_fp80 %v1_23, %v6_4b
  store x86_fp80 %v7_4b, x86_fp80* %st5.global-to-local, align 4
  %v3_50 = add i32 %tmp226, -52
  %v4_50 = inttoptr i32 %v3_50 to float*
  %v5_50 = load float, float* %v4_50, align 4
  %v6_50 = fpext float %v5_50 to x86_fp80
  %v7_50 = fmul x86_fp80 %v2_28, %v6_50
  %v4_53 = fadd x86_fp80 %v7_4b, %v7_50
  store x86_fp80 %v4_53, x86_fp80* %st5.global-to-local, align 4
  store x86_fp80 %v4_34, x86_fp80* %st6.global-to-local, align 4
  %v3_57 = add i32 %tmp226, -56
  %v4_57 = inttoptr i32 %v3_57 to float*
  %v5_57 = load float, float* %v4_57, align 4
  %v6_57 = fpext float %v5_57 to x86_fp80
  %v7_57 = fmul x86_fp80 %v2_2f, %v6_57
  %v4_5a = fadd x86_fp80 %v4_53, %v7_57
  store x86_fp80 %v4_5a, x86_fp80* %st5.global-to-local, align 4
  store i3 %v6_13, i3* %fpu_stat_TOP.global-to-local, align 1
  %v1_5c = add i32 %tmp226, -72
  %v2_5c = inttoptr i32 %v1_5c to i32*
  %v3_5c = load i32, i32* %v2_5c, align 4
  %v10_5c = icmp eq i32 %v3_5c, 0
  br i1 %v10_5c, label %dec_label_pc_64, label %dec_label_pc_62

dec_label_pc_62:                                  ; preds = %dec_label_pc_0
  %v2_62 = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v4_47)
  store x86_fp80 %v2_62, x86_fp80* %st4.global-to-local, align 4
  br label %dec_label_pc_64

dec_label_pc_64:                                  ; preds = %dec_label_pc_62, %dec_label_pc_0
  %v1_64 = phi x86_fp80 [ %v2_62, %dec_label_pc_62 ], [ %v4_47, %dec_label_pc_0 ]
  %v2_64 = load i32, i32* %esi.global-to-local, align 4
  %v3_64 = add i32 %v2_64, -120
  %v4_64 = fptrunc x86_fp80 %v1_64 to double
  %v5_64 = inttoptr i32 %v3_64 to double*
  store double %v4_64, double* %v5_64, align 4
  store i3 %v6_b, i3* %fpu_stat_TOP.global-to-local, align 1
  %v1_67 = add i32 %tmp226, -76
  %v2_67 = inttoptr i32 %v1_67 to i32*
  %v3_67 = load i32, i32* %v2_67, align 4
  %v10_67 = icmp eq i32 %v3_67, 0
  %v1_6f.pre = load x86_fp80, x86_fp80* %st5.global-to-local, align 4
  br i1 %v10_67, label %dec_label_pc_6f, label %dec_label_pc_6d

dec_label_pc_6d:                                  ; preds = %dec_label_pc_64
  %v2_6d = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v1_6f.pre)
  store x86_fp80 %v2_6d, x86_fp80* %st5.global-to-local, align 4
  br label %dec_label_pc_6f

dec_label_pc_6f:                                  ; preds = %dec_label_pc_64, %dec_label_pc_6d
  %v1_6f = phi x86_fp80 [ %v2_6d, %dec_label_pc_6d ], [ %v1_6f.pre, %dec_label_pc_64 ]
  %v3_6f = add i32 %v2_64, -112
  %v4_6f = fptrunc x86_fp80 %v1_6f to double
  %v5_6f = inttoptr i32 %v3_6f to double*
  store double %v4_6f, double* %v5_6f, align 4
  store i3 %v6_3, i3* %fpu_stat_TOP.global-to-local, align 1
  %v1_72 = add i32 %tmp226, -80
  %v2_72 = inttoptr i32 %v1_72 to i32*
  %v3_72 = load i32, i32* %v2_72, align 4
  %v10_72 = icmp eq i32 %v3_72, 0
  %v1_7a.pre = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  br i1 %v10_72, label %dec_label_pc_7a, label %dec_label_pc_78

dec_label_pc_78:                                  ; preds = %dec_label_pc_6f
  %v2_78 = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v1_7a.pre)
  store x86_fp80 %v2_78, x86_fp80* %st7.global-to-local, align 4
  br label %dec_label_pc_7a

dec_label_pc_7a:                                  ; preds = %dec_label_pc_6f, %dec_label_pc_78
  %v1_7a = phi x86_fp80 [ %v2_78, %dec_label_pc_78 ], [ %v1_7a.pre, %dec_label_pc_6f ]
  %v3_7a = add i32 %v2_64, -104
  %v4_7a = fptrunc x86_fp80 %v1_7a to double
  %v5_7a = inttoptr i32 %v3_7a to double*
  store double %v4_7a, double* %v5_7a, align 4
  %v1_7d = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  store i3 %v0_0, i3* %fpu_stat_TOP.global-to-local, align 1
  ret x86_fp80 %v1_7d
}

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

declare i32 @__decompiler_undefined_function_2() local_unnamed_addr

attributes #0 = { nounwind readnone speculatable }
