\frac{2}{1 + e^{-2 \cdot x}} - 1\begin{array}{l}
\mathbf{if}\;-2 \cdot x \le -1.7297142739317407 \cdot 10^{+18}:\\
\;\;\;\;\frac{\frac{2}{e^{-2 \cdot x} + 1} \cdot \left(\frac{2}{e^{-2 \cdot x} + 1} \cdot \frac{2}{e^{-2 \cdot x} + 1}\right) - 1}{\left(\frac{2}{e^{-2 \cdot x} + 1} \cdot \frac{2}{e^{-2 \cdot x} + 1}\right) \cdot \left(\frac{2}{e^{-2 \cdot x} + 1} \cdot \frac{2}{e^{-2 \cdot x} + 1}\right) - \sqrt[3]{1 + \frac{2}{e^{-2 \cdot x} + 1}} \cdot \left(\left(1 + \frac{2}{e^{-2 \cdot x} + 1}\right) \cdot \left(\sqrt[3]{1 + \frac{2}{e^{-2 \cdot x} + 1}} \cdot \sqrt[3]{1 + \frac{2}{e^{-2 \cdot x} + 1}}\right)\right)} \cdot \left(\frac{2}{e^{-2 \cdot x} + 1} \cdot \frac{2}{e^{-2 \cdot x} + 1} - \left(1 + \frac{2}{e^{-2 \cdot x} + 1}\right)\right)\\
\mathbf{elif}\;-2 \cdot x \le 1.5895218096725198 \cdot 10^{-06}:\\
\;\;\;\;\left(\frac{2}{15} \cdot {x}^{5} - \left(\left(x \cdot x\right) \cdot \frac{1}{3}\right) \cdot x\right) + x\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{2}{e^{-2 \cdot x} + 1} \cdot \left(\frac{2}{e^{-2 \cdot x} + 1} \cdot \frac{2}{e^{-2 \cdot x} + 1}\right) - 1}{\left(\frac{2}{e^{-2 \cdot x} + 1} \cdot \frac{2}{e^{-2 \cdot x} + 1}\right) \cdot \left(\frac{2}{e^{-2 \cdot x} + 1} \cdot \frac{2}{e^{-2 \cdot x} + 1}\right) - \sqrt[3]{1 + \frac{2}{e^{-2 \cdot x} + 1}} \cdot \left(\left(1 + \frac{2}{e^{-2 \cdot x} + 1}\right) \cdot \left(\sqrt[3]{1 + \frac{2}{e^{-2 \cdot x} + 1}} \cdot \sqrt[3]{1 + \frac{2}{e^{-2 \cdot x} + 1}}\right)\right)} \cdot \left(\frac{2}{e^{-2 \cdot x} + 1} \cdot \frac{2}{e^{-2 \cdot x} + 1} - \left(1 + \frac{2}{e^{-2 \cdot x} + 1}\right)\right)\\
\end{array}double f(double x, double __attribute__((unused)) y) {
double r2402575 = 2.0;
double r2402576 = 1.0;
double r2402577 = -2.0;
double r2402578 = x;
double r2402579 = r2402577 * r2402578;
double r2402580 = exp(r2402579);
double r2402581 = r2402576 + r2402580;
double r2402582 = r2402575 / r2402581;
double r2402583 = r2402582 - r2402576;
return r2402583;
}
double f(double x, double __attribute__((unused)) y) {
double r2402584 = -2.0;
double r2402585 = x;
double r2402586 = r2402584 * r2402585;
double r2402587 = -1.7297142739317407e+18;
bool r2402588 = r2402586 <= r2402587;
double r2402589 = 2.0;
double r2402590 = exp(r2402586);
double r2402591 = 1.0;
double r2402592 = r2402590 + r2402591;
double r2402593 = r2402589 / r2402592;
double r2402594 = r2402593 * r2402593;
double r2402595 = r2402593 * r2402594;
double r2402596 = r2402595 - r2402591;
double r2402597 = r2402594 * r2402594;
double r2402598 = r2402591 + r2402593;
double r2402599 = cbrt(r2402598);
double r2402600 = r2402599 * r2402599;
double r2402601 = r2402598 * r2402600;
double r2402602 = r2402599 * r2402601;
double r2402603 = r2402597 - r2402602;
double r2402604 = r2402596 / r2402603;
double r2402605 = r2402594 - r2402598;
double r2402606 = r2402604 * r2402605;
double r2402607 = 1.5895218096725198e-06;
bool r2402608 = r2402586 <= r2402607;
double r2402609 = 0.13333333333333333;
double r2402610 = 5.0;
double r2402611 = pow(r2402585, r2402610);
double r2402612 = r2402609 * r2402611;
double r2402613 = r2402585 * r2402585;
double r2402614 = 0.3333333333333333;
double r2402615 = r2402613 * r2402614;
double r2402616 = r2402615 * r2402585;
double r2402617 = r2402612 - r2402616;
double r2402618 = r2402617 + r2402585;
double r2402619 = r2402608 ? r2402618 : r2402606;
double r2402620 = r2402588 ? r2402606 : r2402619;
return r2402620;
}



Bits error versus x



Bits error versus y
Results
if (* -2 x) < -1.7297142739317407e+18 or 1.5895218096725198e-06 < (* -2 x) Initial program 0.1
rmApplied add-sqr-sqrt0.1
Applied associate-/r*0.1
rmApplied flip3--0.1
Simplified0.1
Simplified0.1
rmApplied flip-+0.1
Applied associate-/r/0.1
rmApplied add-cube-cbrt0.1
Applied associate-*r*0.1
if -1.7297142739317407e+18 < (* -2 x) < 1.5895218096725198e-06Initial program 57.5
Taylor expanded around 0 1.7
Simplified1.7
Final simplification0.9
herbie shell --seed 2019146
(FPCore (x y)
:name "Logistic function from Lakshay Garg"
(- (/ 2 (+ 1 (exp (* -2 x)))) 1))