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

define i32 @function_0(i32 %arg1) local_unnamed_addr {
dec_label_pc_0:
  %ebx.global-to-local = alloca i32, align 4
  %ecx.global-to-local = alloca i32, align 4
  %edi.global-to-local = alloca i32, align 4
  %edx.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_3 = load i32, i32* %esi.global-to-local, align 4
  %v0_4 = load i32, i32* %edi.global-to-local, align 4
  %v0_5 = load i32, i32* %ebx.global-to-local, align 4
  store i32 %arg1, i32* %edi.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, 48
  %v2_b = inttoptr i32 %v1_b to i32*
  %v3_b = load i32, i32* %v2_b, align 4
  store i32 %v3_b, i32* %esi.global-to-local, align 4
  %v1_e = add i32 %arg1, 128
  store i32 %v1_e, i32* %edi.global-to-local, align 4
  %v1_14 = add i32 %arg1, 208
  %v2_14 = inttoptr i32 %v1_14 to i32*
  %v3_14 = load i32, i32* %v2_14, align 4
  %v10_14 = icmp eq i32 %v3_14, 0
  %v11_14 = icmp slt i32 %v3_14, 0
  %v3_18 = icmp eq i1 %v11_14, false
  %v4_18 = icmp eq i1 %v10_14, false
  %v5_18 = icmp eq i1 %v3_18, %v4_18
  br i1 %v5_18, label %dec_label_pc_0.dec_label_pc_23_crit_edge, label %dec_label_pc_1a

dec_label_pc_0.dec_label_pc_23_crit_edge:         ; preds = %dec_label_pc_0
  %v0_23.pre = load i3, i3* %fpu_stat_TOP.global-to-local, align 1
  %.pre = add i32 %arg1, 200
  %.pre15 = inttoptr i32 %.pre to double*
  %v4_23.pre = load double, double* %.pre15, align 4
  %.pre267 = fpext double %v4_23.pre to x86_fp80
  br label %dec_label_pc_23

dec_label_pc_1a:                                  ; preds = %dec_label_pc_0
  %v4_1a = add i32 %v3_14, 1
  store i32 %v4_1a, i32* %v2_14, align 4
  %v0_1d = load i3, i3* %fpu_stat_TOP.global-to-local, align 1
  %v1_1d = load i32, i32* %esi.global-to-local, align 4
  %v2_1d = add i32 %v1_1d, -16
  %v3_1d = inttoptr i32 %v2_1d to double*
  %v4_1d = load double, double* %v3_1d, align 4
  %v5_1d = fpext double %v4_1d to x86_fp80
  store x86_fp80 %v5_1d, x86_fp80* %st7.global-to-local, align 4
  %v2_20 = load i32, i32* %edi.global-to-local, align 4
  %v3_20 = add i32 %v2_20, 72
  %v5_20 = inttoptr i32 %v3_20 to double*
  store double %v4_1d, double* %v5_20, align 4
  br label %dec_label_pc_23

dec_label_pc_23:                                  ; preds = %dec_label_pc_0.dec_label_pc_23_crit_edge, %dec_label_pc_1a
  %v5_23.pre-phi = phi x86_fp80 [ %.pre267, %dec_label_pc_0.dec_label_pc_23_crit_edge ], [ %v5_1d, %dec_label_pc_1a ]
  %v3_23.pre-phi = phi double* [ %.pre15, %dec_label_pc_0.dec_label_pc_23_crit_edge ], [ %v5_20, %dec_label_pc_1a ]
  %v2_6d = phi i32 [ %v3_b, %dec_label_pc_0.dec_label_pc_23_crit_edge ], [ %v1_1d, %dec_label_pc_1a ]
  %v0_23 = phi i3 [ %v0_23.pre, %dec_label_pc_0.dec_label_pc_23_crit_edge ], [ %v0_1d, %dec_label_pc_1a ]
  store x86_fp80 %v5_23.pre-phi, x86_fp80* %st7.global-to-local, align 4
  %v2_2a = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v5_23.pre-phi)
  %v4_2c = fadd x86_fp80 %v2_2a, 0xKBFFF8000000000000000
  %v3_2e = add i32 %v2_6d, -48
  %v4_2e = inttoptr i32 %v3_2e to double*
  %v5_2e = load double, double* %v4_2e, align 4
  %v6_2e = fpext double %v5_2e to x86_fp80
  %v7_2e = fmul x86_fp80 %v4_2c, %v6_2e
  %v4_31 = fadd x86_fp80 %v7_2e, %v5_23.pre-phi
  store x86_fp80 %v4_31, x86_fp80* %st7.global-to-local, align 4
  %v4_33 = fptrunc x86_fp80 %v4_31 to double
  store double %v4_33, double* %v3_23.pre-phi, align 4
  %v2_36 = add i32 %v2_6d, -40
  %v3_36 = inttoptr i32 %v2_36 to double*
  %v4_36 = load double, double* %v3_36, align 4
  %v5_36 = fpext double %v4_36 to x86_fp80
  store x86_fp80 %v5_36, x86_fp80* %st7.global-to-local, align 4
  %v3_39 = load double, double* bitcast (i32* @eax to double*), align 8
  %v4_39 = fpext double %v3_39 to x86_fp80
  %v3_3b = add i32 %v2_6d, -56
  %v4_3b = inttoptr i32 %v3_3b to double*
  %v5_3b = load double, double* %v4_3b, align 4
  %v6_3b = fpext double %v5_3b to x86_fp80
  %v7_3b = fadd x86_fp80 %v4_39, %v6_3b
  %v2_3e = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v7_3b)
  %v4_40 = fsub x86_fp80 %v2_3e, %v5_36
  %v2_43 = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v4_40)
  %v4_47 = fsub x86_fp80 %v5_36, %v2_43
  %tmp259 = call double @llvm.fabs.f64(double %v5_3b)
  %v2_4c = fpext double %tmp259 to x86_fp80
  %v4_50 = fsub x86_fp80 %v4_47, %v2_4c
  %v6_62 = xor i3 %v0_23, -4
  store x86_fp80 %v4_50, x86_fp80* %st7.global-to-local, align 4
  store i3 %v6_62, i3* %fpu_stat_TOP.global-to-local, align 1
  %v0_9e = load i32, i32* %fpsw.global-to-local, align 4
  %v1_9e = call i16 @__asm_fnstsw(i32 %v0_9e)
  %v2_9e = sext i16 %v1_9e to i32
  %v3_9e = load i32, i32* @eax, align 8
  %v4_9e = and i32 %v3_9e, -65536
  %tmp268 = udiv i32 %v2_9e, 2
  %v12_a0 = and i32 %tmp268, 32512
  %v2_9e.masked = and i32 %v2_9e, -65281
  %v13_a0 = or i32 %v4_9e, %v2_9e.masked
  %v14_a0 = or i32 %v13_a0, %v12_a0
  store i32 %v14_a0, i32* @eax, align 8
  %v15_a0264 = and i32 %v2_9e, 256
  %v16_a0 = icmp ne i32 %v15_a0264, 0
  %v1_a2 = icmp eq i1 %v16_a0, false
  %v0_ab = load i3, i3* %fpu_stat_TOP.global-to-local, align 1
  br i1 %v1_a2, label %dec_label_pc_ab, label %dec_label_pc_a4

dec_label_pc_a4:                                  ; preds = %dec_label_pc_23
  %v1_a6 = load i32, i32* %esi.global-to-local, align 4
  %v2_a6 = add i32 %v1_a6, -24
  %v3_a6 = inttoptr i32 %v2_a6 to double*
  %v4_a6 = load double, double* %v3_a6, align 4
  %v5_a6 = fpext double %v4_a6 to x86_fp80
  store x86_fp80 %v5_a6, x86_fp80* %st7.global-to-local, align 4
  %v2_cf.pre = load i32, i32* %edi.global-to-local, align 4
  br label %dec_label_pc_c1

dec_label_pc_ab:                                  ; preds = %dec_label_pc_23
  %v1_ab = add i3 %v0_ab, -1
  store x86_fp80 0xK3FFF8000000000000000, x86_fp80* %st7.global-to-local, align 4
  store i3 %v1_ab, i3* %fpu_stat_TOP.global-to-local, align 1
  %v0_af = load i32, i32* %fpsw.global-to-local, align 4
  %v1_af = call i16 @__asm_fnstsw(i32 %v0_af)
  %v2_af = sext i16 %v1_af to i32
  %v3_af = load i32, i32* @eax, align 8
  %v4_af = and i32 %v3_af, -65536
  %tmp269 = udiv i32 %v2_af, 2
  %v12_b1 = and i32 %tmp269, 32512
  %v2_af.masked = and i32 %v2_af, -65281
  %v13_b1 = or i32 %v4_af, %v2_af.masked
  %v14_b1 = or i32 %v13_b1, %v12_b1
  store i32 %v14_b1, i32* @eax, align 8
  %v15_b1265 = and i32 %v2_af, 256
  %v16_b1 = icmp eq i32 %v15_b1265, 0
  %v0_bc = load i3, i3* %fpu_stat_TOP.global-to-local, align 1
  %v4_b5 = add i3 %v0_bc, 1
  br i1 %v16_b1, label %dec_label_pc_b5, label %dec_label_pc_bc

dec_label_pc_b5:                                  ; preds = %dec_label_pc_ab
  %v2_bc = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  store i3 %v4_b5, i3* %fpu_stat_TOP.global-to-local, align 1
  %v2_b7 = load i32, i32* %edi.global-to-local, align 4
  %v3_b7 = add i32 %v2_b7, 72
  %v4_b7 = inttoptr i32 %v3_b7 to double*
  %v5_b7 = load double, double* %v4_b7, align 4
  %v6_b7 = fpext double %v5_b7 to x86_fp80
  %v7_b7 = fdiv x86_fp80 %v6_b7, %v2_bc
  store x86_fp80 %v7_b7, x86_fp80* %st7.global-to-local, align 4
  br label %dec_label_pc_c1

dec_label_pc_bc:                                  ; preds = %dec_label_pc_ab
  %v1_be = load i32, i32* %edi.global-to-local, align 4
  %v2_be = add i32 %v1_be, 72
  %v3_be = inttoptr i32 %v2_be to double*
  %v4_be = load double, double* %v3_be, align 4
  %v5_be = fpext double %v4_be to x86_fp80
  store i3 %v4_b5, i3* %fpu_stat_TOP.global-to-local, align 1
  store x86_fp80 %v5_be, x86_fp80* %st7.global-to-local, align 4
  br label %dec_label_pc_c1

dec_label_pc_c1:                                  ; preds = %dec_label_pc_bc, %dec_label_pc_b5, %dec_label_pc_a4
  %v2_d9 = phi i32 [ %v1_be, %dec_label_pc_bc ], [ %v2_b7, %dec_label_pc_b5 ], [ %v2_cf.pre, %dec_label_pc_a4 ]
  %v3_c4 = phi x86_fp80 [ %v5_be, %dec_label_pc_bc ], [ %v7_b7, %dec_label_pc_b5 ], [ %v5_a6, %dec_label_pc_a4 ]
  %v0_c1 = phi i3 [ %v4_b5, %dec_label_pc_bc ], [ %v4_b5, %dec_label_pc_b5 ], [ %v0_ab, %dec_label_pc_a4 ]
  %v1_c1 = load i32, i32* %ecx.global-to-local, align 8
  %v2_c1 = add i32 %v1_c1, 8
  %v3_c1 = inttoptr i32 %v2_c1 to double*
  %v4_c1 = load double, double* %v3_c1, align 4
  %v5_c1 = fpext double %v4_c1 to x86_fp80
  %v4_c4 = fmul x86_fp80 %v3_c4, %v5_c1
  %v4_c6 = fptrunc x86_fp80 %v4_c4 to double
  store double %v4_c6, double* %v3_c1, align 4
  %v2_c9 = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v4_c9 = fmul x86_fp80 %v2_c9, %v2_c9
  %v4_cb = fmul x86_fp80 %v4_c9, %v4_c9
  %v4_cd = fmul x86_fp80 %v4_cb, %v4_cb
  store x86_fp80 %v4_cd, x86_fp80* %st7.global-to-local, align 4
  %v3_cf = add i32 %v2_d9, -88
  %v4_cf = inttoptr i32 %v3_cf to double*
  %v5_cf = load double, double* %v4_cf, align 4
  %v6_cf = fpext double %v5_cf to x86_fp80
  %v7_cf = fadd x86_fp80 %v4_cd, %v6_cf
  store x86_fp80 %v7_cf, x86_fp80* %st7.global-to-local, align 4
  %v2_d2 = load i32, i32* %ecx.global-to-local, align 8
  %v3_d2 = fptrunc x86_fp80 %v7_cf to double
  %v4_d2 = inttoptr i32 %v2_d2 to double*
  store double %v3_d2, double* %v4_d2, align 4
  %v1_d4 = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v3_d4 = add i32 %v2_d9, -104
  %v4_d4 = inttoptr i32 %v3_d4 to double*
  %v5_d4 = load double, double* %v4_d4, align 4
  %v6_d4 = fpext double %v5_d4 to x86_fp80
  %v7_d4 = fadd x86_fp80 %v1_d4, %v6_d4
  store x86_fp80 %v7_d4, x86_fp80* %st7.global-to-local, align 4
  %v2_d7 = load i32, i32* %edx.global-to-local, align 8
  %v3_d7 = fptrunc x86_fp80 %v7_d4 to double
  %v4_d7 = inttoptr i32 %v2_d7 to double*
  store double %v3_d7, double* %v4_d7, align 4
  %v1_d9 = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v3_d9 = add i32 %v2_d9, -96
  %v4_d9 = inttoptr i32 %v3_d9 to double*
  %v5_d9 = load double, double* %v4_d9, align 4
  %v6_d9 = fpext double %v5_d9 to x86_fp80
  %v7_d9 = fadd x86_fp80 %v1_d9, %v6_d9
  store x86_fp80 %v7_d9, x86_fp80* %st7.global-to-local, align 4
  %v2_dc = load i32, i32* %ebx.global-to-local, align 4
  %v3_dc = fptrunc x86_fp80 %v7_d9 to double
  %v4_dc = inttoptr i32 %v2_dc to double*
  store double %v3_dc, double* %v4_dc, align 4
  %v5_dc = xor i3 %v0_c1, -4
  store i3 %v5_dc, i3* %fpu_stat_TOP.global-to-local, align 1
  store i32 %v2_dc, i32* @eax, align 8
  store i32 %v0_5, i32* %ebx.global-to-local, align 4
  store i32 %v0_4, i32* %edi.global-to-local, align 4
  store i32 %v0_3, i32* %esi.global-to-local, align 4
  ret i32 %v2_dc
}

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

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 }
