Average Error: 0.2 → 0.2
Time: 50.5s
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 r2356906 = 1.0;
        double r2356907 = atan2(1.0, 0.0);
        double r2356908 = sqrt(r2356907);
        double r2356909 = r2356906 / r2356908;
        double r2356910 = 2.0;
        double r2356911 = x;
        double r2356912 = fabs(r2356911);
        double r2356913 = r2356910 * r2356912;
        double r2356914 = 3.0;
        double r2356915 = r2356910 / r2356914;
        double r2356916 = r2356912 * r2356912;
        double r2356917 = r2356916 * r2356912;
        double r2356918 = r2356915 * r2356917;
        double r2356919 = r2356913 + r2356918;
        double r2356920 = 5.0;
        double r2356921 = r2356906 / r2356920;
        double r2356922 = r2356917 * r2356912;
        double r2356923 = r2356922 * r2356912;
        double r2356924 = r2356921 * r2356923;
        double r2356925 = r2356919 + r2356924;
        double r2356926 = 21.0;
        double r2356927 = r2356906 / r2356926;
        double r2356928 = r2356923 * r2356912;
        double r2356929 = r2356928 * r2356912;
        double r2356930 = r2356927 * r2356929;
        double r2356931 = r2356925 + r2356930;
        double r2356932 = r2356909 * r2356931;
        double r2356933 = fabs(r2356932);
        return r2356933;
}

double f(double x) {
        double r2356934 = x;
        double r2356935 = fabs(r2356934);
        double r2356936 = 7.0;
        double r2356937 = pow(r2356935, r2356936);
        double r2356938 = 0.047619047619047616;
        double r2356939 = r2356937 * r2356938;
        double r2356940 = 0.2;
        double r2356941 = r2356935 * r2356935;
        double r2356942 = r2356941 * r2356935;
        double r2356943 = r2356942 * r2356935;
        double r2356944 = r2356935 * r2356943;
        double r2356945 = r2356940 * r2356944;
        double r2356946 = 2.0;
        double r2356947 = r2356935 * r2356946;
        double r2356948 = 0.6666666666666666;
        double r2356949 = r2356942 * r2356948;
        double r2356950 = r2356947 + r2356949;
        double r2356951 = r2356945 + r2356950;
        double r2356952 = r2356939 + r2356951;
        double r2356953 = 1.0;
        double r2356954 = atan2(1.0, 0.0);
        double r2356955 = sqrt(r2356954);
        double r2356956 = r2356953 / r2356955;
        double r2356957 = r2356952 * r2356956;
        double r2356958 = fabs(r2356957);
        return r2356958;
}

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 0 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 2019138 
(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)))))))