\frac{2}{1 + e^{-2 \cdot x}} - 1\begin{array}{l}
\mathbf{if}\;x \le -0.006778948484773374:\\
\;\;\;\;\frac{\frac{\frac{8}{1 + e^{-2 \cdot x}}}{\left(1 + e^{-2 \cdot x}\right) \cdot \left(1 + e^{-2 \cdot x}\right)} - 1}{\mathsf{fma}\left(\frac{2}{1 + e^{-2 \cdot x}}, \frac{2}{1 + e^{-2 \cdot x}}, \frac{2}{1 + e^{-2 \cdot x}} + 1\right)}\\
\mathbf{elif}\;x \le 0.006963305059651398:\\
\;\;\;\;\mathsf{fma}\left(\frac{-1}{3}, \left(x \cdot x\right) \cdot x, \mathsf{fma}\left({x}^{5}, \frac{2}{15}, x\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\frac{8}{1 + e^{-2 \cdot x}}}{\left(1 + e^{-2 \cdot x}\right) \cdot \left(1 + e^{-2 \cdot x}\right)} - 1}{\mathsf{fma}\left(\frac{2}{1 + e^{-2 \cdot x}}, \frac{2}{1 + e^{-2 \cdot x}}, \frac{2}{1 + e^{-2 \cdot x}} + 1\right)}\\
\end{array}double f(double x, double __attribute__((unused)) y) {
double r1940165 = 2.0;
double r1940166 = 1.0;
double r1940167 = -2.0;
double r1940168 = x;
double r1940169 = r1940167 * r1940168;
double r1940170 = exp(r1940169);
double r1940171 = r1940166 + r1940170;
double r1940172 = r1940165 / r1940171;
double r1940173 = r1940172 - r1940166;
return r1940173;
}
double f(double x, double __attribute__((unused)) y) {
double r1940174 = x;
double r1940175 = -0.006778948484773374;
bool r1940176 = r1940174 <= r1940175;
double r1940177 = 8.0;
double r1940178 = 1.0;
double r1940179 = -2.0;
double r1940180 = r1940179 * r1940174;
double r1940181 = exp(r1940180);
double r1940182 = r1940178 + r1940181;
double r1940183 = r1940177 / r1940182;
double r1940184 = r1940182 * r1940182;
double r1940185 = r1940183 / r1940184;
double r1940186 = r1940185 - r1940178;
double r1940187 = 2.0;
double r1940188 = r1940187 / r1940182;
double r1940189 = r1940188 + r1940178;
double r1940190 = fma(r1940188, r1940188, r1940189);
double r1940191 = r1940186 / r1940190;
double r1940192 = 0.006963305059651398;
bool r1940193 = r1940174 <= r1940192;
double r1940194 = -0.3333333333333333;
double r1940195 = r1940174 * r1940174;
double r1940196 = r1940195 * r1940174;
double r1940197 = 5.0;
double r1940198 = pow(r1940174, r1940197);
double r1940199 = 0.13333333333333333;
double r1940200 = fma(r1940198, r1940199, r1940174);
double r1940201 = fma(r1940194, r1940196, r1940200);
double r1940202 = r1940193 ? r1940201 : r1940191;
double r1940203 = r1940176 ? r1940191 : r1940202;
return r1940203;
}



Bits error versus x



Bits error versus y
if x < -0.006778948484773374 or 0.006963305059651398 < x Initial program 0.0
rmApplied flip3--0.0
Simplified0.0
Simplified0.0
if -0.006778948484773374 < x < 0.006963305059651398Initial program 58.9
Taylor expanded around 0 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019163 +o rules:numerics
(FPCore (x y)
:name "Logistic function from Lakshay Garg"
(- (/ 2 (+ 1 (exp (* -2 x)))) 1))