\frac{2}{1 + e^{-2 \cdot x}} - 1\begin{array}{l}
\mathbf{if}\;-2 \cdot x \le -2.66125213953473545 \cdot 10^{30} \lor \neg \left(-2 \cdot x \le 2.69769158723092915 \cdot 10^{-5}\right):\\
\;\;\;\;\log \left(e^{\log \left(e^{\frac{2}{1 + e^{-2 \cdot x}}}\right) - 1}\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(1, x, -\mathsf{fma}\left(5.55112 \cdot 10^{-17}, {x}^{4}, 0.33333333333333337 \cdot {x}^{3}\right)\right)\\
\end{array}double code(double x, double y) {
return ((2.0 / (1.0 + exp((-2.0 * x)))) - 1.0);
}
double code(double x, double y) {
double VAR;
if ((((-2.0 * x) <= -2.6612521395347354e+30) || !((-2.0 * x) <= 2.697691587230929e-05))) {
VAR = log(exp((log(exp((2.0 / (1.0 + exp((-2.0 * x)))))) - 1.0)));
} else {
VAR = fma(1.0, x, -fma(5.551115123125783e-17, pow(x, 4.0), (0.33333333333333337 * pow(x, 3.0))));
}
return VAR;
}



Bits error versus x



Bits error versus y
Results
if (* -2.0 x) < -2.6612521395347354e+30 or 2.697691587230929e-05 < (* -2.0 x) Initial program 0.1
rmApplied add-log-exp0.1
Applied add-log-exp0.1
Applied diff-log0.1
Simplified0.1
rmApplied add-log-exp0.1
if -2.6612521395347354e+30 < (* -2.0 x) < 2.697691587230929e-05Initial program 56.5
Taylor expanded around 0 3.0
Simplified3.0
Final simplification1.6
herbie shell --seed 2020100 +o rules:numerics
(FPCore (x y)
:name "Logistic function from Lakshay Garg"
:precision binary64
(- (/ 2 (+ 1 (exp (* -2 x)))) 1))