\frac{2}{1 + e^{-2 \cdot x}} - 1\begin{array}{l}
\mathbf{if}\;-2 \cdot x \le -0.12853531169107207:\\
\;\;\;\;e^{\log \left(\sqrt[3]{\frac{2}{e^{-2 \cdot x} + 1} - 1} \cdot \sqrt[3]{\frac{2}{e^{-2 \cdot x} + 1} - 1}\right)} \cdot \sqrt[3]{\frac{2}{e^{-2 \cdot x} + 1} - 1}\\
\mathbf{elif}\;-2 \cdot x \le 0.0023969580591003724:\\
\;\;\;\;\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}:\\
\;\;\;\;e^{\log \left(\sqrt[3]{\frac{2}{e^{-2 \cdot x} + 1} - 1} \cdot \sqrt[3]{\frac{2}{e^{-2 \cdot x} + 1} - 1}\right)} \cdot \sqrt[3]{\frac{2}{e^{-2 \cdot x} + 1} - 1}\\
\end{array}double f(double x, double __attribute__((unused)) y) {
double r1425144 = 2.0;
double r1425145 = 1.0;
double r1425146 = -2.0;
double r1425147 = x;
double r1425148 = r1425146 * r1425147;
double r1425149 = exp(r1425148);
double r1425150 = r1425145 + r1425149;
double r1425151 = r1425144 / r1425150;
double r1425152 = r1425151 - r1425145;
return r1425152;
}
double f(double x, double __attribute__((unused)) y) {
double r1425153 = -2.0;
double r1425154 = x;
double r1425155 = r1425153 * r1425154;
double r1425156 = -0.12853531169107207;
bool r1425157 = r1425155 <= r1425156;
double r1425158 = 2.0;
double r1425159 = exp(r1425155);
double r1425160 = 1.0;
double r1425161 = r1425159 + r1425160;
double r1425162 = r1425158 / r1425161;
double r1425163 = r1425162 - r1425160;
double r1425164 = cbrt(r1425163);
double r1425165 = r1425164 * r1425164;
double r1425166 = log(r1425165);
double r1425167 = exp(r1425166);
double r1425168 = r1425167 * r1425164;
double r1425169 = 0.0023969580591003724;
bool r1425170 = r1425155 <= r1425169;
double r1425171 = -0.3333333333333333;
double r1425172 = r1425154 * r1425154;
double r1425173 = r1425172 * r1425154;
double r1425174 = 5.0;
double r1425175 = pow(r1425154, r1425174);
double r1425176 = 0.13333333333333333;
double r1425177 = fma(r1425175, r1425176, r1425154);
double r1425178 = fma(r1425171, r1425173, r1425177);
double r1425179 = r1425170 ? r1425178 : r1425168;
double r1425180 = r1425157 ? r1425168 : r1425179;
return r1425180;
}



Bits error versus x



Bits error versus y
if (* -2 x) < -0.12853531169107207 or 0.0023969580591003724 < (* -2 x) Initial program 0.0
rmApplied add-cube-cbrt0.0
rmApplied add-exp-log0.0
if -0.12853531169107207 < (* -2 x) < 0.0023969580591003724Initial program 59.0
Taylor expanded around 0 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019153 +o rules:numerics
(FPCore (x y)
:name "Logistic function from Lakshay Garg"
(- (/ 2 (+ 1 (exp (* -2 x)))) 1))