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

define i32 @function_0(i32 %arg1) local_unnamed_addr {
dec_label_pc_0:
  %eax.global-to-local = alloca i32, align 4
  %ebx.global-to-local = alloca i32, align 4
  %ecx.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
  %v0_3 = load i32, i32* %ecx.global-to-local, align 8
  %v0_4 = load i32, i32* %ebx.global-to-local, align 4
  %v0_5 = load i32, i32* %esi.global-to-local, align 4
  %v0_9 = load i32, i32* %eax.global-to-local, align 8
  store i32 %v0_9, i32* %ecx.global-to-local, align 8
  store i32 %arg1, i32* %eax.global-to-local, align 8
  %v1_e = add i32 %arg1, 48
  %v2_e = inttoptr i32 %v1_e to i32*
  %v3_e = load i32, i32* %v2_e, align 4
  store i32 %v3_e, i32* %ebx.global-to-local, align 4
  %v1_15 = add i32 %v3_e, -16
  store i32 %v1_15, i32* %eax.global-to-local, align 8
  %v0_1a = load i32, i32* %fpsw.global-to-local, align 4
  %v1_1a = call i16 @__asm_fnstsw(i32 %v0_1a)
  %v2_1a = sext i16 %v1_1a to i32
  %v4_1a = and i32 %v1_15, -65536
  %v5_1a = or i32 %v4_1a, %v2_1a
  store i32 %v5_1a, i32* %eax.global-to-local, align 8
  %tmp247 = and i32 %v2_1a, 16640
  %tmp248 = icmp eq i32 %tmp247, 0
  br i1 %tmp248, label %dec_label_pc_1f, label %dec_label_pc_2e

dec_label_pc_1f:                                  ; preds = %dec_label_pc_0
  %v0_1f = load i32, i32* %ebx.global-to-local, align 4
  %v1_21 = add i32 %v0_1f, -16
  store i32 %v1_21, i32* %eax.global-to-local, align 8
  %v1_24 = inttoptr i32 %v1_21 to i32*
  %v2_24 = load i32, i32* %v1_24, align 4
  store i32 %v2_24, i32* %esi.global-to-local, align 4
  %v1_26 = load i32, i32* %ecx.global-to-local, align 8
  %v2_26 = inttoptr i32 %v1_26 to i32*
  store i32 %v2_24, i32* %v2_26, align 4
  %v0_28 = load i32, i32* %eax.global-to-local, align 8
  %v1_28 = add i32 %v0_28, 4
  %v2_28 = inttoptr i32 %v1_28 to i32*
  %v3_28 = load i32, i32* %v2_28, align 4
  store i32 %v3_28, i32* %esi.global-to-local, align 4
  %v1_2b = load i32, i32* %ecx.global-to-local, align 8
  %v2_2b = add i32 %v1_2b, 4
  %v3_2b = inttoptr i32 %v2_2b to i32*
  store i32 %v3_28, i32* %v3_2b, align 4
  br label %dec_label_pc_2e

dec_label_pc_2e:                                  ; preds = %dec_label_pc_0, %dec_label_pc_1f
  %v0_30 = load i32, i32* %ebx.global-to-local, align 4
  %v1_32 = add i32 %v0_30, -24
  store i32 %v1_32, i32* %eax.global-to-local, align 8
  %v0_37 = load i32, i32* %fpsw.global-to-local, align 4
  %v1_37 = call i16 @__asm_fnstsw(i32 %v0_37)
  %v2_37 = sext i16 %v1_37 to i32
  %v4_37 = and i32 %v1_32, -65536
  %v5_37 = or i32 %v4_37, %v2_37
  store i32 %v5_37, i32* %eax.global-to-local, align 8
  %tmp250 = and i32 %v2_37, 16640
  %tmp251 = icmp eq i32 %tmp250, 0
  br i1 %tmp251, label %dec_label_pc_3c, label %dec_label_pc_4b

dec_label_pc_3c:                                  ; preds = %dec_label_pc_2e
  %v0_3c = load i32, i32* %ebx.global-to-local, align 4
  %v1_3e = add i32 %v0_3c, -24
  store i32 %v1_3e, i32* %eax.global-to-local, align 8
  %v1_41 = inttoptr i32 %v1_3e to i32*
  %v2_41 = load i32, i32* %v1_41, align 4
  store i32 %v2_41, i32* %ecx.global-to-local, align 8
  %v1_43 = load i32, i32* %edx.global-to-local, align 8
  %v2_43 = inttoptr i32 %v1_43 to i32*
  store i32 %v2_41, i32* %v2_43, align 4
  %v0_45 = load i32, i32* %eax.global-to-local, align 8
  %v1_45 = add i32 %v0_45, 4
  %v2_45 = inttoptr i32 %v1_45 to i32*
  %v3_45 = load i32, i32* %v2_45, align 4
  store i32 %v3_45, i32* %ecx.global-to-local, align 8
  %v1_48 = load i32, i32* %edx.global-to-local, align 8
  %v2_48 = add i32 %v1_48, 4
  %v3_48 = inttoptr i32 %v2_48 to i32*
  store i32 %v3_45, i32* %v3_48, align 4
  br label %dec_label_pc_4b

dec_label_pc_4b:                                  ; preds = %dec_label_pc_2e, %dec_label_pc_3c
  %v0_50 = load i32, i32* %ebx.global-to-local, align 4
  %v1_52 = add i32 %v0_50, -32
  store i32 %v1_52, i32* %eax.global-to-local, align 8
  %v0_57 = load i32, i32* %fpsw.global-to-local, align 4
  %v1_57 = call i16 @__asm_fnstsw(i32 %v0_57)
  %v2_57 = sext i16 %v1_57 to i32
  %v4_57 = and i32 %v1_52, -65536
  %v5_57 = or i32 %v4_57, %v2_57
  store i32 %v5_57, i32* %eax.global-to-local, align 8
  %tmp253 = and i32 %v2_57, 16640
  %tmp254 = icmp eq i32 %tmp253, 0
  br i1 %tmp254, label %dec_label_pc_5c, label %dec_label_pc_6c

dec_label_pc_5c:                                  ; preds = %dec_label_pc_4b
  store i32 %v0_3, i32* %eax.global-to-local, align 8
  %v0_5f = load i32, i32* %ebx.global-to-local, align 4
  %v1_5f = add i32 %v0_5f, -32
  store i32 %v1_5f, i32* %ebx.global-to-local, align 4
  %v1_62 = inttoptr i32 %v1_5f to i32*
  %v2_62 = load i32, i32* %v1_62, align 4
  store i32 %v2_62, i32* %edx.global-to-local, align 8
  %v2_64 = inttoptr i32 %v0_3 to i32*
  store i32 %v2_62, i32* %v2_64, align 4
  %v0_66 = load i32, i32* %ebx.global-to-local, align 4
  %v1_66 = add i32 %v0_66, 4
  %v2_66 = inttoptr i32 %v1_66 to i32*
  %v3_66 = load i32, i32* %v2_66, align 4
  store i32 %v3_66, i32* %edx.global-to-local, align 8
  %v1_69 = load i32, i32* %eax.global-to-local, align 8
  %v2_69 = add i32 %v1_69, 4
  %v3_69 = inttoptr i32 %v2_69 to i32*
  store i32 %v3_66, i32* %v3_69, align 4
  %v0_70.pre = load i32, i32* %eax.global-to-local, align 8
  br label %dec_label_pc_6c

dec_label_pc_6c:                                  ; preds = %dec_label_pc_4b, %dec_label_pc_5c
  %v0_70 = phi i32 [ %v5_57, %dec_label_pc_4b ], [ %v0_70.pre, %dec_label_pc_5c ]
  store i32 %v0_5, i32* %esi.global-to-local, align 4
  store i32 %v0_4, i32* %ebx.global-to-local, align 4
  store i32 %v0_3, i32* %ecx.global-to-local, align 8
  ret i32 %v0_70
}

declare i16 @__asm_fnstsw(i32) local_unnamed_addr
