Average Error: 0.2 → 0.2
Time: 34.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|\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) + \frac{1}{21} \cdot \left(\left|x\right| \cdot \left(\left(\left(\left|x\right| \cdot \left(\left(\sqrt{\left|x\right| \cdot \left|x\right|} \cdot \sqrt{\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|}\right) \cdot \sqrt{\left|x\right|}\right)\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\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) + \frac{1}{21} \cdot \left(\left|x\right| \cdot \left(\left(\left(\left|x\right| \cdot \left(\left(\sqrt{\left|x\right| \cdot \left|x\right|} \cdot \sqrt{\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|}\right) \cdot \sqrt{\left|x\right|}\right)\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right)\right|
double f(double x) {
        double r2396830 = 1.0;
        double r2396831 = atan2(1.0, 0.0);
        double r2396832 = sqrt(r2396831);
        double r2396833 = r2396830 / r2396832;
        double r2396834 = 2.0;
        double r2396835 = x;
        double r2396836 = fabs(r2396835);
        double r2396837 = r2396834 * r2396836;
        double r2396838 = 3.0;
        double r2396839 = r2396834 / r2396838;
        double r2396840 = r2396836 * r2396836;
        double r2396841 = r2396840 * r2396836;
        double r2396842 = r2396839 * r2396841;
        double r2396843 = r2396837 + r2396842;
        double r2396844 = 5.0;
        double r2396845 = r2396830 / r2396844;
        double r2396846 = r2396841 * r2396836;
        double r2396847 = r2396846 * r2396836;
        double r2396848 = r2396845 * r2396847;
        double r2396849 = r2396843 + r2396848;
        double r2396850 = 21.0;
        double r2396851 = r2396830 / r2396850;
        double r2396852 = r2396847 * r2396836;
        double r2396853 = r2396852 * r2396836;
        double r2396854 = r2396851 * r2396853;
        double r2396855 = r2396849 + r2396854;
        double r2396856 = r2396833 * r2396855;
        double r2396857 = fabs(r2396856);
        return r2396857;
}

double f(double x) {
        double r2396858 = 1.0;
        double r2396859 = atan2(1.0, 0.0);
        double r2396860 = sqrt(r2396859);
        double r2396861 = r2396858 / r2396860;
        double r2396862 = 0.2;
        double r2396863 = x;
        double r2396864 = fabs(r2396863);
        double r2396865 = r2396864 * r2396864;
        double r2396866 = r2396865 * r2396864;
        double r2396867 = r2396866 * r2396864;
        double r2396868 = r2396864 * r2396867;
        double r2396869 = r2396862 * r2396868;
        double r2396870 = 2.0;
        double r2396871 = r2396864 * r2396870;
        double r2396872 = 0.6666666666666666;
        double r2396873 = r2396866 * r2396872;
        double r2396874 = r2396871 + r2396873;
        double r2396875 = r2396869 + r2396874;
        double r2396876 = 0.047619047619047616;
        double r2396877 = sqrt(r2396865);
        double r2396878 = sqrt(r2396866);
        double r2396879 = r2396877 * r2396878;
        double r2396880 = sqrt(r2396864);
        double r2396881 = r2396879 * r2396880;
        double r2396882 = r2396864 * r2396881;
        double r2396883 = r2396882 * r2396864;
        double r2396884 = r2396883 * r2396864;
        double r2396885 = r2396864 * r2396884;
        double r2396886 = r2396876 * r2396885;
        double r2396887 = r2396875 + r2396886;
        double r2396888 = r2396861 * r2396887;
        double r2396889 = fabs(r2396888);
        return r2396889;
}

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}{21} \cdot \left(\left(\left(\left(\color{blue}{\left(\sqrt{\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|} \cdot \sqrt{\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. Using strategy rm
  5. Applied sqrt-prod0.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(\sqrt{\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|} \cdot \color{blue}{\left(\sqrt{\left|x\right| \cdot \left|x\right|} \cdot \sqrt{\left|x\right|}\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-*r*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) + \frac{1}{21} \cdot \left(\left(\left(\left(\color{blue}{\left(\left(\sqrt{\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|} \cdot \sqrt{\left|x\right| \cdot \left|x\right|}\right) \cdot \sqrt{\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|\]
  7. 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) + \frac{1}{21} \cdot \left(\left|x\right| \cdot \left(\left(\left(\left|x\right| \cdot \left(\left(\sqrt{\left|x\right| \cdot \left|x\right|} \cdot \sqrt{\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|}\right) \cdot \sqrt{\left|x\right|}\right)\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right)\right|\]

Reproduce

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