\frac{2}{1 + e^{-2 \cdot x}} - 1\begin{array}{l}
\mathbf{if}\;-2 \cdot x \le -0.008574052355382087:\\
\;\;\;\;\frac{2}{e^{-2 \cdot x} + 1} - 1\\
\mathbf{elif}\;-2 \cdot x \le 1.4278659301426067 \cdot 10^{-07}:\\
\;\;\;\;\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 r2212689 = 2.0;
double r2212690 = 1.0;
double r2212691 = -2.0;
double r2212692 = x;
double r2212693 = r2212691 * r2212692;
double r2212694 = exp(r2212693);
double r2212695 = r2212690 + r2212694;
double r2212696 = r2212689 / r2212695;
double r2212697 = r2212696 - r2212690;
return r2212697;
}
double f(double x, double __attribute__((unused)) y) {
double r2212698 = -2.0;
double r2212699 = x;
double r2212700 = r2212698 * r2212699;
double r2212701 = -0.008574052355382087;
bool r2212702 = r2212700 <= r2212701;
double r2212703 = 2.0;
double r2212704 = exp(r2212700);
double r2212705 = 1.0;
double r2212706 = r2212704 + r2212705;
double r2212707 = r2212703 / r2212706;
double r2212708 = r2212707 - r2212705;
double r2212709 = 1.4278659301426067e-07;
bool r2212710 = r2212700 <= r2212709;
double r2212711 = r2212699 * r2212699;
double r2212712 = r2212699 * r2212711;
double r2212713 = -0.3333333333333333;
double r2212714 = 5.0;
double r2212715 = pow(r2212699, r2212714);
double r2212716 = 0.13333333333333333;
double r2212717 = fma(r2212715, r2212716, r2212699);
double r2212718 = fma(r2212712, r2212713, r2212717);
double r2212719 = r2212710 ? r2212718 : r2212708;
double r2212720 = r2212702 ? r2212708 : r2212719;
return r2212720;
}



Bits error versus x



Bits error versus y
if (* -2 x) < -0.008574052355382087 or 1.4278659301426067e-07 < (* -2 x) Initial program 0.1
Taylor expanded around inf 0.1
Simplified0.1
if -0.008574052355382087 < (* -2 x) < 1.4278659301426067e-07Initial program 59.3
Taylor expanded around inf 59.3
Simplified59.3
Taylor expanded around 0 0.0
Simplified0.0
Final simplification0.1
herbie shell --seed 2019151 +o rules:numerics
(FPCore (x y)
:name "Logistic function from Lakshay Garg"
(- (/ 2 (+ 1 (exp (* -2 x)))) 1))