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|}{\left(e^{\sqrt[3]{\log \left(\log \left(e^{1 - e^{\left(-\left|x\right|\right) \cdot \left|x\right|} \cdot \left(\frac{1}{1 + \left|x\right| \cdot 0.3275911} \cdot \left(0.254829592 + \left(-0.284496736 + \frac{1}{1 + \left|x\right| \cdot 0.3275911} \cdot \left(1.421413741 + \frac{1}{1 + \left|x\right| \cdot 0.3275911} \cdot \left(\left(\left(1 - \left|x\right| \cdot 0.3275911\right) \cdot \frac{1}{1 - \left(\left|x\right| \cdot 0.3275911\right) \cdot \left(\left|x\right| \cdot 0.3275911\right)}\right) \cdot 1.061405429 + -1.453152027\right)\right)\right) \cdot \frac{1}{1 + \left|x\right| \cdot 0.3275911}\right)\right)}\right)\right)} \cdot \sqrt[3]{\log \left(\log \left(e^{1 - e^{\left(-\left|x\right|\right) \cdot \left|x\right|} \cdot \left(\frac{1}{1 + \left|x\right| \cdot 0.3275911} \cdot \left(0.254829592 + \left(-0.284496736 + \frac{1}{1 + \left|x\right| \cdot 0.3275911} \cdot \left(1.421413741 + \frac{1}{1 + \left|x\right| \cdot 0.3275911} \cdot \left(\left(\left(1 - \left|x\right| \cdot 0.3275911\right) \cdot \frac{1}{1 - \left(\left|x\right| \cdot 0.3275911\right) \cdot \left(\left|x\right| \cdot 0.3275911\right)}\right) \cdot 1.061405429 + -1.453152027\right)\right)\right) \cdot \frac{1}{1 + \left|x\right| \cdot 0.3275911}\right)\right)}\right)\right)}}\right)}^{\left(\sqrt[3]{\log \left(\log \left(e^{1 - e^{\left(-\left|x\right|\right) \cdot \left|x\right|} \cdot \left(\frac{1}{1 + \left|x\right| \cdot 0.3275911} \cdot \left(0.254829592 + \left(-0.284496736 + \frac{1}{1 + \left|x\right| \cdot 0.3275911} \cdot \left(1.421413741 + \frac{1}{1 + \left|x\right| \cdot 0.3275911} \cdot \left(\left(\left(1 - \left|x\right| \cdot 0.3275911\right) \cdot \frac{1}{1 - \left(\left|x\right| \cdot 0.3275911\right) \cdot \left(\left|x\right| \cdot 0.3275911\right)}\right) \cdot 1.061405429 + -1.453152027\right)\right)\right) \cdot \frac{1}{1 + \left|x\right| \cdot 0.3275911}\right)\right)}\right)\right)}\right)}double f(double x) {
double r32453619 = 1.0;
double r32453620 = 0.3275911;
double r32453621 = x;
double r32453622 = fabs(r32453621);
double r32453623 = r32453620 * r32453622;
double r32453624 = r32453619 + r32453623;
double r32453625 = r32453619 / r32453624;
double r32453626 = 0.254829592;
double r32453627 = -0.284496736;
double r32453628 = 1.421413741;
double r32453629 = -1.453152027;
double r32453630 = 1.061405429;
double r32453631 = r32453625 * r32453630;
double r32453632 = r32453629 + r32453631;
double r32453633 = r32453625 * r32453632;
double r32453634 = r32453628 + r32453633;
double r32453635 = r32453625 * r32453634;
double r32453636 = r32453627 + r32453635;
double r32453637 = r32453625 * r32453636;
double r32453638 = r32453626 + r32453637;
double r32453639 = r32453625 * r32453638;
double r32453640 = r32453622 * r32453622;
double r32453641 = -r32453640;
double r32453642 = exp(r32453641);
double r32453643 = r32453639 * r32453642;
double r32453644 = r32453619 - r32453643;
return r32453644;
}
double f(double x) {
double r32453645 = 1.0;
double r32453646 = x;
double r32453647 = fabs(r32453646);
double r32453648 = -r32453647;
double r32453649 = r32453648 * r32453647;
double r32453650 = exp(r32453649);
double r32453651 = 0.3275911;
double r32453652 = r32453647 * r32453651;
double r32453653 = r32453645 + r32453652;
double r32453654 = r32453645 / r32453653;
double r32453655 = 0.254829592;
double r32453656 = -0.284496736;
double r32453657 = 1.421413741;
double r32453658 = r32453645 - r32453652;
double r32453659 = r32453652 * r32453652;
double r32453660 = r32453645 - r32453659;
double r32453661 = r32453645 / r32453660;
double r32453662 = r32453658 * r32453661;
double r32453663 = 1.061405429;
double r32453664 = r32453662 * r32453663;
double r32453665 = -1.453152027;
double r32453666 = r32453664 + r32453665;
double r32453667 = r32453654 * r32453666;
double r32453668 = r32453657 + r32453667;
double r32453669 = r32453654 * r32453668;
double r32453670 = r32453656 + r32453669;
double r32453671 = r32453670 * r32453654;
double r32453672 = r32453655 + r32453671;
double r32453673 = r32453654 * r32453672;
double r32453674 = r32453650 * r32453673;
double r32453675 = r32453645 - r32453674;
double r32453676 = exp(r32453675);
double r32453677 = log(r32453676);
double r32453678 = log(r32453677);
double r32453679 = cbrt(r32453678);
double r32453680 = r32453679 * r32453679;
double r32453681 = exp(r32453680);
double r32453682 = pow(r32453681, r32453679);
return r32453682;
}



Bits error versus x
Results
Initial program 13.8
rmApplied flip-+13.8
Applied associate-/r/13.8
rmApplied add-log-exp13.8
rmApplied add-exp-log13.8
rmApplied add-cube-cbrt13.8
Applied exp-prod13.8
Final simplification13.8
herbie shell --seed 2019107 +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)))))))