public static double CumulativeNormalDistribution(double a) { double x, y, z; x = a*SQRTH; z = Math.Abs(x); if (z < SQRTH) y = 0.5 + 0.5*Erf(x); else { y = 0.5*Erfc(z); if (x > 0) y = 1.0 - y; } return y; }