Average Error: 0.2 → 0.2
Time: 19.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|1 \cdot \left(\frac{1}{\sqrt{\pi}} \cdot \mathsf{fma}\left(\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt{21}} \cdot \left(\frac{\sqrt[3]{1}}{\sqrt{21}} \cdot {\left(\left|x\right|\right)}^{6}\right), \left|x\right|, \mathsf{fma}\left(\left(\frac{1}{5} \cdot {\left(\left|x\right|\right)}^{3}\right) \cdot \left|x\right|, \left|x\right|, \mathsf{fma}\left(\left|x\right|, 2, {\left(\left|x\right|\right)}^{3} \cdot \frac{2}{3}\right)\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(\frac{1}{\sqrt{\pi}} \cdot \mathsf{fma}\left(\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt{21}} \cdot \left(\frac{\sqrt[3]{1}}{\sqrt{21}} \cdot {\left(\left|x\right|\right)}^{6}\right), \left|x\right|, \mathsf{fma}\left(\left(\frac{1}{5} \cdot {\left(\left|x\right|\right)}^{3}\right) \cdot \left|x\right|, \left|x\right|, \mathsf{fma}\left(\left|x\right|, 2, {\left(\left|x\right|\right)}^{3} \cdot \frac{2}{3}\right)\right)\right)\right)\right|
double f(double x) {
        double r155320 = 1.0;
        double r155321 = atan2(1.0, 0.0);
        double r155322 = sqrt(r155321);
        double r155323 = r155320 / r155322;
        double r155324 = 2.0;
        double r155325 = x;
        double r155326 = fabs(r155325);
        double r155327 = r155324 * r155326;
        double r155328 = 3.0;
        double r155329 = r155324 / r155328;
        double r155330 = r155326 * r155326;
        double r155331 = r155330 * r155326;
        double r155332 = r155329 * r155331;
        double r155333 = r155327 + r155332;
        double r155334 = 5.0;
        double r155335 = r155320 / r155334;
        double r155336 = r155331 * r155326;
        double r155337 = r155336 * r155326;
        double r155338 = r155335 * r155337;
        double r155339 = r155333 + r155338;
        double r155340 = 21.0;
        double r155341 = r155320 / r155340;
        double r155342 = r155337 * r155326;
        double r155343 = r155342 * r155326;
        double r155344 = r155341 * r155343;
        double r155345 = r155339 + r155344;
        double r155346 = r155323 * r155345;
        double r155347 = fabs(r155346);
        return r155347;
}

double f(double x) {
        double r155348 = 1.0;
        double r155349 = 1.0;
        double r155350 = atan2(1.0, 0.0);
        double r155351 = sqrt(r155350);
        double r155352 = r155349 / r155351;
        double r155353 = cbrt(r155349);
        double r155354 = r155353 * r155353;
        double r155355 = 21.0;
        double r155356 = sqrt(r155355);
        double r155357 = r155354 / r155356;
        double r155358 = r155353 / r155356;
        double r155359 = x;
        double r155360 = fabs(r155359);
        double r155361 = 6.0;
        double r155362 = pow(r155360, r155361);
        double r155363 = r155358 * r155362;
        double r155364 = r155357 * r155363;
        double r155365 = 5.0;
        double r155366 = r155349 / r155365;
        double r155367 = 3.0;
        double r155368 = pow(r155360, r155367);
        double r155369 = r155366 * r155368;
        double r155370 = r155369 * r155360;
        double r155371 = 2.0;
        double r155372 = 3.0;
        double r155373 = r155371 / r155372;
        double r155374 = r155368 * r155373;
        double r155375 = fma(r155360, r155371, r155374);
        double r155376 = fma(r155370, r155360, r155375);
        double r155377 = fma(r155364, r155360, r155376);
        double r155378 = r155352 * r155377;
        double r155379 = r155348 * r155378;
        double r155380 = fabs(r155379);
        return r155380;
}

Error

Bits error versus x

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 add-cube-cbrt0.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}{\left(\sqrt[3]{1} \cdot \sqrt[3]{1}\right) \cdot \sqrt[3]{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{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt{21}} \cdot \frac{\sqrt[3]{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{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt{21}} \cdot \left(\frac{\sqrt[3]{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{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt{21}} \cdot \color{blue}{\left(\left(\frac{\sqrt[3]{1}}{\sqrt{21}} \cdot {\left(\left|x\right|\right)}^{6}\right) \cdot \left|x\right|\right)}\right)\right|\]
  8. Using strategy rm
  9. Applied *-un-lft-identity0.2

    \[\leadsto \left|\color{blue}{\left(1 \cdot \frac{1}{\sqrt{\pi}}\right)} \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{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt{21}} \cdot \left(\left(\frac{\sqrt[3]{1}}{\sqrt{21}} \cdot {\left(\left|x\right|\right)}^{6}\right) \cdot \left|x\right|\right)\right)\right|\]
  10. Applied associate-*l*0.2

    \[\leadsto \left|\color{blue}{1 \cdot \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{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt{21}} \cdot \left(\left(\frac{\sqrt[3]{1}}{\sqrt{21}} \cdot {\left(\left|x\right|\right)}^{6}\right) \cdot \left|x\right|\right)\right)\right)}\right|\]
  11. Simplified0.2

    \[\leadsto \left|1 \cdot \color{blue}{\left(\frac{1}{\sqrt{\pi}} \cdot \mathsf{fma}\left(\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt{21}} \cdot \left(\frac{\sqrt[3]{1}}{\sqrt{21}} \cdot {\left(\left|x\right|\right)}^{6}\right), \left|x\right|, \mathsf{fma}\left(\left(\frac{1}{5} \cdot {\left(\left|x\right|\right)}^{3}\right) \cdot \left|x\right|, \left|x\right|, \mathsf{fma}\left(\left|x\right|, 2, {\left(\left|x\right|\right)}^{3} \cdot \frac{2}{3}\right)\right)\right)\right)}\right|\]
  12. Final simplification0.2

    \[\leadsto \left|1 \cdot \left(\frac{1}{\sqrt{\pi}} \cdot \mathsf{fma}\left(\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt{21}} \cdot \left(\frac{\sqrt[3]{1}}{\sqrt{21}} \cdot {\left(\left|x\right|\right)}^{6}\right), \left|x\right|, \mathsf{fma}\left(\left(\frac{1}{5} \cdot {\left(\left|x\right|\right)}^{3}\right) \cdot \left|x\right|, \left|x\right|, \mathsf{fma}\left(\left|x\right|, 2, {\left(\left|x\right|\right)}^{3} \cdot \frac{2}{3}\right)\right)\right)\right)\right|\]

Reproduce

herbie shell --seed 2020001 +o rules:numerics
(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)))))))