Average Error: 0.2 → 0.2
Time: 17.2s
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(\sqrt{\frac{1}{\pi}} \cdot \left(\left(0.6666666666666666296592325124947819858789 \cdot {\left(\left|x\right|\right)}^{3} + \left(0.2000000000000000111022302462515654042363 \cdot {\left(\left|x\right|\right)}^{5} + 2 \cdot \left|x\right|\right)\right) + \frac{1 \cdot {\left(\left|x\right|\right)}^{7}}{21}\right)\right) \cdot 1\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(\sqrt{\frac{1}{\pi}} \cdot \left(\left(0.6666666666666666296592325124947819858789 \cdot {\left(\left|x\right|\right)}^{3} + \left(0.2000000000000000111022302462515654042363 \cdot {\left(\left|x\right|\right)}^{5} + 2 \cdot \left|x\right|\right)\right) + \frac{1 \cdot {\left(\left|x\right|\right)}^{7}}{21}\right)\right) \cdot 1\right|
double f(double x) {
        double r124585 = 1.0;
        double r124586 = atan2(1.0, 0.0);
        double r124587 = sqrt(r124586);
        double r124588 = r124585 / r124587;
        double r124589 = 2.0;
        double r124590 = x;
        double r124591 = fabs(r124590);
        double r124592 = r124589 * r124591;
        double r124593 = 3.0;
        double r124594 = r124589 / r124593;
        double r124595 = r124591 * r124591;
        double r124596 = r124595 * r124591;
        double r124597 = r124594 * r124596;
        double r124598 = r124592 + r124597;
        double r124599 = 5.0;
        double r124600 = r124585 / r124599;
        double r124601 = r124596 * r124591;
        double r124602 = r124601 * r124591;
        double r124603 = r124600 * r124602;
        double r124604 = r124598 + r124603;
        double r124605 = 21.0;
        double r124606 = r124585 / r124605;
        double r124607 = r124602 * r124591;
        double r124608 = r124607 * r124591;
        double r124609 = r124606 * r124608;
        double r124610 = r124604 + r124609;
        double r124611 = r124588 * r124610;
        double r124612 = fabs(r124611);
        return r124612;
}

double f(double x) {
        double r124613 = 1.0;
        double r124614 = atan2(1.0, 0.0);
        double r124615 = r124613 / r124614;
        double r124616 = sqrt(r124615);
        double r124617 = 0.6666666666666666;
        double r124618 = x;
        double r124619 = fabs(r124618);
        double r124620 = 3.0;
        double r124621 = pow(r124619, r124620);
        double r124622 = r124617 * r124621;
        double r124623 = 0.2;
        double r124624 = 5.0;
        double r124625 = pow(r124619, r124624);
        double r124626 = r124623 * r124625;
        double r124627 = 2.0;
        double r124628 = r124627 * r124619;
        double r124629 = r124626 + r124628;
        double r124630 = r124622 + r124629;
        double r124631 = 1.0;
        double r124632 = 7.0;
        double r124633 = pow(r124619, r124632);
        double r124634 = r124631 * r124633;
        double r124635 = 21.0;
        double r124636 = r124634 / r124635;
        double r124637 = r124630 + r124636;
        double r124638 = r124616 * r124637;
        double r124639 = r124638 * r124631;
        double r124640 = fabs(r124639);
        return r124640;
}

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 add-sqr-sqrt0.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) + \frac{1}{\color{blue}{\sqrt{21} \cdot \sqrt{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|\]
  4. Applied *-un-lft-identity0.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) + \frac{\color{blue}{1 \cdot 1}}{\sqrt{21} \cdot \sqrt{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|\]
  5. Applied times-frac0.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}{\sqrt{21}} \cdot \frac{1}{\sqrt{21}}\right)} \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|\]
  6. 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}{\frac{1}{\sqrt{21}} \cdot \left(\frac{1}{\sqrt{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)\right|\]
  7. 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) + \frac{1}{\sqrt{21}} \cdot \color{blue}{\left(\left(\frac{1}{\sqrt{21}} \cdot {\left(\left|x\right|\right)}^{6}\right) \cdot \left|x\right|\right)}\right)\right|\]
  8. Taylor expanded around 0 0.2

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

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

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

Reproduce

herbie shell --seed 2019353 
(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)))))))