\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{\sqrt{2}}{\sqrt[3]{3} \cdot \sqrt[3]{3}} \cdot \frac{\sqrt{2} \cdot {\left(\left|x\right|\right)}^{3}}{\sqrt[3]{3}}\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|double f(double x) {
double r133384 = 1.0;
double r133385 = atan2(1.0, 0.0);
double r133386 = sqrt(r133385);
double r133387 = r133384 / r133386;
double r133388 = 2.0;
double r133389 = x;
double r133390 = fabs(r133389);
double r133391 = r133388 * r133390;
double r133392 = 3.0;
double r133393 = r133388 / r133392;
double r133394 = r133390 * r133390;
double r133395 = r133394 * r133390;
double r133396 = r133393 * r133395;
double r133397 = r133391 + r133396;
double r133398 = 5.0;
double r133399 = r133384 / r133398;
double r133400 = r133395 * r133390;
double r133401 = r133400 * r133390;
double r133402 = r133399 * r133401;
double r133403 = r133397 + r133402;
double r133404 = 21.0;
double r133405 = r133384 / r133404;
double r133406 = r133401 * r133390;
double r133407 = r133406 * r133390;
double r133408 = r133405 * r133407;
double r133409 = r133403 + r133408;
double r133410 = r133387 * r133409;
double r133411 = fabs(r133410);
return r133411;
}
double f(double x) {
double r133412 = 1.0;
double r133413 = atan2(1.0, 0.0);
double r133414 = sqrt(r133413);
double r133415 = r133412 / r133414;
double r133416 = 2.0;
double r133417 = x;
double r133418 = fabs(r133417);
double r133419 = r133416 * r133418;
double r133420 = sqrt(r133416);
double r133421 = 3.0;
double r133422 = cbrt(r133421);
double r133423 = r133422 * r133422;
double r133424 = r133420 / r133423;
double r133425 = 3.0;
double r133426 = pow(r133418, r133425);
double r133427 = r133420 * r133426;
double r133428 = r133427 / r133422;
double r133429 = r133424 * r133428;
double r133430 = r133419 + r133429;
double r133431 = 5.0;
double r133432 = r133412 / r133431;
double r133433 = r133418 * r133418;
double r133434 = r133433 * r133418;
double r133435 = r133434 * r133418;
double r133436 = r133435 * r133418;
double r133437 = r133432 * r133436;
double r133438 = r133430 + r133437;
double r133439 = 21.0;
double r133440 = r133412 / r133439;
double r133441 = r133436 * r133418;
double r133442 = r133441 * r133418;
double r133443 = r133440 * r133442;
double r133444 = r133438 + r133443;
double r133445 = r133415 * r133444;
double r133446 = fabs(r133445);
return r133446;
}



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