Average Error: 0.2 → 0.2
Time: 25.0s
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|\left(\left(\left|x\right| \cdot 2 + {\left(\left|x\right|\right)}^{3} \cdot \frac{2}{3}\right) + \frac{\left({\left(\left|x\right|\right)}^{4} \cdot \left(1 \cdot 21\right) + \left(1 \cdot 5\right) \cdot {\left(\left|x\right|\right)}^{6}\right) \cdot \left|x\right|}{5 \cdot 21}\right) \cdot \frac{1}{\sqrt{\pi}}\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|\left(\left(\left|x\right| \cdot 2 + {\left(\left|x\right|\right)}^{3} \cdot \frac{2}{3}\right) + \frac{\left({\left(\left|x\right|\right)}^{4} \cdot \left(1 \cdot 21\right) + \left(1 \cdot 5\right) \cdot {\left(\left|x\right|\right)}^{6}\right) \cdot \left|x\right|}{5 \cdot 21}\right) \cdot \frac{1}{\sqrt{\pi}}\right|
double f(double x) {
        double r116581 = 1.0;
        double r116582 = atan2(1.0, 0.0);
        double r116583 = sqrt(r116582);
        double r116584 = r116581 / r116583;
        double r116585 = 2.0;
        double r116586 = x;
        double r116587 = fabs(r116586);
        double r116588 = r116585 * r116587;
        double r116589 = 3.0;
        double r116590 = r116585 / r116589;
        double r116591 = r116587 * r116587;
        double r116592 = r116591 * r116587;
        double r116593 = r116590 * r116592;
        double r116594 = r116588 + r116593;
        double r116595 = 5.0;
        double r116596 = r116581 / r116595;
        double r116597 = r116592 * r116587;
        double r116598 = r116597 * r116587;
        double r116599 = r116596 * r116598;
        double r116600 = r116594 + r116599;
        double r116601 = 21.0;
        double r116602 = r116581 / r116601;
        double r116603 = r116598 * r116587;
        double r116604 = r116603 * r116587;
        double r116605 = r116602 * r116604;
        double r116606 = r116600 + r116605;
        double r116607 = r116584 * r116606;
        double r116608 = fabs(r116607);
        return r116608;
}

double f(double x) {
        double r116609 = x;
        double r116610 = fabs(r116609);
        double r116611 = 2.0;
        double r116612 = r116610 * r116611;
        double r116613 = 3.0;
        double r116614 = pow(r116610, r116613);
        double r116615 = 3.0;
        double r116616 = r116611 / r116615;
        double r116617 = r116614 * r116616;
        double r116618 = r116612 + r116617;
        double r116619 = 4.0;
        double r116620 = pow(r116610, r116619);
        double r116621 = 1.0;
        double r116622 = 21.0;
        double r116623 = r116621 * r116622;
        double r116624 = r116620 * r116623;
        double r116625 = 5.0;
        double r116626 = r116621 * r116625;
        double r116627 = 6.0;
        double r116628 = pow(r116610, r116627);
        double r116629 = r116626 * r116628;
        double r116630 = r116624 + r116629;
        double r116631 = r116630 * r116610;
        double r116632 = r116625 * r116622;
        double r116633 = r116631 / r116632;
        double r116634 = r116618 + r116633;
        double r116635 = atan2(1.0, 0.0);
        double r116636 = sqrt(r116635);
        double r116637 = r116621 / r116636;
        double r116638 = r116634 * r116637;
        double r116639 = fabs(r116638);
        return r116639;
}

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. Simplified0.1

    \[\leadsto \color{blue}{\left|\frac{1}{\sqrt{\pi}} \cdot \left(\left(\left|x\right| \cdot 2 + \frac{2}{3} \cdot {\left(\left|x\right|\right)}^{3}\right) + \left|x\right| \cdot \left(\frac{{\left(\left|x\right|\right)}^{4} \cdot 1}{5} + \frac{1 \cdot {\left(\left|x\right|\right)}^{6}}{21}\right)\right)\right|}\]
  3. Using strategy rm
  4. Applied frac-add0.2

    \[\leadsto \left|\frac{1}{\sqrt{\pi}} \cdot \left(\left(\left|x\right| \cdot 2 + \frac{2}{3} \cdot {\left(\left|x\right|\right)}^{3}\right) + \left|x\right| \cdot \color{blue}{\frac{\left({\left(\left|x\right|\right)}^{4} \cdot 1\right) \cdot 21 + 5 \cdot \left(1 \cdot {\left(\left|x\right|\right)}^{6}\right)}{5 \cdot 21}}\right)\right|\]
  5. Applied associate-*r/0.2

    \[\leadsto \left|\frac{1}{\sqrt{\pi}} \cdot \left(\left(\left|x\right| \cdot 2 + \frac{2}{3} \cdot {\left(\left|x\right|\right)}^{3}\right) + \color{blue}{\frac{\left|x\right| \cdot \left(\left({\left(\left|x\right|\right)}^{4} \cdot 1\right) \cdot 21 + 5 \cdot \left(1 \cdot {\left(\left|x\right|\right)}^{6}\right)\right)}{5 \cdot 21}}\right)\right|\]
  6. Simplified0.2

    \[\leadsto \left|\frac{1}{\sqrt{\pi}} \cdot \left(\left(\left|x\right| \cdot 2 + \frac{2}{3} \cdot {\left(\left|x\right|\right)}^{3}\right) + \frac{\color{blue}{\left|x\right| \cdot \left(\left(1 \cdot 5\right) \cdot {\left(\left|x\right|\right)}^{6} + \left(1 \cdot 21\right) \cdot {\left(\left|x\right|\right)}^{4}\right)}}{5 \cdot 21}\right)\right|\]
  7. Final simplification0.2

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

Reproduce

herbie shell --seed 2019179 
(FPCore (x)
  :name "Jmat.Real.erfi, branch x less than or equal to 0.5"
  (fabs (* (/ 1.0 (sqrt PI)) (+ (+ (+ (* 2.0 (fabs x)) (* (/ 2.0 3.0) (* (* (fabs x) (fabs x)) (fabs x)))) (* (/ 1.0 5.0) (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)))) (* (/ 1.0 21.0) (* (* (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)))))))