\frac{2}{1 + e^{-2 \cdot x}} - 1\begin{array}{l}
\mathbf{if}\;x \le -0.0005525645036661:\\
\;\;\;\;\sqrt[3]{\sqrt{\frac{2}{e^{-2 \cdot x} + 1}} - 1} \cdot \left(\left(\sqrt{\frac{2}{e^{-2 \cdot x} + 1}} + 1\right) \cdot \left(\left(\sqrt[3]{\sqrt{\frac{2}{e^{-2 \cdot x} + 1}} - 1} \cdot \sqrt[3]{\sqrt[3]{\sqrt{\frac{2}{e^{-2 \cdot x} + 1}} - 1} \cdot \sqrt[3]{\sqrt{\frac{2}{e^{-2 \cdot x} + 1}} - 1}}\right) \cdot \sqrt[3]{\sqrt[3]{\sqrt{\frac{2}{e^{-2 \cdot x} + 1}} - 1}}\right)\right)\\
\mathbf{elif}\;x \le 0.001005004210539114:\\
\;\;\;\;x - \left(x \cdot \left(x \cdot \frac{1}{3}\right)\right) \cdot x\\
\mathbf{else}:\\
\;\;\;\;\sqrt[3]{\sqrt{\frac{2}{e^{-2 \cdot x} + 1}} - 1} \cdot \left(\left(\sqrt{\frac{2}{e^{-2 \cdot x} + 1}} + 1\right) \cdot \left(\left(\sqrt[3]{\sqrt{\frac{2}{e^{-2 \cdot x} + 1}} - 1} \cdot \sqrt[3]{\sqrt[3]{\sqrt{\frac{2}{e^{-2 \cdot x} + 1}} - 1} \cdot \sqrt[3]{\sqrt{\frac{2}{e^{-2 \cdot x} + 1}} - 1}}\right) \cdot \sqrt[3]{\sqrt[3]{\sqrt{\frac{2}{e^{-2 \cdot x} + 1}} - 1}}\right)\right)\\
\end{array}double f(double x, double __attribute__((unused)) y) {
double r1767075 = 2.0;
double r1767076 = 1.0;
double r1767077 = -2.0;
double r1767078 = x;
double r1767079 = r1767077 * r1767078;
double r1767080 = exp(r1767079);
double r1767081 = r1767076 + r1767080;
double r1767082 = r1767075 / r1767081;
double r1767083 = r1767082 - r1767076;
return r1767083;
}
double f(double x, double __attribute__((unused)) y) {
double r1767084 = x;
double r1767085 = -0.0005525645036661;
bool r1767086 = r1767084 <= r1767085;
double r1767087 = 2.0;
double r1767088 = -2.0;
double r1767089 = r1767088 * r1767084;
double r1767090 = exp(r1767089);
double r1767091 = 1.0;
double r1767092 = r1767090 + r1767091;
double r1767093 = r1767087 / r1767092;
double r1767094 = sqrt(r1767093);
double r1767095 = r1767094 - r1767091;
double r1767096 = cbrt(r1767095);
double r1767097 = r1767094 + r1767091;
double r1767098 = r1767096 * r1767096;
double r1767099 = cbrt(r1767098);
double r1767100 = r1767096 * r1767099;
double r1767101 = cbrt(r1767096);
double r1767102 = r1767100 * r1767101;
double r1767103 = r1767097 * r1767102;
double r1767104 = r1767096 * r1767103;
double r1767105 = 0.001005004210539114;
bool r1767106 = r1767084 <= r1767105;
double r1767107 = 0.3333333333333333;
double r1767108 = r1767084 * r1767107;
double r1767109 = r1767084 * r1767108;
double r1767110 = r1767109 * r1767084;
double r1767111 = r1767084 - r1767110;
double r1767112 = r1767106 ? r1767111 : r1767104;
double r1767113 = r1767086 ? r1767104 : r1767112;
return r1767113;
}



Bits error versus x



Bits error versus y
Results
if x < -0.0005525645036661 or 0.001005004210539114 < x Initial program 0.0
rmApplied *-un-lft-identity0.0
Applied add-sqr-sqrt0.8
Applied difference-of-squares0.6
rmApplied add-cube-cbrt0.9
Applied associate-*r*0.9
rmApplied add-cube-cbrt0.9
Applied cbrt-prod0.6
Applied associate-*r*0.1
if -0.0005525645036661 < x < 0.001005004210539114Initial program 59.2
rmApplied *-un-lft-identity59.2
Applied add-sqr-sqrt59.2
Applied difference-of-squares59.2
Taylor expanded around 0 60.2
Simplified0.0
Final simplification0.0
herbie shell --seed 2019129
(FPCore (x y)
:name "Logistic function from Lakshay Garg"
(- (/ 2 (+ 1 (exp (* -2 x)))) 1))