Average Error: 0.2 → 0.2
Time: 24.8s
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|1 \cdot \left(\sqrt{\frac{1}{\pi}} \cdot \left(\frac{6004799503160661}{9007199254740992} \cdot {\left(\left|x\right|\right)}^{3}\right) + \sqrt{\frac{1}{\pi}} \cdot \left(\frac{3602879701896397}{18014398509481984} \cdot {\left(\left|x\right|\right)}^{5} + \left(2 \cdot \left|x\right| + \frac{857828500451523}{18014398509481984} \cdot {\left(\left|x\right|\right)}^{7}\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|1 \cdot \left(\sqrt{\frac{1}{\pi}} \cdot \left(\frac{6004799503160661}{9007199254740992} \cdot {\left(\left|x\right|\right)}^{3}\right) + \sqrt{\frac{1}{\pi}} \cdot \left(\frac{3602879701896397}{18014398509481984} \cdot {\left(\left|x\right|\right)}^{5} + \left(2 \cdot \left|x\right| + \frac{857828500451523}{18014398509481984} \cdot {\left(\left|x\right|\right)}^{7}\right)\right)\right)\right|
double f(double x) {
        double r125331 = 1.0;
        double r125332 = atan2(1.0, 0.0);
        double r125333 = sqrt(r125332);
        double r125334 = r125331 / r125333;
        double r125335 = 2.0;
        double r125336 = x;
        double r125337 = fabs(r125336);
        double r125338 = r125335 * r125337;
        double r125339 = 3.0;
        double r125340 = r125335 / r125339;
        double r125341 = r125337 * r125337;
        double r125342 = r125341 * r125337;
        double r125343 = r125340 * r125342;
        double r125344 = r125338 + r125343;
        double r125345 = 5.0;
        double r125346 = r125331 / r125345;
        double r125347 = r125342 * r125337;
        double r125348 = r125347 * r125337;
        double r125349 = r125346 * r125348;
        double r125350 = r125344 + r125349;
        double r125351 = 21.0;
        double r125352 = r125331 / r125351;
        double r125353 = r125348 * r125337;
        double r125354 = r125353 * r125337;
        double r125355 = r125352 * r125354;
        double r125356 = r125350 + r125355;
        double r125357 = r125334 * r125356;
        double r125358 = fabs(r125357);
        return r125358;
}

double f(double x) {
        double r125359 = 1.0;
        double r125360 = 1.0;
        double r125361 = atan2(1.0, 0.0);
        double r125362 = r125360 / r125361;
        double r125363 = sqrt(r125362);
        double r125364 = 6004799503160661.0;
        double r125365 = 9007199254740992.0;
        double r125366 = r125364 / r125365;
        double r125367 = x;
        double r125368 = fabs(r125367);
        double r125369 = 3.0;
        double r125370 = pow(r125368, r125369);
        double r125371 = r125366 * r125370;
        double r125372 = r125363 * r125371;
        double r125373 = 3602879701896397.0;
        double r125374 = 18014398509481984.0;
        double r125375 = r125373 / r125374;
        double r125376 = 5.0;
        double r125377 = pow(r125368, r125376);
        double r125378 = r125375 * r125377;
        double r125379 = 2.0;
        double r125380 = r125379 * r125368;
        double r125381 = 857828500451523.0;
        double r125382 = r125381 / r125374;
        double r125383 = 7.0;
        double r125384 = pow(r125368, r125383);
        double r125385 = r125382 * r125384;
        double r125386 = r125380 + r125385;
        double r125387 = r125378 + r125386;
        double r125388 = r125363 * r125387;
        double r125389 = r125372 + r125388;
        double r125390 = r125359 * r125389;
        double r125391 = fabs(r125390);
        return r125391;
}

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|\color{blue}{1 \cdot \left(\sqrt{\frac{1}{\pi}} \cdot \left(0.6666666666666666296592325124947819858789 \cdot {\left(\left|x\right|\right)}^{3} + \left(0.2000000000000000111022302462515654042363 \cdot {\left(\left|x\right|\right)}^{5} + \left(2 \cdot \left|x\right| + 0.04761904761904761640423089374962728470564 \cdot {\left(\left|x\right|\right)}^{7}\right)\right)\right)\right)}\right|\]
  3. Simplified0.2

    \[\leadsto \left|\color{blue}{1 \cdot \left(\sqrt{\frac{1}{\pi}} \cdot \left(\frac{6004799503160661}{9007199254740992} \cdot {\left(\left|x\right|\right)}^{3} + \left(\frac{3602879701896397}{18014398509481984} \cdot {\left(\left|x\right|\right)}^{5} + \left(2 \cdot \left|x\right| + \frac{857828500451523}{18014398509481984} \cdot {\left(\left|x\right|\right)}^{7}\right)\right)\right)\right)}\right|\]
  4. Using strategy rm
  5. Applied distribute-lft-in0.2

    \[\leadsto \left|1 \cdot \color{blue}{\left(\sqrt{\frac{1}{\pi}} \cdot \left(\frac{6004799503160661}{9007199254740992} \cdot {\left(\left|x\right|\right)}^{3}\right) + \sqrt{\frac{1}{\pi}} \cdot \left(\frac{3602879701896397}{18014398509481984} \cdot {\left(\left|x\right|\right)}^{5} + \left(2 \cdot \left|x\right| + \frac{857828500451523}{18014398509481984} \cdot {\left(\left|x\right|\right)}^{7}\right)\right)\right)}\right|\]
  6. Final simplification0.2

    \[\leadsto \left|1 \cdot \left(\sqrt{\frac{1}{\pi}} \cdot \left(\frac{6004799503160661}{9007199254740992} \cdot {\left(\left|x\right|\right)}^{3}\right) + \sqrt{\frac{1}{\pi}} \cdot \left(\frac{3602879701896397}{18014398509481984} \cdot {\left(\left|x\right|\right)}^{5} + \left(2 \cdot \left|x\right| + \frac{857828500451523}{18014398509481984} \cdot {\left(\left|x\right|\right)}^{7}\right)\right)\right)\right|\]

Reproduce

herbie shell --seed 2019303 
(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)))))))