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:
  %ebp.global-to-local = alloca i32, align 4
  %edi.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
  %st0.global-to-local = alloca x86_fp80, align 4
  %st5.global-to-local = alloca x86_fp80, align 4
  %st6.global-to-local = alloca x86_fp80, align 4
  %st7.global-to-local = alloca x86_fp80, align 4
  %stack_var_-44 = alloca double, align 8
  %v0_0 = load i32, i32* %ebp.global-to-local, align 4
  %v0_3 = load i32, i32* %esi.global-to-local, align 4
  %v0_4 = load i32, i32* %edi.global-to-local, align 4
  %v15_5 = ptrtoint double* %stack_var_-44 to i32
  store i32 %arg1, i32* %esi.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
  %v0_e = load i3, i3* %fpu_stat_TOP.global-to-local, align 1
  %v1_e = load i32, i32* @ecx, align 8
  %v2_e = add i32 %v1_e, 8
  %v3_e = inttoptr i32 %v2_e to double*
  %v4_e = load double, double* %v3_e, align 4
  %v5_e = fpext double %v4_e to x86_fp80
  %v3_11 = load double, double* bitcast (i32* @ecx to double*), align 8
  %v4_11 = fpext double %v3_11 to x86_fp80
  %v3_13 = load double, double* bitcast (i32* @eax to double*), align 8
  %v4_13 = fpext double %v3_13 to x86_fp80
  %v3_15 = load double, double* bitcast (i32* @edx to double*), align 8
  %v4_15 = fpext double %v3_15 to x86_fp80
  %v3_19 = fmul x86_fp80 %v4_13, %v4_13
  %v3_1d = fmul x86_fp80 %v4_15, %v4_15
  %v4_1f = fsub x86_fp80 %v3_19, %v3_1d
  %tmp241 = fptrunc x86_fp80 %v4_1f to double
  store double %tmp241, double* %stack_var_-44, align 8
  %v4_26 = fmul x86_fp80 %v4_13, %v4_15
  %v4_30 = fmul x86_fp80 %v4_11, %v4_13
  %v4_3a = fmul x86_fp80 %v5_e, %v4_13
  %v1_42 = add i32 %v3_b, -12
  store i32 %v1_42, i32* %edi.global-to-local, align 4
  %v4_47 = fmul x86_fp80 %v5_e, %v5_e
  store x86_fp80 %v4_47, x86_fp80* %st7.global-to-local, align 4
  %v4_49 = fmul x86_fp80 %v5_e, %v4_11
  store x86_fp80 %v4_49, x86_fp80* %st6.global-to-local, align 4
  store x86_fp80 %v4_49, x86_fp80* %st5.global-to-local, align 4
  %v4_65 = fmul x86_fp80 %v4_11, %v4_15
  store x86_fp80 %v4_65, x86_fp80* %st0.global-to-local, align 4
  store i32 7, i32* @ecx, align 8
  br label %dec_label_pc_6e

dec_label_pc_6e:                                  ; preds = %dec_label_pc_7a, %dec_label_pc_0
  %v0_83 = phi i32 [ %v1_83, %dec_label_pc_7a ], [ %v1_42, %dec_label_pc_0 ]
  %v8_802 = phi i3 [ %v8_80, %dec_label_pc_7a ], [ %v0_e, %dec_label_pc_0 ]
  %v1_6e = inttoptr i32 %v0_83 to i32*
  %v2_6e = load i32, i32* %v1_6e, align 4
  %v1_70 = add i32 %v2_6e, -1
  %v10_70 = icmp slt i32 %v1_70, 0
  store i32 %v1_70, i32* @eax, align 8
  %v1_71 = icmp eq i1 %v10_70, false
  br i1 %v1_71, label %dec_label_pc_6e.dec_label_pc_7a_crit_edge, label %dec_label_pc_73

dec_label_pc_6e.dec_label_pc_7a_crit_edge:        ; preds = %dec_label_pc_6e
  %v1_7d.pre = load x86_fp80, x86_fp80* %st0.global-to-local, align 4
  br label %dec_label_pc_7a

dec_label_pc_73:                                  ; preds = %dec_label_pc_6e
  %tmp242 = sub i32 0, %v2_6e
  %tmp243 = sub i32 %tmp242, 1
  store i32 %tmp243, i32* @eax, align 8
  %v1_78 = load x86_fp80, x86_fp80* %st0.global-to-local, align 4
  %v2_78 = fsub x86_fp80 0xK80000000000000000000, %v1_78
  store x86_fp80 %v2_78, x86_fp80* %st0.global-to-local, align 4
  br label %dec_label_pc_7a

dec_label_pc_7a:                                  ; preds = %dec_label_pc_6e.dec_label_pc_7a_crit_edge, %dec_label_pc_73
  %v1_7d = phi x86_fp80 [ %v2_78, %dec_label_pc_73 ], [ %v1_7d.pre, %dec_label_pc_6e.dec_label_pc_7a_crit_edge ]
  %v0_7a = phi i32 [ %tmp243, %dec_label_pc_73 ], [ %v1_70, %dec_label_pc_6e.dec_label_pc_7a_crit_edge ]
  %v1_7a = urem i32 %v0_7a, 4
  store i32 %v1_7a, i32* @eax, align 8
  %v4_7d = mul i32 %v1_7a, 8
  %v5_7d = add i32 %v4_7d, %v15_5
  %v6_7d = inttoptr i32 %v5_7d to double*
  %v7_7d = load double, double* %v6_7d, align 8
  %v8_7d = fpext double %v7_7d to x86_fp80
  %v9_7d = fadd x86_fp80 %v1_7d, %v8_7d
  store x86_fp80 %v9_7d, x86_fp80* %st0.global-to-local, align 4
  %v6_80 = fptrunc x86_fp80 %v9_7d to double
  store double %v6_80, double* %v6_7d, align 8
  %v8_80 = add i3 %v8_802, 1
  %v1_83 = add i32 %v0_83, -4
  store i32 %v1_83, i32* %edi.global-to-local, align 4
  %v0_86 = load i32, i32* @ecx, align 8
  %v1_86 = add i32 %v0_86, -1
  %v10_86 = icmp slt i32 %v1_86, 0
  store i32 %v1_86, i32* @ecx, align 8
  %v1_87 = icmp eq i1 %v10_86, false
  br i1 %v1_87, label %dec_label_pc_6e, label %dec_label_pc_89

dec_label_pc_89:                                  ; preds = %dec_label_pc_7a
  %v3_28 = fadd x86_fp80 %v4_26, %v4_26
  %v3_32 = fadd x86_fp80 %v4_30, %v4_30
  %v3_3c = fadd x86_fp80 %v4_3a, %v4_3a
  %v0_89 = load i32, i32* @edx, align 8
  %v1_89 = add i32 %v0_89, -8
  store i32 %v1_89, i32* @eax, align 8
  %v1_8c = add i32 %v0_89, 8
  store i32 %v1_8c, i32* @ecx, align 8
  store x86_fp80 %v3_3c, x86_fp80* %st7.global-to-local, align 4
  store x86_fp80 %v3_32, x86_fp80* %st6.global-to-local, align 4
  store x86_fp80 %v3_28, x86_fp80* %st5.global-to-local, align 4
  %v3_9b = load double, double* %stack_var_-44, align 8
  %v8_9b = fpext double %v3_9b to x86_fp80
  %v3_9e = add i32 %arg1, 24
  %v4_9e = inttoptr i32 %v3_9e to double*
  %v5_9e = load double, double* %v4_9e, align 4
  %v6_9e = fpext double %v5_9e to x86_fp80
  %v7_9e = fadd x86_fp80 %v8_9b, %v6_9e
  %v3_a1 = fptrunc x86_fp80 %v7_9e to double
  %v4_a1 = inttoptr i32 %v1_89 to double*
  store double %v3_a1, double* %v4_a1, align 4
  %v1_a3 = load x86_fp80, x86_fp80* %st5.global-to-local, align 4
  %v3_a3 = add i32 %arg1, 32
  %v4_a3 = inttoptr i32 %v3_a3 to double*
  %v5_a3 = load double, double* %v4_a3, align 4
  %v6_a3 = fpext double %v5_a3 to x86_fp80
  %v7_a3 = fadd x86_fp80 %v1_a3, %v6_a3
  store x86_fp80 %v7_a3, x86_fp80* %st5.global-to-local, align 4
  %v2_a6 = load i32, i32* @edx, align 8
  %v3_a6 = fptrunc x86_fp80 %v7_a3 to double
  %v4_a6 = inttoptr i32 %v2_a6 to double*
  store double %v3_a6, double* %v4_a6, align 4
  %v1_a8 = load x86_fp80, x86_fp80* %st6.global-to-local, align 4
  %v3_a8 = add i32 %arg1, 40
  %v4_a8 = inttoptr i32 %v3_a8 to double*
  %v5_a8 = load double, double* %v4_a8, align 4
  %v6_a8 = fpext double %v5_a8 to x86_fp80
  %v7_a8 = fadd x86_fp80 %v1_a8, %v6_a8
  store x86_fp80 %v7_a8, x86_fp80* %st6.global-to-local, align 4
  %v2_ab = load i32, i32* @ecx, align 8
  %v3_ab = fptrunc x86_fp80 %v7_a8 to double
  %v4_ab = inttoptr i32 %v2_ab to double*
  store double %v3_ab, double* %v4_ab, align 4
  %v1_ad = load x86_fp80, x86_fp80* %st7.global-to-local, align 4
  %v3_ad = add i32 %arg1, -56
  %v4_ad = inttoptr i32 %v3_ad to double*
  %v5_ad = load double, double* %v4_ad, align 4
  %v6_ad = fpext double %v5_ad to x86_fp80
  %v7_ad = fadd x86_fp80 %v1_ad, %v6_ad
  store x86_fp80 %v7_ad, x86_fp80* %st7.global-to-local, align 4
  %v2_b0 = load i32, i32* @ecx, align 8
  %v3_b0 = add i32 %v2_b0, 8
  %v4_b0 = fptrunc x86_fp80 %v7_ad to double
  %v5_b0 = inttoptr i32 %v3_b0 to double*
  store double %v4_b0, double* %v5_b0, align 4
  store i3 %v8_80, i3* %fpu_stat_TOP.global-to-local, align 1
  store i32 %v0_4, i32* %edi.global-to-local, align 4
  store i32 %v0_3, i32* %esi.global-to-local, align 4
  store i32 %v0_0, i32* %ebp.global-to-local, align 4
  %v0_b9 = load i32, i32* @eax, align 8
  ret i32 %v0_b9
}
