\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}\begin{array}{l}
\mathbf{if}\;x \le 1.61693036959920855011318963079247623682:\\
\;\;\;\;\left(\left(\sqrt[3]{\sqrt[3]{\frac{\left(2 + \left(\left(x \cdot x\right) \cdot x\right) \cdot 0.6666666666666667406815349750104360282421\right) - 1 \cdot \left(x \cdot x\right)}{2}} \cdot \sqrt[3]{\frac{\left(2 + \left(\left(x \cdot x\right) \cdot x\right) \cdot 0.6666666666666667406815349750104360282421\right) - 1 \cdot \left(x \cdot x\right)}{2}}} \cdot \sqrt[3]{\sqrt[3]{\frac{\left(2 + \left(\left(x \cdot x\right) \cdot x\right) \cdot 0.6666666666666667406815349750104360282421\right) - 1 \cdot \left(x \cdot x\right)}{2}}}\right) \cdot \sqrt[3]{\frac{\left(2 + \left(\left(x \cdot x\right) \cdot x\right) \cdot 0.6666666666666667406815349750104360282421\right) - 1 \cdot \left(x \cdot x\right)}{2}}\right) \cdot \sqrt[3]{\frac{\left(2 + \left(\left(x \cdot x\right) \cdot x\right) \cdot 0.6666666666666667406815349750104360282421\right) - 1 \cdot \left(x \cdot x\right)}{2}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\left(\left(\frac{e^{x \cdot \left(\varepsilon - 1\right)}}{\varepsilon} + e^{x \cdot \left(\varepsilon - 1\right)}\right) - \frac{e^{x \cdot \left(-\left(1 + \varepsilon\right)\right)}}{\varepsilon}\right) \cdot 1 + 1 \cdot e^{x \cdot \left(-\left(1 + \varepsilon\right)\right)}}{2}\\
\end{array}double f(double x, double eps) {
double r3202223 = 1.0;
double r3202224 = eps;
double r3202225 = r3202223 / r3202224;
double r3202226 = r3202223 + r3202225;
double r3202227 = r3202223 - r3202224;
double r3202228 = x;
double r3202229 = r3202227 * r3202228;
double r3202230 = -r3202229;
double r3202231 = exp(r3202230);
double r3202232 = r3202226 * r3202231;
double r3202233 = r3202225 - r3202223;
double r3202234 = r3202223 + r3202224;
double r3202235 = r3202234 * r3202228;
double r3202236 = -r3202235;
double r3202237 = exp(r3202236);
double r3202238 = r3202233 * r3202237;
double r3202239 = r3202232 - r3202238;
double r3202240 = 2.0;
double r3202241 = r3202239 / r3202240;
return r3202241;
}
double f(double x, double eps) {
double r3202242 = x;
double r3202243 = 1.6169303695992086;
bool r3202244 = r3202242 <= r3202243;
double r3202245 = 2.0;
double r3202246 = r3202242 * r3202242;
double r3202247 = r3202246 * r3202242;
double r3202248 = 0.6666666666666667;
double r3202249 = r3202247 * r3202248;
double r3202250 = r3202245 + r3202249;
double r3202251 = 1.0;
double r3202252 = r3202251 * r3202246;
double r3202253 = r3202250 - r3202252;
double r3202254 = r3202253 / r3202245;
double r3202255 = cbrt(r3202254);
double r3202256 = r3202255 * r3202255;
double r3202257 = cbrt(r3202256);
double r3202258 = cbrt(r3202255);
double r3202259 = r3202257 * r3202258;
double r3202260 = r3202259 * r3202255;
double r3202261 = r3202260 * r3202255;
double r3202262 = eps;
double r3202263 = r3202262 - r3202251;
double r3202264 = r3202242 * r3202263;
double r3202265 = exp(r3202264);
double r3202266 = r3202265 / r3202262;
double r3202267 = r3202266 + r3202265;
double r3202268 = r3202251 + r3202262;
double r3202269 = -r3202268;
double r3202270 = r3202242 * r3202269;
double r3202271 = exp(r3202270);
double r3202272 = r3202271 / r3202262;
double r3202273 = r3202267 - r3202272;
double r3202274 = r3202273 * r3202251;
double r3202275 = r3202251 * r3202271;
double r3202276 = r3202274 + r3202275;
double r3202277 = r3202276 / r3202245;
double r3202278 = r3202244 ? r3202261 : r3202277;
return r3202278;
}



Bits error versus x



Bits error versus eps
Results
if x < 1.6169303695992086Initial program 39.3
Taylor expanded around 0 1.2
Simplified1.2
rmApplied add-cube-cbrt1.2
rmApplied add-cube-cbrt1.2
Applied cbrt-prod1.2
if 1.6169303695992086 < x Initial program 0.6
Taylor expanded around inf 0.6
Simplified0.5
Final simplification1.0
herbie shell --seed 2019172
(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))