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

@fpu_stat_TOP = internal unnamed_addr global i3 0
@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
@ebx = internal unnamed_addr global i32 0, align 8
@edi = internal unnamed_addr global i32 0, align 8

define i32 @function_0(i32 %arg1) local_unnamed_addr {
dec_label_pc_0:
  %ebp.global-to-local = alloca i32, align 4
  %esi.global-to-local = alloca i32, align 4
  %fpsw.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_0 = load i32, i32* %ebp.global-to-local, align 4
  %v0_3 = load i32, i32* @ebx, align 8
  %v0_4 = load i32, i32* %esi.global-to-local, align 4
  %v0_5 = load i32, i32* @edi, align 8
  store i32 %arg1, i32* %esi.global-to-local, align 4
  %v1_9 = add i32 %arg1, 48
  %v2_9 = inttoptr i32 %v1_9 to i32*
  %v3_9 = load i32, i32* %v2_9, align 4
  store i32 %v3_9, i32* @edi, align 8
  %v0_c = load i32, i32* @eax, align 8
  store i32 %v0_c, i32* @ebx, align 8
  %v1_10 = add i32 %v3_9, -20
  %v2_10 = inttoptr i32 %v1_10 to i32*
  %v3_10 = load i32, i32* %v2_10, align 4
  %v10_10 = icmp eq i32 %v3_10, 0
  br i1 %v10_10, label %dec_label_pc_1b, label %dec_label_pc_16

dec_label_pc_16:                                  ; preds = %dec_label_pc_0
  %v4_16 = call x86_fp80 @function_dd(i32 %v0_5, i32 %v0_4, i32 %v0_3, i32 %v0_0)
  store x86_fp80 %v4_16, x86_fp80* %st7.global-to-local, align 4
  %v5_16 = fptrunc x86_fp80 %v4_16 to float
  %v6_16 = bitcast float %v5_16 to i32
  store i32 %v6_16, i32* @eax, align 8
  %v0_1d.pre = load i32, i32* @edi, align 8
  br label %dec_label_pc_1b

dec_label_pc_1b:                                  ; preds = %dec_label_pc_16, %dec_label_pc_0
  %v1_3d = phi i32 [ %v0_1d.pre, %dec_label_pc_16 ], [ %v3_9, %dec_label_pc_0 ]
  %v0_1b = load i3, i3* @fpu_stat_TOP, align 1
  %v3_1b = load double, double* bitcast (i32* @eax to double*), align 8
  %v4_1b = fpext double %v3_1b to x86_fp80
  %v5_1b = add i3 %v0_1b, -1
  store i3 %v5_1b, i3* %fpu_stat_TOP.global-to-local, align 1
  store x86_fp80 %v4_1b, x86_fp80* %st7.global-to-local, align 4
  %v1_1d = add i32 %v1_3d, -24
  %v2_1d = inttoptr i32 %v1_1d to i32*
  %v3_1d = load i32, i32* %v2_1d, align 4
  %v10_1d = icmp eq i32 %v3_1d, 0
  br i1 %v10_1d, label %dec_label_pc_25, label %dec_label_pc_23

dec_label_pc_23:                                  ; preds = %dec_label_pc_1b
  %v2_23 = fsub x86_fp80 0xK80000000000000000000, %v4_1b
  store x86_fp80 %v2_23, x86_fp80* %st7.global-to-local, align 4
  br label %dec_label_pc_25

dec_label_pc_25:                                  ; preds = %dec_label_pc_23, %dec_label_pc_1b
  %v1_2d = phi x86_fp80 [ %v2_23, %dec_label_pc_23 ], [ %v4_1b, %dec_label_pc_1b ]
  %v5_25 = add i3 %v0_1b, -2
  store i3 %v5_25, i3* %fpu_stat_TOP.global-to-local, align 1
  %v1_27 = add i32 %v1_3d, -28
  %v2_27 = inttoptr i32 %v1_27 to i32*
  %v3_27 = load i32, i32* %v2_27, align 4
  %v10_27 = icmp eq i32 %v3_27, 0
  br i1 %v10_27, label %dec_label_pc_2f, label %dec_label_pc_2d

dec_label_pc_2d:                                  ; preds = %dec_label_pc_25
  %v2_2d = fsub x86_fp80 0xK80000000000000000000, %v1_2d
  store x86_fp80 %v2_2d, x86_fp80* %st7.global-to-local, align 4
  br label %dec_label_pc_2f

dec_label_pc_2f:                                  ; preds = %dec_label_pc_2d, %dec_label_pc_25
  %v3_31 = load double, double* bitcast (i32* @ecx to double*), align 8
  %v4_31 = fpext double %v3_31 to x86_fp80
  store i3 %v5_25, i3* %fpu_stat_TOP.global-to-local, align 1
  store x86_fp80 %v4_31, x86_fp80* %st7.global-to-local, align 4
  %v1_33 = add i32 %v1_3d, -32
  %v2_33 = inttoptr i32 %v1_33 to i32*
  %v3_33 = load i32, i32* %v2_33, align 4
  %v10_33 = icmp eq i32 %v3_33, 0
  br i1 %v10_33, label %dec_label_pc_3b, label %dec_label_pc_39

dec_label_pc_39:                                  ; preds = %dec_label_pc_2f
  %v2_39 = fsub x86_fp80 0xK80000000000000000000, %v4_31
  store x86_fp80 %v2_39, x86_fp80* %st7.global-to-local, align 4
  br label %dec_label_pc_3b

dec_label_pc_3b:                                  ; preds = %dec_label_pc_39, %dec_label_pc_2f
  %v2_3b = phi x86_fp80 [ %v2_39, %dec_label_pc_39 ], [ %v4_31, %dec_label_pc_2f ]
  %v4_3b = fadd x86_fp80 %v2_3b, %v2_3b
  store x86_fp80 %v4_3b, x86_fp80* %st7.global-to-local, align 4
  %v2_3d = add i32 %v1_3d, -16
  %v3_3d = inttoptr i32 %v2_3d to double*
  %v4_3d = load double, double* %v3_3d, align 4
  %tmp257 = call double @llvm.fabs.f64(double %v4_3d)
  %v2_40 = fpext double %tmp257 to x86_fp80
  %v4_42 = fsub x86_fp80 %v2_40, %v2_40
  store i3 %v5_25, i3* %fpu_stat_TOP.global-to-local, align 1
  store x86_fp80 %v4_42, x86_fp80* %st7.global-to-local, align 4
  %v0_48 = load i32, i32* %fpsw.global-to-local, align 4
  %v1_48 = call i16 @__asm_fnstsw(i32 %v0_48)
  %v2_48 = sext i16 %v1_48 to i32
  %v3_48 = load i32, i32* @eax, align 8
  %v4_48 = and i32 %v3_48, -65536
  %v5_48 = or i32 %v4_48, %v2_48
  store i32 %v5_48, i32* @eax, align 8
  %tmp258 = and i32 %v2_48, 256
  %v4_4a = icmp eq i32 %tmp258, 0
  %v0_4b = load i3, i3* %fpu_stat_TOP.global-to-local, align 1
  %v4_4b = add i3 %v0_4b, 1
  store i3 %v4_4b, i3* %fpu_stat_TOP.global-to-local, align 1
  br i1 %v4_4a, label %dec_label_pc_4f, label %dec_label_pc_86

dec_label_pc_4f:                                  ; preds = %dec_label_pc_3b
  %v1_4f = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v2_4f = load i32, i32* @edi, align 8
  %v3_4f = inttoptr i32 %v2_4f to double*
  %v4_4f = load double, double* %v3_4f, align 4
  %v5_4f = fpext double %v4_4f to x86_fp80
  %v6_4f = fmul x86_fp80 %v1_4f, %v5_4f
  store x86_fp80 %v6_4f, x86_fp80* %st7.global-to-local, align 4
  %v3_51 = load double, double* bitcast (i32* @eax to double*), align 8
  %v4_51 = fpext double %v3_51 to x86_fp80
  %v1_53 = add i32 %v2_4f, -24
  %v2_53 = inttoptr i32 %v1_53 to i32*
  %v3_53 = load i32, i32* %v2_53, align 4
  %v10_53 = icmp eq i32 %v3_53, 0
  %tmp259 = fsub x86_fp80 0xK80000000000000000000, %v6_4f
  %storemerge9.in.in.p = select i1 %v10_53, x86_fp80 %tmp259, x86_fp80 %v6_4f
  %storemerge9.in.in = fadd x86_fp80 %storemerge9.in.in.p, %v4_51
  %v2_5f = load i32, i32* @ebx, align 8
  %v3_5f = fptrunc x86_fp80 %storemerge9.in.in to double
  %v4_5f = inttoptr i32 %v2_5f to double*
  store double %v3_5f, double* %v4_5f, align 4
  %v3_61 = load double, double* bitcast (i32* @edx to double*), align 8
  %v0_63 = load i32, i32* @edi, align 8
  %v1_63 = add i32 %v0_63, -28
  %v2_63 = inttoptr i32 %v1_63 to i32*
  %v3_63 = load i32, i32* %v2_63, align 4
  %v10_63 = icmp eq i32 %v3_63, 0
  %v2_6d = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %tmp260 = fsub x86_fp80 0xK80000000000000000000, %v2_6d
  %storemerge10.in.in.p = select i1 %v10_63, x86_fp80 %tmp260, x86_fp80 %v2_6d
  %storemerge10.in.in = fadd x86_fp80 %v2_6d, %storemerge10.in.in.p
  %tmp261 = bitcast double %v3_61 to i64
  %tmp262 = trunc i64 %tmp261 to i32
  %v3_6f = fptrunc x86_fp80 %storemerge10.in.in to double
  %v4_6f = inttoptr i32 %tmp262 to double*
  store double %v3_6f, double* %v4_6f, align 4
  %v3_71 = load double, double* bitcast (i32* @ecx to double*), align 8
  %v4_71 = fpext double %v3_71 to x86_fp80
  store x86_fp80 %v4_71, x86_fp80* %st7.global-to-local, align 4
  %v0_73 = load i32, i32* @edi, align 8
  %v1_73 = add i32 %v0_73, -32
  %v2_73 = inttoptr i32 %v1_73 to i32*
  %v3_73 = load i32, i32* %v2_73, align 4
  %v10_73 = icmp eq i32 %v3_73, 0
  %tmp263 = fsub x86_fp80 0xK80000000000000000000, %v4_71
  %storemerge11.in.in.p = select i1 %v10_73, x86_fp80 %tmp263, x86_fp80 %v4_71
  %storemerge11.in.in = fadd x86_fp80 %storemerge11.in.in.p, %v4_71
  store x86_fp80 %storemerge11.in.in, x86_fp80* %st7.global-to-local, align 4
  %tmp264 = bitcast double %v3_71 to i64
  %tmp265 = trunc i64 %tmp264 to i32
  %v3_7f = fptrunc x86_fp80 %storemerge11.in.in to double
  %v4_7f = inttoptr i32 %tmp265 to double*
  store double %v3_7f, double* %v4_7f, align 4
  store i3 %v4_4b, i3* %fpu_stat_TOP.global-to-local, align 1
  br label %dec_label_pc_d0

dec_label_pc_86:                                  ; preds = %dec_label_pc_3b
  %v1_86 = load i32, i32* @edi, align 8
  %v2_86 = add i32 %v1_86, -16
  %v3_86 = inttoptr i32 %v2_86 to double*
  %v4_86 = load double, double* %v3_86, align 4
  %tmp266 = call double @llvm.fabs.f64(double %v4_86)
  %v2_89 = fpext double %tmp266 to x86_fp80
  %v4_8b = fadd x86_fp80 %v2_89, %v2_89
  store x86_fp80 %v4_8b, x86_fp80* %st7.global-to-local, align 4
  %v3_8d = add i32 %v1_86, -40
  %v4_8d = inttoptr i32 %v3_8d to double*
  %v5_8d = load double, double* %v4_8d, align 4
  %v6_8d = fpext double %v5_8d to x86_fp80
  %v7_8d = fadd x86_fp80 %v4_8b, %v6_8d
  %v4_90 = fadd x86_fp80 %v7_8d, %v7_8d
  store i3 %v0_4b, i3* %fpu_stat_TOP.global-to-local, align 1
  store x86_fp80 %v4_90, x86_fp80* %st7.global-to-local, align 4
  %v0_96 = load i32, i32* %fpsw.global-to-local, align 4
  %v1_96 = call i16 @__asm_fnstsw(i32 %v0_96)
  %v2_96 = sext i16 %v1_96 to i32
  %v3_96 = load i32, i32* @eax, align 8
  %v4_96 = and i32 %v3_96, -65536
  %v5_96 = or i32 %v4_96, %v2_96
  store i32 %v5_96, i32* @eax, align 8
  %v0_99 = load i3, i3* %fpu_stat_TOP.global-to-local, align 1
  %v4_99 = add i3 %v0_99, 1
  store i3 %v4_99, i3* %fpu_stat_TOP.global-to-local, align 1
  %tmp268 = and i32 %v2_96, 16640
  %tmp269 = icmp eq i32 %tmp268, 0
  br i1 %tmp269, label %dec_label_pc_d0, label %dec_label_pc_9d

dec_label_pc_9d:                                  ; preds = %dec_label_pc_86
  %v1_9d = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v2_9d = load i32, i32* @edi, align 8
  %v3_9d = inttoptr i32 %v2_9d to double*
  %v4_9d = load double, double* %v3_9d, align 4
  %v5_9d = fpext double %v4_9d to x86_fp80
  %v6_9d = fmul x86_fp80 %v1_9d, %v5_9d
  store x86_fp80 %v6_9d, x86_fp80* %st7.global-to-local, align 4
  %v3_9f = load double, double* bitcast (i32* @eax to double*), align 8
  %v4_9f = fpext double %v3_9f to x86_fp80
  %v1_a1 = add i32 %v2_9d, -24
  %v2_a1 = inttoptr i32 %v1_a1 to i32*
  %v3_a1 = load i32, i32* %v2_a1, align 4
  %v10_a1 = icmp eq i32 %v3_a1, 0
  %tmp270 = fsub x86_fp80 0xK80000000000000000000, %v6_9d
  %storemerge13.in.in.p = select i1 %v10_a1, x86_fp80 %tmp270, x86_fp80 %v6_9d
  %storemerge13.in.in = fadd x86_fp80 %storemerge13.in.in.p, %v4_9f
  %v2_ad = load i32, i32* @ebx, align 8
  %v3_ad = fptrunc x86_fp80 %storemerge13.in.in to double
  %v4_ad = inttoptr i32 %v2_ad to double*
  store double %v3_ad, double* %v4_ad, align 4
  %v3_af = load double, double* bitcast (i32* @edx to double*), align 8
  %v0_b1 = load i32, i32* @edi, align 8
  %v1_b1 = add i32 %v0_b1, -28
  %v2_b1 = inttoptr i32 %v1_b1 to i32*
  %v3_b1 = load i32, i32* %v2_b1, align 4
  %v10_b1 = icmp eq i32 %v3_b1, 0
  %v2_bb = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %tmp271 = fsub x86_fp80 0xK80000000000000000000, %v2_bb
  %storemerge14.in.in.p = select i1 %v10_b1, x86_fp80 %tmp271, x86_fp80 %v2_bb
  %storemerge14.in.in = fadd x86_fp80 %v2_bb, %storemerge14.in.in.p
  %tmp272 = bitcast double %v3_af to i64
  %tmp273 = trunc i64 %tmp272 to i32
  %v3_bd = fptrunc x86_fp80 %storemerge14.in.in to double
  %v4_bd = inttoptr i32 %tmp273 to double*
  store double %v3_bd, double* %v4_bd, align 4
  %v3_bf = load double, double* bitcast (i32* @ecx to double*), align 8
  %v4_bf = fpext double %v3_bf to x86_fp80
  store x86_fp80 %v4_bf, x86_fp80* %st7.global-to-local, align 4
  %v0_c1 = load i32, i32* @edi, align 8
  %v1_c1 = add i32 %v0_c1, -32
  %v2_c1 = inttoptr i32 %v1_c1 to i32*
  %v3_c1 = load i32, i32* %v2_c1, align 4
  %v10_c1 = icmp eq i32 %v3_c1, 0
  %tmp274 = fsub x86_fp80 0xK80000000000000000000, %v4_bf
  %storemerge15.in.in.p = select i1 %v10_c1, x86_fp80 %tmp274, x86_fp80 %v4_bf
  %storemerge15.in.in = fadd x86_fp80 %storemerge15.in.in.p, %v4_bf
  store x86_fp80 %storemerge15.in.in, x86_fp80* %st7.global-to-local, align 4
  %tmp275 = bitcast double %v3_bf to i64
  %tmp276 = trunc i64 %tmp275 to i32
  %v3_cd = fptrunc x86_fp80 %storemerge15.in.in to double
  %v4_cd = inttoptr i32 %tmp276 to double*
  store double %v3_cd, double* %v4_cd, align 4
  store i3 %v4_99, i3* %fpu_stat_TOP.global-to-local, align 1
  br label %dec_label_pc_d0

dec_label_pc_d0:                                  ; preds = %dec_label_pc_86, %dec_label_pc_9d, %dec_label_pc_4f
  %v0_d0 = phi i3 [ %v4_99, %dec_label_pc_86 ], [ %v4_99, %dec_label_pc_9d ], [ %v4_4b, %dec_label_pc_4f ]
  %v4_d0 = add i3 %v0_d0, 1
  store i3 %v4_d0, i3* %fpu_stat_TOP.global-to-local, align 1
  %v0_d4 = load i32, i32* @ebx, align 8
  store i32 %v0_d4, i32* @eax, align 8
  store i32 %v0_5, i32* @edi, align 8
  store i32 %v0_4, i32* %esi.global-to-local, align 4
  store i32 %v0_3, i32* @ebx, align 8
  ret i32 %v0_d4
}

define x86_fp80 @function_dd(i32 %arg1, i32 %arg2, i32 %arg3, i32 %arg4) local_unnamed_addr {
dec_label_pc_dd:
  %st7.global-to-local = alloca x86_fp80, align 4
  %v0_dd = load i3, i3* @fpu_stat_TOP, align 1
  %v3_dd = load double, double* bitcast (i32* @ebx to double*), align 8
  %v4_dd = fpext double %v3_dd to x86_fp80
  store x86_fp80 %v4_dd, x86_fp80* %st7.global-to-local, align 4
  %v0_df = load i32, i32* @edi, align 8
  %v1_df = add i32 %v0_df, -24
  %v2_df = inttoptr i32 %v1_df to i32*
  %v3_df = load i32, i32* %v2_df, align 4
  %v10_df = icmp eq i32 %v3_df, 0
  %v1_e3 = icmp eq i1 %v10_df, false
  %tmp = bitcast double %v3_dd to i64
  %tmp9 = trunc i64 %tmp to i32
  br i1 %v1_e3, label %dec_label_pc_e7, label %dec_label_pc_e5

dec_label_pc_e5:                                  ; preds = %dec_label_pc_dd
  %v2_e5 = fsub x86_fp80 0xK80000000000000000000, %v4_dd
  store x86_fp80 %v2_e5, x86_fp80* %st7.global-to-local, align 4
  br label %dec_label_pc_e7

dec_label_pc_e7:                                  ; preds = %dec_label_pc_e5, %dec_label_pc_dd
  %v3_f1 = phi x86_fp80 [ %v2_e5, %dec_label_pc_e5 ], [ %v4_dd, %dec_label_pc_dd ]
  %v3_e7 = load double, double* bitcast (i32* @edx to double*), align 8
  %v4_e7 = fpext double %v3_e7 to x86_fp80
  %v1_e9 = add i32 %v0_df, -28
  %v2_e9 = inttoptr i32 %v1_e9 to i32*
  %v3_e9 = load i32, i32* %v2_e9, align 4
  %v10_e9 = icmp eq i32 %v3_e9, 0
  %v1_ed = icmp eq i1 %v10_e9, false
  %v2_ef = fsub x86_fp80 0xK80000000000000000000, %v4_e7
  %spec.select = select i1 %v1_ed, x86_fp80 %v4_e7, x86_fp80 %v2_ef
  %v4_f1 = fadd x86_fp80 %v3_f1, %spec.select
  store x86_fp80 %v4_f1, x86_fp80* %st7.global-to-local, align 4
  %v1_f5 = add i32 %v0_df, -32
  %v2_f5 = inttoptr i32 %v1_f5 to i32*
  %v3_f5 = load i32, i32* %v2_f5, align 4
  %v10_f5 = icmp eq i32 %v3_f5, 0
  %v1_f9 = icmp eq i1 %v10_f5, false
  br i1 %v1_f9, label %dec_label_pc_fd, label %dec_label_pc_fb

dec_label_pc_fb:                                  ; preds = %dec_label_pc_e7
  %v2_fb = fsub x86_fp80 0xK80000000000000000000, %v4_f1
  store x86_fp80 %v2_fb, x86_fp80* %st7.global-to-local, align 4
  br label %dec_label_pc_fd

dec_label_pc_fd:                                  ; preds = %dec_label_pc_fb, %dec_label_pc_e7
  %v2_fd = phi x86_fp80 [ %v2_fb, %dec_label_pc_fb ], [ %v4_f1, %dec_label_pc_e7 ]
  %v4_fd = fadd x86_fp80 %v2_fd, %v2_fd
  %v4_ff = load double, double* bitcast (i32* @edi to double*), align 8
  %v5_ff = fpext double %v4_ff to x86_fp80
  %v6_ff = fmul x86_fp80 %v4_fd, %v5_ff
  store x86_fp80 %v6_ff, x86_fp80* %st7.global-to-local, align 4
  %tmp10 = bitcast double %v4_ff to i64
  %tmp11 = trunc i64 %tmp10 to i32
  %v1_103 = add i32 %tmp11, -24
  %v2_103 = inttoptr i32 %v1_103 to i32*
  %v3_103 = load i32, i32* %v2_103, align 4
  %v10_103 = icmp eq i32 %v3_103, 0
  %v1_107 = icmp eq i1 %v10_103, false
  %tmp12 = fsub x86_fp80 0xK80000000000000000000, %v6_ff
  %storemerge3.in.in.p = select i1 %v1_107, x86_fp80 %tmp12, x86_fp80 %v6_ff
  %storemerge3.in.in = fadd x86_fp80 %storemerge3.in.in.p, %v4_dd
  %tmp13 = fptrunc x86_fp80 %storemerge3.in.in to double
  %v3_111 = fsub double -0.000000e+00, %tmp13
  %v4_111 = inttoptr i32 %tmp9 to double*
  store double %v3_111, double* %v4_111, align 4
  %v3_113 = load double, double* bitcast (i32* @edx to double*), align 8
  %v0_115 = load i32, i32* @edi, align 8
  %v1_115 = add i32 %v0_115, -28
  %v2_115 = inttoptr i32 %v1_115 to i32*
  %v3_115 = load i32, i32* %v2_115, align 4
  %v10_115 = icmp eq i32 %v3_115, 0
  %v1_119 = icmp eq i1 %v10_115, false
  %v2_11f = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %tmp14 = fsub x86_fp80 0xK80000000000000000000, %v2_11f
  %storemerge4.in.in.p = select i1 %v1_119, x86_fp80 %tmp14, x86_fp80 %v2_11f
  %storemerge4.in.in = fadd x86_fp80 %v2_11f, %storemerge4.in.in.p
  %tmp15 = bitcast double %v3_113 to i64
  %tmp16 = trunc i64 %tmp15 to i32
  %tmp17 = fptrunc x86_fp80 %storemerge4.in.in to double
  %v3_123 = fsub double -0.000000e+00, %tmp17
  %v4_123 = inttoptr i32 %tmp16 to double*
  store double %v3_123, double* %v4_123, align 4
  %v3_125 = load double, double* bitcast (i32* @ecx to double*), align 8
  %v4_125 = fpext double %v3_125 to x86_fp80
  store x86_fp80 %v4_125, x86_fp80* %st7.global-to-local, align 4
  %v0_127 = load i32, i32* @edi, align 8
  %v1_127 = add i32 %v0_127, -32
  %v2_127 = inttoptr i32 %v1_127 to i32*
  %v3_127 = load i32, i32* %v2_127, align 4
  %v10_127 = icmp eq i32 %v3_127, 0
  %v1_12b = icmp eq i1 %v10_127, false
  %tmp18 = fsub x86_fp80 0xK80000000000000000000, %v4_125
  %storemerge5.in.in.p = select i1 %v1_12b, x86_fp80 %tmp18, x86_fp80 %v4_125
  %storemerge5.in.in = fadd x86_fp80 %storemerge5.in.in.p, %v4_125
  %v2_133 = fsub x86_fp80 0xK80000000000000000000, %storemerge5.in.in
  store x86_fp80 %v2_133, x86_fp80* %st7.global-to-local, align 4
  %tmp19 = bitcast double %v3_125 to i64
  %tmp20 = trunc i64 %tmp19 to i32
  %v3_135 = fptrunc x86_fp80 %v2_133 to double
  %v4_135 = inttoptr i32 %tmp20 to double*
  store double %v3_135, double* %v4_135, align 4
  %v1_137 = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  store i3 %v0_dd, i3* @fpu_stat_TOP, align 1
  ret x86_fp80 %v1_137
}

declare i16 @__asm_fnstsw(i32) local_unnamed_addr

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

attributes #0 = { nounwind readnone speculatable }
