\frac{\left(1 + \frac{1}{\varepsilon}\right) \cdot e^{-\left(1 - \varepsilon\right) \cdot x} - \left(\frac{1}{\varepsilon} - 1\right) \cdot e^{-\left(1 + \varepsilon\right) \cdot x}}{2}\frac{e^{\sqrt[3]{\left(\varepsilon + -1\right) \cdot x} \cdot \left(\sqrt[3]{\left(\varepsilon + -1\right) \cdot x} \cdot \sqrt[3]{\left(\varepsilon + -1\right) \cdot x}\right)} + \left(\left(\frac{e^{\left(\varepsilon + -1\right) \cdot x}}{\varepsilon} - \frac{e^{\left(-1 - \varepsilon\right) \cdot x}}{\varepsilon}\right) + e^{\left(-1 - \varepsilon\right) \cdot x}\right)}{2}double f(double x, double eps) {
double r698854 = 1.0;
double r698855 = eps;
double r698856 = r698854 / r698855;
double r698857 = r698854 + r698856;
double r698858 = r698854 - r698855;
double r698859 = x;
double r698860 = r698858 * r698859;
double r698861 = -r698860;
double r698862 = exp(r698861);
double r698863 = r698857 * r698862;
double r698864 = r698856 - r698854;
double r698865 = r698854 + r698855;
double r698866 = r698865 * r698859;
double r698867 = -r698866;
double r698868 = exp(r698867);
double r698869 = r698864 * r698868;
double r698870 = r698863 - r698869;
double r698871 = 2.0;
double r698872 = r698870 / r698871;
return r698872;
}
double f(double x, double eps) {
double r698873 = eps;
double r698874 = -1.0;
double r698875 = r698873 + r698874;
double r698876 = x;
double r698877 = r698875 * r698876;
double r698878 = cbrt(r698877);
double r698879 = r698878 * r698878;
double r698880 = r698878 * r698879;
double r698881 = exp(r698880);
double r698882 = exp(r698877);
double r698883 = r698882 / r698873;
double r698884 = r698874 - r698873;
double r698885 = r698884 * r698876;
double r698886 = exp(r698885);
double r698887 = r698886 / r698873;
double r698888 = r698883 - r698887;
double r698889 = r698888 + r698886;
double r698890 = r698881 + r698889;
double r698891 = 2.0;
double r698892 = r698890 / r698891;
return r698892;
}



Bits error versus x



Bits error versus eps
Results
Initial program 30.0
Simplified30.0
rmApplied associate--l+25.2
rmApplied associate--r-0.8
rmApplied add-cube-cbrt0.8
Final simplification0.8
herbie shell --seed 2019128
(FPCore (x eps)
:name "NMSE Section 6.1 mentioned, A"
(/ (- (* (+ 1 (/ 1 eps)) (exp (- (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (- (* (+ 1 eps) x))))) 2))