\frac{2}{1 + e^{-2 \cdot x}} - 1\begin{array}{l}
\mathbf{if}\;-2 \cdot x \le -2.9497819558082474:\\
\;\;\;\;\frac{2}{e^{-2 \cdot x} + 1} - 1\\
\mathbf{elif}\;-2 \cdot x \le 0.009141633682236621:\\
\;\;\;\;\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}:\\
\;\;\;\;\sqrt[3]{\mathsf{fma}\left(\sqrt[3]{\frac{2}{e^{-2 \cdot x} + 1}} \cdot \sqrt[3]{\frac{2}{e^{-2 \cdot x} + 1}}, \sqrt[3]{\frac{2}{e^{-2 \cdot x} + 1}}, -1\right)} \cdot \left(\sqrt[3]{\mathsf{fma}\left(\sqrt[3]{\frac{2}{e^{-2 \cdot x} + 1}} \cdot \sqrt[3]{\frac{2}{e^{-2 \cdot x} + 1}}, \sqrt[3]{\frac{2}{e^{-2 \cdot x} + 1}}, -1\right)} \cdot \sqrt[3]{\mathsf{fma}\left(\sqrt[3]{\frac{2}{e^{-2 \cdot x} + 1}} \cdot \sqrt[3]{\frac{2}{e^{-2 \cdot x} + 1}}, \sqrt[3]{\frac{2}{e^{-2 \cdot x} + 1}}, -1\right)}\right)\\
\end{array}double f(double x, double __attribute__((unused)) y) {
double r2020102 = 2.0;
double r2020103 = 1.0;
double r2020104 = -2.0;
double r2020105 = x;
double r2020106 = r2020104 * r2020105;
double r2020107 = exp(r2020106);
double r2020108 = r2020103 + r2020107;
double r2020109 = r2020102 / r2020108;
double r2020110 = r2020109 - r2020103;
return r2020110;
}
double f(double x, double __attribute__((unused)) y) {
double r2020111 = -2.0;
double r2020112 = x;
double r2020113 = r2020111 * r2020112;
double r2020114 = -2.9497819558082474;
bool r2020115 = r2020113 <= r2020114;
double r2020116 = 2.0;
double r2020117 = exp(r2020113);
double r2020118 = 1.0;
double r2020119 = r2020117 + r2020118;
double r2020120 = r2020116 / r2020119;
double r2020121 = r2020120 - r2020118;
double r2020122 = 0.009141633682236621;
bool r2020123 = r2020113 <= r2020122;
double r2020124 = r2020112 * r2020112;
double r2020125 = r2020112 * r2020124;
double r2020126 = -0.3333333333333333;
double r2020127 = 5.0;
double r2020128 = pow(r2020112, r2020127);
double r2020129 = 0.13333333333333333;
double r2020130 = fma(r2020128, r2020129, r2020112);
double r2020131 = fma(r2020125, r2020126, r2020130);
double r2020132 = cbrt(r2020120);
double r2020133 = r2020132 * r2020132;
double r2020134 = -1.0;
double r2020135 = fma(r2020133, r2020132, r2020134);
double r2020136 = cbrt(r2020135);
double r2020137 = r2020136 * r2020136;
double r2020138 = r2020136 * r2020137;
double r2020139 = r2020123 ? r2020131 : r2020138;
double r2020140 = r2020115 ? r2020121 : r2020139;
return r2020140;
}



Bits error versus x



Bits error versus y
if (* -2 x) < -2.9497819558082474Initial program 0.0
rmApplied add-cube-cbrt2.3
Applied fma-neg2.6
Simplified2.6
Taylor expanded around inf 0.0
Simplified0.0
if -2.9497819558082474 < (* -2 x) < 0.009141633682236621Initial program 59.0
Taylor expanded around -inf 59.0
Taylor expanded around 0 0.1
Simplified0.1
if 0.009141633682236621 < (* -2 x) Initial program 0.0
rmApplied add-cube-cbrt0.0
Applied fma-neg0.0
Simplified0.0
rmApplied add-cube-cbrt0.0
Final simplification0.1
herbie shell --seed 2019142 +o rules:numerics
(FPCore (x y)
:name "Logistic function from Lakshay Garg"
(- (/ 2 (+ 1 (exp (* -2 x)))) 1))