Average Error: 0.2 → 0.2
Time: 2.4m
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 r19221868 = 1.0;
        double r19221869 = atan2(1.0, 0.0);
        double r19221870 = sqrt(r19221869);
        double r19221871 = r19221868 / r19221870;
        double r19221872 = 2.0;
        double r19221873 = x;
        double r19221874 = fabs(r19221873);
        double r19221875 = r19221872 * r19221874;
        double r19221876 = 3.0;
        double r19221877 = r19221872 / r19221876;
        double r19221878 = r19221874 * r19221874;
        double r19221879 = r19221878 * r19221874;
        double r19221880 = r19221877 * r19221879;
        double r19221881 = r19221875 + r19221880;
        double r19221882 = 5.0;
        double r19221883 = r19221868 / r19221882;
        double r19221884 = r19221879 * r19221874;
        double r19221885 = r19221884 * r19221874;
        double r19221886 = r19221883 * r19221885;
        double r19221887 = r19221881 + r19221886;
        double r19221888 = 21.0;
        double r19221889 = r19221868 / r19221888;
        double r19221890 = r19221885 * r19221874;
        double r19221891 = r19221890 * r19221874;
        double r19221892 = r19221889 * r19221891;
        double r19221893 = r19221887 + r19221892;
        double r19221894 = r19221871 * r19221893;
        double r19221895 = fabs(r19221894);
        return r19221895;
}

double f(double x) {
        double r19221896 = 1.0;
        double r19221897 = atan2(1.0, 0.0);
        double r19221898 = sqrt(r19221897);
        double r19221899 = r19221896 / r19221898;
        double r19221900 = 0.2;
        double r19221901 = x;
        double r19221902 = fabs(r19221901);
        double r19221903 = r19221902 * r19221902;
        double r19221904 = r19221903 * r19221902;
        double r19221905 = r19221904 * r19221902;
        double r19221906 = r19221902 * r19221905;
        double r19221907 = r19221900 * r19221906;
        double r19221908 = 2.0;
        double r19221909 = r19221902 * r19221908;
        double r19221910 = 0.6666666666666666;
        double r19221911 = r19221904 * r19221910;
        double r19221912 = r19221909 + r19221911;
        double r19221913 = r19221907 + r19221912;
        double r19221914 = r19221902 * r19221906;
        double r19221915 = r19221902 * r19221914;
        double r19221916 = 0.047619047619047616;
        double r19221917 = r19221915 * r19221916;
        double r19221918 = r19221913 + r19221917;
        double r19221919 = r19221899 * r19221918;
        double r19221920 = fabs(r19221919);
        return r19221920;
}

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 2019121 +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)))))))