Average Error: 0.2 → 0.1
Time: 17.7s
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(\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) + \left(1 \cdot \frac{{\left(\left|x\right|\right)}^{6}}{21}\right) \cdot \left|x\right|\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(\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) + \left(1 \cdot \frac{{\left(\left|x\right|\right)}^{6}}{21}\right) \cdot \left|x\right|\right)\right|
double f(double x) {
        double r185508 = 1.0;
        double r185509 = atan2(1.0, 0.0);
        double r185510 = sqrt(r185509);
        double r185511 = r185508 / r185510;
        double r185512 = 2.0;
        double r185513 = x;
        double r185514 = fabs(r185513);
        double r185515 = r185512 * r185514;
        double r185516 = 3.0;
        double r185517 = r185512 / r185516;
        double r185518 = r185514 * r185514;
        double r185519 = r185518 * r185514;
        double r185520 = r185517 * r185519;
        double r185521 = r185515 + r185520;
        double r185522 = 5.0;
        double r185523 = r185508 / r185522;
        double r185524 = r185519 * r185514;
        double r185525 = r185524 * r185514;
        double r185526 = r185523 * r185525;
        double r185527 = r185521 + r185526;
        double r185528 = 21.0;
        double r185529 = r185508 / r185528;
        double r185530 = r185525 * r185514;
        double r185531 = r185530 * r185514;
        double r185532 = r185529 * r185531;
        double r185533 = r185527 + r185532;
        double r185534 = r185511 * r185533;
        double r185535 = fabs(r185534);
        return r185535;
}

double f(double x) {
        double r185536 = 1.0;
        double r185537 = atan2(1.0, 0.0);
        double r185538 = sqrt(r185537);
        double r185539 = r185536 / r185538;
        double r185540 = 2.0;
        double r185541 = x;
        double r185542 = fabs(r185541);
        double r185543 = r185540 * r185542;
        double r185544 = 3.0;
        double r185545 = r185540 / r185544;
        double r185546 = r185542 * r185542;
        double r185547 = r185546 * r185542;
        double r185548 = r185545 * r185547;
        double r185549 = r185543 + r185548;
        double r185550 = 5.0;
        double r185551 = r185536 / r185550;
        double r185552 = r185547 * r185542;
        double r185553 = r185552 * r185542;
        double r185554 = r185551 * r185553;
        double r185555 = r185549 + r185554;
        double r185556 = 6.0;
        double r185557 = pow(r185542, r185556);
        double r185558 = 21.0;
        double r185559 = r185557 / r185558;
        double r185560 = r185536 * r185559;
        double r185561 = r185560 * r185542;
        double r185562 = r185555 + r185561;
        double r185563 = r185539 * r185562;
        double r185564 = fabs(r185563);
        return r185564;
}

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. Using strategy rm
  3. Applied associate-*r*0.2

    \[\leadsto \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) + \color{blue}{\left(\frac{1}{21} \cdot \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)\right) \cdot \left|x\right|}\right)\right|\]
  4. Simplified0.2

    \[\leadsto \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) + \color{blue}{\left(\frac{1}{21} \cdot {\left(\left|x\right|\right)}^{6}\right)} \cdot \left|x\right|\right)\right|\]
  5. Using strategy rm
  6. Applied div-inv0.2

    \[\leadsto \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) + \left(\color{blue}{\left(1 \cdot \frac{1}{21}\right)} \cdot {\left(\left|x\right|\right)}^{6}\right) \cdot \left|x\right|\right)\right|\]
  7. Applied associate-*l*0.2

    \[\leadsto \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) + \color{blue}{\left(1 \cdot \left(\frac{1}{21} \cdot {\left(\left|x\right|\right)}^{6}\right)\right)} \cdot \left|x\right|\right)\right|\]
  8. Simplified0.1

    \[\leadsto \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) + \left(1 \cdot \color{blue}{\frac{{\left(\left|x\right|\right)}^{6}}{21}}\right) \cdot \left|x\right|\right)\right|\]
  9. Final simplification0.1

    \[\leadsto \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) + \left(1 \cdot \frac{{\left(\left|x\right|\right)}^{6}}{21}\right) \cdot \left|x\right|\right)\right|\]

Reproduce

herbie shell --seed 2020001 
(FPCore (x)
  :name "Jmat.Real.erfi, branch x less than or equal to 0.5"
  :precision binary64
  (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)))))))