Average Error: 0.2 → 0.2
Time: 33.9s
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|\right)}^{7} \cdot \frac{1}{21} + \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)\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|\right)}^{7} \cdot \frac{1}{21} + \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)\right) \cdot \frac{1}{\sqrt{\pi}}\right|
double f(double x) {
        double r2836640 = 1.0;
        double r2836641 = atan2(1.0, 0.0);
        double r2836642 = sqrt(r2836641);
        double r2836643 = r2836640 / r2836642;
        double r2836644 = 2.0;
        double r2836645 = x;
        double r2836646 = fabs(r2836645);
        double r2836647 = r2836644 * r2836646;
        double r2836648 = 3.0;
        double r2836649 = r2836644 / r2836648;
        double r2836650 = r2836646 * r2836646;
        double r2836651 = r2836650 * r2836646;
        double r2836652 = r2836649 * r2836651;
        double r2836653 = r2836647 + r2836652;
        double r2836654 = 5.0;
        double r2836655 = r2836640 / r2836654;
        double r2836656 = r2836651 * r2836646;
        double r2836657 = r2836656 * r2836646;
        double r2836658 = r2836655 * r2836657;
        double r2836659 = r2836653 + r2836658;
        double r2836660 = 21.0;
        double r2836661 = r2836640 / r2836660;
        double r2836662 = r2836657 * r2836646;
        double r2836663 = r2836662 * r2836646;
        double r2836664 = r2836661 * r2836663;
        double r2836665 = r2836659 + r2836664;
        double r2836666 = r2836643 * r2836665;
        double r2836667 = fabs(r2836666);
        return r2836667;
}

double f(double x) {
        double r2836668 = x;
        double r2836669 = fabs(r2836668);
        double r2836670 = 7.0;
        double r2836671 = pow(r2836669, r2836670);
        double r2836672 = 0.047619047619047616;
        double r2836673 = r2836671 * r2836672;
        double r2836674 = 0.2;
        double r2836675 = r2836669 * r2836669;
        double r2836676 = r2836675 * r2836669;
        double r2836677 = r2836676 * r2836669;
        double r2836678 = r2836669 * r2836677;
        double r2836679 = r2836674 * r2836678;
        double r2836680 = 2.0;
        double r2836681 = r2836669 * r2836680;
        double r2836682 = 0.6666666666666666;
        double r2836683 = r2836676 * r2836682;
        double r2836684 = r2836681 + r2836683;
        double r2836685 = r2836679 + r2836684;
        double r2836686 = r2836673 + r2836685;
        double r2836687 = 1.0;
        double r2836688 = atan2(1.0, 0.0);
        double r2836689 = sqrt(r2836688);
        double r2836690 = r2836687 / r2836689;
        double r2836691 = r2836686 * r2836690;
        double r2836692 = fabs(r2836691);
        return r2836692;
}

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. Taylor expanded around inf 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}{21} \cdot {\left(\left|x\right|\right)}^{7}}\right)\right|\]
  3. Final simplification0.2

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

Reproduce

herbie shell --seed 2019128 +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)))))))