Average Error: 0.2 → 0.2
Time: 12.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(\left(\frac{1}{21} \cdot \left({\left(\left|x\right|\right)}^{6} \cdot \left|x\right|\right) + 2 \cdot \left|x\right|\right) + \left(\frac{1 \cdot {\left(\left|x\right|\right)}^{5}}{5} + \frac{2}{3} \cdot {\left(\left|x\right|\right)}^{3}\right)\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(\frac{1}{21} \cdot \left({\left(\left|x\right|\right)}^{6} \cdot \left|x\right|\right) + 2 \cdot \left|x\right|\right) + \left(\frac{1 \cdot {\left(\left|x\right|\right)}^{5}}{5} + \frac{2}{3} \cdot {\left(\left|x\right|\right)}^{3}\right)\right) \cdot \frac{1}{\sqrt{\pi}}\right|
double f(double x) {
        double r143597 = 1.0;
        double r143598 = atan2(1.0, 0.0);
        double r143599 = sqrt(r143598);
        double r143600 = r143597 / r143599;
        double r143601 = 2.0;
        double r143602 = x;
        double r143603 = fabs(r143602);
        double r143604 = r143601 * r143603;
        double r143605 = 3.0;
        double r143606 = r143601 / r143605;
        double r143607 = r143603 * r143603;
        double r143608 = r143607 * r143603;
        double r143609 = r143606 * r143608;
        double r143610 = r143604 + r143609;
        double r143611 = 5.0;
        double r143612 = r143597 / r143611;
        double r143613 = r143608 * r143603;
        double r143614 = r143613 * r143603;
        double r143615 = r143612 * r143614;
        double r143616 = r143610 + r143615;
        double r143617 = 21.0;
        double r143618 = r143597 / r143617;
        double r143619 = r143614 * r143603;
        double r143620 = r143619 * r143603;
        double r143621 = r143618 * r143620;
        double r143622 = r143616 + r143621;
        double r143623 = r143600 * r143622;
        double r143624 = fabs(r143623);
        return r143624;
}

double f(double x) {
        double r143625 = 1.0;
        double r143626 = 21.0;
        double r143627 = r143625 / r143626;
        double r143628 = x;
        double r143629 = fabs(r143628);
        double r143630 = 6.0;
        double r143631 = pow(r143629, r143630);
        double r143632 = r143631 * r143629;
        double r143633 = r143627 * r143632;
        double r143634 = 2.0;
        double r143635 = r143634 * r143629;
        double r143636 = r143633 + r143635;
        double r143637 = 5.0;
        double r143638 = pow(r143629, r143637);
        double r143639 = r143625 * r143638;
        double r143640 = 5.0;
        double r143641 = r143639 / r143640;
        double r143642 = 3.0;
        double r143643 = r143634 / r143642;
        double r143644 = 3.0;
        double r143645 = pow(r143629, r143644);
        double r143646 = r143643 * r143645;
        double r143647 = r143641 + r143646;
        double r143648 = r143636 + r143647;
        double r143649 = atan2(1.0, 0.0);
        double r143650 = sqrt(r143649);
        double r143651 = r143625 / r143650;
        double r143652 = r143648 * r143651;
        double r143653 = fabs(r143652);
        return r143653;
}

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 pow10.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}{21} \cdot \left(\left(\left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \color{blue}{{\left(\left|x\right|\right)}^{1}}\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 pow10.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}{21} \cdot \left(\left(\left(\left(\left(\left(\left|x\right| \cdot \color{blue}{{\left(\left|x\right|\right)}^{1}}\right) \cdot {\left(\left|x\right|\right)}^{1}\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 pow10.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}{21} \cdot \left(\left(\left(\left(\left(\left(\color{blue}{{\left(\left|x\right|\right)}^{1}} \cdot {\left(\left|x\right|\right)}^{1}\right) \cdot {\left(\left|x\right|\right)}^{1}\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 pow-prod-up0.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}{21} \cdot \left(\left(\left(\left(\left(\color{blue}{{\left(\left|x\right|\right)}^{\left(1 + 1\right)}} \cdot {\left(\left|x\right|\right)}^{1}\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right|\]
  7. Applied pow-prod-up0.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}{21} \cdot \left(\left(\left(\left(\color{blue}{{\left(\left|x\right|\right)}^{\left(\left(1 + 1\right) + 1\right)}} \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right|\]
  8. 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}{21} \cdot \left(\left(\left(\left({\left(\left|x\right|\right)}^{\color{blue}{3}} \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right|\]
  9. Simplified0.2

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

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

Reproduce

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