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|}\frac{{1}^{3} - \sqrt{{\left(\frac{\frac{1}{\mathsf{fma}\left(0.32759110000000002, \left|x\right|, 1\right)}}{e^{{\left(\left|x\right|\right)}^{2}}} \cdot \mathsf{fma}\left(\mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(0.32759110000000002, \left|x\right|, 1\right)}, \mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(0.32759110000000002, \left|x\right|, 1\right)}, \mathsf{fma}\left(1.0614054289999999, \frac{1}{\mathsf{fma}\left(0.32759110000000002, \left|x\right|, 1\right)}, -1.45315202700000001\right), 1.42141374100000006\right), -0.284496735999999972\right), \frac{1}{\mathsf{fma}\left(0.32759110000000002, \left|x\right|, 1\right)}, 0.25482959199999999\right)\right)}^{3}} \cdot \sqrt{{\left(\frac{\frac{1}{\mathsf{fma}\left(0.32759110000000002, \left|x\right|, 1\right)}}{e^{{\left(\left|x\right|\right)}^{2}}} \cdot \mathsf{fma}\left(\mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(0.32759110000000002, \left|x\right|, 1\right)}, \mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(0.32759110000000002, \left|x\right|, 1\right)}, \mathsf{fma}\left(1.0614054289999999, \frac{1}{\mathsf{fma}\left(0.32759110000000002, \left|x\right|, 1\right)}, -1.45315202700000001\right), 1.42141374100000006\right), -0.284496735999999972\right), \frac{1}{\mathsf{fma}\left(0.32759110000000002, \left|x\right|, 1\right)}, 0.25482959199999999\right)\right)}^{3}}}{\mathsf{fma}\left(\frac{\frac{1}{\mathsf{fma}\left(0.32759110000000002, \left|x\right|, 1\right)}}{e^{{\left(\left|x\right|\right)}^{2}}} \cdot \mathsf{fma}\left(\mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(0.32759110000000002, \left|x\right|, 1\right)}, \mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(0.32759110000000002, \left|x\right|, 1\right)}, \mathsf{fma}\left(1.0614054289999999, \frac{1}{\mathsf{fma}\left(0.32759110000000002, \left|x\right|, 1\right)}, -1.45315202700000001\right), 1.42141374100000006\right), -0.284496735999999972\right), \frac{1}{\mathsf{fma}\left(0.32759110000000002, \left|x\right|, 1\right)}, 0.25482959199999999\right), \mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(0.32759110000000002, \left|x\right|, 1\right)}, \mathsf{fma}\left(\mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(0.32759110000000002, \left|x\right|, 1\right)}, \mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(0.32759110000000002, \left|x\right|, 1\right)}, \mathsf{fma}\left(1.0614054289999999, \frac{1}{\mathsf{fma}\left(0.32759110000000002, \left|x\right|, 1\right)}, -1.45315202700000001\right), 1.42141374100000006\right), -0.284496735999999972\right), \frac{1}{\mathsf{fma}\left(0.32759110000000002, \left|x\right|, 1\right)}, 0.25482959199999999\right) \cdot e^{-{\left(\left|x\right|\right)}^{2}}, 1\right), 1 \cdot 1\right)}double f(double x) {
double r158604 = 1.0;
double r158605 = 0.3275911;
double r158606 = x;
double r158607 = fabs(r158606);
double r158608 = r158605 * r158607;
double r158609 = r158604 + r158608;
double r158610 = r158604 / r158609;
double r158611 = 0.254829592;
double r158612 = -0.284496736;
double r158613 = 1.421413741;
double r158614 = -1.453152027;
double r158615 = 1.061405429;
double r158616 = r158610 * r158615;
double r158617 = r158614 + r158616;
double r158618 = r158610 * r158617;
double r158619 = r158613 + r158618;
double r158620 = r158610 * r158619;
double r158621 = r158612 + r158620;
double r158622 = r158610 * r158621;
double r158623 = r158611 + r158622;
double r158624 = r158610 * r158623;
double r158625 = r158607 * r158607;
double r158626 = -r158625;
double r158627 = exp(r158626);
double r158628 = r158624 * r158627;
double r158629 = r158604 - r158628;
return r158629;
}
double f(double x) {
double r158630 = 1.0;
double r158631 = 3.0;
double r158632 = pow(r158630, r158631);
double r158633 = 0.3275911;
double r158634 = x;
double r158635 = fabs(r158634);
double r158636 = fma(r158633, r158635, r158630);
double r158637 = r158630 / r158636;
double r158638 = 2.0;
double r158639 = pow(r158635, r158638);
double r158640 = exp(r158639);
double r158641 = r158637 / r158640;
double r158642 = 1.061405429;
double r158643 = -1.453152027;
double r158644 = fma(r158642, r158637, r158643);
double r158645 = 1.421413741;
double r158646 = fma(r158637, r158644, r158645);
double r158647 = -0.284496736;
double r158648 = fma(r158637, r158646, r158647);
double r158649 = 0.254829592;
double r158650 = fma(r158648, r158637, r158649);
double r158651 = r158641 * r158650;
double r158652 = pow(r158651, r158631);
double r158653 = sqrt(r158652);
double r158654 = r158653 * r158653;
double r158655 = r158632 - r158654;
double r158656 = -r158639;
double r158657 = exp(r158656);
double r158658 = r158650 * r158657;
double r158659 = fma(r158637, r158658, r158630);
double r158660 = r158630 * r158630;
double r158661 = fma(r158651, r158659, r158660);
double r158662 = r158655 / r158661;
return r158662;
}



Bits error versus x
Initial program 14.1
rmApplied flip3--14.1
Simplified14.1
Simplified14.1
rmApplied add-sqr-sqrt13.3
Final simplification13.3
herbie shell --seed 2019195 +o rules:numerics
(FPCore (x)
:name "Jmat.Real.erf"
(- 1.0 (* (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 0.254829592 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -0.284496736 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429))))))))) (exp (- (* (fabs x) (fabs x)))))))