double f(double x, double eps) {
double r7597356 = 1.0;
double r7597357 = eps;
double r7597358 = r7597356 / r7597357;
double r7597359 = r7597356 + r7597358;
double r7597360 = r7597356 - r7597357;
double r7597361 = x;
double r7597362 = r7597360 * r7597361;
double r7597363 = -r7597362;
double r7597364 = exp(r7597363);
double r7597365 = r7597359 * r7597364;
double r7597366 = r7597358 - r7597356;
double r7597367 = r7597356 + r7597357;
double r7597368 = r7597367 * r7597361;
double r7597369 = -r7597368;
double r7597370 = exp(r7597369);
double r7597371 = r7597366 * r7597370;
double r7597372 = r7597365 - r7597371;
double r7597373 = 2.0;
double r7597374 = r7597372 / r7597373;
return r7597374;
}
double f(double x, double eps) {
double r7597375 = x;
double r7597376 = 240.6932575900809;
bool r7597377 = r7597375 <= r7597376;
double r7597378 = r7597375 * r7597375;
double r7597379 = r7597378 * r7597375;
double r7597380 = 0.6666666666666666;
double r7597381 = 2.0;
double r7597382 = r7597381 - r7597378;
double r7597383 = fma(r7597379, r7597380, r7597382);
double r7597384 = r7597383 / r7597381;
double r7597385 = eps;
double r7597386 = r7597375 * r7597385;
double r7597387 = r7597375 + r7597386;
double r7597388 = -r7597387;
double r7597389 = exp(r7597388);
double r7597390 = r7597386 - r7597375;
double r7597391 = exp(r7597390);
double r7597392 = r7597389 + r7597391;
double r7597393 = r7597391 / r7597385;
double r7597394 = r7597392 + r7597393;
double r7597395 = r7597389 / r7597385;
double r7597396 = r7597394 - r7597395;
double r7597397 = r7597396 / r7597381;
double r7597398 = r7597377 ? r7597384 : r7597397;
return r7597398;
}
\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 240.6932575900809:\\
\;\;\;\;\frac{(\left(\left(x \cdot x\right) \cdot x\right) \cdot \frac{2}{3} + \left(2 - x \cdot x\right))_*}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\left(\left(e^{-\left(x + x \cdot \varepsilon\right)} + e^{x \cdot \varepsilon - x}\right) + \frac{e^{x \cdot \varepsilon - x}}{\varepsilon}\right) - \frac{e^{-\left(x + x \cdot \varepsilon\right)}}{\varepsilon}}{2}\\
\end{array}


Bits error versus x



Bits error versus eps
if x < 240.6932575900809Initial program 39.6
Taylor expanded around 0 1.1
Simplified1.1
if 240.6932575900809 < x Initial program 0.1
Taylor expanded around -inf 0.1
Final simplification0.9
herbie shell --seed 2019102 +o rules:numerics
(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))