\frac{2}{1 + e^{-2 \cdot x}} - 1\begin{array}{l}
\mathbf{if}\;-2 \cdot x \le -1147158.01509999507106840610504150390625:\\
\;\;\;\;\frac{2}{1 + e^{-2 \cdot x}} - 1\\
\mathbf{elif}\;-2 \cdot x \le 9.326698951531978754675718365670100684639 \cdot 10^{-11}:\\
\;\;\;\;x \cdot \left(1 - \left(x \cdot x\right) \cdot 0.3333333333333333703407674875052180141211\right) - \left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot 5.5511151231257827021181583404541015625 \cdot 10^{-17}\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\sqrt{\frac{2}{1 + e^{-2 \cdot x}}} - \sqrt{1}\right) \cdot \left(\sqrt{1} + \sqrt{\frac{2}{1 + e^{-2 \cdot x}}}\right)\\
\end{array}double f(double x, double __attribute__((unused)) y) {
double r2312979 = 2.0;
double r2312980 = 1.0;
double r2312981 = -2.0;
double r2312982 = x;
double r2312983 = r2312981 * r2312982;
double r2312984 = exp(r2312983);
double r2312985 = r2312980 + r2312984;
double r2312986 = r2312979 / r2312985;
double r2312987 = r2312986 - r2312980;
return r2312987;
}
double f(double x, double __attribute__((unused)) y) {
double r2312988 = -2.0;
double r2312989 = x;
double r2312990 = r2312988 * r2312989;
double r2312991 = -1147158.015099995;
bool r2312992 = r2312990 <= r2312991;
double r2312993 = 2.0;
double r2312994 = 1.0;
double r2312995 = exp(r2312990);
double r2312996 = r2312994 + r2312995;
double r2312997 = r2312993 / r2312996;
double r2312998 = r2312997 - r2312994;
double r2312999 = 9.326698951531979e-11;
bool r2313000 = r2312990 <= r2312999;
double r2313001 = r2312989 * r2312989;
double r2313002 = 0.33333333333333337;
double r2313003 = r2313001 * r2313002;
double r2313004 = r2312994 - r2313003;
double r2313005 = r2312989 * r2313004;
double r2313006 = 5.551115123125783e-17;
double r2313007 = r2313001 * r2313006;
double r2313008 = r2313001 * r2313007;
double r2313009 = r2313005 - r2313008;
double r2313010 = sqrt(r2312997);
double r2313011 = sqrt(r2312994);
double r2313012 = r2313010 - r2313011;
double r2313013 = r2313011 + r2313010;
double r2313014 = r2313012 * r2313013;
double r2313015 = r2313000 ? r2313009 : r2313014;
double r2313016 = r2312992 ? r2312998 : r2313015;
return r2313016;
}



Bits error versus x



Bits error versus y
Results
if (* -2.0 x) < -1147158.015099995Initial program 0
rmApplied add-sqr-sqrt0
Applied add-sqr-sqrt1.6
Applied difference-of-squares1.0
rmApplied *-un-lft-identity1.0
Applied associate-*l*1.0
Simplified0
if -1147158.015099995 < (* -2.0 x) < 9.326698951531979e-11Initial program 58.5
Taylor expanded around 0 0.8
Simplified0.8
if 9.326698951531979e-11 < (* -2.0 x) Initial program 0.4
rmApplied add-sqr-sqrt0.4
Applied add-sqr-sqrt0.4
Applied difference-of-squares0.4
Final simplification0.5
herbie shell --seed 2019172
(FPCore (x y)
:name "Logistic function from Lakshay Garg"
(- (/ 2.0 (+ 1.0 (exp (* -2.0 x)))) 1.0))