// File: /workspace/github_c_makefile_star2_O3/xiongxu[P]bam2bedGraph2/samtools-0.1.19/bcftools/kfunc.c
// Function: kf_erfc
double kf_erfc(double x)
{
	const double p0 = 220.2068679123761;
	const double p1 = 221.2135961699311;
	const double p2 = 112.0792914978709;
	const double p3 = 33.912866078383;
	const double p4 = 6.37396220353165;
	const double p5 = .7003830644436881;
	const double p6 = .03526249659989109;
	const double q0 = 440.4137358247522;
	const double q1 = 793.8265125199484;
	const double q2 = 637.3336333788311;
	const double q3 = 296.5642487796737;
	const double q4 = 86.78073220294608;
	const double q5 = 16.06417757920695;
	const double q6 = 1.755667163182642;
	const double q7 = .08838834764831844;
	double expntl, z, p;
	z = fabs(x) * M_SQRT2;
	if (z > 37.) return x > 0.? 0. : 2.;
	expntl = exp(z * z * - .5);
	if (z < 10. / M_SQRT2) // for small z
	    p = expntl * ((((((p6 * z + p5) * z + p4) * z + p3) * z + p2) * z + p1) * z + p0)
			/ (((((((q7 * z + q6) * z + q5) * z + q4) * z + q3) * z + q2) * z + q1) * z + q0);
	else p = expntl / 2.506628274631001 / (z + 1. / (z + 2. / (z + 3. / (z + 4. / (z + .65)))));
	return x > 0.? 2. * p : 2. * (1. - p);
}

// Assembly:
movapd %xmm0, %xmm1
movapd 0x5587(%rip), %xmm2     # 0x1b780
andpd %xmm0, %xmm2
mulsd 0x566b(%rip), %xmm2     # 0x1b870
ucomisd 0x566b(%rip), %xmm2     # 0x1b878
jbe 0x16225
xorpd %xmm0, %xmm0
cmpltsd %xmm1, %xmm0
movsd 0x5290(%rip), %xmm1     # 0x1b4b0
andnpd %xmm1, %xmm0
retq
subq $0x28, %rsp
movapd %xmm1, 0x10(%rsp)
movapd %xmm2, %xmm0
mulsd %xmm2, %xmm0
mulsd 0x5621(%rip), %xmm0     # 0x1b860
movapd %xmm2, (%rsp)
callq 0x2570
movapd (%rsp), %xmm3
movsd 0x562a(%rip), %xmm1     # 0x1b880
ucomisd %xmm3, %xmm1
jbe 0x16316
movsd 0x5630(%rip), %xmm1     # 0x1b898
mulsd %xmm3, %xmm1
addsd 0x562c(%rip), %xmm1     # 0x1b8a0
mulsd %xmm3, %xmm1
addsd 0x5628(%rip), %xmm1     # 0x1b8a8
mulsd %xmm3, %xmm1
addsd 0x5624(%rip), %xmm1     # 0x1b8b0
mulsd %xmm3, %xmm1
addsd 0x5620(%rip), %xmm1     # 0x1b8b8
mulsd %xmm3, %xmm1
addsd 0x561c(%rip), %xmm1     # 0x1b8c0
mulsd %xmm3, %xmm1
addsd 0x5618(%rip), %xmm1     # 0x1b8c8
movsd 0x5618(%rip), %xmm2     # 0x1b8d0
mulsd %xmm3, %xmm2
addsd 0x5614(%rip), %xmm2     # 0x1b8d8
mulsd %xmm3, %xmm2
addsd 0x5610(%rip), %xmm2     # 0x1b8e0
mulsd %xmm3, %xmm2
addsd 0x560c(%rip), %xmm2     # 0x1b8e8
mulsd %xmm3, %xmm2
addsd 0x5608(%rip), %xmm2     # 0x1b8f0
mulsd %xmm3, %xmm2
addsd 0x5604(%rip), %xmm2     # 0x1b8f8
mulsd %xmm0, %xmm1
mulsd %xmm3, %xmm2
addsd 0x55fc(%rip), %xmm2     # 0x1b900
mulsd %xmm3, %xmm2
addsd 0x55f8(%rip), %xmm2     # 0x1b908
divsd %xmm2, %xmm1
jmp 0x1637f
movsd 0x556a(%rip), %xmm1     # 0x1b888
addsd %xmm3, %xmm1
movsd 0x517e(%rip), %xmm2     # 0x1b4a8
divsd %xmm1, %xmm2
addsd %xmm3, %xmm2
movsd 0x5556(%rip), %xmm1     # 0x1b890
divsd %xmm2, %xmm1
addsd %xmm3, %xmm1
movsd 0x5166(%rip), %xmm2     # 0x1b4b0
divsd %xmm1, %xmm2
addsd %xmm3, %xmm2
shufpd $0x2, 0x54c5(%rip), %xmm0 # xmm0 = xmm0[0],mem[1]
movapd 0x54cd(%rip), %xmm1     # 0x1b830
unpcklpd %xmm2, %xmm1            # xmm1 = xmm1[0],xmm2[0]
divpd %xmm1, %xmm0
movapd %xmm0, %xmm1
unpckhpd %xmm0, %xmm1            # xmm1 = xmm1[1],xmm0[1]
addsd %xmm3, %xmm1
divsd %xmm1, %xmm0
movapd %xmm0, %xmm1
movsd 0x2cf1(%rip), %xmm2     # 0x19078
subsd %xmm1, %xmm2
xorpd %xmm0, %xmm0
cmpltsd 0x10(%rsp), %xmm0
movapd %xmm0, %xmm3
andnpd %xmm2, %xmm3
andpd %xmm1, %xmm0
orpd %xmm3, %xmm0
addsd %xmm0, %xmm0
addq $0x28, %rsp
retq