\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(\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) + 1 \cdot \frac{\left|x\right| \cdot {\left(\left|x\right|\right)}^{6}}{21}\right)\right|double f(double x) {
double r149416 = 1.0;
double r149417 = atan2(1.0, 0.0);
double r149418 = sqrt(r149417);
double r149419 = r149416 / r149418;
double r149420 = 2.0;
double r149421 = x;
double r149422 = fabs(r149421);
double r149423 = r149420 * r149422;
double r149424 = 3.0;
double r149425 = r149420 / r149424;
double r149426 = r149422 * r149422;
double r149427 = r149426 * r149422;
double r149428 = r149425 * r149427;
double r149429 = r149423 + r149428;
double r149430 = 5.0;
double r149431 = r149416 / r149430;
double r149432 = r149427 * r149422;
double r149433 = r149432 * r149422;
double r149434 = r149431 * r149433;
double r149435 = r149429 + r149434;
double r149436 = 21.0;
double r149437 = r149416 / r149436;
double r149438 = r149433 * r149422;
double r149439 = r149438 * r149422;
double r149440 = r149437 * r149439;
double r149441 = r149435 + r149440;
double r149442 = r149419 * r149441;
double r149443 = fabs(r149442);
return r149443;
}
double f(double x) {
double r149444 = 1.0;
double r149445 = atan2(1.0, 0.0);
double r149446 = sqrt(r149445);
double r149447 = r149444 / r149446;
double r149448 = 2.0;
double r149449 = x;
double r149450 = fabs(r149449);
double r149451 = r149448 * r149450;
double r149452 = 3.0;
double r149453 = r149448 / r149452;
double r149454 = r149450 * r149450;
double r149455 = r149454 * r149450;
double r149456 = r149453 * r149455;
double r149457 = r149451 + r149456;
double r149458 = 5.0;
double r149459 = r149444 / r149458;
double r149460 = r149455 * r149450;
double r149461 = r149460 * r149450;
double r149462 = r149459 * r149461;
double r149463 = r149457 + r149462;
double r149464 = 6.0;
double r149465 = pow(r149450, r149464);
double r149466 = r149450 * r149465;
double r149467 = 21.0;
double r149468 = r149466 / r149467;
double r149469 = r149444 * r149468;
double r149470 = r149463 + r149469;
double r149471 = r149447 * r149470;
double r149472 = fabs(r149471);
return r149472;
}



Bits error versus x
Results
Initial program 0.2
rmApplied div-inv0.2
Applied associate-*l*0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2020034 +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)))))))