Average Error: 0.2 → 0.2
Time: 17.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|\left(\sqrt{\frac{1}{\pi}} \cdot \left(\left(0.6666666666666666296592325124947819858789 \cdot {\left(\left|x\right|\right)}^{3} + \left(0.2000000000000000111022302462515654042363 \cdot {\left(\left|x\right|\right)}^{5} + 2 \cdot \left|x\right|\right)\right) + \frac{1 \cdot {\left(\left|x\right|\right)}^{7}}{21}\right)\right) \cdot 1\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(\sqrt{\frac{1}{\pi}} \cdot \left(\left(0.6666666666666666296592325124947819858789 \cdot {\left(\left|x\right|\right)}^{3} + \left(0.2000000000000000111022302462515654042363 \cdot {\left(\left|x\right|\right)}^{5} + 2 \cdot \left|x\right|\right)\right) + \frac{1 \cdot {\left(\left|x\right|\right)}^{7}}{21}\right)\right) \cdot 1\right|
double f(double x) {
        double r141946 = 1.0;
        double r141947 = atan2(1.0, 0.0);
        double r141948 = sqrt(r141947);
        double r141949 = r141946 / r141948;
        double r141950 = 2.0;
        double r141951 = x;
        double r141952 = fabs(r141951);
        double r141953 = r141950 * r141952;
        double r141954 = 3.0;
        double r141955 = r141950 / r141954;
        double r141956 = r141952 * r141952;
        double r141957 = r141956 * r141952;
        double r141958 = r141955 * r141957;
        double r141959 = r141953 + r141958;
        double r141960 = 5.0;
        double r141961 = r141946 / r141960;
        double r141962 = r141957 * r141952;
        double r141963 = r141962 * r141952;
        double r141964 = r141961 * r141963;
        double r141965 = r141959 + r141964;
        double r141966 = 21.0;
        double r141967 = r141946 / r141966;
        double r141968 = r141963 * r141952;
        double r141969 = r141968 * r141952;
        double r141970 = r141967 * r141969;
        double r141971 = r141965 + r141970;
        double r141972 = r141949 * r141971;
        double r141973 = fabs(r141972);
        return r141973;
}

double f(double x) {
        double r141974 = 1.0;
        double r141975 = atan2(1.0, 0.0);
        double r141976 = r141974 / r141975;
        double r141977 = sqrt(r141976);
        double r141978 = 0.6666666666666666;
        double r141979 = x;
        double r141980 = fabs(r141979);
        double r141981 = 3.0;
        double r141982 = pow(r141980, r141981);
        double r141983 = r141978 * r141982;
        double r141984 = 0.2;
        double r141985 = 5.0;
        double r141986 = pow(r141980, r141985);
        double r141987 = r141984 * r141986;
        double r141988 = 2.0;
        double r141989 = r141988 * r141980;
        double r141990 = r141987 + r141989;
        double r141991 = r141983 + r141990;
        double r141992 = 1.0;
        double r141993 = 7.0;
        double r141994 = pow(r141980, r141993);
        double r141995 = r141992 * r141994;
        double r141996 = 21.0;
        double r141997 = r141995 / r141996;
        double r141998 = r141991 + r141997;
        double r141999 = r141977 * r141998;
        double r142000 = r141999 * r141992;
        double r142001 = fabs(r142000);
        return r142001;
}

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}{\color{blue}{\sqrt{21} \cdot \sqrt{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|\]
  4. Applied *-un-lft-identity0.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{\color{blue}{1 \cdot 1}}{\sqrt{21} \cdot \sqrt{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|\]
  5. Applied times-frac0.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}{\left(\frac{1}{\sqrt{21}} \cdot \frac{1}{\sqrt{21}}\right)} \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|\]
  6. Applied associate-*l*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}{\sqrt{21}} \cdot \left(\frac{1}{\sqrt{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)\right|\]
  7. Simplified0.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}{\sqrt{21}} \cdot \color{blue}{\left(\left(\frac{1}{\sqrt{21}} \cdot {\left(\left|x\right|\right)}^{6}\right) \cdot \left|x\right|\right)}\right)\right|\]
  8. Taylor expanded around 0 0.2

    \[\leadsto \left|\color{blue}{1 \cdot \left(\sqrt{\frac{1}{\pi}} \cdot \left(0.6666666666666666296592325124947819858789 \cdot {\left(\left|x\right|\right)}^{3} + \left(1 \cdot \frac{{\left(\left|x\right|\right)}^{7}}{{\left(\sqrt{21}\right)}^{2}} + \left(0.2000000000000000111022302462515654042363 \cdot {\left(\left|x\right|\right)}^{5} + 2 \cdot \left|x\right|\right)\right)\right)\right)}\right|\]
  9. Simplified0.2

    \[\leadsto \left|\color{blue}{\left(\sqrt{\frac{1}{\pi}} \cdot \left(\left(0.6666666666666666296592325124947819858789 \cdot {\left(\left|x\right|\right)}^{3} + \left(0.2000000000000000111022302462515654042363 \cdot {\left(\left|x\right|\right)}^{5} + 2 \cdot \left|x\right|\right)\right) + \frac{1 \cdot {\left(\left|x\right|\right)}^{7}}{21}\right)\right) \cdot 1}\right|\]
  10. Final simplification0.2

    \[\leadsto \left|\left(\sqrt{\frac{1}{\pi}} \cdot \left(\left(0.6666666666666666296592325124947819858789 \cdot {\left(\left|x\right|\right)}^{3} + \left(0.2000000000000000111022302462515654042363 \cdot {\left(\left|x\right|\right)}^{5} + 2 \cdot \left|x\right|\right)\right) + \frac{1 \cdot {\left(\left|x\right|\right)}^{7}}{21}\right)\right) \cdot 1\right|\]

Reproduce

herbie shell --seed 2019353 
(FPCore (x)
  :name "Jmat.Real.erfi, branch x less than or equal to 0.5"
  :precision binary64
  (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)))))))