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
@global_var_1.1 = constant i8 -117

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
  %fpu_stat_TOP.global-to-local = alloca i3, align 1
  %v0_9 = load i32, i32* %ebx.global-to-local, align 4
  %v0_a = load i32, i32* %esi.global-to-local, align 4
  %v0_b = load i32, i32* %edi.global-to-local, align 4
  store i32 %arg1, i32* %esi.global-to-local, align 4
  %v1_f = add i32 %arg1, 48
  %v2_f = inttoptr i32 %v1_f to i32*
  %v3_f = load i32, i32* %v2_f, align 4
  store i32 %v3_f, i32* %edi.global-to-local, align 4
  %v0_12 = load i32, i32* @eax, align 8
  store i32 %v0_12, i32* %ebx.global-to-local, align 4
  %v0_16 = load i3, i3* %fpu_stat_TOP.global-to-local, align 1
  %v3_16 = load double, double* bitcast (i32* @eax to double*), align 8
  %v4_16 = fpext double %v3_16 to x86_fp80
  %v3_18 = add i32 %v3_f, -56
  %v4_18 = inttoptr i32 %v3_18 to double*
  %v5_18 = load double, double* %v4_18, align 4
  %v6_18 = fpext double %v5_18 to x86_fp80
  %v7_18 = fmul x86_fp80 %v4_16, %v6_18
  %v3_1b = add i32 %v3_f, -16
  %v4_1b = inttoptr i32 %v3_1b to double*
  %v5_1b = load double, double* %v4_1b, align 4
  %v6_1b = fpext double %v5_1b to x86_fp80
  %v7_1b = fadd x86_fp80 %v7_18, %v6_1b
  %v3_1e = fptrunc x86_fp80 %v7_1b to double
  %v4_1e = inttoptr i32 %v0_12 to double*
  store double %v3_1e, double* %v4_1e, align 4
  %v3_20 = load double, double* bitcast (i32* @edx to double*), align 8
  %v4_20 = fpext double %v3_20 to x86_fp80
  %v5_22 = load double, double* %v4_18, align 4
  %v6_22 = fpext double %v5_22 to x86_fp80
  %v7_22 = fmul x86_fp80 %v4_20, %v6_22
  %v3_25 = add i32 %v3_f, -24
  %v4_25 = inttoptr i32 %v3_25 to double*
  %v5_25 = load double, double* %v4_25, align 4
  %v6_25 = fpext double %v5_25 to x86_fp80
  %v7_25 = fadd x86_fp80 %v7_22, %v6_25
  %tmp290 = bitcast double %v3_20 to i64
  %tmp291 = trunc i64 %tmp290 to i32
  %v3_28 = fptrunc x86_fp80 %v7_25 to double
  %v4_28 = inttoptr i32 %tmp291 to double*
  store double %v3_28, double* %v4_28, align 4
  %v3_2a = load double, double* bitcast (i32* @ecx to double*), align 8
  %v4_2a = fpext double %v3_2a to x86_fp80
  %v5_2c = load double, double* %v4_18, align 4
  %v6_2c = fpext double %v5_2c to x86_fp80
  %v7_2c = fmul x86_fp80 %v4_2a, %v6_2c
  %v3_2f = add i32 %v3_f, -32
  %v4_2f = inttoptr i32 %v3_2f to double*
  %v5_2f = load double, double* %v4_2f, align 4
  %v6_2f = fpext double %v5_2f to x86_fp80
  %v7_2f = fadd x86_fp80 %v7_2c, %v6_2f
  %tmp292 = bitcast double %v3_2a to i64
  %tmp293 = trunc i64 %tmp292 to i32
  %v3_32 = fptrunc x86_fp80 %v7_2f to double
  %v4_32 = inttoptr i32 %tmp293 to double*
  store double %v3_32, double* %v4_32, align 4
  %v1_36 = add i32 %v3_f, -60
  %v2_36 = inttoptr i32 %v1_36 to i32*
  %v3_36 = load i32, i32* %v2_36, align 4
  %v13_36 = icmp eq i32 %v3_36, 1
  %v1_3a = icmp eq i1 %v13_36, false
  br i1 %v1_3a, label %dec_label_pc_46, label %dec_label_pc_3c

dec_label_pc_3c:                                  ; preds = %dec_label_pc_0
  %v2_3c = inttoptr i32 %v3_f to double*
  %v3_3c = load double, double* %v2_3c, align 4
  br label %dec_label_pc_6e

dec_label_pc_46:                                  ; preds = %dec_label_pc_0
  %v13_46 = icmp eq i32 %v3_36, 2
  %v1_4a = icmp eq i1 %v13_46, false
  br i1 %v1_4a, label %dec_label_pc_57, label %dec_label_pc_4c

dec_label_pc_4c:                                  ; preds = %dec_label_pc_46
  %v2_4c = add i32 %v3_f, 16
  %v3_4c = inttoptr i32 %v2_4c to double*
  %v4_4c = load double, double* %v3_4c, align 4
  br label %dec_label_pc_6e

dec_label_pc_57:                                  ; preds = %dec_label_pc_46
  %v13_57 = icmp eq i32 %v3_36, 3
  %v1_5b = icmp eq i1 %v13_57, false
  br i1 %v1_5b, label %dec_label_pc_6e, label %dec_label_pc_5d

dec_label_pc_5d:                                  ; preds = %dec_label_pc_57
  %v2_5d = add i32 %v3_f, 24
  %v3_5d = inttoptr i32 %v2_5d to double*
  %v4_5d = load double, double* %v3_5d, align 4
  br label %dec_label_pc_6e

dec_label_pc_6e:                                  ; preds = %dec_label_pc_57, %dec_label_pc_5d, %dec_label_pc_4c, %dec_label_pc_3c
  %stack_var_-44.0 = phi double [ %v4_5d, %dec_label_pc_5d ], [ %v4_4c, %dec_label_pc_4c ], [ %v3_3c, %dec_label_pc_3c ], [ 1.000000e+00, %dec_label_pc_57 ]
  %v5_73 = fpext double %stack_var_-44.0 to x86_fp80
  %v4_78 = fadd x86_fp80 %v5_73, 0xK3FFF8000000000000000
  %v7_7a = fmul x86_fp80 %v4_78, %v5_73
  br label %dec_label_pc_86

dec_label_pc_86:                                  ; preds = %dec_label_pc_2b8, %dec_label_pc_6e
  %v0_8c = phi i3 [ %v0_16, %dec_label_pc_6e ], [ %v0_8c.pre, %dec_label_pc_2b8 ]
  %v3_8819 = phi i32 [ 0, %dec_label_pc_6e ], [ %v5_88, %dec_label_pc_2b8 ]
  %stack_var_-44.1 = phi double [ %stack_var_-44.0, %dec_label_pc_6e ], [ %stack_var_-36.0, %dec_label_pc_2b8 ]
  %stack_var_-36.0.in = phi x86_fp80 [ %v7_7a, %dec_label_pc_6e ], [ %v7_2a3, %dec_label_pc_2b8 ]
  %stack_var_-36.0 = fptrunc x86_fp80 %stack_var_-36.0.in to double
  %sext = mul i32 %v3_8819, 16777216
  %v4_88 = sdiv i32 %sext, 16777216
  %v5_88 = add i32 %v4_88, ptrtoint (i8* @global_var_1.1 to i32)
  %v16_88 = trunc i32 %v5_88 to i8
  %v3_8c = load double, double* bitcast (i32* @eax to double*), align 8
  %tmp297 = call double @llvm.fabs.f64(double %v3_8c)
  %v6_97 = add i3 %v0_8c, add (i3 sub (i3 0, i3 ptrtoint (i8* @global_var_1.1 to i3)), i3 1)
  store i3 %v6_97, i3* %fpu_stat_TOP.global-to-local, align 1
  %v0_a3 = load i32, i32* %fpsw.global-to-local, align 4
  %v1_a3 = call i16 @__asm_fnstsw(i32 %v0_a3)
  %v2_a3 = sext i16 %v1_a3 to i32
  %v3_a3 = load i32, i32* @eax, align 8
  %v4_a3 = and i32 %v3_a3, -65536
  %v1_a5 = udiv i32 %v2_a3, 256
  %v2_a5 = trunc i32 %v1_a5 to i8
  %v3_a5 = and i8 %v2_a5, 65
  %v4_a5 = icmp eq i8 %v3_a5, 0
  %v9_a5 = zext i8 %v3_a5 to i32
  %v11_a5 = mul i32 %v9_a5, 256
  %v2_a3.masked = and i32 %v2_a3, -65281
  %v12_a5 = or i32 %v4_a3, %v2_a3.masked
  %v13_a5 = or i32 %v12_a5, %v11_a5
  store i32 %v13_a5, i32* @eax, align 8
  br i1 %v4_a5, label %dec_label_pc_b8, label %dec_label_pc_aa

dec_label_pc_aa:                                  ; preds = %dec_label_pc_86
  %v3_aa = load double, double* bitcast (i32* @edx to double*), align 8
  %tmp299 = call double @llvm.fabs.f64(double %v3_aa)
  br label %dec_label_pc_b8

dec_label_pc_b8:                                  ; preds = %dec_label_pc_86, %dec_label_pc_aa
  %stack_var_-12.0 = phi double [ %tmp299, %dec_label_pc_aa ], [ %tmp297, %dec_label_pc_86 ]
  %stack_var_-24.0 = phi i32 [ 1, %dec_label_pc_aa ], [ 0, %dec_label_pc_86 ]
  %v0_c1 = load i32, i32* %fpsw.global-to-local, align 4
  %v1_c1 = call i16 @__asm_fnstsw(i32 %v0_c1)
  %v2_c1 = sext i16 %v1_c1 to i32
  %v3_c1 = load i32, i32* @eax, align 8
  %v4_c1 = and i32 %v3_c1, -65536
  %v1_c3 = udiv i32 %v2_c1, 256
  %v2_c3 = trunc i32 %v1_c3 to i8
  %v3_c3 = and i8 %v2_c3, 65
  %v4_c3 = icmp eq i8 %v3_c3, 0
  %v9_c3 = zext i8 %v3_c3 to i32
  %v11_c3 = mul i32 %v9_c3, 256
  %v2_c1.masked = and i32 %v2_c1, -65281
  %v12_c3 = or i32 %v4_c1, %v2_c1.masked
  %v13_c3 = or i32 %v12_c3, %v11_c3
  store i32 %v13_c3, i32* @eax, align 8
  br i1 %v4_c3, label %dec_label_pc_d7, label %dec_label_pc_c8

dec_label_pc_c8:                                  ; preds = %dec_label_pc_b8
  %v3_c8 = load double, double* bitcast (i32* @ecx to double*), align 8
  %tmp301 = call double @llvm.fabs.f64(double %v3_c8)
  %v1_cf = load i32, i32* %edi.global-to-local, align 4
  %v2_cf = add i32 %v1_cf, 8
  %v3_cf = inttoptr i32 %v2_cf to double*
  %v4_cf = load double, double* %v3_cf, align 4
  %v2_d2 = fptosi double %v4_cf to i32
  br label %dec_label_pc_d7

dec_label_pc_d7:                                  ; preds = %dec_label_pc_b8, %dec_label_pc_c8
  %v5_d7.pre-phi.in = phi double [ %tmp301, %dec_label_pc_c8 ], [ %stack_var_-12.0, %dec_label_pc_b8 ]
  %stack_var_-24.1 = phi i32 [ %v2_d2, %dec_label_pc_c8 ], [ %stack_var_-24.0, %dec_label_pc_b8 ]
  %v0_df = load i32, i32* %fpsw.global-to-local, align 4
  %v1_df = call i16 @__asm_fnstsw(i32 %v0_df)
  %v2_df = sext i16 %v1_df to i32
  %v3_df = load i32, i32* @eax, align 8
  %v4_df = and i32 %v3_df, -65536
  %v1_e1 = udiv i32 %v2_df, 256
  %v2_e1 = trunc i32 %v1_e1 to i8
  %v3_e1 = and i8 %v2_e1, 65
  %v4_e1 = icmp eq i8 %v3_e1, 0
  %v9_e1 = zext i8 %v3_e1 to i32
  %v11_e1 = mul i32 %v9_e1, 256
  %v2_df.masked = and i32 %v2_df, -65281
  %v12_e1 = or i32 %v4_df, %v2_df.masked
  %v13_e1 = or i32 %v12_e1, %v11_e1
  store i32 %v13_e1, i32* @eax, align 8
  %v4_e4 = icmp eq i1 %v4_e1, false
  br i1 %v4_e4, label %dec_label_pc_291, label %dec_label_pc_ea

dec_label_pc_ea:                                  ; preds = %dec_label_pc_d7
  %v0_f2 = load i32, i32* %fpsw.global-to-local, align 4
  %v1_f2 = call i16 @__asm_fnstsw(i32 %v0_f2)
  %v2_f2 = sext i16 %v1_f2 to i32
  %v3_f2 = load i32, i32* @eax, align 8
  %v4_f2 = and i32 %v3_f2, -65536
  %v1_f4 = udiv i32 %v2_f2, 256
  %v2_f4 = trunc i32 %v1_f4 to i8
  %v3_f4 = and i8 %v2_f4, 65
  %v4_f4 = icmp eq i8 %v3_f4, 0
  %v9_f4 = zext i8 %v3_f4 to i32
  %v11_f4 = mul i32 %v9_f4, 256
  %v2_f2.masked = and i32 %v2_f2, -65281
  %v12_f4 = or i32 %v4_f2, %v2_f2.masked
  %v13_f4 = or i32 %v12_f4, %v11_f4
  store i32 %v13_f4, i32* @eax, align 8
  br i1 %v4_f4, label %dec_label_pc_291, label %dec_label_pc_fd

dec_label_pc_fd:                                  ; preds = %dec_label_pc_ea
  %v5_d7.pre-phi.le = fpext double %v5_d7.pre-phi.in to x86_fp80
  %v0_fd = load i3, i3* %fpu_stat_TOP.global-to-local, align 1
  %v10_102 = icmp eq i32 %stack_var_-24.1, 0
  %v1_106 = icmp eq i1 %v10_102, false
  br i1 %v1_106, label %dec_label_pc_187, label %dec_label_pc_10c

dec_label_pc_10c:                                 ; preds = %dec_label_pc_fd
  %v6_10d = sub i3 %v0_fd, ptrtoint (i8* @global_var_1.1 to i3)
  %v4_110 = load double, double* bitcast (i32* @eax to double*), align 8
  %v5_110 = fpext double %v4_110 to x86_fp80
  %v6_110 = fdiv x86_fp80 %v5_d7.pre-phi.le, %v5_110
  %v6_118 = fpext double %stack_var_-44.1 to x86_fp80
  %v7_118 = fadd x86_fp80 %stack_var_-36.0.in, %v6_118
  %v7_11b = fmul x86_fp80 %v7_118, %v6_110
  %v2_11e = load i32, i32* %edi.global-to-local, align 4
  %v3_11e = inttoptr i32 %v2_11e to double*
  %v4_11e = load double, double* %v3_11e, align 4
  %v5_11e = fpext double %v4_11e to x86_fp80
  %v6_11e = fmul x86_fp80 %v7_11b, %v5_11e
  %v6_122 = fsub x86_fp80 %v5_110, %v6_11e
  %v3_124 = add i32 %v2_11e, 8
  %v4_124 = inttoptr i32 %v3_124 to double*
  %v5_124 = load double, double* %v4_124, align 4
  %v6_124 = fpext double %v5_124 to x86_fp80
  %v7_124 = fmul x86_fp80 %v6_122, %v6_124
  %v3_127 = add i32 %v2_11e, -48
  %v4_127 = inttoptr i32 %v3_127 to double*
  %v5_127 = load double, double* %v4_127, align 4
  %v6_127 = fpext double %v5_127 to x86_fp80
  %v7_127 = fmul x86_fp80 %v7_124, %v6_127
  %v7_12d = fsub x86_fp80 %stack_var_-36.0.in, %v6_118
  %v4_130 = fdiv x86_fp80 %v7_127, %v7_12d
  %v2_132 = load i32, i32* %ebx.global-to-local, align 4
  %v3_132 = fptrunc x86_fp80 %v4_130 to double
  %v4_132 = inttoptr i32 %v2_132 to double*
  store double %v3_132, double* %v4_132, align 4
  %v5_132 = add i3 %v6_10d, 1
  %v3_136 = load double, double* bitcast (i32* @edx to double*), align 8
  %v4_136 = fpext double %v3_136 to x86_fp80
  %v4_13e = fdiv x86_fp80 %v4_136, %v7_12d
  %tmp302 = bitcast double %v3_136 to i64
  %tmp303 = trunc i64 %tmp302 to i32
  %v3_140 = fptrunc x86_fp80 %v4_13e to double
  %v4_140 = inttoptr i32 %tmp303 to double*
  store double %v3_140, double* %v4_140, align 4
  %v3_144 = load double, double* bitcast (i32* @edx to double*), align 8
  %v4_144 = fpext double %v3_144 to x86_fp80
  %v4_146 = load double, double* %v3_11e, align 4
  %v5_146 = fpext double %v4_146 to x86_fp80
  %v6_146 = fadd x86_fp80 %v4_144, %v5_146
  %v2_148 = call x86_fp80 @llvm.round.f80(x86_fp80 %v6_146)
  %v6_14c = fsub x86_fp80 %v5_146, %v2_148
  %v6_14e = fadd x86_fp80 %v6_14c, %v4_144
  %v5_150 = load double, double* %v4_124, align 4
  %v6_150 = fpext double %v5_150 to x86_fp80
  %v7_150 = fmul x86_fp80 %v6_14e, %v6_150
  %v5_153 = load double, double* %v4_127, align 4
  %v6_153 = fpext double %v5_153 to x86_fp80
  %v7_153 = fmul x86_fp80 %v7_150, %v6_153
  %tmp304 = bitcast double %v3_144 to i64
  %tmp305 = trunc i64 %tmp304 to i32
  %v3_156 = fptrunc x86_fp80 %v7_153 to double
  %v4_156 = inttoptr i32 %tmp305 to double*
  store double %v3_156, double* %v4_156, align 4
  %v3_15c = load double, double* bitcast (i32* @ecx to double*), align 8
  %v4_15c = fpext double %v3_15c to x86_fp80
  %v4_164 = fdiv x86_fp80 %v4_15c, %v7_12d
  %tmp306 = bitcast double %v3_15c to i64
  %tmp307 = trunc i64 %tmp306 to i32
  %v3_166 = fptrunc x86_fp80 %v4_164 to double
  %v4_166 = inttoptr i32 %tmp307 to double*
  store double %v3_166, double* %v4_166, align 4
  %v3_16a = load double, double* bitcast (i32* @ecx to double*), align 8
  %v4_16a = fpext double %v3_16a to x86_fp80
  %v4_16c = load double, double* %v3_11e, align 4
  %v5_16c = fpext double %v4_16c to x86_fp80
  %v6_16c = fadd x86_fp80 %v4_16a, %v5_16c
  %v2_16e = call x86_fp80 @llvm.round.f80(x86_fp80 %v6_16c)
  %v6_172 = fsub x86_fp80 %v5_16c, %v2_16e
  %v6_174 = fadd x86_fp80 %v6_172, %v4_16a
  %v5_176 = load double, double* %v4_124, align 4
  %v6_176 = fpext double %v5_176 to x86_fp80
  %v7_176 = fmul x86_fp80 %v6_174, %v6_176
  %v5_179 = load double, double* %v4_127, align 4
  %v6_179 = fpext double %v5_179 to x86_fp80
  %v7_179 = fmul x86_fp80 %v7_176, %v6_179
  %tmp308 = bitcast double %v3_16a to i64
  %tmp309 = trunc i64 %tmp308 to i32
  %v3_17c = fptrunc x86_fp80 %v7_179 to double
  %v4_17c = inttoptr i32 %tmp309 to double*
  store double %v3_17c, double* %v4_17c, align 4
  store i3 %v5_132, i3* %fpu_stat_TOP.global-to-local, align 1
  br label %dec_label_pc_2d3

dec_label_pc_187:                                 ; preds = %dec_label_pc_fd
  %v13_187 = icmp eq i32 %stack_var_-24.1, 1
  %v1_18b = icmp eq i1 %v13_187, false
  %v6_217 = sub i3 %v0_fd, ptrtoint (i8* @global_var_1.1 to i3)
  store i3 %v6_217, i3* %fpu_stat_TOP.global-to-local, align 1
  br i1 %v1_18b, label %dec_label_pc_20c, label %dec_label_pc_191

dec_label_pc_191:                                 ; preds = %dec_label_pc_187
  %v4_195 = load double, double* bitcast (i32* @edx to double*), align 8
  %v5_195 = fpext double %v4_195 to x86_fp80
  %v6_195 = fdiv x86_fp80 %v5_d7.pre-phi.le, %v5_195
  %v6_19d = fpext double %stack_var_-44.1 to x86_fp80
  %v7_19d = fadd x86_fp80 %stack_var_-36.0.in, %v6_19d
  %v7_1a0 = fmul x86_fp80 %v7_19d, %v6_195
  %v2_1a3 = load i32, i32* %edi.global-to-local, align 4
  %v3_1a3 = inttoptr i32 %v2_1a3 to double*
  %v4_1a3 = load double, double* %v3_1a3, align 4
  %v5_1a3 = fpext double %v4_1a3 to x86_fp80
  %v6_1a3 = fmul x86_fp80 %v7_1a0, %v5_1a3
  %v6_1a7 = fsub x86_fp80 %v5_195, %v6_1a3
  %v3_1a9 = add i32 %v2_1a3, 8
  %v4_1a9 = inttoptr i32 %v3_1a9 to double*
  %v5_1a9 = load double, double* %v4_1a9, align 4
  %v6_1a9 = fpext double %v5_1a9 to x86_fp80
  %v7_1a9 = fmul x86_fp80 %v6_1a7, %v6_1a9
  %v3_1ac = add i32 %v2_1a3, -48
  %v4_1ac = inttoptr i32 %v3_1ac to double*
  %v5_1ac = load double, double* %v4_1ac, align 4
  %v6_1ac = fpext double %v5_1ac to x86_fp80
  %v7_1ac = fmul x86_fp80 %v7_1a9, %v6_1ac
  %v7_1b2 = fsub x86_fp80 %stack_var_-36.0.in, %v6_19d
  %v4_1b5 = fdiv x86_fp80 %v7_1ac, %v7_1b2
  %tmp311 = bitcast double %v4_195 to i64
  %tmp312 = trunc i64 %tmp311 to i32
  %v3_1b7 = fptrunc x86_fp80 %v4_1b5 to double
  %v4_1b7 = inttoptr i32 %tmp312 to double*
  store double %v3_1b7, double* %v4_1b7, align 4
  %v5_1b7 = add i3 %v6_217, 1
  %v3_1bb = load double, double* bitcast (i32* @eax to double*), align 8
  %v4_1bb = fpext double %v3_1bb to x86_fp80
  %v4_1c3 = fdiv x86_fp80 %v4_1bb, %v7_1b2
  %v2_1c5 = load i32, i32* %ebx.global-to-local, align 4
  %v3_1c5 = fptrunc x86_fp80 %v4_1c3 to double
  %v4_1c5 = inttoptr i32 %v2_1c5 to double*
  store double %v3_1c5, double* %v4_1c5, align 4
  %v3_1c9 = load double, double* bitcast (i32* @eax to double*), align 8
  %v4_1c9 = fpext double %v3_1c9 to x86_fp80
  %v4_1cb = load double, double* %v3_1a3, align 4
  %v5_1cb = fpext double %v4_1cb to x86_fp80
  %v6_1cb = fadd x86_fp80 %v4_1c9, %v5_1cb
  %v2_1cd = call x86_fp80 @llvm.round.f80(x86_fp80 %v6_1cb)
  %v6_1d1 = fsub x86_fp80 %v5_1cb, %v2_1cd
  %v6_1d3 = fadd x86_fp80 %v6_1d1, %v4_1c9
  %v5_1d5 = load double, double* %v4_1a9, align 4
  %v6_1d5 = fpext double %v5_1d5 to x86_fp80
  %v7_1d5 = fmul x86_fp80 %v6_1d3, %v6_1d5
  %v5_1d8 = load double, double* %v4_1ac, align 4
  %v6_1d8 = fpext double %v5_1d8 to x86_fp80
  %v7_1d8 = fmul x86_fp80 %v7_1d5, %v6_1d8
  %v3_1db = fptrunc x86_fp80 %v7_1d8 to double
  store double %v3_1db, double* %v4_1c5, align 4
  %v3_1e1 = load double, double* bitcast (i32* @ecx to double*), align 8
  %v4_1e1 = fpext double %v3_1e1 to x86_fp80
  %v4_1e9 = fdiv x86_fp80 %v4_1e1, %v7_1b2
  %tmp313 = bitcast double %v3_1e1 to i64
  %tmp314 = trunc i64 %tmp313 to i32
  %v3_1eb = fptrunc x86_fp80 %v4_1e9 to double
  %v4_1eb = inttoptr i32 %tmp314 to double*
  store double %v3_1eb, double* %v4_1eb, align 4
  %v3_1ef = load double, double* bitcast (i32* @ecx to double*), align 8
  %v4_1ef = fpext double %v3_1ef to x86_fp80
  %v4_1f1 = load double, double* %v3_1a3, align 4
  %v5_1f1 = fpext double %v4_1f1 to x86_fp80
  %v6_1f1 = fadd x86_fp80 %v4_1ef, %v5_1f1
  %v2_1f3 = call x86_fp80 @llvm.round.f80(x86_fp80 %v6_1f1)
  %v6_1f7 = fsub x86_fp80 %v5_1f1, %v2_1f3
  %v6_1f9 = fadd x86_fp80 %v6_1f7, %v4_1ef
  %v5_1fb = load double, double* %v4_1a9, align 4
  %v6_1fb = fpext double %v5_1fb to x86_fp80
  %v7_1fb = fmul x86_fp80 %v6_1f9, %v6_1fb
  %v5_1fe = load double, double* %v4_1ac, align 4
  %v6_1fe = fpext double %v5_1fe to x86_fp80
  %v7_1fe = fmul x86_fp80 %v7_1fb, %v6_1fe
  %tmp315 = bitcast double %v3_1ef to i64
  %tmp316 = trunc i64 %tmp315 to i32
  %v3_201 = fptrunc x86_fp80 %v7_1fe to double
  %v4_201 = inttoptr i32 %tmp316 to double*
  store double %v3_201, double* %v4_201, align 4
  store i3 %v5_1b7, i3* %fpu_stat_TOP.global-to-local, align 1
  br label %dec_label_pc_2d3

dec_label_pc_20c:                                 ; preds = %dec_label_pc_187
  %v4_21a = load double, double* bitcast (i32* @ecx to double*), align 8
  %v5_21a = fpext double %v4_21a to x86_fp80
  %v6_21a = fdiv x86_fp80 %v5_d7.pre-phi.le, %v5_21a
  %v6_222 = fpext double %stack_var_-44.1 to x86_fp80
  %v7_222 = fadd x86_fp80 %stack_var_-36.0.in, %v6_222
  %v7_225 = fmul x86_fp80 %v7_222, %v6_21a
  %v2_228 = load i32, i32* %edi.global-to-local, align 4
  %v3_228 = inttoptr i32 %v2_228 to double*
  %v4_228 = load double, double* %v3_228, align 4
  %v5_228 = fpext double %v4_228 to x86_fp80
  %v6_228 = fmul x86_fp80 %v7_225, %v5_228
  %v6_22c = fsub x86_fp80 %v5_21a, %v6_228
  %v3_22e = add i32 %v2_228, 8
  %v4_22e = inttoptr i32 %v3_22e to double*
  %v5_22e = load double, double* %v4_22e, align 4
  %v6_22e = fpext double %v5_22e to x86_fp80
  %v7_22e = fmul x86_fp80 %v6_22c, %v6_22e
  %v3_231 = add i32 %v2_228, -48
  %v4_231 = inttoptr i32 %v3_231 to double*
  %v5_231 = load double, double* %v4_231, align 4
  %v6_231 = fpext double %v5_231 to x86_fp80
  %v7_231 = fmul x86_fp80 %v7_22e, %v6_231
  %v7_237 = fsub x86_fp80 %stack_var_-36.0.in, %v6_222
  %v4_23a = fdiv x86_fp80 %v7_231, %v7_237
  %tmp317 = bitcast double %v4_21a to i64
  %tmp318 = trunc i64 %tmp317 to i32
  %v3_23c = fptrunc x86_fp80 %v4_23a to double
  %v4_23c = inttoptr i32 %tmp318 to double*
  store double %v3_23c, double* %v4_23c, align 4
  %v5_23c = add i3 %v6_217, 1
  %v3_240 = load double, double* bitcast (i32* @edx to double*), align 8
  %v4_240 = fpext double %v3_240 to x86_fp80
  %v4_248 = fdiv x86_fp80 %v4_240, %v7_237
  %tmp319 = bitcast double %v3_240 to i64
  %tmp320 = trunc i64 %tmp319 to i32
  %v3_24a = fptrunc x86_fp80 %v4_248 to double
  %v4_24a = inttoptr i32 %tmp320 to double*
  store double %v3_24a, double* %v4_24a, align 4
  %v3_24e = load double, double* bitcast (i32* @edx to double*), align 8
  %v4_24e = fpext double %v3_24e to x86_fp80
  %v4_250 = load double, double* %v3_228, align 4
  %v5_250 = fpext double %v4_250 to x86_fp80
  %v6_250 = fadd x86_fp80 %v4_24e, %v5_250
  %v2_252 = call x86_fp80 @llvm.round.f80(x86_fp80 %v6_250)
  %v6_256 = fsub x86_fp80 %v5_250, %v2_252
  %v6_258 = fadd x86_fp80 %v6_256, %v4_24e
  %v5_25a = load double, double* %v4_22e, align 4
  %v6_25a = fpext double %v5_25a to x86_fp80
  %v7_25a = fmul x86_fp80 %v6_258, %v6_25a
  %v5_25d = load double, double* %v4_231, align 4
  %v6_25d = fpext double %v5_25d to x86_fp80
  %v7_25d = fmul x86_fp80 %v7_25a, %v6_25d
  %tmp321 = bitcast double %v3_24e to i64
  %tmp322 = trunc i64 %tmp321 to i32
  %v3_260 = fptrunc x86_fp80 %v7_25d to double
  %v4_260 = inttoptr i32 %tmp322 to double*
  store double %v3_260, double* %v4_260, align 4
  %v3_266 = load double, double* bitcast (i32* @eax to double*), align 8
  %v4_266 = fpext double %v3_266 to x86_fp80
  %v4_26e = fdiv x86_fp80 %v4_266, %v7_237
  %v2_270 = load i32, i32* %ebx.global-to-local, align 4
  %v3_270 = fptrunc x86_fp80 %v4_26e to double
  %v4_270 = inttoptr i32 %v2_270 to double*
  store double %v3_270, double* %v4_270, align 4
  %v3_274 = load double, double* bitcast (i32* @eax to double*), align 8
  %v4_274 = fpext double %v3_274 to x86_fp80
  %v4_276 = load double, double* %v3_228, align 4
  %v5_276 = fpext double %v4_276 to x86_fp80
  %v6_276 = fadd x86_fp80 %v4_274, %v5_276
  %v2_278 = call x86_fp80 @llvm.round.f80(x86_fp80 %v6_276)
  %v6_27c = fsub x86_fp80 %v5_276, %v2_278
  %v6_27e = fadd x86_fp80 %v6_27c, %v4_274
  %v5_280 = load double, double* %v4_22e, align 4
  %v6_280 = fpext double %v5_280 to x86_fp80
  %v7_280 = fmul x86_fp80 %v6_27e, %v6_280
  %v5_283 = load double, double* %v4_231, align 4
  %v6_283 = fpext double %v5_283 to x86_fp80
  %v7_283 = fmul x86_fp80 %v7_280, %v6_283
  %v3_286 = fptrunc x86_fp80 %v7_283 to double
  store double %v3_286, double* %v4_270, align 4
  store i3 %v5_23c, i3* %fpu_stat_TOP.global-to-local, align 1
  br label %dec_label_pc_2d3

dec_label_pc_291:                                 ; preds = %dec_label_pc_ea, %dec_label_pc_d7
  %v0_291 = load i3, i3* %fpu_stat_TOP.global-to-local, align 1
  %v6_291 = sub i3 %v0_291, ptrtoint (i8* @global_var_1.1 to i3)
  %v2_2a1 = load i32, i32* %edi.global-to-local, align 4
  %v3_2a1 = inttoptr i32 %v2_2a1 to double*
  %v4_2a1 = load double, double* %v3_2a1, align 4
  %v6_2a6 = add i3 %v6_291, 1
  store i3 %v6_2a6, i3* %fpu_stat_TOP.global-to-local, align 1
  %v1_2b0 = add i32 %v2_2a1, -64
  %v2_2b0 = inttoptr i32 %v1_2b0 to i32*
  %v3_2b0 = load i32, i32* %v2_2b0, align 4
  store i32 %v3_2b0, i32* @eax, align 8
  %v6_2b3 = trunc i32 %v3_2b0 to i8
  %v9_2b6 = icmp slt i8 %v16_88, %v6_2b3
  br i1 %v9_2b6, label %dec_label_pc_2b8, label %dec_label_pc_2d3

dec_label_pc_2b8:                                 ; preds = %dec_label_pc_291
  %v5_291 = fpext double %stack_var_-44.1 to x86_fp80
  %v4_29f = fsub x86_fp80 %stack_var_-36.0.in, %v5_291
  %v5_2a1 = fpext double %v4_2a1 to x86_fp80
  %v6_2a1 = fmul x86_fp80 %v4_29f, %v5_2a1
  %v7_2a3 = fadd x86_fp80 %v6_2a1, %stack_var_-36.0.in
  store i3 %v6_2a6, i3* %fpu_stat_TOP.global-to-local, align 1
  %v0_2c7 = load i32, i32* %fpsw.global-to-local, align 4
  %v1_2c7 = call i16 @__asm_fnstsw(i32 %v0_2c7)
  %v2_2c7 = sext i16 %v1_2c7 to i32
  %v3_2c7 = load i32, i32* @eax, align 8
  %v4_2c7 = and i32 %v3_2c7, -65536
  %v1_2c9 = udiv i32 %v2_2c7, 256
  %v2_2c9 = trunc i32 %v1_2c9 to i8
  %v3_2c9 = and i8 %v2_2c9, 65
  %v4_2c9 = icmp eq i8 %v3_2c9, 0
  %v9_2c9 = zext i8 %v3_2c9 to i32
  %v11_2c9 = mul i32 %v9_2c9, 256
  %v2_2c7.masked = and i32 %v2_2c7, -65281
  %v12_2c9 = or i32 %v4_2c7, %v2_2c7.masked
  %v13_2c9 = or i32 %v12_2c9, %v11_2c9
  store i32 %v13_2c9, i32* @eax, align 8
  %v4_2cc = icmp eq i1 %v4_2c9, false
  %v0_8c.pre = load i3, i3* %fpu_stat_TOP.global-to-local, align 1
  br i1 %v4_2cc, label %dec_label_pc_86, label %dec_label_pc_2b8.dec_label_pc_2d3.loopexit_crit_edge

dec_label_pc_2b8.dec_label_pc_2d3.loopexit_crit_edge: ; preds = %dec_label_pc_2b8
  %v2_2d5.pre.pre = load i32, i32* %edi.global-to-local, align 4
  br label %dec_label_pc_2d3

dec_label_pc_2d3:                                 ; preds = %dec_label_pc_291, %dec_label_pc_2b8.dec_label_pc_2d3.loopexit_crit_edge, %dec_label_pc_20c, %dec_label_pc_191, %dec_label_pc_10c
  %v2_2ec = phi i32 [ %v2_228, %dec_label_pc_20c ], [ %v2_1a3, %dec_label_pc_191 ], [ %v2_11e, %dec_label_pc_10c ], [ %v2_2d5.pre.pre, %dec_label_pc_2b8.dec_label_pc_2d3.loopexit_crit_edge ], [ %v2_2a1, %dec_label_pc_291 ]
  %v0_2d3 = phi i3 [ %v5_23c, %dec_label_pc_20c ], [ %v5_1b7, %dec_label_pc_191 ], [ %v5_132, %dec_label_pc_10c ], [ %v0_8c.pre, %dec_label_pc_2b8.dec_label_pc_2d3.loopexit_crit_edge ], [ %v6_2a6, %dec_label_pc_291 ]
  %v3_2d3 = load double, double* bitcast (i32* @eax to double*), align 8
  %v4_2d3 = fpext double %v3_2d3 to x86_fp80
  %v3_2d5 = add i32 %v2_2ec, -40
  %v4_2d5 = inttoptr i32 %v3_2d5 to double*
  %v5_2d5 = load double, double* %v4_2d5, align 4
  %v6_2d5 = fpext double %v5_2d5 to x86_fp80
  %v7_2d5 = fmul x86_fp80 %v4_2d3, %v6_2d5
  %v3_2d8 = add i32 %v2_2ec, -16
  %v4_2d8 = inttoptr i32 %v3_2d8 to double*
  %v5_2d8 = load double, double* %v4_2d8, align 4
  %v6_2d8 = fpext double %v5_2d8 to x86_fp80
  %v7_2d8 = fsub x86_fp80 %v7_2d5, %v6_2d8
  %v2_2db = load i32, i32* %ebx.global-to-local, align 4
  %v3_2db = fptrunc x86_fp80 %v7_2d8 to double
  %v4_2db = inttoptr i32 %v2_2db to double*
  store double %v3_2db, double* %v4_2db, align 4
  %v3_2dd = load double, double* bitcast (i32* @edx to double*), align 8
  %v4_2dd = fpext double %v3_2dd to x86_fp80
  %v5_2df = load double, double* %v4_2d5, align 4
  %v6_2df = fpext double %v5_2df to x86_fp80
  %v7_2df = fmul x86_fp80 %v4_2dd, %v6_2df
  %v3_2e2 = add i32 %v2_2ec, -24
  %v4_2e2 = inttoptr i32 %v3_2e2 to double*
  %v5_2e2 = load double, double* %v4_2e2, align 4
  %v6_2e2 = fpext double %v5_2e2 to x86_fp80
  %v7_2e2 = fsub x86_fp80 %v7_2df, %v6_2e2
  %tmp323 = bitcast double %v3_2dd to i64
  %tmp324 = trunc i64 %tmp323 to i32
  %v3_2e5 = fptrunc x86_fp80 %v7_2e2 to double
  %v4_2e5 = inttoptr i32 %tmp324 to double*
  store double %v3_2e5, double* %v4_2e5, align 4
  %v3_2e7 = load double, double* bitcast (i32* @ecx to double*), align 8
  %v4_2e7 = fpext double %v3_2e7 to x86_fp80
  %v5_2e9 = load double, double* %v4_2d5, align 4
  %v6_2e9 = fpext double %v5_2e9 to x86_fp80
  %v7_2e9 = fmul x86_fp80 %v4_2e7, %v6_2e9
  %v3_2ec = add i32 %v2_2ec, -32
  %v4_2ec = inttoptr i32 %v3_2ec to double*
  %v5_2ec = load double, double* %v4_2ec, align 4
  %v6_2ec = fpext double %v5_2ec to x86_fp80
  %v7_2ec = fsub x86_fp80 %v7_2e9, %v6_2ec
  %tmp325 = bitcast double %v3_2e7 to i64
  %tmp326 = trunc i64 %tmp325 to i32
  %v3_2ef = fptrunc x86_fp80 %v7_2ec to double
  %v4_2ef = inttoptr i32 %tmp326 to double*
  store double %v3_2ef, double* %v4_2ef, align 4
  store i3 %v0_2d3, i3* %fpu_stat_TOP.global-to-local, align 1
  store i32 %v2_2db, i32* @eax, align 8
  store i32 %v0_b, i32* %edi.global-to-local, align 4
  store i32 %v0_a, i32* %esi.global-to-local, align 4
  store i32 %v0_9, i32* %ebx.global-to-local, align 4
  ret i32 %v2_2db
}

declare i16 @__asm_fnstsw(i32) local_unnamed_addr

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

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

attributes #0 = { nounwind readnone speculatable }
