\frac{2}{1 + e^{-2 \cdot x}} - 1\begin{array}{l}
\mathbf{if}\;x \le -0.008471190016557226:\\
\;\;\;\;\frac{2}{e^{-2 \cdot x} + 1} - 1\\
\mathbf{elif}\;x \le 0.007486431308016665:\\
\;\;\;\;\mathsf{fma}\left(\frac{-1}{3}, x \cdot \left(x \cdot x\right), \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 r1285845 = 2.0;
double r1285846 = 1.0;
double r1285847 = -2.0;
double r1285848 = x;
double r1285849 = r1285847 * r1285848;
double r1285850 = exp(r1285849);
double r1285851 = r1285846 + r1285850;
double r1285852 = r1285845 / r1285851;
double r1285853 = r1285852 - r1285846;
return r1285853;
}
double f(double x, double __attribute__((unused)) y) {
double r1285854 = x;
double r1285855 = -0.008471190016557226;
bool r1285856 = r1285854 <= r1285855;
double r1285857 = 2.0;
double r1285858 = -2.0;
double r1285859 = r1285858 * r1285854;
double r1285860 = exp(r1285859);
double r1285861 = 1.0;
double r1285862 = r1285860 + r1285861;
double r1285863 = r1285857 / r1285862;
double r1285864 = r1285863 - r1285861;
double r1285865 = 0.007486431308016665;
bool r1285866 = r1285854 <= r1285865;
double r1285867 = -0.3333333333333333;
double r1285868 = r1285854 * r1285854;
double r1285869 = r1285854 * r1285868;
double r1285870 = 5.0;
double r1285871 = pow(r1285854, r1285870);
double r1285872 = 0.13333333333333333;
double r1285873 = fma(r1285871, r1285872, r1285854);
double r1285874 = fma(r1285867, r1285869, r1285873);
double r1285875 = r1285866 ? r1285874 : r1285864;
double r1285876 = r1285856 ? r1285864 : r1285875;
return r1285876;
}



Bits error versus x



Bits error versus y
if x < -0.008471190016557226 or 0.007486431308016665 < x Initial program 0.0
Taylor expanded around inf 0.0
Simplified0.0
if -0.008471190016557226 < x < 0.007486431308016665Initial program 59.0
Taylor expanded around inf 59.0
Simplified59.0
Taylor expanded around 0 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019135 +o rules:numerics
(FPCore (x y)
:name "Logistic function from Lakshay Garg"
(- (/ 2 (+ 1 (exp (* -2 x)))) 1))