Average Error: 29.5 → 0.0
Time: 40.7s
Precision: 64
\[\frac{2}{1 + e^{-2 \cdot x}} - 1\]
\[\begin{array}{l} \mathbf{if}\;x \le -0.007721035358892515:\\ \;\;\;\;\log \left(e^{\frac{2}{e^{-2 \cdot x} + 1} - 1}\right)\\ \mathbf{elif}\;x \le 0.00689805232726187:\\ \;\;\;\;{x}^{5} \cdot \frac{2}{15} + \left(x \cdot \left(\left(x \cdot x\right) \cdot \frac{-1}{3}\right) + x\right)\\ \mathbf{else}:\\ \;\;\;\;\log \left(e^{\sqrt[3]{\frac{2}{e^{-2 \cdot x} + 1} - 1} \cdot \sqrt[3]{\frac{2}{e^{-2 \cdot x} + 1} - 1}}\right) \cdot \sqrt[3]{\left(\sqrt{\frac{2}{e^{-2 \cdot x} + 1}} - 1\right) \cdot \left(1 + \sqrt{\frac{2}{e^{-2 \cdot x} + 1}}\right)}\\ \end{array}\]
double f(double x, double __attribute__((unused)) y) {
        double r8290174 = 2.0;
        double r8290175 = 1.0;
        double r8290176 = -2.0;
        double r8290177 = x;
        double r8290178 = r8290176 * r8290177;
        double r8290179 = exp(r8290178);
        double r8290180 = r8290175 + r8290179;
        double r8290181 = r8290174 / r8290180;
        double r8290182 = r8290181 - r8290175;
        return r8290182;
}

double f(double x, double __attribute__((unused)) y) {
        double r8290183 = x;
        double r8290184 = -0.007721035358892515;
        bool r8290185 = r8290183 <= r8290184;
        double r8290186 = 2.0;
        double r8290187 = -2.0;
        double r8290188 = r8290187 * r8290183;
        double r8290189 = exp(r8290188);
        double r8290190 = 1.0;
        double r8290191 = r8290189 + r8290190;
        double r8290192 = r8290186 / r8290191;
        double r8290193 = r8290192 - r8290190;
        double r8290194 = exp(r8290193);
        double r8290195 = log(r8290194);
        double r8290196 = 0.00689805232726187;
        bool r8290197 = r8290183 <= r8290196;
        double r8290198 = 5.0;
        double r8290199 = pow(r8290183, r8290198);
        double r8290200 = 0.13333333333333333;
        double r8290201 = r8290199 * r8290200;
        double r8290202 = r8290183 * r8290183;
        double r8290203 = -0.3333333333333333;
        double r8290204 = r8290202 * r8290203;
        double r8290205 = r8290183 * r8290204;
        double r8290206 = r8290205 + r8290183;
        double r8290207 = r8290201 + r8290206;
        double r8290208 = cbrt(r8290193);
        double r8290209 = r8290208 * r8290208;
        double r8290210 = exp(r8290209);
        double r8290211 = log(r8290210);
        double r8290212 = sqrt(r8290192);
        double r8290213 = r8290212 - r8290190;
        double r8290214 = r8290190 + r8290212;
        double r8290215 = r8290213 * r8290214;
        double r8290216 = cbrt(r8290215);
        double r8290217 = r8290211 * r8290216;
        double r8290218 = r8290197 ? r8290207 : r8290217;
        double r8290219 = r8290185 ? r8290195 : r8290218;
        return r8290219;
}

\frac{2}{1 + e^{-2 \cdot x}} - 1
\begin{array}{l}
\mathbf{if}\;x \le -0.007721035358892515:\\
\;\;\;\;\log \left(e^{\frac{2}{e^{-2 \cdot x} + 1} - 1}\right)\\

\mathbf{elif}\;x \le 0.00689805232726187:\\
\;\;\;\;{x}^{5} \cdot \frac{2}{15} + \left(x \cdot \left(\left(x \cdot x\right) \cdot \frac{-1}{3}\right) + x\right)\\

\mathbf{else}:\\
\;\;\;\;\log \left(e^{\sqrt[3]{\frac{2}{e^{-2 \cdot x} + 1} - 1} \cdot \sqrt[3]{\frac{2}{e^{-2 \cdot x} + 1} - 1}}\right) \cdot \sqrt[3]{\left(\sqrt{\frac{2}{e^{-2 \cdot x} + 1}} - 1\right) \cdot \left(1 + \sqrt{\frac{2}{e^{-2 \cdot x} + 1}}\right)}\\

\end{array}

Error

Bits error versus x

Bits error versus y

Derivation

  1. Split input into 3 regimes
  2. if x < -0.007721035358892515

    1. Initial program 0.0

      \[\frac{2}{1 + e^{-2 \cdot x}} - 1\]
    2. Using strategy rm
    3. Applied add-log-exp0.0

      \[\leadsto \color{blue}{\log \left(e^{\frac{2}{1 + e^{-2 \cdot x}} - 1}\right)}\]

    if -0.007721035358892515 < x < 0.00689805232726187

    1. Initial program 59.1

      \[\frac{2}{1 + e^{-2 \cdot x}} - 1\]
    2. Taylor expanded around 0 0.0

      \[\leadsto \color{blue}{\left(x + \frac{2}{15} \cdot {x}^{5}\right) - \frac{1}{3} \cdot {x}^{3}}\]
    3. Simplified0.0

      \[\leadsto \color{blue}{\left(\left(\left(x \cdot x\right) \cdot \frac{-1}{3}\right) \cdot x + x\right) + {x}^{5} \cdot \frac{2}{15}}\]

    if 0.00689805232726187 < x

    1. Initial program 0.0

      \[\frac{2}{1 + e^{-2 \cdot x}} - 1\]
    2. Using strategy rm
    3. Applied add-log-exp0.0

      \[\leadsto \color{blue}{\log \left(e^{\frac{2}{1 + e^{-2 \cdot x}} - 1}\right)}\]
    4. Using strategy rm
    5. Applied add-cube-cbrt0.0

      \[\leadsto \log \left(e^{\color{blue}{\left(\sqrt[3]{\frac{2}{1 + e^{-2 \cdot x}} - 1} \cdot \sqrt[3]{\frac{2}{1 + e^{-2 \cdot x}} - 1}\right) \cdot \sqrt[3]{\frac{2}{1 + e^{-2 \cdot x}} - 1}}}\right)\]
    6. Applied exp-prod0.0

      \[\leadsto \log \color{blue}{\left({\left(e^{\sqrt[3]{\frac{2}{1 + e^{-2 \cdot x}} - 1} \cdot \sqrt[3]{\frac{2}{1 + e^{-2 \cdot x}} - 1}}\right)}^{\left(\sqrt[3]{\frac{2}{1 + e^{-2 \cdot x}} - 1}\right)}\right)}\]
    7. Applied log-pow0.0

      \[\leadsto \color{blue}{\sqrt[3]{\frac{2}{1 + e^{-2 \cdot x}} - 1} \cdot \log \left(e^{\sqrt[3]{\frac{2}{1 + e^{-2 \cdot x}} - 1} \cdot \sqrt[3]{\frac{2}{1 + e^{-2 \cdot x}} - 1}}\right)}\]
    8. Using strategy rm
    9. Applied add-sqr-sqrt0.0

      \[\leadsto \sqrt[3]{\color{blue}{\sqrt{\frac{2}{1 + e^{-2 \cdot x}}} \cdot \sqrt{\frac{2}{1 + e^{-2 \cdot x}}}} - 1} \cdot \log \left(e^{\sqrt[3]{\frac{2}{1 + e^{-2 \cdot x}} - 1} \cdot \sqrt[3]{\frac{2}{1 + e^{-2 \cdot x}} - 1}}\right)\]
    10. Applied difference-of-sqr-10.0

      \[\leadsto \sqrt[3]{\color{blue}{\left(\sqrt{\frac{2}{1 + e^{-2 \cdot x}}} + 1\right) \cdot \left(\sqrt{\frac{2}{1 + e^{-2 \cdot x}}} - 1\right)}} \cdot \log \left(e^{\sqrt[3]{\frac{2}{1 + e^{-2 \cdot x}} - 1} \cdot \sqrt[3]{\frac{2}{1 + e^{-2 \cdot x}} - 1}}\right)\]
  3. Recombined 3 regimes into one program.
  4. Final simplification0.0

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -0.007721035358892515:\\ \;\;\;\;\log \left(e^{\frac{2}{e^{-2 \cdot x} + 1} - 1}\right)\\ \mathbf{elif}\;x \le 0.00689805232726187:\\ \;\;\;\;{x}^{5} \cdot \frac{2}{15} + \left(x \cdot \left(\left(x \cdot x\right) \cdot \frac{-1}{3}\right) + x\right)\\ \mathbf{else}:\\ \;\;\;\;\log \left(e^{\sqrt[3]{\frac{2}{e^{-2 \cdot x} + 1} - 1} \cdot \sqrt[3]{\frac{2}{e^{-2 \cdot x} + 1} - 1}}\right) \cdot \sqrt[3]{\left(\sqrt{\frac{2}{e^{-2 \cdot x} + 1}} - 1\right) \cdot \left(1 + \sqrt{\frac{2}{e^{-2 \cdot x} + 1}}\right)}\\ \end{array}\]

Reproduce

herbie shell --seed 2019102 
(FPCore (x y)
  :name "Logistic function from Lakshay Garg"
  (- (/ 2 (+ 1 (exp (* -2 x)))) 1))