function apnorminv( p ) {
	var ppnd;
	var q;
	var r;

	q = p - 0.5;
	if ( abs( q ) <= 0.425 ) {
		r = 0.180625 - ( q * q );
		ppnd = q * (((((((a7 * r + a6) * r + a5) * r + a4) * r + a3) * r + a2) * r + a1) * r + a0) /
			(((((((b7 * r + b6) * r + b5) * r + b4) * r + b3) * r + b2) * r + b1) * r + 1.0);
	} else {
		if ( q < 0.0 ) {
			r = p;
		} else {
			r = 1.0 - p;
		}
		if ( r <= 0.0 ) {
			ppnd = 0.0;
		} else {
			r = sqrt( -ln( r ) );
			if ( r <= 5.0 ) {
				r -= 1.6;
				ppnd = (((((((c7 * r + c6) * r + c5) * r + c4) * r + c3) * r + c2) * r + c1) * r + c0) /
					(((((((d7 * r + d6) * r + d5) * r + d4) * r + d3) * r + d2) * r + d1) * r + 1.0);
			} else {
				r -= 5.0;
				ppnd = (((((((e7 * r + e6) * r + e5) * r + e4) * r + e3) * r + e2) * r + e1) * r + e0) /
					(((((((f7 * r + f6) * r + f5) * r + f4) * r + f3) * r + f2) * r + f1) * r + 1.0);
			}
			if ( q < 0.0 ) {
				ppnd = -ppnd;
			}
		}
	}
	return ppnd;
}
Returns the normal deviate Z corresponding to a given lower tail area of `p`.

@private
@param {Probability} p - lower tail area
@returns {number} normal deviate