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
@ecx = internal unnamed_addr global i32 0, align 8
@edx = 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
  %edi.global-to-local = alloca i32, align 4
  %esi.global-to-local = alloca i32, align 4
  %fpsw.global-to-local = alloca i32, align 4
  %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* %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, 48
  %v2_b = inttoptr i32 %v1_b to i32*
  %v3_b = load i32, i32* %v2_b, align 4
  store i32 %v3_b, i32* %edi.global-to-local, align 4
  %v1_e = add i32 %v3_b, -12
  %v2_e = inttoptr i32 %v1_e to i32*
  %v3_e = load i32, i32* %v2_e, align 4
  %v10_e = icmp eq i32 %v3_e, 0
  br i1 %v10_e, label %dec_label_pc_73, label %dec_label_pc_14

dec_label_pc_14:                                  ; preds = %dec_label_pc_0
  %v3_18 = load double, double* bitcast (i32* @eax to double*), align 8
  %v4_18 = fpext double %v3_18 to x86_fp80
  %v4_1a = load double, double* bitcast (i32* @edx to double*), align 8
  %v5_1a = fpext double %v4_1a to x86_fp80
  %v6_1a = fadd x86_fp80 %v4_18, %v5_1a
  store x86_fp80 %v6_1a, x86_fp80* %st7.global-to-local, align 4
  %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
  %tmp283 = udiv i32 %v2_21, 2
  %v12_23 = and i32 %tmp283, 32512
  %v2_21.masked = and i32 %v2_21, -65281
  %v13_23 = or i32 %v4_21, %v2_21.masked
  %v14_23 = or i32 %v13_23, %v12_23
  store i32 %v14_23, i32* @eax, align 8
  %v15_2329 = and i32 %v2_21, 256
  %v16_23 = icmp eq i32 %v15_2329, 0
  br i1 %v16_23, label %dec_label_pc_27, label %dec_label_pc_33

dec_label_pc_27:                                  ; preds = %dec_label_pc_14
  %v3_27 = load double, double* bitcast (i32* @eax to double*), align 8
  %v4_27 = fpext double %v3_27 to x86_fp80
  %v2_29 = fsub x86_fp80 0xK80000000000000000000, %v4_27
  store x86_fp80 %v2_29, x86_fp80* %st7.global-to-local, align 4
  %v3_2b = load double, double* bitcast (i32* @edx to double*), align 8
  %v2_2f = load i32, i32* %ebx.global-to-local, align 4
  %v3_2f = fsub double -0.000000e+00, %v3_2b
  %v4_2f = inttoptr i32 %v2_2f to double*
  store double %v3_2f, double* %v4_2f, align 4
  %v1_31 = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v2_31 = load i32, i32* @edx, align 8
  %v3_31 = fptrunc x86_fp80 %v1_31 to double
  %v4_31 = inttoptr i32 %v2_31 to double*
  store double %v3_31, double* %v4_31, align 4
  br label %dec_label_pc_33

dec_label_pc_33:                                  ; preds = %dec_label_pc_14, %dec_label_pc_27
  %v3_33 = load double, double* bitcast (i32* @eax to double*), align 8
  %v4_33 = fpext double %v3_33 to x86_fp80
  %v4_35 = load double, double* bitcast (i32* @ecx to double*), align 8
  %v5_35 = fpext double %v4_35 to x86_fp80
  %v6_35 = fadd x86_fp80 %v4_33, %v5_35
  store x86_fp80 %v6_35, x86_fp80* %st7.global-to-local, align 4
  %v0_3c = load i32, i32* %fpsw.global-to-local, align 4
  %v1_3c = call i16 @__asm_fnstsw(i32 %v0_3c)
  %v2_3c = sext i16 %v1_3c to i32
  %v3_3c = load i32, i32* @eax, align 8
  %v4_3c = and i32 %v3_3c, -65536
  %tmp284 = udiv i32 %v2_3c, 2
  %v12_3e = and i32 %tmp284, 32512
  %v2_3c.masked = and i32 %v2_3c, -65281
  %v13_3e = or i32 %v4_3c, %v2_3c.masked
  %v14_3e = or i32 %v13_3e, %v12_3e
  store i32 %v14_3e, i32* @eax, align 8
  %v15_3e30 = and i32 %v2_3c, 256
  %v16_3e = icmp eq i32 %v15_3e30, 0
  br i1 %v16_3e, label %dec_label_pc_42, label %dec_label_pc_4e

dec_label_pc_42:                                  ; preds = %dec_label_pc_33
  %v3_42 = load double, double* bitcast (i32* @eax to double*), align 8
  %v4_42 = fpext double %v3_42 to x86_fp80
  %v2_44 = fsub x86_fp80 0xK80000000000000000000, %v4_42
  store x86_fp80 %v2_44, x86_fp80* %st7.global-to-local, align 4
  %v3_46 = load double, double* bitcast (i32* @ecx to double*), align 8
  %v2_4a = load i32, i32* %ebx.global-to-local, align 4
  %v3_4a = fsub double -0.000000e+00, %v3_46
  %v4_4a = inttoptr i32 %v2_4a to double*
  store double %v3_4a, double* %v4_4a, align 4
  %v1_4c = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v2_4c = load i32, i32* @ecx, align 8
  %v3_4c = fptrunc x86_fp80 %v1_4c to double
  %v4_4c = inttoptr i32 %v2_4c to double*
  store double %v3_4c, double* %v4_4c, align 4
  br label %dec_label_pc_4e

dec_label_pc_4e:                                  ; preds = %dec_label_pc_33, %dec_label_pc_42
  %v3_4e = load double, double* bitcast (i32* @ecx to double*), align 8
  %v4_4e = fpext double %v3_4e to x86_fp80
  %v4_50 = load double, double* bitcast (i32* @edx to double*), align 8
  %v5_50 = fpext double %v4_50 to x86_fp80
  %v6_50 = fadd x86_fp80 %v4_4e, %v5_50
  store x86_fp80 %v6_50, x86_fp80* %st7.global-to-local, align 4
  %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
  %v3_57 = load i32, i32* @eax, align 8
  %v4_57 = and i32 %v3_57, -65536
  %tmp285 = udiv i32 %v2_57, 2
  %v12_59 = and i32 %tmp285, 32512
  %v2_57.masked = and i32 %v2_57, -65281
  %v13_59 = or i32 %v4_57, %v2_57.masked
  %v14_59 = or i32 %v13_59, %v12_59
  store i32 %v14_59, i32* @eax, align 8
  %v15_5931 = and i32 %v2_57, 256
  %v16_59 = icmp eq i32 %v15_5931, 0
  br i1 %v16_59, label %dec_label_pc_5d, label %dec_label_pc_69

dec_label_pc_5d:                                  ; preds = %dec_label_pc_4e
  %v3_5d = load double, double* bitcast (i32* @ecx to double*), align 8
  %v4_5d = fpext double %v3_5d to x86_fp80
  %v2_5f = fsub x86_fp80 0xK80000000000000000000, %v4_5d
  store x86_fp80 %v2_5f, x86_fp80* %st7.global-to-local, align 4
  %v3_61 = load double, double* bitcast (i32* @edx to double*), align 8
  %tmp276 = bitcast double %v3_5d to i64
  %tmp277 = trunc i64 %tmp276 to i32
  %v3_65 = fsub double -0.000000e+00, %v3_61
  %v4_65 = inttoptr i32 %tmp277 to double*
  store double %v3_65, double* %v4_65, align 4
  %v1_67 = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v2_67 = load i32, i32* @edx, align 8
  %v3_67 = fptrunc x86_fp80 %v1_67 to double
  %v4_67 = inttoptr i32 %v2_67 to double*
  store double %v3_67, double* %v4_67, align 4
  br label %dec_label_pc_69

dec_label_pc_69:                                  ; preds = %dec_label_pc_4e, %dec_label_pc_5d
  %v0_69 = load i32, i32* %edi.global-to-local, align 4
  %v1_69 = add i32 %v0_69, -16
  %v2_69 = inttoptr i32 %v1_69 to i32*
  %v3_69 = load i32, i32* %v2_69, align 4
  %v10_69 = icmp eq i32 %v3_69, 0
  br i1 %v10_69, label %dec_label_pc_b8, label %dec_label_pc_73

dec_label_pc_73:                                  ; preds = %dec_label_pc_69, %dec_label_pc_0
  %v3_73 = load double, double* bitcast (i32* @eax to double*), align 8
  %v4_73 = fpext double %v3_73 to x86_fp80
  %v4_75 = load double, double* bitcast (i32* @edx to double*), align 8
  %v5_75 = fpext double %v4_75 to x86_fp80
  %v6_75 = fsub x86_fp80 %v4_73, %v5_75
  store x86_fp80 %v6_75, x86_fp80* %st7.global-to-local, align 4
  %v0_7c = load i32, i32* %fpsw.global-to-local, align 4
  %v1_7c = call i16 @__asm_fnstsw(i32 %v0_7c)
  %v2_7c = sext i16 %v1_7c to i32
  %v3_7c = load i32, i32* @eax, align 8
  %v4_7c = and i32 %v3_7c, -65536
  %tmp286 = udiv i32 %v2_7c, 2
  %v12_7e = and i32 %tmp286, 32512
  %v2_7c.masked = and i32 %v2_7c, -65281
  %v13_7e = or i32 %v4_7c, %v2_7c.masked
  %v14_7e = or i32 %v13_7e, %v12_7e
  store i32 %v14_7e, i32* @eax, align 8
  %v15_7e32 = and i32 %v2_7c, 256
  %v16_7e = icmp eq i32 %v15_7e32, 0
  br i1 %v16_7e, label %dec_label_pc_82, label %dec_label_pc_8a

dec_label_pc_82:                                  ; preds = %dec_label_pc_73
  %v3_82 = load double, double* bitcast (i32* @eax to double*), align 8
  %v4_82 = fpext double %v3_82 to x86_fp80
  store x86_fp80 %v4_82, x86_fp80* %st7.global-to-local, align 4
  %v3_84 = load double, double* bitcast (i32* @edx to double*), align 8
  %v2_86 = load i32, i32* %ebx.global-to-local, align 4
  %v4_86 = inttoptr i32 %v2_86 to double*
  store double %v3_84, double* %v4_86, align 4
  %v1_88 = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v2_88 = load i32, i32* @edx, align 8
  %v3_88 = fptrunc x86_fp80 %v1_88 to double
  %v4_88 = inttoptr i32 %v2_88 to double*
  store double %v3_88, double* %v4_88, align 4
  br label %dec_label_pc_8a

dec_label_pc_8a:                                  ; preds = %dec_label_pc_73, %dec_label_pc_82
  %v3_8a = load double, double* bitcast (i32* @eax to double*), align 8
  %v4_8a = fpext double %v3_8a to x86_fp80
  %v4_8c = load double, double* bitcast (i32* @ecx to double*), align 8
  %v5_8c = fpext double %v4_8c to x86_fp80
  %v6_8c = fsub x86_fp80 %v4_8a, %v5_8c
  store x86_fp80 %v6_8c, x86_fp80* %st7.global-to-local, align 4
  %v0_93 = load i32, i32* %fpsw.global-to-local, align 4
  %v1_93 = call i16 @__asm_fnstsw(i32 %v0_93)
  %v2_93 = sext i16 %v1_93 to i32
  %v3_93 = load i32, i32* @eax, align 8
  %v4_93 = and i32 %v3_93, -65536
  %tmp287 = udiv i32 %v2_93, 2
  %v12_95 = and i32 %tmp287, 32512
  %v2_93.masked = and i32 %v2_93, -65281
  %v13_95 = or i32 %v4_93, %v2_93.masked
  %v14_95 = or i32 %v13_95, %v12_95
  store i32 %v14_95, i32* @eax, align 8
  %v15_9533 = and i32 %v2_93, 256
  %v16_95 = icmp eq i32 %v15_9533, 0
  br i1 %v16_95, label %dec_label_pc_99, label %dec_label_pc_a1

dec_label_pc_99:                                  ; preds = %dec_label_pc_8a
  %v3_99 = load double, double* bitcast (i32* @eax to double*), align 8
  %v4_99 = fpext double %v3_99 to x86_fp80
  store x86_fp80 %v4_99, x86_fp80* %st7.global-to-local, align 4
  %v3_9b = load double, double* bitcast (i32* @ecx to double*), align 8
  %v2_9d = load i32, i32* %ebx.global-to-local, align 4
  %v4_9d = inttoptr i32 %v2_9d to double*
  store double %v3_9b, double* %v4_9d, align 4
  %v1_9f = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v2_9f = load i32, i32* @ecx, align 8
  %v3_9f = fptrunc x86_fp80 %v1_9f to double
  %v4_9f = inttoptr i32 %v2_9f to double*
  store double %v3_9f, double* %v4_9f, align 4
  br label %dec_label_pc_a1

dec_label_pc_a1:                                  ; preds = %dec_label_pc_8a, %dec_label_pc_99
  %v3_a1 = load double, double* bitcast (i32* @edx to double*), align 8
  %v4_a1 = fpext double %v3_a1 to x86_fp80
  %v4_a3 = load double, double* bitcast (i32* @ecx to double*), align 8
  %v5_a3 = fpext double %v4_a3 to x86_fp80
  %v6_a3 = fsub x86_fp80 %v4_a1, %v5_a3
  store x86_fp80 %v6_a3, x86_fp80* %st7.global-to-local, align 4
  %v0_aa = load i32, i32* %fpsw.global-to-local, align 4
  %v1_aa = call i16 @__asm_fnstsw(i32 %v0_aa)
  %v2_aa = sext i16 %v1_aa to i32
  %v3_aa = load i32, i32* @eax, align 8
  %v4_aa = and i32 %v3_aa, -65536
  %tmp288 = udiv i32 %v2_aa, 2
  %v12_ac = and i32 %tmp288, 32512
  %v2_aa.masked = and i32 %v2_aa, -65281
  %v13_ac = or i32 %v4_aa, %v2_aa.masked
  %v14_ac = or i32 %v13_ac, %v12_ac
  store i32 %v14_ac, i32* @eax, align 8
  %v15_ac34 = and i32 %v2_aa, 256
  %v16_ac = icmp eq i32 %v15_ac34, 0
  br i1 %v16_ac, label %dec_label_pc_b0, label %dec_label_pc_b8

dec_label_pc_b0:                                  ; preds = %dec_label_pc_a1
  %v3_b0 = load double, double* bitcast (i32* @edx to double*), align 8
  %v4_b0 = fpext double %v3_b0 to x86_fp80
  store x86_fp80 %v4_b0, x86_fp80* %st7.global-to-local, align 4
  %v3_b2 = load double, double* bitcast (i32* @ecx to double*), align 8
  %tmp281 = bitcast double %v3_b0 to i64
  %tmp282 = trunc i64 %tmp281 to i32
  %v4_b4 = inttoptr i32 %tmp282 to double*
  store double %v3_b2, double* %v4_b4, align 4
  %v1_b6 = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v2_b6 = load i32, i32* @ecx, align 8
  %v3_b6 = fptrunc x86_fp80 %v1_b6 to double
  %v4_b6 = inttoptr i32 %v2_b6 to double*
  store double %v3_b6, double* %v4_b6, align 4
  br label %dec_label_pc_b8

dec_label_pc_b8:                                  ; preds = %dec_label_pc_a1, %dec_label_pc_b0, %dec_label_pc_69
  %v0_b9 = load i32, i32* %ebx.global-to-local, align 4
  store i32 %v0_b9, 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 %v0_b9
}

declare i16 @__asm_fnstsw(i32) local_unnamed_addr
