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|}1 - \left(\frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot \left(\left(0.2548295919999999936678136691625695675611 + \frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot -0.2844967359999999723108032867457950487733\right) + \frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot \left(\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 \cdot 1 - \left(0.3275911000000000239396058532292954623699 \cdot \left|x\right|\right) \cdot \left(0.3275911000000000239396058532292954623699 \cdot \left|x\right|\right)} \cdot \left(\left(1 - 0.3275911000000000239396058532292954623699 \cdot \left|x\right|\right) \cdot 1.061405428999999900341322245367337018251\right)\right)\right)\right)\right)\right) \cdot e^{-\left|x\right| \cdot \left|x\right|}double f(double x) {
double r252751 = 1.0;
double r252752 = 0.3275911;
double r252753 = x;
double r252754 = fabs(r252753);
double r252755 = r252752 * r252754;
double r252756 = r252751 + r252755;
double r252757 = r252751 / r252756;
double r252758 = 0.254829592;
double r252759 = -0.284496736;
double r252760 = 1.421413741;
double r252761 = -1.453152027;
double r252762 = 1.061405429;
double r252763 = r252757 * r252762;
double r252764 = r252761 + r252763;
double r252765 = r252757 * r252764;
double r252766 = r252760 + r252765;
double r252767 = r252757 * r252766;
double r252768 = r252759 + r252767;
double r252769 = r252757 * r252768;
double r252770 = r252758 + r252769;
double r252771 = r252757 * r252770;
double r252772 = r252754 * r252754;
double r252773 = -r252772;
double r252774 = exp(r252773);
double r252775 = r252771 * r252774;
double r252776 = r252751 - r252775;
return r252776;
}
double f(double x) {
double r252777 = 1.0;
double r252778 = 0.3275911;
double r252779 = x;
double r252780 = fabs(r252779);
double r252781 = r252778 * r252780;
double r252782 = r252777 + r252781;
double r252783 = r252777 / r252782;
double r252784 = 0.254829592;
double r252785 = -0.284496736;
double r252786 = r252783 * r252785;
double r252787 = r252784 + r252786;
double r252788 = 1.421413741;
double r252789 = -1.453152027;
double r252790 = r252777 * r252777;
double r252791 = r252781 * r252781;
double r252792 = r252790 - r252791;
double r252793 = r252777 / r252792;
double r252794 = r252777 - r252781;
double r252795 = 1.061405429;
double r252796 = r252794 * r252795;
double r252797 = r252793 * r252796;
double r252798 = r252789 + r252797;
double r252799 = r252783 * r252798;
double r252800 = r252788 + r252799;
double r252801 = r252783 * r252800;
double r252802 = r252783 * r252801;
double r252803 = r252787 + r252802;
double r252804 = r252783 * r252803;
double r252805 = r252780 * r252780;
double r252806 = -r252805;
double r252807 = exp(r252806);
double r252808 = r252804 * r252807;
double r252809 = r252777 - r252808;
return r252809;
}



Bits error versus x
Results
Initial program 13.9
rmApplied flip-+13.9
Applied associate-/r/13.9
Applied associate-*l*13.9
rmApplied distribute-lft-in13.9
Applied associate-+r+13.9
Final simplification13.9
herbie shell --seed 2019306
(FPCore (x)
:name "Jmat.Real.erf"
:precision binary64
(- 1 (* (* (/ 1 (+ 1 (* 0.32759110000000002 (fabs x)))) (+ 0.25482959199999999 (* (/ 1 (+ 1 (* 0.32759110000000002 (fabs x)))) (+ -0.284496735999999972 (* (/ 1 (+ 1 (* 0.32759110000000002 (fabs x)))) (+ 1.42141374100000006 (* (/ 1 (+ 1 (* 0.32759110000000002 (fabs x)))) (+ -1.45315202700000001 (* (/ 1 (+ 1 (* 0.32759110000000002 (fabs x)))) 1.0614054289999999))))))))) (exp (- (* (fabs x) (fabs x)))))))