1 - \left(\frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot \left(0.2548295919999999936678136691625695675611 + \frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot \left(-0.2844967359999999723108032867457950487733 + \frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot \left(1.421413741000000063863240029604639858007 + \frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot \left(-1.453152027000000012790792425221297889948 + \frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot 1.061405428999999900341322245367337018251\right)\right)\right)\right)\right) \cdot e^{-\left|x\right| \cdot \left|x\right|}e^{\log \left(1 - e^{-{\left(\left|x\right|\right)}^{2}} \cdot \left(\left(0.2548295919999999936678136691625695675611 + \frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot \left(-0.2844967359999999723108032867457950487733 + \frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot \left(\frac{1 \cdot \left(\log \left({\left(e^{\frac{1}{1 \cdot 1 - 0.3275911000000000239396058532292954623699 \cdot \left(0.3275911000000000239396058532292954623699 \cdot {\left(\left|x\right|\right)}^{2}\right)}}\right)}^{\left(1.061405428999999900341322245367337018251 \cdot \left(1 - 0.3275911000000000239396058532292954623699 \cdot \left|x\right|\right)\right)}\right) + -1.453152027000000012790792425221297889948\right)}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} + 1.421413741000000063863240029604639858007\right)\right)\right) \cdot \frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|}\right)\right)}double f(double x) {
double r244782 = 1.0;
double r244783 = 0.3275911;
double r244784 = x;
double r244785 = fabs(r244784);
double r244786 = r244783 * r244785;
double r244787 = r244782 + r244786;
double r244788 = r244782 / r244787;
double r244789 = 0.254829592;
double r244790 = -0.284496736;
double r244791 = 1.421413741;
double r244792 = -1.453152027;
double r244793 = 1.061405429;
double r244794 = r244788 * r244793;
double r244795 = r244792 + r244794;
double r244796 = r244788 * r244795;
double r244797 = r244791 + r244796;
double r244798 = r244788 * r244797;
double r244799 = r244790 + r244798;
double r244800 = r244788 * r244799;
double r244801 = r244789 + r244800;
double r244802 = r244788 * r244801;
double r244803 = r244785 * r244785;
double r244804 = -r244803;
double r244805 = exp(r244804);
double r244806 = r244802 * r244805;
double r244807 = r244782 - r244806;
return r244807;
}
double f(double x) {
double r244808 = 1.0;
double r244809 = x;
double r244810 = fabs(r244809);
double r244811 = 2.0;
double r244812 = pow(r244810, r244811);
double r244813 = -r244812;
double r244814 = exp(r244813);
double r244815 = 0.254829592;
double r244816 = 0.3275911;
double r244817 = r244816 * r244810;
double r244818 = r244808 + r244817;
double r244819 = r244808 / r244818;
double r244820 = -0.284496736;
double r244821 = r244808 * r244808;
double r244822 = r244816 * r244812;
double r244823 = r244816 * r244822;
double r244824 = r244821 - r244823;
double r244825 = r244808 / r244824;
double r244826 = exp(r244825);
double r244827 = 1.061405429;
double r244828 = r244808 - r244817;
double r244829 = r244827 * r244828;
double r244830 = pow(r244826, r244829);
double r244831 = log(r244830);
double r244832 = -1.453152027;
double r244833 = r244831 + r244832;
double r244834 = r244808 * r244833;
double r244835 = r244834 / r244818;
double r244836 = 1.421413741;
double r244837 = r244835 + r244836;
double r244838 = r244819 * r244837;
double r244839 = r244820 + r244838;
double r244840 = r244819 * r244839;
double r244841 = r244815 + r244840;
double r244842 = r244841 * r244819;
double r244843 = r244814 * r244842;
double r244844 = r244808 - r244843;
double r244845 = log(r244844);
double r244846 = exp(r244845);
return r244846;
}



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