\frac{2}{1 + e^{-2 \cdot x}} - 1\begin{array}{l}
\mathbf{if}\;x \le -0.007208096633899537:\\
\;\;\;\;\log \left(e^{\frac{\frac{2}{\sqrt{e^{-2 \cdot x} + 1}}}{\sqrt{e^{-2 \cdot x} + 1}} - 1}\right)\\
\mathbf{elif}\;x \le 0.006936161389017993:\\
\;\;\;\;\left(x \cdot \left(x \cdot x\right)\right) \cdot \frac{-1}{3} + \left(\frac{2}{15} \cdot {x}^{5} + x\right)\\
\mathbf{else}:\\
\;\;\;\;\log \left(e^{\frac{\frac{2}{\sqrt{e^{-2 \cdot x} + 1}}}{\sqrt{e^{-2 \cdot x} + 1}} - 1}\right)\\
\end{array}double f(double x, double __attribute__((unused)) y) {
double r1060836 = 2.0;
double r1060837 = 1.0;
double r1060838 = -2.0;
double r1060839 = x;
double r1060840 = r1060838 * r1060839;
double r1060841 = exp(r1060840);
double r1060842 = r1060837 + r1060841;
double r1060843 = r1060836 / r1060842;
double r1060844 = r1060843 - r1060837;
return r1060844;
}
double f(double x, double __attribute__((unused)) y) {
double r1060845 = x;
double r1060846 = -0.007208096633899537;
bool r1060847 = r1060845 <= r1060846;
double r1060848 = 2.0;
double r1060849 = -2.0;
double r1060850 = r1060849 * r1060845;
double r1060851 = exp(r1060850);
double r1060852 = 1.0;
double r1060853 = r1060851 + r1060852;
double r1060854 = sqrt(r1060853);
double r1060855 = r1060848 / r1060854;
double r1060856 = r1060855 / r1060854;
double r1060857 = r1060856 - r1060852;
double r1060858 = exp(r1060857);
double r1060859 = log(r1060858);
double r1060860 = 0.006936161389017993;
bool r1060861 = r1060845 <= r1060860;
double r1060862 = r1060845 * r1060845;
double r1060863 = r1060845 * r1060862;
double r1060864 = -0.3333333333333333;
double r1060865 = r1060863 * r1060864;
double r1060866 = 0.13333333333333333;
double r1060867 = 5.0;
double r1060868 = pow(r1060845, r1060867);
double r1060869 = r1060866 * r1060868;
double r1060870 = r1060869 + r1060845;
double r1060871 = r1060865 + r1060870;
double r1060872 = r1060861 ? r1060871 : r1060859;
double r1060873 = r1060847 ? r1060859 : r1060872;
return r1060873;
}



Bits error versus x



Bits error versus y
Results
if x < -0.007208096633899537 or 0.006936161389017993 < x Initial program 0.0
rmApplied add-log-exp0.0
rmApplied add-sqr-sqrt0.0
Applied associate-/r*0.0
if -0.007208096633899537 < x < 0.006936161389017993Initial program 59.0
Taylor expanded around 0 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019128
(FPCore (x y)
:name "Logistic function from Lakshay Garg"
(- (/ 2 (+ 1 (exp (* -2 x)))) 1))