\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) + \frac{1}{21} \cdot \left(\left(\left({\left({\left(\left|x\right|\right)}^{4}\right)}^{1} \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right|double f(double x) {
double r192370 = 1.0;
double r192371 = atan2(1.0, 0.0);
double r192372 = sqrt(r192371);
double r192373 = r192370 / r192372;
double r192374 = 2.0;
double r192375 = x;
double r192376 = fabs(r192375);
double r192377 = r192374 * r192376;
double r192378 = 3.0;
double r192379 = r192374 / r192378;
double r192380 = r192376 * r192376;
double r192381 = r192380 * r192376;
double r192382 = r192379 * r192381;
double r192383 = r192377 + r192382;
double r192384 = 5.0;
double r192385 = r192370 / r192384;
double r192386 = r192381 * r192376;
double r192387 = r192386 * r192376;
double r192388 = r192385 * r192387;
double r192389 = r192383 + r192388;
double r192390 = 21.0;
double r192391 = r192370 / r192390;
double r192392 = r192387 * r192376;
double r192393 = r192392 * r192376;
double r192394 = r192391 * r192393;
double r192395 = r192389 + r192394;
double r192396 = r192373 * r192395;
double r192397 = fabs(r192396);
return r192397;
}
double f(double x) {
double r192398 = 1.0;
double r192399 = atan2(1.0, 0.0);
double r192400 = sqrt(r192399);
double r192401 = r192398 / r192400;
double r192402 = 2.0;
double r192403 = x;
double r192404 = fabs(r192403);
double r192405 = r192402 * r192404;
double r192406 = 3.0;
double r192407 = r192402 / r192406;
double r192408 = r192404 * r192404;
double r192409 = r192408 * r192404;
double r192410 = r192407 * r192409;
double r192411 = r192405 + r192410;
double r192412 = 5.0;
double r192413 = r192398 / r192412;
double r192414 = r192409 * r192404;
double r192415 = r192414 * r192404;
double r192416 = r192413 * r192415;
double r192417 = r192411 + r192416;
double r192418 = 21.0;
double r192419 = r192398 / r192418;
double r192420 = 4.0;
double r192421 = pow(r192404, r192420);
double r192422 = 1.0;
double r192423 = pow(r192421, r192422);
double r192424 = r192423 * r192404;
double r192425 = r192424 * r192404;
double r192426 = r192425 * r192404;
double r192427 = r192419 * r192426;
double r192428 = r192417 + r192427;
double r192429 = r192401 * r192428;
double r192430 = fabs(r192429);
return r192430;
}



Bits error versus x
Results
Initial program 0.2
rmApplied pow10.2
Applied pow10.2
Applied pow10.2
Applied pow10.2
Applied pow-prod-down0.2
Applied pow-prod-down0.2
Applied pow-prod-down0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2020035
(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)))))))