1 - \left(\frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot \left(0.25482959199999999 + \frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot \left(-0.284496735999999972 + \frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot \left(1.42141374100000006 + \frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot \left(-1.45315202700000001 + \frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot 1.0614054289999999\right)\right)\right)\right)\right) \cdot e^{-\left|x\right| \cdot \left|x\right|}e^{\log \left(1 - \left({\left(\sqrt{\sqrt{\frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot \left(0.25482959199999999 + \frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot \left(-0.284496735999999972 + \frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot \left(1.42141374100000006 + \frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot \left(-1.45315202700000001 + \frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot 1.0614054289999999\right)\right)\right)\right)}}\right)}^{3} \cdot \sqrt{\sqrt{\frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot \left(0.25482959199999999 + \frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot \left(-0.284496735999999972 + \frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot \left(1.42141374100000006 + \frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot \left(-1.45315202700000001 + \frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot 1.0614054289999999\right)\right)\right)\right)}}\right) \cdot e^{-\left|x\right| \cdot \left|x\right|}\right)}double f(double x) {
double r316366 = 1.0;
double r316367 = 0.3275911;
double r316368 = x;
double r316369 = fabs(r316368);
double r316370 = r316367 * r316369;
double r316371 = r316366 + r316370;
double r316372 = r316366 / r316371;
double r316373 = 0.254829592;
double r316374 = -0.284496736;
double r316375 = 1.421413741;
double r316376 = -1.453152027;
double r316377 = 1.061405429;
double r316378 = r316372 * r316377;
double r316379 = r316376 + r316378;
double r316380 = r316372 * r316379;
double r316381 = r316375 + r316380;
double r316382 = r316372 * r316381;
double r316383 = r316374 + r316382;
double r316384 = r316372 * r316383;
double r316385 = r316373 + r316384;
double r316386 = r316372 * r316385;
double r316387 = r316369 * r316369;
double r316388 = -r316387;
double r316389 = exp(r316388);
double r316390 = r316386 * r316389;
double r316391 = r316366 - r316390;
return r316391;
}
double f(double x) {
double r316392 = 1.0;
double r316393 = 0.3275911;
double r316394 = x;
double r316395 = fabs(r316394);
double r316396 = r316393 * r316395;
double r316397 = r316392 + r316396;
double r316398 = r316392 / r316397;
double r316399 = 0.254829592;
double r316400 = -0.284496736;
double r316401 = 1.421413741;
double r316402 = -1.453152027;
double r316403 = 1.061405429;
double r316404 = r316398 * r316403;
double r316405 = r316402 + r316404;
double r316406 = r316398 * r316405;
double r316407 = r316401 + r316406;
double r316408 = r316398 * r316407;
double r316409 = r316400 + r316408;
double r316410 = r316398 * r316409;
double r316411 = r316399 + r316410;
double r316412 = r316398 * r316411;
double r316413 = sqrt(r316412);
double r316414 = sqrt(r316413);
double r316415 = 3.0;
double r316416 = pow(r316414, r316415);
double r316417 = r316416 * r316414;
double r316418 = r316395 * r316395;
double r316419 = -r316418;
double r316420 = exp(r316419);
double r316421 = r316417 * r316420;
double r316422 = r316392 - r316421;
double r316423 = log(r316422);
double r316424 = exp(r316423);
return r316424;
}



Bits error versus x
Results
Initial program 13.9
rmApplied add-sqr-sqrt13.9
rmApplied add-sqr-sqrt13.9
Applied associate-*r*13.9
Simplified13.9
rmApplied add-exp-log13.9
Final simplification13.9
herbie shell --seed 2020100
(FPCore (x)
:name "Jmat.Real.erf"
:precision binary64
(- 1 (* (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ 0.254829592 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ -0.284496736 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) 1.061405429))))))))) (exp (- (* (fabs x) (fabs x)))))))