Average Error: 0.2 → 0.2
Time: 24.9s
Precision: 64
\[\left|\frac{1}{\sqrt{\pi}} \cdot \left(\left(\left(2 \cdot \left|x\right| + \frac{2}{3} \cdot \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{5} \cdot \left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{21} \cdot \left(\left(\left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right|\]
\[\left|\frac{1}{\sqrt{\pi}} \cdot \left(\left(\frac{1}{5} \cdot \left(\left|x\right| \cdot \left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \left(\left|x\right| \cdot 2 + \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \frac{2}{3}\right)\right) + \left(\left|x\right| \cdot \left(\left|x\right| \cdot \left(\left|x\right| \cdot \left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right)\right) \cdot \frac{1}{21}\right)\right|\]
\left|\frac{1}{\sqrt{\pi}} \cdot \left(\left(\left(2 \cdot \left|x\right| + \frac{2}{3} \cdot \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{5} \cdot \left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{21} \cdot \left(\left(\left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right|
\left|\frac{1}{\sqrt{\pi}} \cdot \left(\left(\frac{1}{5} \cdot \left(\left|x\right| \cdot \left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \left(\left|x\right| \cdot 2 + \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \frac{2}{3}\right)\right) + \left(\left|x\right| \cdot \left(\left|x\right| \cdot \left(\left|x\right| \cdot \left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right)\right) \cdot \frac{1}{21}\right)\right|
double f(double x) {
        double r5767962 = 1.0;
        double r5767963 = atan2(1.0, 0.0);
        double r5767964 = sqrt(r5767963);
        double r5767965 = r5767962 / r5767964;
        double r5767966 = 2.0;
        double r5767967 = x;
        double r5767968 = fabs(r5767967);
        double r5767969 = r5767966 * r5767968;
        double r5767970 = 3.0;
        double r5767971 = r5767966 / r5767970;
        double r5767972 = r5767968 * r5767968;
        double r5767973 = r5767972 * r5767968;
        double r5767974 = r5767971 * r5767973;
        double r5767975 = r5767969 + r5767974;
        double r5767976 = 5.0;
        double r5767977 = r5767962 / r5767976;
        double r5767978 = r5767973 * r5767968;
        double r5767979 = r5767978 * r5767968;
        double r5767980 = r5767977 * r5767979;
        double r5767981 = r5767975 + r5767980;
        double r5767982 = 21.0;
        double r5767983 = r5767962 / r5767982;
        double r5767984 = r5767979 * r5767968;
        double r5767985 = r5767984 * r5767968;
        double r5767986 = r5767983 * r5767985;
        double r5767987 = r5767981 + r5767986;
        double r5767988 = r5767965 * r5767987;
        double r5767989 = fabs(r5767988);
        return r5767989;
}

double f(double x) {
        double r5767990 = 1.0;
        double r5767991 = atan2(1.0, 0.0);
        double r5767992 = sqrt(r5767991);
        double r5767993 = r5767990 / r5767992;
        double r5767994 = 0.2;
        double r5767995 = x;
        double r5767996 = fabs(r5767995);
        double r5767997 = r5767996 * r5767996;
        double r5767998 = r5767997 * r5767996;
        double r5767999 = r5767998 * r5767996;
        double r5768000 = r5767996 * r5767999;
        double r5768001 = r5767994 * r5768000;
        double r5768002 = 2.0;
        double r5768003 = r5767996 * r5768002;
        double r5768004 = 0.6666666666666666;
        double r5768005 = r5767998 * r5768004;
        double r5768006 = r5768003 + r5768005;
        double r5768007 = r5768001 + r5768006;
        double r5768008 = r5767996 * r5768000;
        double r5768009 = r5767996 * r5768008;
        double r5768010 = 0.047619047619047616;
        double r5768011 = r5768009 * r5768010;
        double r5768012 = r5768007 + r5768011;
        double r5768013 = r5767993 * r5768012;
        double r5768014 = fabs(r5768013);
        return r5768014;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.2

    \[\left|\frac{1}{\sqrt{\pi}} \cdot \left(\left(\left(2 \cdot \left|x\right| + \frac{2}{3} \cdot \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{5} \cdot \left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{21} \cdot \left(\left(\left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right|\]
  2. Final simplification0.2

    \[\leadsto \left|\frac{1}{\sqrt{\pi}} \cdot \left(\left(\frac{1}{5} \cdot \left(\left|x\right| \cdot \left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \left(\left|x\right| \cdot 2 + \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \frac{2}{3}\right)\right) + \left(\left|x\right| \cdot \left(\left|x\right| \cdot \left(\left|x\right| \cdot \left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right)\right) \cdot \frac{1}{21}\right)\right|\]

Reproduce

herbie shell --seed 2019168 
(FPCore (x)
  :name "Jmat.Real.erfi, branch x less than or equal to 0.5"
  (fabs (* (/ 1 (sqrt PI)) (+ (+ (+ (* 2 (fabs x)) (* (/ 2 3) (* (* (fabs x) (fabs x)) (fabs x)))) (* (/ 1 5) (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)))) (* (/ 1 21) (* (* (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)))))))