Average Error: 0.2 → 0.2
Time: 37.4s
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 r3975368 = 1.0;
        double r3975369 = atan2(1.0, 0.0);
        double r3975370 = sqrt(r3975369);
        double r3975371 = r3975368 / r3975370;
        double r3975372 = 2.0;
        double r3975373 = x;
        double r3975374 = fabs(r3975373);
        double r3975375 = r3975372 * r3975374;
        double r3975376 = 3.0;
        double r3975377 = r3975372 / r3975376;
        double r3975378 = r3975374 * r3975374;
        double r3975379 = r3975378 * r3975374;
        double r3975380 = r3975377 * r3975379;
        double r3975381 = r3975375 + r3975380;
        double r3975382 = 5.0;
        double r3975383 = r3975368 / r3975382;
        double r3975384 = r3975379 * r3975374;
        double r3975385 = r3975384 * r3975374;
        double r3975386 = r3975383 * r3975385;
        double r3975387 = r3975381 + r3975386;
        double r3975388 = 21.0;
        double r3975389 = r3975368 / r3975388;
        double r3975390 = r3975385 * r3975374;
        double r3975391 = r3975390 * r3975374;
        double r3975392 = r3975389 * r3975391;
        double r3975393 = r3975387 + r3975392;
        double r3975394 = r3975371 * r3975393;
        double r3975395 = fabs(r3975394);
        return r3975395;
}

double f(double x) {
        double r3975396 = x;
        double r3975397 = fabs(r3975396);
        double r3975398 = 7.0;
        double r3975399 = pow(r3975397, r3975398);
        double r3975400 = 0.047619047619047616;
        double r3975401 = r3975399 * r3975400;
        double r3975402 = 0.2;
        double r3975403 = r3975397 * r3975397;
        double r3975404 = r3975403 * r3975397;
        double r3975405 = r3975404 * r3975397;
        double r3975406 = r3975397 * r3975405;
        double r3975407 = r3975402 * r3975406;
        double r3975408 = 2.0;
        double r3975409 = r3975397 * r3975408;
        double r3975410 = 0.6666666666666666;
        double r3975411 = r3975404 * r3975410;
        double r3975412 = r3975409 + r3975411;
        double r3975413 = r3975407 + r3975412;
        double r3975414 = r3975401 + r3975413;
        double r3975415 = 1.0;
        double r3975416 = atan2(1.0, 0.0);
        double r3975417 = sqrt(r3975416);
        double r3975418 = r3975415 / r3975417;
        double r3975419 = r3975414 * r3975418;
        double r3975420 = fabs(r3975419);
        return r3975420;
}

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