\frac{2}{1 + e^{-2 \cdot x}} - 1\begin{array}{l}
\mathbf{if}\;-2 \cdot x \le -1147158.01509999507106840610504150390625:\\
\;\;\;\;\sqrt[3]{\left(\left(\left(\sqrt{1} + \sqrt{\frac{2}{e^{-2 \cdot x} + 1}}\right) \cdot \left(\sqrt{1} + \sqrt{\frac{2}{e^{-2 \cdot x} + 1}}\right)\right) \cdot \left(\sqrt{1} + \sqrt{\frac{2}{e^{-2 \cdot x} + 1}}\right)\right) \cdot \left(\left(\sqrt{\frac{2}{e^{-2 \cdot x} + 1}} - \sqrt{1}\right) \cdot \left(\left(\sqrt{\frac{2}{e^{-2 \cdot x} + 1}} - \sqrt{1}\right) \cdot \left(\sqrt{\frac{2}{e^{-2 \cdot x} + 1}} - \sqrt{1}\right)\right)\right)}\\
\mathbf{elif}\;-2 \cdot x \le 9.326698951531978754675718365670100684639 \cdot 10^{-11}:\\
\;\;\;\;1 \cdot x - \mathsf{fma}\left(x \cdot \left(x \cdot x\right), 0.3333333333333333703407674875052180141211, \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot 5.5511151231257827021181583404541015625 \cdot 10^{-17}\right)\\
\mathbf{else}:\\
\;\;\;\;\sqrt[3]{\left(\left(\left(\sqrt{1} + \sqrt{\frac{2}{e^{-2 \cdot x} + 1}}\right) \cdot \left(\sqrt{1} + \sqrt{\frac{2}{e^{-2 \cdot x} + 1}}\right)\right) \cdot \left(\sqrt{1} + \sqrt{\frac{2}{e^{-2 \cdot x} + 1}}\right)\right) \cdot \left(\left(\sqrt{\frac{2}{e^{-2 \cdot x} + 1}} - \sqrt{1}\right) \cdot \left(\left(\sqrt{\frac{2}{e^{-2 \cdot x} + 1}} - \sqrt{1}\right) \cdot \left(\sqrt{\frac{2}{e^{-2 \cdot x} + 1}} - \sqrt{1}\right)\right)\right)}\\
\end{array}double f(double x, double __attribute__((unused)) y) {
double r2724413 = 2.0;
double r2724414 = 1.0;
double r2724415 = -2.0;
double r2724416 = x;
double r2724417 = r2724415 * r2724416;
double r2724418 = exp(r2724417);
double r2724419 = r2724414 + r2724418;
double r2724420 = r2724413 / r2724419;
double r2724421 = r2724420 - r2724414;
return r2724421;
}
double f(double x, double __attribute__((unused)) y) {
double r2724422 = -2.0;
double r2724423 = x;
double r2724424 = r2724422 * r2724423;
double r2724425 = -1147158.015099995;
bool r2724426 = r2724424 <= r2724425;
double r2724427 = 1.0;
double r2724428 = sqrt(r2724427);
double r2724429 = 2.0;
double r2724430 = exp(r2724424);
double r2724431 = r2724430 + r2724427;
double r2724432 = r2724429 / r2724431;
double r2724433 = sqrt(r2724432);
double r2724434 = r2724428 + r2724433;
double r2724435 = r2724434 * r2724434;
double r2724436 = r2724435 * r2724434;
double r2724437 = r2724433 - r2724428;
double r2724438 = r2724437 * r2724437;
double r2724439 = r2724437 * r2724438;
double r2724440 = r2724436 * r2724439;
double r2724441 = cbrt(r2724440);
double r2724442 = 9.326698951531979e-11;
bool r2724443 = r2724424 <= r2724442;
double r2724444 = r2724427 * r2724423;
double r2724445 = r2724423 * r2724423;
double r2724446 = r2724423 * r2724445;
double r2724447 = 0.33333333333333337;
double r2724448 = r2724445 * r2724445;
double r2724449 = 5.551115123125783e-17;
double r2724450 = r2724448 * r2724449;
double r2724451 = fma(r2724446, r2724447, r2724450);
double r2724452 = r2724444 - r2724451;
double r2724453 = r2724443 ? r2724452 : r2724441;
double r2724454 = r2724426 ? r2724441 : r2724453;
return r2724454;
}



Bits error versus x



Bits error versus y
if (* -2.0 x) < -1147158.015099995 or 9.326698951531979e-11 < (* -2.0 x) Initial program 0.2
rmApplied add-sqr-sqrt0.2
Applied add-sqr-sqrt1.0
Applied difference-of-squares0.7
rmApplied add-cbrt-cube0.7
Applied add-cbrt-cube0.2
Applied cbrt-unprod0.2
if -1147158.015099995 < (* -2.0 x) < 9.326698951531979e-11Initial program 58.5
Taylor expanded around 0 0.8
Simplified0.8
Final simplification0.5
herbie shell --seed 2019172 +o rules:numerics
(FPCore (x y)
:name "Logistic function from Lakshay Garg"
(- (/ 2.0 (+ 1.0 (exp (* -2.0 x)))) 1.0))