1 - \left(\frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(0.254829592 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-0.284496736 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(1.421413741 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-1.453152027 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot 1.061405429\right)\right)\right)\right)\right) \cdot e^{-\left|x\right| \cdot \left|x\right|}\frac{\frac{1 - {\left(\sqrt{{\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}, \mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}, \frac{1.061405429}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)} + -1.453152027, 1.421413741\right), -0.284496736\right), \frac{1}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}, 0.254829592\right) \cdot \frac{\frac{1}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{e^{\left|x\right| \cdot \left|x\right|}}\right)}^{3}} \cdot \sqrt{{\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}, \mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}, \frac{1.061405429}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)} + -1.453152027, 1.421413741\right), -0.284496736\right), \frac{1}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}, 0.254829592\right) \cdot \frac{\frac{1}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{e^{\left|x\right| \cdot \left|x\right|}}\right)}^{3}}\right)}^{3}}{1 + \left(\left(\sqrt{{\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}, \mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}, \frac{1.061405429}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)} + -1.453152027, 1.421413741\right), -0.284496736\right), \frac{1}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}, 0.254829592\right) \cdot \frac{\frac{1}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{e^{\left|x\right| \cdot \left|x\right|}}\right)}^{3}} \cdot \sqrt{{\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}, \mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}, \frac{1.061405429}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)} + -1.453152027, 1.421413741\right), -0.284496736\right), \frac{1}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}, 0.254829592\right) \cdot \frac{\frac{1}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{e^{\left|x\right| \cdot \left|x\right|}}\right)}^{3}}\right) \cdot \left(\sqrt{{\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}, \mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}, \frac{1.061405429}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)} + -1.453152027, 1.421413741\right), -0.284496736\right), \frac{1}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}, 0.254829592\right) \cdot \frac{\frac{1}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{e^{\left|x\right| \cdot \left|x\right|}}\right)}^{3}} \cdot \sqrt{{\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}, \mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}, \frac{1.061405429}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)} + -1.453152027, 1.421413741\right), -0.284496736\right), \frac{1}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}, 0.254829592\right) \cdot \frac{\frac{1}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{e^{\left|x\right| \cdot \left|x\right|}}\right)}^{3}}\right) + \sqrt{{\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}, \mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}, \frac{1.061405429}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)} + -1.453152027, 1.421413741\right), -0.284496736\right), \frac{1}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}, 0.254829592\right) \cdot \frac{\frac{1}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{e^{\left|x\right| \cdot \left|x\right|}}\right)}^{3}} \cdot \sqrt{{\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}, \mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}, \frac{1.061405429}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)} + -1.453152027, 1.421413741\right), -0.284496736\right), \frac{1}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}, 0.254829592\right) \cdot \frac{\frac{1}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{e^{\left|x\right| \cdot \left|x\right|}}\right)}^{3}}\right)}}{\left(\left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}, \mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}, \frac{1.061405429}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)} + -1.453152027, 1.421413741\right), -0.284496736\right), \frac{1}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}, 0.254829592\right) \cdot \frac{\frac{1}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{e^{\left|x\right| \cdot \left|x\right|}}\right) \cdot \left(\mathsf{fma}\left(\mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}, \mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}, \frac{1.061405429}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)} + -1.453152027, 1.421413741\right), -0.284496736\right), \frac{1}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}, 0.254829592\right) \cdot \frac{\frac{1}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{e^{\left|x\right| \cdot \left|x\right|}}\right) + \mathsf{fma}\left(\mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}, \mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}, \frac{1.061405429}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)} + -1.453152027, 1.421413741\right), -0.284496736\right), \frac{1}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}, 0.254829592\right) \cdot \frac{\frac{1}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{e^{\left|x\right| \cdot \left|x\right|}}\right) + 1}double f(double x) {
double r7022595 = 1.0;
double r7022596 = 0.3275911;
double r7022597 = x;
double r7022598 = fabs(r7022597);
double r7022599 = r7022596 * r7022598;
double r7022600 = r7022595 + r7022599;
double r7022601 = r7022595 / r7022600;
double r7022602 = 0.254829592;
double r7022603 = -0.284496736;
double r7022604 = 1.421413741;
double r7022605 = -1.453152027;
double r7022606 = 1.061405429;
double r7022607 = r7022601 * r7022606;
double r7022608 = r7022605 + r7022607;
double r7022609 = r7022601 * r7022608;
double r7022610 = r7022604 + r7022609;
double r7022611 = r7022601 * r7022610;
double r7022612 = r7022603 + r7022611;
double r7022613 = r7022601 * r7022612;
double r7022614 = r7022602 + r7022613;
double r7022615 = r7022601 * r7022614;
double r7022616 = r7022598 * r7022598;
double r7022617 = -r7022616;
double r7022618 = exp(r7022617);
double r7022619 = r7022615 * r7022618;
double r7022620 = r7022595 - r7022619;
return r7022620;
}
double f(double x) {
double r7022621 = 1.0;
double r7022622 = 0.3275911;
double r7022623 = x;
double r7022624 = fabs(r7022623);
double r7022625 = fma(r7022622, r7022624, r7022621);
double r7022626 = r7022621 / r7022625;
double r7022627 = 1.061405429;
double r7022628 = r7022627 / r7022625;
double r7022629 = -1.453152027;
double r7022630 = r7022628 + r7022629;
double r7022631 = 1.421413741;
double r7022632 = fma(r7022626, r7022630, r7022631);
double r7022633 = -0.284496736;
double r7022634 = fma(r7022626, r7022632, r7022633);
double r7022635 = 0.254829592;
double r7022636 = fma(r7022634, r7022626, r7022635);
double r7022637 = r7022624 * r7022624;
double r7022638 = exp(r7022637);
double r7022639 = r7022626 / r7022638;
double r7022640 = r7022636 * r7022639;
double r7022641 = 3.0;
double r7022642 = pow(r7022640, r7022641);
double r7022643 = sqrt(r7022642);
double r7022644 = r7022643 * r7022643;
double r7022645 = pow(r7022644, r7022641);
double r7022646 = r7022621 - r7022645;
double r7022647 = r7022644 * r7022644;
double r7022648 = r7022647 + r7022644;
double r7022649 = r7022621 + r7022648;
double r7022650 = r7022646 / r7022649;
double r7022651 = r7022640 * r7022640;
double r7022652 = r7022651 + r7022640;
double r7022653 = r7022652 + r7022621;
double r7022654 = r7022650 / r7022653;
return r7022654;
}



Bits error versus x
Initial program 13.7
Simplified13.7
rmApplied flip3--13.7
rmApplied add-sqr-sqrt13.0
rmApplied flip3--12.8
Final simplification12.8
herbie shell --seed 2019168 +o rules:numerics
(FPCore (x)
:name "Jmat.Real.erf"
(- 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)))))))