Average Error: 29.7 → 0.1
Time: 5.1s
Precision: 64
\[\frac{2}{1 + e^{-2 \cdot x}} - 1\]
\[\begin{array}{l} \mathbf{if}\;-2 \cdot x \le -12.329649134843827:\\ \;\;\;\;\frac{\frac{2}{1 + e^{-2 \cdot x}} \cdot \frac{2}{1 + e^{-2 \cdot x}} - 1 \cdot 1}{\frac{2}{1 + e^{-2 \cdot x}} + 1}\\ \mathbf{elif}\;-2 \cdot x \le 5.30640056390034621 \cdot 10^{-6}:\\ \;\;\;\;1 \cdot x - \left(4.996 \cdot 10^{-16} \cdot {x}^{4} + 0.33333333333333348 \cdot {x}^{3}\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(\frac{2}{1 + e^{-2 \cdot x}} \cdot \frac{2}{1 + e^{-2 \cdot x}}\right) \cdot \left(\frac{2}{1 + e^{-2 \cdot x}} \cdot \frac{2}{1 + e^{-2 \cdot x}}\right) - \left(1 \cdot 1\right) \cdot \left(1 \cdot 1\right)}{\left(\frac{2}{1 + e^{-2 \cdot x}} + 1\right) \cdot \left(\frac{1}{\sqrt[3]{1 + e^{-2 \cdot x}} \cdot \sqrt[3]{1 + e^{-2 \cdot x}}} \cdot \left(\frac{2}{\sqrt[3]{1 + e^{-2 \cdot x}}} \cdot \frac{2}{1 + e^{-2 \cdot x}}\right) + 1 \cdot 1\right)}\\ \end{array}\]
\frac{2}{1 + e^{-2 \cdot x}} - 1
\begin{array}{l}
\mathbf{if}\;-2 \cdot x \le -12.329649134843827:\\
\;\;\;\;\frac{\frac{2}{1 + e^{-2 \cdot x}} \cdot \frac{2}{1 + e^{-2 \cdot x}} - 1 \cdot 1}{\frac{2}{1 + e^{-2 \cdot x}} + 1}\\

\mathbf{elif}\;-2 \cdot x \le 5.30640056390034621 \cdot 10^{-6}:\\
\;\;\;\;1 \cdot x - \left(4.996 \cdot 10^{-16} \cdot {x}^{4} + 0.33333333333333348 \cdot {x}^{3}\right)\\

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

\end{array}
double f(double x, double __attribute__((unused)) y) {
        double r52318 = 2.0;
        double r52319 = 1.0;
        double r52320 = -2.0;
        double r52321 = x;
        double r52322 = r52320 * r52321;
        double r52323 = exp(r52322);
        double r52324 = r52319 + r52323;
        double r52325 = r52318 / r52324;
        double r52326 = r52325 - r52319;
        return r52326;
}

double f(double x, double __attribute__((unused)) y) {
        double r52327 = -2.0;
        double r52328 = x;
        double r52329 = r52327 * r52328;
        double r52330 = -12.329649134843827;
        bool r52331 = r52329 <= r52330;
        double r52332 = 2.0;
        double r52333 = 1.0;
        double r52334 = exp(r52329);
        double r52335 = r52333 + r52334;
        double r52336 = r52332 / r52335;
        double r52337 = r52336 * r52336;
        double r52338 = r52333 * r52333;
        double r52339 = r52337 - r52338;
        double r52340 = r52336 + r52333;
        double r52341 = r52339 / r52340;
        double r52342 = 5.306400563900346e-06;
        bool r52343 = r52329 <= r52342;
        double r52344 = r52333 * r52328;
        double r52345 = 4.996003610813204e-16;
        double r52346 = 4.0;
        double r52347 = pow(r52328, r52346);
        double r52348 = r52345 * r52347;
        double r52349 = 0.3333333333333335;
        double r52350 = 3.0;
        double r52351 = pow(r52328, r52350);
        double r52352 = r52349 * r52351;
        double r52353 = r52348 + r52352;
        double r52354 = r52344 - r52353;
        double r52355 = r52337 * r52337;
        double r52356 = r52338 * r52338;
        double r52357 = r52355 - r52356;
        double r52358 = 1.0;
        double r52359 = cbrt(r52335);
        double r52360 = r52359 * r52359;
        double r52361 = r52358 / r52360;
        double r52362 = r52332 / r52359;
        double r52363 = r52362 * r52336;
        double r52364 = r52361 * r52363;
        double r52365 = r52364 + r52338;
        double r52366 = r52340 * r52365;
        double r52367 = r52357 / r52366;
        double r52368 = r52343 ? r52354 : r52367;
        double r52369 = r52331 ? r52341 : r52368;
        return r52369;
}

Error

Bits error versus x

Bits error versus y

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 3 regimes
  2. if (* -2.0 x) < -12.329649134843827

    1. Initial program 0.0

      \[\frac{2}{1 + e^{-2 \cdot x}} - 1\]
    2. Using strategy rm
    3. Applied flip--0.0

      \[\leadsto \color{blue}{\frac{\frac{2}{1 + e^{-2 \cdot x}} \cdot \frac{2}{1 + e^{-2 \cdot x}} - 1 \cdot 1}{\frac{2}{1 + e^{-2 \cdot x}} + 1}}\]

    if -12.329649134843827 < (* -2.0 x) < 5.306400563900346e-06

    1. Initial program 59.0

      \[\frac{2}{1 + e^{-2 \cdot x}} - 1\]
    2. Using strategy rm
    3. Applied flip--59.0

      \[\leadsto \color{blue}{\frac{\frac{2}{1 + e^{-2 \cdot x}} \cdot \frac{2}{1 + e^{-2 \cdot x}} - 1 \cdot 1}{\frac{2}{1 + e^{-2 \cdot x}} + 1}}\]
    4. Taylor expanded around 0 0.2

      \[\leadsto \color{blue}{1 \cdot x - \left(4.996 \cdot 10^{-16} \cdot {x}^{4} + 0.33333333333333348 \cdot {x}^{3}\right)}\]

    if 5.306400563900346e-06 < (* -2.0 x)

    1. Initial program 0.1

      \[\frac{2}{1 + e^{-2 \cdot x}} - 1\]
    2. Using strategy rm
    3. Applied flip--0.1

      \[\leadsto \color{blue}{\frac{\frac{2}{1 + e^{-2 \cdot x}} \cdot \frac{2}{1 + e^{-2 \cdot x}} - 1 \cdot 1}{\frac{2}{1 + e^{-2 \cdot x}} + 1}}\]
    4. Using strategy rm
    5. Applied flip--0.1

      \[\leadsto \frac{\color{blue}{\frac{\left(\frac{2}{1 + e^{-2 \cdot x}} \cdot \frac{2}{1 + e^{-2 \cdot x}}\right) \cdot \left(\frac{2}{1 + e^{-2 \cdot x}} \cdot \frac{2}{1 + e^{-2 \cdot x}}\right) - \left(1 \cdot 1\right) \cdot \left(1 \cdot 1\right)}{\frac{2}{1 + e^{-2 \cdot x}} \cdot \frac{2}{1 + e^{-2 \cdot x}} + 1 \cdot 1}}}{\frac{2}{1 + e^{-2 \cdot x}} + 1}\]
    6. Applied associate-/l/0.1

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

      \[\leadsto \frac{\left(\frac{2}{1 + e^{-2 \cdot x}} \cdot \frac{2}{1 + e^{-2 \cdot x}}\right) \cdot \left(\frac{2}{1 + e^{-2 \cdot x}} \cdot \frac{2}{1 + e^{-2 \cdot x}}\right) - \left(1 \cdot 1\right) \cdot \left(1 \cdot 1\right)}{\left(\frac{2}{1 + e^{-2 \cdot x}} + 1\right) \cdot \left(\frac{2}{\color{blue}{\left(\sqrt[3]{1 + e^{-2 \cdot x}} \cdot \sqrt[3]{1 + e^{-2 \cdot x}}\right) \cdot \sqrt[3]{1 + e^{-2 \cdot x}}}} \cdot \frac{2}{1 + e^{-2 \cdot x}} + 1 \cdot 1\right)}\]
    9. Applied *-un-lft-identity0.1

      \[\leadsto \frac{\left(\frac{2}{1 + e^{-2 \cdot x}} \cdot \frac{2}{1 + e^{-2 \cdot x}}\right) \cdot \left(\frac{2}{1 + e^{-2 \cdot x}} \cdot \frac{2}{1 + e^{-2 \cdot x}}\right) - \left(1 \cdot 1\right) \cdot \left(1 \cdot 1\right)}{\left(\frac{2}{1 + e^{-2 \cdot x}} + 1\right) \cdot \left(\frac{\color{blue}{1 \cdot 2}}{\left(\sqrt[3]{1 + e^{-2 \cdot x}} \cdot \sqrt[3]{1 + e^{-2 \cdot x}}\right) \cdot \sqrt[3]{1 + e^{-2 \cdot x}}} \cdot \frac{2}{1 + e^{-2 \cdot x}} + 1 \cdot 1\right)}\]
    10. Applied times-frac0.1

      \[\leadsto \frac{\left(\frac{2}{1 + e^{-2 \cdot x}} \cdot \frac{2}{1 + e^{-2 \cdot x}}\right) \cdot \left(\frac{2}{1 + e^{-2 \cdot x}} \cdot \frac{2}{1 + e^{-2 \cdot x}}\right) - \left(1 \cdot 1\right) \cdot \left(1 \cdot 1\right)}{\left(\frac{2}{1 + e^{-2 \cdot x}} + 1\right) \cdot \left(\color{blue}{\left(\frac{1}{\sqrt[3]{1 + e^{-2 \cdot x}} \cdot \sqrt[3]{1 + e^{-2 \cdot x}}} \cdot \frac{2}{\sqrt[3]{1 + e^{-2 \cdot x}}}\right)} \cdot \frac{2}{1 + e^{-2 \cdot x}} + 1 \cdot 1\right)}\]
    11. Applied associate-*l*0.1

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;-2 \cdot x \le -12.329649134843827:\\ \;\;\;\;\frac{\frac{2}{1 + e^{-2 \cdot x}} \cdot \frac{2}{1 + e^{-2 \cdot x}} - 1 \cdot 1}{\frac{2}{1 + e^{-2 \cdot x}} + 1}\\ \mathbf{elif}\;-2 \cdot x \le 5.30640056390034621 \cdot 10^{-6}:\\ \;\;\;\;1 \cdot x - \left(4.996 \cdot 10^{-16} \cdot {x}^{4} + 0.33333333333333348 \cdot {x}^{3}\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(\frac{2}{1 + e^{-2 \cdot x}} \cdot \frac{2}{1 + e^{-2 \cdot x}}\right) \cdot \left(\frac{2}{1 + e^{-2 \cdot x}} \cdot \frac{2}{1 + e^{-2 \cdot x}}\right) - \left(1 \cdot 1\right) \cdot \left(1 \cdot 1\right)}{\left(\frac{2}{1 + e^{-2 \cdot x}} + 1\right) \cdot \left(\frac{1}{\sqrt[3]{1 + e^{-2 \cdot x}} \cdot \sqrt[3]{1 + e^{-2 \cdot x}}} \cdot \left(\frac{2}{\sqrt[3]{1 + e^{-2 \cdot x}}} \cdot \frac{2}{1 + e^{-2 \cdot x}}\right) + 1 \cdot 1\right)}\\ \end{array}\]

Reproduce

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