\frac{2}{1 + e^{-2 \cdot x}} - 1\begin{array}{l}
\mathbf{if}\;-2 \cdot x \le -1.7297142739317407 \cdot 10^{+18}:\\
\;\;\;\;\frac{2}{e^{-2 \cdot x} + 1} - 1\\
\mathbf{elif}\;-2 \cdot x \le 1.5895218096725198 \cdot 10^{-06}:\\
\;\;\;\;\mathsf{fma}\left(x \cdot \left(x \cdot x\right), \frac{-1}{3}, \mathsf{fma}\left({x}^{5}, \frac{2}{15}, x\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{2}{e^{-2 \cdot x} + 1} - 1\\
\end{array}double f(double x, double __attribute__((unused)) y) {
double r1702089 = 2.0;
double r1702090 = 1.0;
double r1702091 = -2.0;
double r1702092 = x;
double r1702093 = r1702091 * r1702092;
double r1702094 = exp(r1702093);
double r1702095 = r1702090 + r1702094;
double r1702096 = r1702089 / r1702095;
double r1702097 = r1702096 - r1702090;
return r1702097;
}
double f(double x, double __attribute__((unused)) y) {
double r1702098 = -2.0;
double r1702099 = x;
double r1702100 = r1702098 * r1702099;
double r1702101 = -1.7297142739317407e+18;
bool r1702102 = r1702100 <= r1702101;
double r1702103 = 2.0;
double r1702104 = exp(r1702100);
double r1702105 = 1.0;
double r1702106 = r1702104 + r1702105;
double r1702107 = r1702103 / r1702106;
double r1702108 = r1702107 - r1702105;
double r1702109 = 1.5895218096725198e-06;
bool r1702110 = r1702100 <= r1702109;
double r1702111 = r1702099 * r1702099;
double r1702112 = r1702099 * r1702111;
double r1702113 = -0.3333333333333333;
double r1702114 = 5.0;
double r1702115 = pow(r1702099, r1702114);
double r1702116 = 0.13333333333333333;
double r1702117 = fma(r1702115, r1702116, r1702099);
double r1702118 = fma(r1702112, r1702113, r1702117);
double r1702119 = r1702110 ? r1702118 : r1702108;
double r1702120 = r1702102 ? r1702108 : r1702119;
return r1702120;
}



Bits error versus x



Bits error versus y
if (* -2 x) < -1.7297142739317407e+18 or 1.5895218096725198e-06 < (* -2 x) Initial program 0.1
if -1.7297142739317407e+18 < (* -2 x) < 1.5895218096725198e-06Initial program 57.5
Taylor expanded around 0 1.7
Simplified1.7
Final simplification0.9
herbie shell --seed 2019146 +o rules:numerics
(FPCore (x y)
:name "Logistic function from Lakshay Garg"
(- (/ 2 (+ 1 (exp (* -2 x)))) 1))