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
  %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* %ebx.global-to-local, align 4
  store i32 %arg1, i32* %esi.global-to-local, align 4
  %v0_8 = load i32, i32* @eax, align 8
  store i32 %v0_8, i32* %ebx.global-to-local, align 4
  %v1_a = add i32 %arg1, 48
  %v2_a = inttoptr i32 %v1_a to i32*
  %v3_a = load i32, i32* %v2_a, align 4
  store i32 %v3_a, i32* %esi.global-to-local, align 4
  %v0_d = load i3, i3* %fpu_stat_TOP.global-to-local, align 1
  %v3_d = load double, double* bitcast (i32* @eax to double*), align 8
  %v4_d = fpext double %v3_d to x86_fp80
  %v5_d = add i3 %v0_d, -1
  store x86_fp80 %v4_d, x86_fp80* %st7.global-to-local, align 4
  %v3_f = add i32 %v3_a, -32
  %v4_f = inttoptr i32 %v3_f to double*
  %v5_f = load double, double* %v4_f, align 4
  %v6_f = fpext double %v5_f to x86_fp80
  %v7_f = fmul x86_fp80 %v4_d, %v6_f
  store x86_fp80 %v7_f, x86_fp80* %st7.global-to-local, align 4
  %v3_12 = add i32 %v3_a, -16
  %v4_12 = inttoptr i32 %v3_12 to double*
  %v5_12 = load double, double* %v4_12, align 4
  %v6_12 = fpext double %v5_12 to x86_fp80
  %v7_12 = fadd x86_fp80 %v7_f, %v6_12
  %v2_17 = call x86_fp80 @llvm.fabs.f80(x86_fp80 %v7_12)
  %v2_19 = call x86_fp80 @llvm.sqrt.f80(x86_fp80 %v2_17)
  store x86_fp80 %v2_19, x86_fp80* %st7.global-to-local, align 4
  store i3 %v5_d, i3* %fpu_stat_TOP.global-to-local, align 1
  %v0_21 = load i32, i32* %fpsw.global-to-local, align 4
  %v1_21 = call i16 @__asm_fnstsw(i32 %v0_21)
  %v2_21 = sext i16 %v1_21 to i32
  %v3_21 = load i32, i32* @eax, align 8
  %v4_21 = and i32 %v3_21, -65536
  %v1_23 = udiv i32 %v2_21, 256
  %v2_23 = trunc i32 %v1_23 to i8
  %v3_23 = and i8 %v2_23, 65
  %v4_23 = icmp eq i8 %v3_23, 0
  %v9_23 = zext i8 %v3_23 to i32
  %v11_23 = mul i32 %v9_23, 256
  %v2_21.masked = and i32 %v2_21, -65281
  %v12_23 = or i32 %v4_21, %v2_21.masked
  %v13_23 = or i32 %v12_23, %v11_23
  store i32 %v13_23, i32* @eax, align 8
  %v4_26 = icmp eq i1 %v4_23, false
  %v1_2a.pre = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  br i1 %v4_26, label %dec_label_pc_2a, label %dec_label_pc_28

dec_label_pc_28:                                  ; preds = %dec_label_pc_0
  %v2_28 = fsub x86_fp80 0xK80000000000000000000, %v1_2a.pre
  store x86_fp80 %v2_28, x86_fp80* %st7.global-to-local, align 4
  br label %dec_label_pc_2a

dec_label_pc_2a:                                  ; preds = %dec_label_pc_0, %dec_label_pc_28
  %v1_2a = phi x86_fp80 [ %v2_28, %dec_label_pc_28 ], [ %v1_2a.pre, %dec_label_pc_0 ]
  %v2_2a = load i32, i32* %esi.global-to-local, align 4
  %v3_2a = add i32 %v2_2a, -40
  %v4_2a = inttoptr i32 %v3_2a to double*
  %v5_2a = load double, double* %v4_2a, align 4
  %v6_2a = fpext double %v5_2a to x86_fp80
  %v7_2a = fdiv x86_fp80 %v1_2a, %v6_2a
  store x86_fp80 %v7_2a, x86_fp80* %st7.global-to-local, align 4
  %v3_2d = add i32 %v2_2a, -24
  %v4_2d = inttoptr i32 %v3_2d to double*
  %v5_2d = load double, double* %v4_2d, align 4
  %v6_2d = fpext double %v5_2d to x86_fp80
  %v7_2d = fadd x86_fp80 %v7_2a, %v6_2d
  store x86_fp80 %v7_2d, x86_fp80* %st7.global-to-local, align 4
  %v0_30 = load i3, i3* %fpu_stat_TOP.global-to-local, align 1
  %v2_30 = load i32, i32* %ebx.global-to-local, align 4
  %v3_30 = fptrunc x86_fp80 %v7_2d to double
  %v4_30 = inttoptr i32 %v2_30 to double*
  store double %v3_30, double* %v4_30, align 4
  %v5_30 = add i3 %v0_30, 1
  store i3 %v5_30, i3* %fpu_stat_TOP.global-to-local, align 1
  store i32 %v2_30, i32* @eax, align 8
  store i32 %v0_4, i32* %ebx.global-to-local, align 4
  store i32 %v0_3, i32* %esi.global-to-local, align 4
  ret i32 %v2_30
}

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

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

declare i16 @__asm_fnstsw(i32) local_unnamed_addr

attributes #0 = { nounwind readnone speculatable }
