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

@st5 = internal unnamed_addr global x86_fp80 0xK00000000000000000000
@st6 = internal unnamed_addr global x86_fp80 0xK00000000000000000000
@st7 = internal unnamed_addr global x86_fp80 0xK00000000000000000000
@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
@edi = internal unnamed_addr global i32 0, align 8
@global_var_30.1 = constant i32 136

define i32 @function_0(i32 %arg1) local_unnamed_addr {
dec_label_pc_0:
  %ebx.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
  %stack_var_-16 = alloca i32, align 4
  %v0_3 = load i32, i32* %esi.global-to-local, align 4
  %v0_4 = load i32, i32* @edi, align 8
  %v0_5 = load i32, i32* %ebx.global-to-local, align 4
  store i32 %v0_5, i32* %stack_var_-16, align 4
  store i32 %arg1, i32* %esi.global-to-local, align 4
  %v0_9 = load i32, i32* @eax, align 8
  store i32 %v0_9, i32* %ebx.global-to-local, align 4
  %v1_b = add i32 %arg1, ptrtoint (i32* @global_var_30.1 to i32)
  %v2_b = inttoptr i32 %v1_b to i32*
  %v3_b = load i32, i32* %v2_b, align 4
  store i32 %v3_b, i32* @edi, align 8
  %v0_11 = load i3, i3* %fpu_stat_TOP.global-to-local, align 1
  %v3_11 = load double, double* bitcast (i32* @ecx to double*), align 8
  %v4_11 = fpext double %v3_11 to x86_fp80
  %v5_11 = add i3 %v0_11, -1
  %v2_13 = add i32 %v3_b, -56
  %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
  %v4_16 = fmul x86_fp80 %v4_11, %v5_13
  store x86_fp80 %v4_16, x86_fp80* @st7, align 4
  store i3 %v5_11, i3* %fpu_stat_TOP.global-to-local, align 1
  %v0_18 = call i32 @function_bc()
  store i32 %v0_18, i32* @eax, align 8
  %v3_1d = load double, double* bitcast (i32* @ecx to double*), align 8
  %v4_1d = fpext double %v3_1d to x86_fp80
  %v3_1f = load x86_fp80, x86_fp80* @st7, align 4
  %v4_1f = fadd x86_fp80 %v3_1f, %v4_1d
  %v1_21 = load i32, i32* @edi, align 8
  %v2_21 = add i32 %v1_21, -48
  %v3_21 = inttoptr i32 %v2_21 to double*
  %v4_21 = load double, double* %v3_21, align 4
  %v5_21 = fpext double %v4_21 to x86_fp80
  %v4_24 = fmul x86_fp80 %v4_1f, %v5_21
  store x86_fp80 %v4_24, x86_fp80* @st7, align 4
  %v0_26 = call i32 @function_bc()
  store i32 %v0_26, i32* @eax, align 8
  %v3_2b = load double, double* bitcast (i32* @ecx to double*), align 8
  %v4_2b = fpext double %v3_2b to x86_fp80
  %v3_2d = load x86_fp80, x86_fp80* @st7, align 4
  %v4_2d = fadd x86_fp80 %v3_2d, %v4_2b
  store x86_fp80 %v4_2d, x86_fp80* @st7, align 4
  %v0_2f = call i32 @function_bc()
  store i32 %v0_2f, i32* @eax, align 8
  %v0_34 = load i3, i3* %fpu_stat_TOP.global-to-local, align 1
  %v1_34 = load i32, i32* @edi, align 8
  %v2_34 = add i32 %v1_34, -24
  %v3_34 = inttoptr i32 %v2_34 to double*
  %v4_34 = load double, double* %v3_34, align 4
  %v5_34 = fpext double %v4_34 to x86_fp80
  %v6_34 = add i3 %v0_34, -1
  %v3_37 = load x86_fp80, x86_fp80* @st7, align 4
  %v4_37 = fmul x86_fp80 %v3_37, %v5_34
  %v3_3b = load double, double* bitcast (i32* @eax to double*), align 8
  %v4_3b = fpext double %v3_3b to x86_fp80
  %v4_3d = fsub x86_fp80 %v4_3b, %v4_37
  %v2_3f = add i32 %v1_34, -16
  %v3_3f = inttoptr i32 %v2_3f to double*
  %v4_3f = load double, double* %v3_3f, align 4
  %v5_3f = fpext double %v4_3f to x86_fp80
  %v4_42 = fmul x86_fp80 %v4_3d, %v5_3f
  store x86_fp80 %v4_42, x86_fp80* @st7, align 4
  store i3 %v6_34, i3* %fpu_stat_TOP.global-to-local, align 1
  %v0_4b = call i32 @function_bc()
  store i32 %v0_4b, i32* @eax, align 8
  %v0_59 = call i32 @function_bc()
  store i32 %v0_59, i32* @eax, align 8
  %v0_62 = call i32 @function_bc()
  store i32 %v0_62, i32* @eax, align 8
  %v0_67 = load i3, i3* %fpu_stat_TOP.global-to-local, align 1
  %v6_67 = add i3 %v0_67, -1
  store i3 %v6_67, i3* %fpu_stat_TOP.global-to-local, align 1
  %v0_7e = call i32 @function_bc()
  store i32 %v0_7e, i32* @eax, align 8
  %v0_8c = call i32 @function_bc()
  store i32 %v0_8c, i32* @eax, align 8
  %v0_95 = call i32 @function_bc()
  store i32 %v0_95, i32* @eax, align 8
  %v0_9a = load i3, i3* %fpu_stat_TOP.global-to-local, align 1
  %v1_9a = load i32, i32* @edi, align 8
  %v2_9a = add i32 %v1_9a, -40
  %v3_9a = inttoptr i32 %v2_9a to double*
  %v4_9a = load double, double* %v3_9a, align 4
  %v5_9a = fpext double %v4_9a to x86_fp80
  %v3_9d = load x86_fp80, x86_fp80* @st5, align 4
  %v4_9d = fmul x86_fp80 %v3_9d, %v5_9a
  %v3_a1 = load double, double* bitcast (i32* @ecx to double*), align 8
  %v4_a1 = fpext double %v3_a1 to x86_fp80
  %v4_a3 = fsub x86_fp80 %v4_a1, %v4_9d
  %v2_a5 = add i32 %v1_9a, -16
  %v3_a5 = inttoptr i32 %v2_a5 to double*
  %v4_a5 = load double, double* %v3_a5, align 4
  %v5_a5 = fpext double %v4_a5 to x86_fp80
  %v4_a8 = fmul x86_fp80 %v4_a3, %v5_a5
  %tmp233 = bitcast double %v3_a1 to i64
  %tmp234 = trunc i64 %tmp233 to i32
  %v3_aa = fptrunc x86_fp80 %v4_a8 to double
  %v4_aa = inttoptr i32 %tmp234 to double*
  store double %v3_aa, double* %v4_aa, align 4
  %v1_ac = load x86_fp80, x86_fp80* @st6, align 4
  %v2_ac = load i32, i32* @edx, align 8
  %v3_ac = fptrunc x86_fp80 %v1_ac to double
  %v4_ac = inttoptr i32 %v2_ac to double*
  store double %v3_ac, double* %v4_ac, align 4
  %v1_ae = load x86_fp80, x86_fp80* @st7, align 4
  %v2_ae = load i32, i32* %ebx.global-to-local, align 4
  %v3_ae = fptrunc x86_fp80 %v1_ae to double
  %v4_ae = inttoptr i32 %v2_ae to double*
  store double %v3_ae, double* %v4_ae, align 4
  %v5_ae = add i3 %v0_9a, 3
  store i3 %v5_ae, i3* %fpu_stat_TOP.global-to-local, align 1
  store i32 %v2_ae, i32* @eax, align 8
  %v2_b5 = load i32, i32* %stack_var_-16, align 4
  store i32 %v2_b5, i32* %ebx.global-to-local, align 4
  store i32 %v0_4, i32* @edi, align 8
  store i32 %v0_3, i32* %esi.global-to-local, align 4
  ret i32 %v2_ae
}

define i32 @function_bc() local_unnamed_addr {
dec_label_pc_bc:
  %v1_bc = load x86_fp80, x86_fp80* @st7, align 4
  %v4_bc = load double, double* bitcast (i32* @edi to double*), align 8
  %v5_bc = fpext double %v4_bc to x86_fp80
  %v6_bc = fmul x86_fp80 %v1_bc, %v5_bc
  %v2_be = fptosi x86_fp80 %v6_bc to i32
  %v4_c6 = fsub x86_fp80 %v6_bc, %v6_bc
  %v3_ca = fmul x86_fp80 %v4_c6, %v4_c6
  %tmp1 = bitcast double %v4_bc to i64
  %tmp2 = trunc i64 %tmp1 to i32
  %v2_cc = add i32 %tmp2, 32
  %v3_cc = inttoptr i32 %v2_cc to double*
  %v4_cc = load double, double* %v3_cc, align 4
  %v5_cc = fpext double %v4_cc to x86_fp80
  %v4_cf = fmul x86_fp80 %v3_ca, %v5_cc
  %v3_d1 = add i32 %tmp2, 24
  %v4_d1 = inttoptr i32 %v3_d1 to double*
  %v5_d1 = load double, double* %v4_d1, align 4
  %v6_d1 = fpext double %v5_d1 to x86_fp80
  %v7_d1 = fadd x86_fp80 %v4_cf, %v6_d1
  %v4_d4 = fmul x86_fp80 %v3_ca, %v7_d1
  %v3_d6 = add i32 %tmp2, 16
  %v4_d6 = inttoptr i32 %v3_d6 to double*
  %v5_d6 = load double, double* %v4_d6, align 4
  %v6_d6 = fpext double %v5_d6 to x86_fp80
  %v7_d6 = fadd x86_fp80 %v4_d4, %v6_d6
  store x86_fp80 %v7_d6, x86_fp80* @st5, align 4
  %v4_d9 = fmul x86_fp80 %v3_ca, %v7_d6
  %v3_db = add i32 %tmp2, 8
  %v4_db = inttoptr i32 %v3_db to double*
  %v5_db = load double, double* %v4_db, align 4
  %v6_db = fpext double %v5_db to x86_fp80
  %v7_db = fadd x86_fp80 %v4_d9, %v6_db
  store x86_fp80 %v7_db, x86_fp80* @st6, align 4
  %v4_de = fmul x86_fp80 %v4_c6, %v7_db
  store x86_fp80 %v4_de, x86_fp80* @st7, align 4
  %v5_e0 = load i32, i32* @eax, align 8
  %v6_e0 = and i32 %v5_e0, -256
  %v1_e4 = trunc i32 %v2_be to i8
  %v2_e4 = urem i8 %v1_e4, 2
  %v3_e4 = icmp eq i8 %v2_e4, 0
  %v8_e4 = zext i8 %v2_e4 to i32
  %v11_e4 = or i32 %v6_e0, %v8_e4
  store i32 %v11_e4, i32* @eax, align 8
  br i1 %v3_e4, label %dec_label_pc_ea, label %dec_label_pc_e8

dec_label_pc_e8:                                  ; preds = %dec_label_pc_bc
  %v2_e8 = fsub x86_fp80 0xK80000000000000000000, %v4_de
  store x86_fp80 %v2_e8, x86_fp80* @st7, align 4
  br label %dec_label_pc_ea

dec_label_pc_ea:                                  ; preds = %dec_label_pc_e8, %dec_label_pc_bc
  ret i32 %v11_e4
}
