\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(1 \cdot \mathsf{fma}\left({\left(\left|x\right|\right)}^{3}, 0.6666666666666666296592325124947819858789, \mathsf{fma}\left(0.2000000000000000111022302462515654042363, {\left(\left|x\right|\right)}^{5}, 2 \cdot \left|x\right|\right) + \frac{1 \cdot {\left(\left|x\right|\right)}^{7}}{21}\right)\right) \cdot \sqrt{\frac{1}{\pi}}\right|double f(double x) {
double r201411 = 1.0;
double r201412 = atan2(1.0, 0.0);
double r201413 = sqrt(r201412);
double r201414 = r201411 / r201413;
double r201415 = 2.0;
double r201416 = x;
double r201417 = fabs(r201416);
double r201418 = r201415 * r201417;
double r201419 = 3.0;
double r201420 = r201415 / r201419;
double r201421 = r201417 * r201417;
double r201422 = r201421 * r201417;
double r201423 = r201420 * r201422;
double r201424 = r201418 + r201423;
double r201425 = 5.0;
double r201426 = r201411 / r201425;
double r201427 = r201422 * r201417;
double r201428 = r201427 * r201417;
double r201429 = r201426 * r201428;
double r201430 = r201424 + r201429;
double r201431 = 21.0;
double r201432 = r201411 / r201431;
double r201433 = r201428 * r201417;
double r201434 = r201433 * r201417;
double r201435 = r201432 * r201434;
double r201436 = r201430 + r201435;
double r201437 = r201414 * r201436;
double r201438 = fabs(r201437);
return r201438;
}
double f(double x) {
double r201439 = 1.0;
double r201440 = x;
double r201441 = fabs(r201440);
double r201442 = 3.0;
double r201443 = pow(r201441, r201442);
double r201444 = 0.6666666666666666;
double r201445 = 0.2;
double r201446 = 5.0;
double r201447 = pow(r201441, r201446);
double r201448 = 2.0;
double r201449 = r201448 * r201441;
double r201450 = fma(r201445, r201447, r201449);
double r201451 = 7.0;
double r201452 = pow(r201441, r201451);
double r201453 = r201439 * r201452;
double r201454 = 21.0;
double r201455 = r201453 / r201454;
double r201456 = r201450 + r201455;
double r201457 = fma(r201443, r201444, r201456);
double r201458 = r201439 * r201457;
double r201459 = 1.0;
double r201460 = atan2(1.0, 0.0);
double r201461 = r201459 / r201460;
double r201462 = sqrt(r201461);
double r201463 = r201458 * r201462;
double r201464 = fabs(r201463);
return r201464;
}



Bits error versus x
Initial program 0.2
rmApplied add-sqr-sqrt0.2
Applied add-cube-cbrt0.2
Applied times-frac0.2
Applied associate-*l*0.2
Simplified0.2
Taylor expanded around 0 0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019353 +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)))))))