Average Error: 0.2 → 0.2
Time: 29.6s
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 r2508538 = 1.0;
        double r2508539 = atan2(1.0, 0.0);
        double r2508540 = sqrt(r2508539);
        double r2508541 = r2508538 / r2508540;
        double r2508542 = 2.0;
        double r2508543 = x;
        double r2508544 = fabs(r2508543);
        double r2508545 = r2508542 * r2508544;
        double r2508546 = 3.0;
        double r2508547 = r2508542 / r2508546;
        double r2508548 = r2508544 * r2508544;
        double r2508549 = r2508548 * r2508544;
        double r2508550 = r2508547 * r2508549;
        double r2508551 = r2508545 + r2508550;
        double r2508552 = 5.0;
        double r2508553 = r2508538 / r2508552;
        double r2508554 = r2508549 * r2508544;
        double r2508555 = r2508554 * r2508544;
        double r2508556 = r2508553 * r2508555;
        double r2508557 = r2508551 + r2508556;
        double r2508558 = 21.0;
        double r2508559 = r2508538 / r2508558;
        double r2508560 = r2508555 * r2508544;
        double r2508561 = r2508560 * r2508544;
        double r2508562 = r2508559 * r2508561;
        double r2508563 = r2508557 + r2508562;
        double r2508564 = r2508541 * r2508563;
        double r2508565 = fabs(r2508564);
        return r2508565;
}

double f(double x) {
        double r2508566 = 1.0;
        double r2508567 = atan2(1.0, 0.0);
        double r2508568 = sqrt(r2508567);
        double r2508569 = r2508566 / r2508568;
        double r2508570 = 0.2;
        double r2508571 = x;
        double r2508572 = fabs(r2508571);
        double r2508573 = r2508572 * r2508572;
        double r2508574 = r2508573 * r2508572;
        double r2508575 = r2508574 * r2508572;
        double r2508576 = r2508572 * r2508575;
        double r2508577 = r2508570 * r2508576;
        double r2508578 = 2.0;
        double r2508579 = r2508572 * r2508578;
        double r2508580 = 0.6666666666666666;
        double r2508581 = r2508574 * r2508580;
        double r2508582 = r2508579 + r2508581;
        double r2508583 = r2508577 + r2508582;
        double r2508584 = r2508572 * r2508576;
        double r2508585 = r2508572 * r2508584;
        double r2508586 = 0.047619047619047616;
        double r2508587 = r2508585 * r2508586;
        double r2508588 = r2508583 + r2508587;
        double r2508589 = r2508569 * r2508588;
        double r2508590 = fabs(r2508589);
        return r2508590;
}

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 2019151 +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)))))))