\frac{2}{1 + e^{-2 \cdot x}} - 1\begin{array}{l}
\mathbf{if}\;-2 \cdot x \le -0.0066854960496659944:\\
\;\;\;\;\left(\sqrt[3]{\left(\frac{\sqrt{2}}{\sqrt{1 + e^{-2 \cdot x}}} + \sqrt{1}\right) \cdot \left(\frac{\sqrt{2}}{\sqrt{1 + e^{-2 \cdot x}}} - \sqrt{1}\right)} \cdot \sqrt[3]{\left(\frac{\sqrt{2}}{\sqrt{1 + e^{-2 \cdot x}}} + \sqrt{1}\right) \cdot \left(\frac{\sqrt{2}}{\sqrt{1 + e^{-2 \cdot x}}} - \sqrt{1}\right)}\right) \cdot \sqrt[3]{\left(\frac{\sqrt{2}}{\sqrt{1 + e^{-2 \cdot x}}} + \sqrt{1}\right) \cdot \left(\frac{\sqrt{2}}{\sqrt{1 + e^{-2 \cdot x}}} - \sqrt{1}\right)}\\
\mathbf{elif}\;-2 \cdot x \le 4.05655490242564146 \cdot 10^{-4}:\\
\;\;\;\;1 \cdot x - \left(5.55112 \cdot 10^{-17} \cdot {x}^{4} + 0.33333333333333337 \cdot {x}^{3}\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\sqrt[3]{\frac{\sqrt{2}}{\sqrt{1 + e^{-2 \cdot x}}} + \sqrt{1}} \cdot \sqrt[3]{\frac{\sqrt{2}}{\sqrt{1 + e^{-2 \cdot x}}} + \sqrt{1}}\right) \cdot \left(\sqrt[3]{\frac{\sqrt{2}}{\sqrt{1 + e^{-2 \cdot x}}} + \sqrt{1}} \cdot \left(\frac{\sqrt{2}}{\sqrt{1 + e^{-2 \cdot x}}} - \sqrt{1}\right)\right)\\
\end{array}double f(double x, double __attribute__((unused)) y) {
double r57309 = 2.0;
double r57310 = 1.0;
double r57311 = -2.0;
double r57312 = x;
double r57313 = r57311 * r57312;
double r57314 = exp(r57313);
double r57315 = r57310 + r57314;
double r57316 = r57309 / r57315;
double r57317 = r57316 - r57310;
return r57317;
}
double f(double x, double __attribute__((unused)) y) {
double r57318 = -2.0;
double r57319 = x;
double r57320 = r57318 * r57319;
double r57321 = -0.006685496049665994;
bool r57322 = r57320 <= r57321;
double r57323 = 2.0;
double r57324 = sqrt(r57323);
double r57325 = 1.0;
double r57326 = exp(r57320);
double r57327 = r57325 + r57326;
double r57328 = sqrt(r57327);
double r57329 = r57324 / r57328;
double r57330 = sqrt(r57325);
double r57331 = r57329 + r57330;
double r57332 = r57329 - r57330;
double r57333 = r57331 * r57332;
double r57334 = cbrt(r57333);
double r57335 = r57334 * r57334;
double r57336 = r57335 * r57334;
double r57337 = 0.00040565549024256415;
bool r57338 = r57320 <= r57337;
double r57339 = r57325 * r57319;
double r57340 = 5.551115123125783e-17;
double r57341 = 4.0;
double r57342 = pow(r57319, r57341);
double r57343 = r57340 * r57342;
double r57344 = 0.33333333333333337;
double r57345 = 3.0;
double r57346 = pow(r57319, r57345);
double r57347 = r57344 * r57346;
double r57348 = r57343 + r57347;
double r57349 = r57339 - r57348;
double r57350 = cbrt(r57331);
double r57351 = r57350 * r57350;
double r57352 = r57350 * r57332;
double r57353 = r57351 * r57352;
double r57354 = r57338 ? r57349 : r57353;
double r57355 = r57322 ? r57336 : r57354;
return r57355;
}



Bits error versus x



Bits error versus y
Results
if (* -2.0 x) < -0.006685496049665994Initial program 0.0
rmApplied add-sqr-sqrt0.0
Applied add-sqr-sqrt0.1
Applied add-sqr-sqrt1.6
Applied times-frac1.6
Applied difference-of-squares1.0
rmApplied add-cube-cbrt0.1
if -0.006685496049665994 < (* -2.0 x) < 0.00040565549024256415Initial program 59.2
Taylor expanded around 0 0.0
if 0.00040565549024256415 < (* -2.0 x) Initial program 0.0
rmApplied add-sqr-sqrt0.0
Applied add-sqr-sqrt0.1
Applied add-sqr-sqrt0.1
Applied times-frac0.1
Applied difference-of-squares0.1
rmApplied add-cube-cbrt0.1
Applied associate-*l*0.1
Final simplification0.0
herbie shell --seed 2020020
(FPCore (x y)
:name "Logistic function from Lakshay Garg"
:precision binary64
(- (/ 2 (+ 1 (exp (* -2 x)))) 1))