\frac{2}{1 + e^{-2 \cdot x}} - 1\begin{array}{l}
\mathbf{if}\;-2 \cdot x \le -0.0132325776020981046:\\
\;\;\;\;\left(\sqrt[3]{\frac{\frac{2}{1 + e^{-2 \cdot x}} \cdot \frac{2}{1 + e^{-2 \cdot x}} - 1 \cdot 1}{\frac{2}{1 + e^{-2 \cdot x}} + 1}} \cdot \sqrt[3]{\frac{2}{1 + e^{-2 \cdot x}} - 1}\right) \cdot \sqrt[3]{\frac{2}{1 + e^{-2 \cdot x}} - 1}\\
\mathbf{elif}\;-2 \cdot x \le 2.72138255369031824 \cdot 10^{-5}:\\
\;\;\;\;1 \cdot x - \left(5.55112 \cdot 10^{-17} \cdot {x}^{4} + 0.33333333333333337 \cdot {x}^{3}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{\left(\sqrt[3]{1 + e^{-2 \cdot x}} \cdot \sqrt[3]{1 + e^{-2 \cdot x}}\right) \cdot \sqrt[3]{1 + e^{-2 \cdot x}}} - 1\\
\end{array}double f(double x, double __attribute__((unused)) y) {
double r59401 = 2.0;
double r59402 = 1.0;
double r59403 = -2.0;
double r59404 = x;
double r59405 = r59403 * r59404;
double r59406 = exp(r59405);
double r59407 = r59402 + r59406;
double r59408 = r59401 / r59407;
double r59409 = r59408 - r59402;
return r59409;
}
double f(double x, double __attribute__((unused)) y) {
double r59410 = -2.0;
double r59411 = x;
double r59412 = r59410 * r59411;
double r59413 = -0.013232577602098105;
bool r59414 = r59412 <= r59413;
double r59415 = 2.0;
double r59416 = 1.0;
double r59417 = exp(r59412);
double r59418 = r59416 + r59417;
double r59419 = r59415 / r59418;
double r59420 = r59419 * r59419;
double r59421 = r59416 * r59416;
double r59422 = r59420 - r59421;
double r59423 = r59419 + r59416;
double r59424 = r59422 / r59423;
double r59425 = cbrt(r59424);
double r59426 = r59419 - r59416;
double r59427 = cbrt(r59426);
double r59428 = r59425 * r59427;
double r59429 = r59428 * r59427;
double r59430 = 2.7213825536903182e-05;
bool r59431 = r59412 <= r59430;
double r59432 = r59416 * r59411;
double r59433 = 5.551115123125783e-17;
double r59434 = 4.0;
double r59435 = pow(r59411, r59434);
double r59436 = r59433 * r59435;
double r59437 = 0.33333333333333337;
double r59438 = 3.0;
double r59439 = pow(r59411, r59438);
double r59440 = r59437 * r59439;
double r59441 = r59436 + r59440;
double r59442 = r59432 - r59441;
double r59443 = cbrt(r59418);
double r59444 = r59443 * r59443;
double r59445 = r59444 * r59443;
double r59446 = r59415 / r59445;
double r59447 = r59446 - r59416;
double r59448 = r59431 ? r59442 : r59447;
double r59449 = r59414 ? r59429 : r59448;
return r59449;
}



Bits error versus x



Bits error versus y
Results
if (* -2.0 x) < -0.013232577602098105Initial program 0.0
rmApplied add-cube-cbrt0.0
rmApplied flip--0.0
if -0.013232577602098105 < (* -2.0 x) < 2.7213825536903182e-05Initial program 59.1
Taylor expanded around 0 0.0
if 2.7213825536903182e-05 < (* -2.0 x) Initial program 0.1
rmApplied add-cube-cbrt0.1
Final simplification0.0
herbie shell --seed 2020045
(FPCore (x y)
:name "Logistic function from Lakshay Garg"
:precision binary64
(- (/ 2 (+ 1 (exp (* -2 x)))) 1))