Average Error: 0.2 → 0.2
Time: 1.2m
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|\frac{1}{\sqrt{\pi}} \cdot \left(\left(\sqrt{{\left(\left|x\right|\right)}^{7}} \cdot \frac{1}{21}\right) \cdot \sqrt{{\left(\left|x\right|\right)}^{7}} + \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)\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|\frac{1}{\sqrt{\pi}} \cdot \left(\left(\sqrt{{\left(\left|x\right|\right)}^{7}} \cdot \frac{1}{21}\right) \cdot \sqrt{{\left(\left|x\right|\right)}^{7}} + \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)\right|
double f(double x) {
        double r5099281 = 1.0;
        double r5099282 = atan2(1.0, 0.0);
        double r5099283 = sqrt(r5099282);
        double r5099284 = r5099281 / r5099283;
        double r5099285 = 2.0;
        double r5099286 = x;
        double r5099287 = fabs(r5099286);
        double r5099288 = r5099285 * r5099287;
        double r5099289 = 3.0;
        double r5099290 = r5099285 / r5099289;
        double r5099291 = r5099287 * r5099287;
        double r5099292 = r5099291 * r5099287;
        double r5099293 = r5099290 * r5099292;
        double r5099294 = r5099288 + r5099293;
        double r5099295 = 5.0;
        double r5099296 = r5099281 / r5099295;
        double r5099297 = r5099292 * r5099287;
        double r5099298 = r5099297 * r5099287;
        double r5099299 = r5099296 * r5099298;
        double r5099300 = r5099294 + r5099299;
        double r5099301 = 21.0;
        double r5099302 = r5099281 / r5099301;
        double r5099303 = r5099298 * r5099287;
        double r5099304 = r5099303 * r5099287;
        double r5099305 = r5099302 * r5099304;
        double r5099306 = r5099300 + r5099305;
        double r5099307 = r5099284 * r5099306;
        double r5099308 = fabs(r5099307);
        return r5099308;
}

double f(double x) {
        double r5099309 = 1.0;
        double r5099310 = atan2(1.0, 0.0);
        double r5099311 = sqrt(r5099310);
        double r5099312 = r5099309 / r5099311;
        double r5099313 = x;
        double r5099314 = fabs(r5099313);
        double r5099315 = 7.0;
        double r5099316 = pow(r5099314, r5099315);
        double r5099317 = sqrt(r5099316);
        double r5099318 = 0.047619047619047616;
        double r5099319 = r5099317 * r5099318;
        double r5099320 = r5099319 * r5099317;
        double r5099321 = 0.2;
        double r5099322 = r5099314 * r5099314;
        double r5099323 = r5099322 * r5099314;
        double r5099324 = r5099323 * r5099314;
        double r5099325 = r5099314 * r5099324;
        double r5099326 = r5099321 * r5099325;
        double r5099327 = 2.0;
        double r5099328 = r5099314 * r5099327;
        double r5099329 = 0.6666666666666666;
        double r5099330 = r5099323 * r5099329;
        double r5099331 = r5099328 + r5099330;
        double r5099332 = r5099326 + r5099331;
        double r5099333 = r5099320 + r5099332;
        double r5099334 = r5099312 * r5099333;
        double r5099335 = fabs(r5099334);
        return r5099335;
}

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 -inf 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. Using strategy rm
  4. 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}{21} \cdot \color{blue}{\left(\sqrt{{\left(\left|x\right|\right)}^{7}} \cdot \sqrt{{\left(\left|x\right|\right)}^{7}}\right)}\right)\right|\]
  5. Applied associate-*r*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}{\left(\frac{1}{21} \cdot \sqrt{{\left(\left|x\right|\right)}^{7}}\right) \cdot \sqrt{{\left(\left|x\right|\right)}^{7}}}\right)\right|\]
  6. Final simplification0.2

    \[\leadsto \left|\frac{1}{\sqrt{\pi}} \cdot \left(\left(\sqrt{{\left(\left|x\right|\right)}^{7}} \cdot \frac{1}{21}\right) \cdot \sqrt{{\left(\left|x\right|\right)}^{7}} + \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)\right|\]

Reproduce

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