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

define i32 @function_0() local_unnamed_addr {
dec_label_pc_0:
  %eax.global-to-local = alloca i32, align 4
  %ecx.global-to-local = alloca i32, align 4
  %edi.global-to-local = alloca i32, align 4
  %esi.global-to-local = alloca i32, align 4
  %esp.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
  %st4.global-to-local = alloca x86_fp80, align 4
  %st5.global-to-local = alloca x86_fp80, align 4
  store i32 0, i32* %esp.global-to-local, align 4
  %stack_var_-36 = alloca i32, align 4
  %v0_0 = load i32, i32* %ecx.global-to-local, align 4
  %v15_1 = ptrtoint i32* %stack_var_-36 to i32
  %v0_4 = load i3, i3* %fpu_stat_TOP.global-to-local, align 1
  %v1_4 = load i32, i32* %esi.global-to-local, align 4
  %v2_4 = add i32 %v1_4, -104
  %v3_4 = inttoptr i32 %v2_4 to double*
  %v4_4 = load double, double* %v3_4, align 4
  %v5_4 = fpext double %v4_4 to x86_fp80
  %v2_7 = load i32, i32* %edi.global-to-local, align 4
  %v3_7 = add i32 %v2_7, -28
  %v4_7 = inttoptr i32 %v3_7 to float*
  %v5_7 = load float, float* %v4_7, align 4
  %v6_7 = fpext float %v5_7 to x86_fp80
  %v7_7 = fsub x86_fp80 %v5_4, %v6_7
  %v2_a = add i32 %v1_4, -112
  %v3_a = inttoptr i32 %v2_a to double*
  %v4_a = load double, double* %v3_a, align 4
  %v5_a = fpext double %v4_a to x86_fp80
  %v3_d = add i32 %v2_7, -24
  %v4_d = inttoptr i32 %v3_d to float*
  %v5_d = load float, float* %v4_d, align 4
  %v6_d = fpext float %v5_d to x86_fp80
  %v7_d = fsub x86_fp80 %v5_a, %v6_d
  %v2_10 = add i32 %v1_4, -120
  %v3_10 = inttoptr i32 %v2_10 to double*
  %v4_10 = load double, double* %v3_10, align 4
  %v5_10 = fpext double %v4_10 to x86_fp80
  store x86_fp80 %v5_10, x86_fp80* %st5.global-to-local, align 4
  %v3_13 = add i32 %v2_7, -20
  %v4_13 = inttoptr i32 %v3_13 to float*
  %v5_13 = load float, float* %v4_13, align 4
  %v6_13 = fpext float %v5_13 to x86_fp80
  %v7_13 = fsub x86_fp80 %v5_10, %v6_13
  store x86_fp80 %v7_13, x86_fp80* %st5.global-to-local, align 4
  %v2_16 = xor i3 %v0_4, -4
  store x86_fp80 %v7_13, x86_fp80* %st4.global-to-local, align 4
  %v3_18 = add i32 %v2_7, -68
  %v4_18 = inttoptr i32 %v3_18 to float*
  %v5_18 = load float, float* %v4_18, align 4
  %v6_18 = fpext float %v5_18 to x86_fp80
  %v7_18 = fmul x86_fp80 %v7_13, %v6_18
  store x86_fp80 %v7_18, x86_fp80* %st4.global-to-local, align 4
  %v3_1d = add i32 %v2_7, -72
  %v4_1d = inttoptr i32 %v3_1d to float*
  %v5_1d = load float, float* %v4_1d, align 4
  %v6_1d = fpext float %v5_1d to x86_fp80
  %v7_1d = fmul x86_fp80 %v7_d, %v6_1d
  %v4_20 = fadd x86_fp80 %v7_18, %v7_1d
  store x86_fp80 %v4_20, x86_fp80* %st4.global-to-local, align 4
  %v3_24 = add i32 %v2_7, -76
  %v4_24 = inttoptr i32 %v3_24 to float*
  %v5_24 = load float, float* %v4_24, align 4
  %v6_24 = fpext float %v5_24 to x86_fp80
  %v7_24 = fmul x86_fp80 %v7_7, %v6_24
  %v4_27 = fadd x86_fp80 %v4_20, %v7_24
  store x86_fp80 %v4_27, x86_fp80* %st4.global-to-local, align 4
  %v3_2b = add i32 %v2_7, -44
  %v4_2b = inttoptr i32 %v3_2b to float*
  %v5_2b = load float, float* %v4_2b, align 4
  %v6_2b = fpext float %v5_2b to x86_fp80
  %v7_2b = fmul x86_fp80 %v7_13, %v6_2b
  %v3_30 = add i32 %v2_7, -48
  %v4_30 = inttoptr i32 %v3_30 to float*
  %v5_30 = load float, float* %v4_30, align 4
  %v6_30 = fpext float %v5_30 to x86_fp80
  %v7_30 = fmul x86_fp80 %v7_d, %v6_30
  %v4_33 = fadd x86_fp80 %v7_2b, %v7_30
  %v3_37 = add i32 %v2_7, -52
  %v4_37 = inttoptr i32 %v3_37 to float*
  %v5_37 = load float, float* %v4_37, align 4
  %v6_37 = fpext float %v5_37 to x86_fp80
  %v7_37 = fmul x86_fp80 %v7_7, %v6_37
  %v4_3a = fadd x86_fp80 %v4_33, %v7_37
  %v3_3c = add i32 %v2_7, -32
  %v4_3c = inttoptr i32 %v3_3c to float*
  %v5_3c = load float, float* %v4_3c, align 4
  %v6_3c = fpext float %v5_3c to x86_fp80
  %v7_3c = fmul x86_fp80 %v4_3a, %v6_3c
  store x86_fp80 %v7_3c, x86_fp80* %st5.global-to-local, align 4
  %v3_41 = add i32 %v2_7, -56
  %v4_41 = inttoptr i32 %v3_41 to float*
  %v5_41 = load float, float* %v4_41, align 4
  %v6_41 = fpext float %v5_41 to x86_fp80
  %v7_41 = fmul x86_fp80 %v7_13, %v6_41
  %v3_46 = add i32 %v2_7, -60
  %v4_46 = inttoptr i32 %v3_46 to float*
  %v5_46 = load float, float* %v4_46, align 4
  %v6_46 = fpext float %v5_46 to x86_fp80
  %v7_46 = fmul x86_fp80 %v7_d, %v6_46
  %v4_49 = fadd x86_fp80 %v7_41, %v7_46
  store x86_fp80 %v7_7, x86_fp80* %st4.global-to-local, align 4
  %v3_4d = add i32 %v2_7, -64
  %v4_4d = inttoptr i32 %v3_4d to float*
  %v5_4d = load float, float* %v4_4d, align 4
  %v6_4d = fpext float %v5_4d to x86_fp80
  %v7_4d = fmul x86_fp80 %v7_7, %v6_4d
  store x86_fp80 %v7_4d, x86_fp80* %st4.global-to-local, align 4
  %v4_50 = fadd x86_fp80 %v4_49, %v7_4d
  store x86_fp80 %v4_50, x86_fp80* %st5.global-to-local, align 4
  %v3_54 = add i32 %v2_7, -36
  %v4_54 = inttoptr i32 %v3_54 to float*
  %v5_54 = load float, float* %v4_54, align 4
  %v6_54 = fpext float %v5_54 to x86_fp80
  %v7_54 = fmul x86_fp80 %v4_50, %v6_54
  store x86_fp80 %v7_3c, x86_fp80* %st5.global-to-local, align 4
  %v3_5b = fmul x86_fp80 %v4_27, %v4_27
  %v3_5f = fmul x86_fp80 %v7_54, %v7_54
  %v4_61 = fadd x86_fp80 %v3_5b, %v3_5f
  %v3_65 = fmul x86_fp80 %v7_3c, %v7_3c
  %v4_67 = fadd x86_fp80 %v3_65, %v4_61
  %v2_69 = call x86_fp80 @llvm.sqrt.f80(x86_fp80 %v4_67)
  %v4_6d = fadd x86_fp80 %v2_69, 0xKBFFF8000000000000000
  store x86_fp80 %v4_6d, x86_fp80* %st4.global-to-local, align 4
  store i3 %v2_16, i3* %fpu_stat_TOP.global-to-local, align 1
  %v0_80 = load i32, i32* %fpsw.global-to-local, align 4
  %v1_80 = call i16 @__asm_fnstsw(i32 %v0_80)
  %v2_80 = sext i16 %v1_80 to i32
  %v3_80 = load i32, i32* %eax.global-to-local, align 4
  %v4_80 = and i32 %v3_80, -65536
  %tmp242 = udiv i32 %v2_80, 2
  %v12_82 = and i32 %tmp242, 32512
  %v2_80.masked = and i32 %v2_80, -65281
  %v13_82 = or i32 %v4_80, %v2_80.masked
  %v14_82 = or i32 %v13_82, %v12_82
  store i32 %v14_82, i32* %eax.global-to-local, align 4
  %v15_827 = and i32 %v2_80, 256
  %v16_82 = icmp ne i32 %v15_827, 0
  %v1_84 = icmp eq i1 %v16_82, false
  %v0_92 = load i3, i3* %fpu_stat_TOP.global-to-local, align 1
  %v1_92 = load x86_fp80, x86_fp80* %st4.global-to-local, align 4
  br i1 %v1_84, label %dec_label_pc_92, label %dec_label_pc_86

dec_label_pc_86:                                  ; preds = %dec_label_pc_0
  %v2_86 = load i32, i32* %esi.global-to-local, align 4
  %v3_86 = add i32 %v2_86, -32
  %v4_86 = fptrunc x86_fp80 %v1_92 to double
  %v5_86 = inttoptr i32 %v3_86 to double*
  store double %v4_86, double* %v5_86, align 4
  %v4_8b = xor i3 %v0_92, -4
  store i3 %v4_8b, i3* %fpu_stat_TOP.global-to-local, align 1
  store i32 %v0_0, i32* %ecx.global-to-local, align 4
  ret i32 %v14_82

dec_label_pc_92:                                  ; preds = %dec_label_pc_0
  %v1_96 = load x86_fp80, x86_fp80* %st5.global-to-local, align 4
  %v4_96 = fptrunc x86_fp80 %v1_96 to float
  %v5_96 = bitcast float %v4_96 to i32
  store i32 %v5_96, i32* %stack_var_-36, align 4
  %v6_9d = xor i3 %v0_92, -4
  store i32 %v15_1, i32* %eax.global-to-local, align 4
  store i32 %v15_1, i32* %ecx.global-to-local, align 4
  %v0_ae = load i32, i32* %edi.global-to-local, align 4
  %v1_ae = add i32 %v0_ae, -16
  %v2_ae = inttoptr i32 %v1_ae to i32*
  %v3_ae = load i32, i32* %v2_ae, align 4
  %v1_b1 = urem i32 %v3_ae, 4
  store i32 %v1_b1, i32* %ecx.global-to-local, align 4
  %v1_b4 = load i32, i32* %esp.global-to-local, align 4
  %v3_b4 = mul i32 %v1_b1, 8
  %v4_b4 = add i32 %v1_b4, %v3_b4
  %v5_b4 = inttoptr i32 %v4_b4 to double*
  %v6_b4 = load double, double* %v5_b4, align 4
  %v7_b4 = fpext double %v6_b4 to x86_fp80
  %v3_b7 = add i32 %v0_ae, -8
  %v4_b7 = inttoptr i32 %v3_b7 to double*
  %v5_b7 = load double, double* %v4_b7, align 4
  %v6_b7 = fpext double %v5_b7 to x86_fp80
  %v7_b7 = fsub x86_fp80 %v7_b4, %v6_b7
  %v3_ba = add i32 %v0_ae, -40
  %v4_ba = inttoptr i32 %v3_ba to float*
  %v5_ba = load float, float* %v4_ba, align 4
  %v6_ba = fpext float %v5_ba to x86_fp80
  %v7_ba = fmul x86_fp80 %v7_b7, %v6_ba
  %v7_bd = fsub x86_fp80 %v1_92, %v7_ba
  %v2_c1 = load i32, i32* %esi.global-to-local, align 4
  %v3_c1 = add i32 %v2_c1, -32
  %v4_c1 = fptrunc x86_fp80 %v7_bd to double
  %v5_c1 = inttoptr i32 %v3_c1 to double*
  store double %v4_c1, double* %v5_c1, align 4
  %v1_c4 = add i32 %v0_ae, -80
  %v2_c4 = inttoptr i32 %v1_c4 to i32*
  %v3_c4 = load i32, i32* %v2_c4, align 4
  %v1_c7 = urem i32 %v3_c4, 4
  store i32 %v1_c7, i32* %ecx.global-to-local, align 4
  %v3_ca = mul i32 %v1_c7, 8
  %v4_ca = add i32 %v3_ca, %v1_b4
  %v5_ca = inttoptr i32 %v4_ca to double*
  %v6_ca = load double, double* %v5_ca, align 4
  %v7_ca = fpext double %v6_ca to x86_fp80
  %v3_cd = add i32 %v0_ae, -84
  %v4_cd = inttoptr i32 %v3_cd to float*
  %v5_cd = load float, float* %v4_cd, align 4
  %v6_cd = fpext float %v5_cd to x86_fp80
  %v7_cd = fadd x86_fp80 %v7_ca, %v6_cd
  %v3_d0 = add i32 %v0_ae, -88
  %v4_d0 = inttoptr i32 %v3_d0 to float*
  %v5_d0 = load float, float* %v4_d0, align 4
  %v6_d0 = fpext float %v5_d0 to x86_fp80
  %v7_d0 = fmul x86_fp80 %v7_cd, %v6_d0
  %v3_d3 = add i32 %v2_c1, 128
  %v4_d3 = fptrunc x86_fp80 %v7_d0 to double
  %v5_d3 = inttoptr i32 %v3_d3 to double*
  store double %v4_d3, double* %v5_d3, align 4
  store i3 %v6_9d, i3* %fpu_stat_TOP.global-to-local, align 1
  store i32 %v0_0, i32* %ecx.global-to-local, align 4
  ret i32 %v15_1
}

; 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 }
