\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 r1940168 = 2.0;
double r1940169 = 1.0;
double r1940170 = -2.0;
double r1940171 = x;
double r1940172 = r1940170 * r1940171;
double r1940173 = exp(r1940172);
double r1940174 = r1940169 + r1940173;
double r1940175 = r1940168 / r1940174;
double r1940176 = r1940175 - r1940169;
return r1940176;
}
double f(double x, double __attribute__((unused)) y) {
double r1940177 = x;
double r1940178 = -0.006778948484773374;
bool r1940179 = r1940177 <= r1940178;
double r1940180 = 8.0;
double r1940181 = 1.0;
double r1940182 = -2.0;
double r1940183 = r1940182 * r1940177;
double r1940184 = exp(r1940183);
double r1940185 = r1940181 + r1940184;
double r1940186 = r1940180 / r1940185;
double r1940187 = r1940185 * r1940185;
double r1940188 = r1940186 / r1940187;
double r1940189 = r1940188 - r1940181;
double r1940190 = 2.0;
double r1940191 = r1940190 / r1940185;
double r1940192 = r1940191 + r1940181;
double r1940193 = fma(r1940191, r1940191, r1940192);
double r1940194 = r1940189 / r1940193;
double r1940195 = 0.006963305059651398;
bool r1940196 = r1940177 <= r1940195;
double r1940197 = -0.3333333333333333;
double r1940198 = r1940177 * r1940177;
double r1940199 = r1940198 * r1940177;
double r1940200 = 5.0;
double r1940201 = pow(r1940177, r1940200);
double r1940202 = 0.13333333333333333;
double r1940203 = fma(r1940201, r1940202, r1940177);
double r1940204 = fma(r1940197, r1940199, r1940203);
double r1940205 = r1940196 ? r1940204 : r1940194;
double r1940206 = r1940179 ? r1940194 : r1940205;
return r1940206;
}



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))