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}^{\left(\log \left(\left(1 + \left(0.284496735999999972 \cdot \frac{e^{-{\left(\left|x\right|\right)}^{2}}}{{\left(0.32759110000000002 \cdot \left|x\right| + 1\right)}^{2}} + 1.45315202700000001 \cdot \frac{e^{-{\left(\left|x\right|\right)}^{2}}}{{\left(0.32759110000000002 \cdot \left|x\right| + 1\right)}^{4}}\right)\right) - \left(1.0614054289999999 \cdot \frac{e^{-{\left(\left|x\right|\right)}^{2}}}{{\left(0.32759110000000002 \cdot \left|x\right| + 1\right)}^{5}} + \left(1.42141374100000006 \cdot \frac{e^{-{\left(\left|x\right|\right)}^{2}}}{{\left(0.32759110000000002 \cdot \left|x\right| + 1\right)}^{3}} + 0.25482959199999999 \cdot \frac{e^{-{\left(\left|x\right|\right)}^{2}}}{0.32759110000000002 \cdot \left|x\right| + 1}\right)\right)\right)\right)}double f(double x) {
double r175595 = 1.0;
double r175596 = 0.3275911;
double r175597 = x;
double r175598 = fabs(r175597);
double r175599 = r175596 * r175598;
double r175600 = r175595 + r175599;
double r175601 = r175595 / r175600;
double r175602 = 0.254829592;
double r175603 = -0.284496736;
double r175604 = 1.421413741;
double r175605 = -1.453152027;
double r175606 = 1.061405429;
double r175607 = r175601 * r175606;
double r175608 = r175605 + r175607;
double r175609 = r175601 * r175608;
double r175610 = r175604 + r175609;
double r175611 = r175601 * r175610;
double r175612 = r175603 + r175611;
double r175613 = r175601 * r175612;
double r175614 = r175602 + r175613;
double r175615 = r175601 * r175614;
double r175616 = r175598 * r175598;
double r175617 = -r175616;
double r175618 = exp(r175617);
double r175619 = r175615 * r175618;
double r175620 = r175595 - r175619;
return r175620;
}
double f(double x) {
double r175621 = exp(1.0);
double r175622 = 1.0;
double r175623 = 0.284496736;
double r175624 = x;
double r175625 = fabs(r175624);
double r175626 = 2.0;
double r175627 = pow(r175625, r175626);
double r175628 = -r175627;
double r175629 = exp(r175628);
double r175630 = 0.3275911;
double r175631 = r175630 * r175625;
double r175632 = r175631 + r175622;
double r175633 = pow(r175632, r175626);
double r175634 = r175629 / r175633;
double r175635 = r175623 * r175634;
double r175636 = 1.453152027;
double r175637 = 4.0;
double r175638 = pow(r175632, r175637);
double r175639 = r175629 / r175638;
double r175640 = r175636 * r175639;
double r175641 = r175635 + r175640;
double r175642 = r175622 + r175641;
double r175643 = 1.061405429;
double r175644 = 5.0;
double r175645 = pow(r175632, r175644);
double r175646 = r175629 / r175645;
double r175647 = r175643 * r175646;
double r175648 = 1.421413741;
double r175649 = 3.0;
double r175650 = pow(r175632, r175649);
double r175651 = r175629 / r175650;
double r175652 = r175648 * r175651;
double r175653 = 0.254829592;
double r175654 = r175629 / r175632;
double r175655 = r175653 * r175654;
double r175656 = r175652 + r175655;
double r175657 = r175647 + r175656;
double r175658 = r175642 - r175657;
double r175659 = log(r175658);
double r175660 = pow(r175621, r175659);
return r175660;
}



Bits error versus x
Results
Initial program 13.9
Taylor expanded around 0 13.9
rmApplied add-exp-log13.9
rmApplied pow113.9
Applied log-pow13.9
Applied exp-prod13.9
Simplified13.9
Final simplification13.9
herbie shell --seed 2020027
(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)))))))