extern void cerfc(double *y, double *x, long n);
void cerfc(double *y, double *x, long n)
{
  extern double exp(double);
  double xx, t, z, p;
  while (n--) {
    xx= *x++;
    z= xx<0.? -xx : xx;
    t= 1.0/(1.0+0.5*z);
    p= -1.26551223 +
      t*(1.00002368 + t*(0.37409196 + t*(0.09678418 +
                  t*(-0.18628806 + t*(0.27886807 + t*(-1.13520398 +
                  t*(1.48851587 + t*(-0.82215223 + t*0.17087277))))))));
    p= t*exp(-z*z + p);
    if (xx<0.) p= 2.-p;
    *(y++)= p;
  }
}


syntax highlighted by Code2HTML, v. 0.9.1