\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 273.9633798024049156083492562174797058105:\\
\;\;\;\;\frac{\left(\sqrt[3]{\left(0.6666666666666667406815349750104360282421 \cdot {x}^{3} + 2\right) - 1 \cdot {x}^{2}} \cdot \sqrt[3]{\left(0.6666666666666667406815349750104360282421 \cdot {x}^{3} + 2\right) - 1 \cdot {x}^{2}}\right) \cdot \frac{\frac{\sqrt[3]{{\left(0.6666666666666667406815349750104360282421 \cdot {x}^{3} + 2\right)}^{3} - {\left(1 \cdot {x}^{2}\right)}^{3}}}{\sqrt[3]{\sqrt{\left(0.6666666666666667406815349750104360282421 \cdot {x}^{3} + 2\right) \cdot \left(0.6666666666666667406815349750104360282421 \cdot {x}^{3} + 2\right) + \left(\left(1 \cdot {x}^{2}\right) \cdot \left(1 \cdot {x}^{2}\right) + \left(0.6666666666666667406815349750104360282421 \cdot {x}^{3} + 2\right) \cdot \left(1 \cdot {x}^{2}\right)\right)}}}}{\sqrt[3]{\sqrt{\left(0.6666666666666667406815349750104360282421 \cdot {x}^{3} + 2\right) \cdot \left(0.6666666666666667406815349750104360282421 \cdot {x}^{3} + 2\right) + \left(\left(1 \cdot {x}^{2}\right) \cdot \left(1 \cdot {x}^{2}\right) + \left(0.6666666666666667406815349750104360282421 \cdot {x}^{3} + 2\right) \cdot \left(1 \cdot {x}^{2}\right)\right)}}}}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\left(1 + \frac{1}{\varepsilon}\right) \cdot e^{-\left(1 - \varepsilon\right) \cdot x} - 1 \cdot \left(\frac{e^{-\left(x \cdot \varepsilon + 1 \cdot x\right)}}{\varepsilon} - e^{-\left(x \cdot \varepsilon + 1 \cdot x\right)}\right)}{2}\\
\end{array}double f(double x, double eps) {
double r46195 = 1.0;
double r46196 = eps;
double r46197 = r46195 / r46196;
double r46198 = r46195 + r46197;
double r46199 = r46195 - r46196;
double r46200 = x;
double r46201 = r46199 * r46200;
double r46202 = -r46201;
double r46203 = exp(r46202);
double r46204 = r46198 * r46203;
double r46205 = r46197 - r46195;
double r46206 = r46195 + r46196;
double r46207 = r46206 * r46200;
double r46208 = -r46207;
double r46209 = exp(r46208);
double r46210 = r46205 * r46209;
double r46211 = r46204 - r46210;
double r46212 = 2.0;
double r46213 = r46211 / r46212;
return r46213;
}
double f(double x, double eps) {
double r46214 = x;
double r46215 = 273.9633798024049;
bool r46216 = r46214 <= r46215;
double r46217 = 0.6666666666666667;
double r46218 = 3.0;
double r46219 = pow(r46214, r46218);
double r46220 = r46217 * r46219;
double r46221 = 2.0;
double r46222 = r46220 + r46221;
double r46223 = 1.0;
double r46224 = 2.0;
double r46225 = pow(r46214, r46224);
double r46226 = r46223 * r46225;
double r46227 = r46222 - r46226;
double r46228 = cbrt(r46227);
double r46229 = r46228 * r46228;
double r46230 = pow(r46222, r46218);
double r46231 = pow(r46226, r46218);
double r46232 = r46230 - r46231;
double r46233 = cbrt(r46232);
double r46234 = r46222 * r46222;
double r46235 = r46226 * r46226;
double r46236 = r46222 * r46226;
double r46237 = r46235 + r46236;
double r46238 = r46234 + r46237;
double r46239 = sqrt(r46238);
double r46240 = cbrt(r46239);
double r46241 = r46233 / r46240;
double r46242 = r46241 / r46240;
double r46243 = r46229 * r46242;
double r46244 = r46243 / r46221;
double r46245 = eps;
double r46246 = r46223 / r46245;
double r46247 = r46223 + r46246;
double r46248 = r46223 - r46245;
double r46249 = r46248 * r46214;
double r46250 = -r46249;
double r46251 = exp(r46250);
double r46252 = r46247 * r46251;
double r46253 = r46214 * r46245;
double r46254 = r46223 * r46214;
double r46255 = r46253 + r46254;
double r46256 = -r46255;
double r46257 = exp(r46256);
double r46258 = r46257 / r46245;
double r46259 = r46258 - r46257;
double r46260 = r46223 * r46259;
double r46261 = r46252 - r46260;
double r46262 = r46261 / r46221;
double r46263 = r46216 ? r46244 : r46262;
return r46263;
}



Bits error versus x



Bits error versus eps
Results
if x < 273.9633798024049Initial program 39.1
Taylor expanded around 0 1.4
rmApplied add-cube-cbrt2.9
rmApplied flip3--2.9
Applied cbrt-div2.4
rmApplied add-sqr-sqrt2.4
Applied cbrt-prod1.4
Applied associate-/r*1.4
if 273.9633798024049 < x Initial program 0.1
Taylor expanded around inf 0.1
Simplified0.1
Final simplification1.1
herbie shell --seed 2019353
(FPCore (x eps)
:name "NMSE Section 6.1 mentioned, A"
:precision binary64
(/ (- (* (+ 1 (/ 1 eps)) (exp (- (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (- (* (+ 1 eps) x))))) 2))