Average Error: 0.2 → 0.2
Time: 39.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 r2521989 = 1.0;
        double r2521990 = atan2(1.0, 0.0);
        double r2521991 = sqrt(r2521990);
        double r2521992 = r2521989 / r2521991;
        double r2521993 = 2.0;
        double r2521994 = x;
        double r2521995 = fabs(r2521994);
        double r2521996 = r2521993 * r2521995;
        double r2521997 = 3.0;
        double r2521998 = r2521993 / r2521997;
        double r2521999 = r2521995 * r2521995;
        double r2522000 = r2521999 * r2521995;
        double r2522001 = r2521998 * r2522000;
        double r2522002 = r2521996 + r2522001;
        double r2522003 = 5.0;
        double r2522004 = r2521989 / r2522003;
        double r2522005 = r2522000 * r2521995;
        double r2522006 = r2522005 * r2521995;
        double r2522007 = r2522004 * r2522006;
        double r2522008 = r2522002 + r2522007;
        double r2522009 = 21.0;
        double r2522010 = r2521989 / r2522009;
        double r2522011 = r2522006 * r2521995;
        double r2522012 = r2522011 * r2521995;
        double r2522013 = r2522010 * r2522012;
        double r2522014 = r2522008 + r2522013;
        double r2522015 = r2521992 * r2522014;
        double r2522016 = fabs(r2522015);
        return r2522016;
}

double f(double x) {
        double r2522017 = 1.0;
        double r2522018 = atan2(1.0, 0.0);
        double r2522019 = sqrt(r2522018);
        double r2522020 = r2522017 / r2522019;
        double r2522021 = 0.2;
        double r2522022 = x;
        double r2522023 = fabs(r2522022);
        double r2522024 = r2522023 * r2522023;
        double r2522025 = r2522024 * r2522023;
        double r2522026 = r2522025 * r2522023;
        double r2522027 = r2522023 * r2522026;
        double r2522028 = r2522021 * r2522027;
        double r2522029 = 2.0;
        double r2522030 = r2522023 * r2522029;
        double r2522031 = 0.6666666666666666;
        double r2522032 = r2522025 * r2522031;
        double r2522033 = r2522030 + r2522032;
        double r2522034 = r2522028 + r2522033;
        double r2522035 = r2522023 * r2522027;
        double r2522036 = r2522023 * r2522035;
        double r2522037 = 0.047619047619047616;
        double r2522038 = r2522036 * r2522037;
        double r2522039 = r2522034 + r2522038;
        double r2522040 = r2522020 * r2522039;
        double r2522041 = fabs(r2522040);
        return r2522041;
}

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 2019133 +o rules:numerics
(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)))))))