docs: public static double erf(double x) {
      final double w = x < 0 ? -x : x;
      double y;
      if(w < 2.2) {
        double t = w * w;
        int k = (int) t;
        t -= k;
        k *= 13;
        y = ((((((((((((ERF_COEFF1[k] * t + ERF_COEFF1[k + 1]) * t + //
            ERF_COEFF1[k + 2]) * t + ERF_COEFF1[k + 3]) * t + ERF_COEFF1[k + 4]) * t + //
            ERF_COEFF1[k + 5]) * t + ERF_COEFF1[k + 6]) * t + ERF_COEFF1[k + 7]) * t + //
            ERF_COEFF1[k + 8]) * t + ERF_COEFF1[k + 9]) * t + ERF_COEFF1[k + 10]) * t + //
            ERF_COEFF1[k + 11]) * t + ERF_COEFF1[k + 12]) * w;
      }
      else if(w < 6.9) {
        int k = (int) w;
        double t = w - k;
        k = 13 * (k - 2);
        y = (((((((((((ERF_COEFF2[k] * t + ERF_COEFF2[k + 1]) * t + //
            ERF_COEFF2[k + 2]) * t + ERF_COEFF2[k + 3]) * t + ERF_COEFF2[k + 4]) * t + //
            ERF_COEFF2[k + 5]) * t + ERF_COEFF2[k + 6]) * t + ERF_COEFF2[k + 7]) * t + //
            ERF_COEFF2[k + 8]) * t + ERF_COEFF2[k + 9]) * t + ERF_COEFF2[k + 10]) * t + //
            ERF_COEFF2[k + 11]) * t + ERF_COEFF2[k + 12];
        y *= y;
        y *= y;
        y *= y;
        y = 1 - y * y;
      }
      else if(w == w) {
        y = 1;
      }
      else {
        return Double.NaN;
      }
      return x < 0 ? -y : y;
    }