\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 r1365125 = 2.0;
double r1365126 = 1.0;
double r1365127 = -2.0;
double r1365128 = x;
double r1365129 = r1365127 * r1365128;
double r1365130 = exp(r1365129);
double r1365131 = r1365126 + r1365130;
double r1365132 = r1365125 / r1365131;
double r1365133 = r1365132 - r1365126;
return r1365133;
}
double f(double x, double __attribute__((unused)) y) {
double r1365134 = -2.0;
double r1365135 = x;
double r1365136 = r1365134 * r1365135;
double r1365137 = -0.12853531169107207;
bool r1365138 = r1365136 <= r1365137;
double r1365139 = 2.0;
double r1365140 = exp(r1365136);
double r1365141 = 1.0;
double r1365142 = r1365140 + r1365141;
double r1365143 = r1365139 / r1365142;
double r1365144 = r1365143 - r1365141;
double r1365145 = cbrt(r1365144);
double r1365146 = r1365145 * r1365145;
double r1365147 = log(r1365146);
double r1365148 = exp(r1365147);
double r1365149 = r1365148 * r1365145;
double r1365150 = 0.0023969580591003724;
bool r1365151 = r1365136 <= r1365150;
double r1365152 = -0.3333333333333333;
double r1365153 = r1365135 * r1365135;
double r1365154 = r1365153 * r1365135;
double r1365155 = 5.0;
double r1365156 = pow(r1365135, r1365155);
double r1365157 = 0.13333333333333333;
double r1365158 = fma(r1365156, r1365157, r1365135);
double r1365159 = fma(r1365152, r1365154, r1365158);
double r1365160 = r1365151 ? r1365159 : r1365149;
double r1365161 = r1365138 ? r1365149 : r1365160;
return r1365161;
}



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