Average Error: 0.2 → 0.2
Time: 36.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|\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 r5154746 = 1.0;
        double r5154747 = atan2(1.0, 0.0);
        double r5154748 = sqrt(r5154747);
        double r5154749 = r5154746 / r5154748;
        double r5154750 = 2.0;
        double r5154751 = x;
        double r5154752 = fabs(r5154751);
        double r5154753 = r5154750 * r5154752;
        double r5154754 = 3.0;
        double r5154755 = r5154750 / r5154754;
        double r5154756 = r5154752 * r5154752;
        double r5154757 = r5154756 * r5154752;
        double r5154758 = r5154755 * r5154757;
        double r5154759 = r5154753 + r5154758;
        double r5154760 = 5.0;
        double r5154761 = r5154746 / r5154760;
        double r5154762 = r5154757 * r5154752;
        double r5154763 = r5154762 * r5154752;
        double r5154764 = r5154761 * r5154763;
        double r5154765 = r5154759 + r5154764;
        double r5154766 = 21.0;
        double r5154767 = r5154746 / r5154766;
        double r5154768 = r5154763 * r5154752;
        double r5154769 = r5154768 * r5154752;
        double r5154770 = r5154767 * r5154769;
        double r5154771 = r5154765 + r5154770;
        double r5154772 = r5154749 * r5154771;
        double r5154773 = fabs(r5154772);
        return r5154773;
}

double f(double x) {
        double r5154774 = 1.0;
        double r5154775 = atan2(1.0, 0.0);
        double r5154776 = sqrt(r5154775);
        double r5154777 = r5154774 / r5154776;
        double r5154778 = 0.2;
        double r5154779 = x;
        double r5154780 = fabs(r5154779);
        double r5154781 = r5154780 * r5154780;
        double r5154782 = r5154781 * r5154780;
        double r5154783 = r5154782 * r5154780;
        double r5154784 = r5154780 * r5154783;
        double r5154785 = r5154778 * r5154784;
        double r5154786 = 2.0;
        double r5154787 = r5154780 * r5154786;
        double r5154788 = 0.6666666666666666;
        double r5154789 = r5154782 * r5154788;
        double r5154790 = r5154787 + r5154789;
        double r5154791 = r5154785 + r5154790;
        double r5154792 = r5154780 * r5154784;
        double r5154793 = r5154780 * r5154792;
        double r5154794 = 0.047619047619047616;
        double r5154795 = r5154793 * r5154794;
        double r5154796 = r5154791 + r5154795;
        double r5154797 = r5154777 * r5154796;
        double r5154798 = fabs(r5154797);
        return r5154798;
}

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 2019133 
(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)))))))