\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{\left(\left(\frac{e^{\left(-x\right) \cdot \left(1 - \varepsilon\right)}}{\varepsilon} - \frac{e^{\left(-x\right) \cdot \left(\varepsilon + 1\right)}}{\varepsilon}\right) + e^{\left(-x\right) \cdot \left(1 - \varepsilon\right)}\right) \cdot 1 + 1 \cdot e^{-\log \left(e^{\left(\varepsilon + 1\right) \cdot x}\right)}}{2}double f(double x, double eps) {
double r2351031 = 1.0;
double r2351032 = eps;
double r2351033 = r2351031 / r2351032;
double r2351034 = r2351031 + r2351033;
double r2351035 = r2351031 - r2351032;
double r2351036 = x;
double r2351037 = r2351035 * r2351036;
double r2351038 = -r2351037;
double r2351039 = exp(r2351038);
double r2351040 = r2351034 * r2351039;
double r2351041 = r2351033 - r2351031;
double r2351042 = r2351031 + r2351032;
double r2351043 = r2351042 * r2351036;
double r2351044 = -r2351043;
double r2351045 = exp(r2351044);
double r2351046 = r2351041 * r2351045;
double r2351047 = r2351040 - r2351046;
double r2351048 = 2.0;
double r2351049 = r2351047 / r2351048;
return r2351049;
}
double f(double x, double eps) {
double r2351050 = x;
double r2351051 = -r2351050;
double r2351052 = 1.0;
double r2351053 = eps;
double r2351054 = r2351052 - r2351053;
double r2351055 = r2351051 * r2351054;
double r2351056 = exp(r2351055);
double r2351057 = r2351056 / r2351053;
double r2351058 = r2351053 + r2351052;
double r2351059 = r2351051 * r2351058;
double r2351060 = exp(r2351059);
double r2351061 = r2351060 / r2351053;
double r2351062 = r2351057 - r2351061;
double r2351063 = r2351062 + r2351056;
double r2351064 = r2351063 * r2351052;
double r2351065 = r2351058 * r2351050;
double r2351066 = exp(r2351065);
double r2351067 = log(r2351066);
double r2351068 = -r2351067;
double r2351069 = exp(r2351068);
double r2351070 = r2351052 * r2351069;
double r2351071 = r2351064 + r2351070;
double r2351072 = 2.0;
double r2351073 = r2351071 / r2351072;
return r2351073;
}



Bits error versus x



Bits error versus eps
Results
Initial program 29.3
Taylor expanded around inf 29.3
Simplified24.6
rmApplied add-log-exp24.6
Taylor expanded around -inf 24.6
Simplified0.9
Final simplification0.9
herbie shell --seed 2019169
(FPCore (x eps)
:name "NMSE Section 6.1 mentioned, A"
(/ (- (* (+ 1.0 (/ 1.0 eps)) (exp (- (* (- 1.0 eps) x)))) (* (- (/ 1.0 eps) 1.0) (exp (- (* (+ 1.0 eps) x))))) 2.0))