Average Error: 29.2 → 0.5
Time: 25.5s
Precision: 64
\[\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}:\\ \;\;\;\;x \cdot \left(1 - \left(x \cdot x\right) \cdot 0.3333333333333333703407674875052180141211\right) - \left(x \cdot x\right) \cdot \left(5.5511151231257827021181583404541015625 \cdot 10^{-17} \cdot \left(x \cdot x\right)\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}\]
\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}:\\
\;\;\;\;x \cdot \left(1 - \left(x \cdot x\right) \cdot 0.3333333333333333703407674875052180141211\right) - \left(x \cdot x\right) \cdot \left(5.5511151231257827021181583404541015625 \cdot 10^{-17} \cdot \left(x \cdot x\right)\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 r3017429 = 2.0;
        double r3017430 = 1.0;
        double r3017431 = -2.0;
        double r3017432 = x;
        double r3017433 = r3017431 * r3017432;
        double r3017434 = exp(r3017433);
        double r3017435 = r3017430 + r3017434;
        double r3017436 = r3017429 / r3017435;
        double r3017437 = r3017436 - r3017430;
        return r3017437;
}

double f(double x, double __attribute__((unused)) y) {
        double r3017438 = -2.0;
        double r3017439 = x;
        double r3017440 = r3017438 * r3017439;
        double r3017441 = -1147158.015099995;
        bool r3017442 = r3017440 <= r3017441;
        double r3017443 = 1.0;
        double r3017444 = sqrt(r3017443);
        double r3017445 = 2.0;
        double r3017446 = exp(r3017440);
        double r3017447 = r3017446 + r3017443;
        double r3017448 = r3017445 / r3017447;
        double r3017449 = sqrt(r3017448);
        double r3017450 = r3017444 + r3017449;
        double r3017451 = r3017450 * r3017450;
        double r3017452 = r3017451 * r3017450;
        double r3017453 = r3017449 - r3017444;
        double r3017454 = r3017453 * r3017453;
        double r3017455 = r3017453 * r3017454;
        double r3017456 = r3017452 * r3017455;
        double r3017457 = cbrt(r3017456);
        double r3017458 = 9.326698951531979e-11;
        bool r3017459 = r3017440 <= r3017458;
        double r3017460 = r3017439 * r3017439;
        double r3017461 = 0.33333333333333337;
        double r3017462 = r3017460 * r3017461;
        double r3017463 = r3017443 - r3017462;
        double r3017464 = r3017439 * r3017463;
        double r3017465 = 5.551115123125783e-17;
        double r3017466 = r3017465 * r3017460;
        double r3017467 = r3017460 * r3017466;
        double r3017468 = r3017464 - r3017467;
        double r3017469 = r3017459 ? r3017468 : r3017457;
        double r3017470 = r3017442 ? r3017457 : r3017469;
        return r3017470;
}

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 2 regimes
  2. if (* -2.0 x) < -1147158.015099995 or 9.326698951531979e-11 < (* -2.0 x)

    1. Initial program 0.2

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

      \[\leadsto \frac{2}{1 + e^{-2 \cdot x}} - \color{blue}{\sqrt{1} \cdot \sqrt{1}}\]
    4. Applied add-sqr-sqrt1.0

      \[\leadsto \color{blue}{\sqrt{\frac{2}{1 + e^{-2 \cdot x}}} \cdot \sqrt{\frac{2}{1 + e^{-2 \cdot x}}}} - \sqrt{1} \cdot \sqrt{1}\]
    5. Applied difference-of-squares0.7

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

      \[\leadsto \left(\sqrt{\frac{2}{1 + e^{-2 \cdot x}}} + \sqrt{1}\right) \cdot \color{blue}{\sqrt[3]{\left(\left(\sqrt{\frac{2}{1 + e^{-2 \cdot x}}} - \sqrt{1}\right) \cdot \left(\sqrt{\frac{2}{1 + e^{-2 \cdot x}}} - \sqrt{1}\right)\right) \cdot \left(\sqrt{\frac{2}{1 + e^{-2 \cdot x}}} - \sqrt{1}\right)}}\]
    8. Applied add-cbrt-cube0.2

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

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

    if -1147158.015099995 < (* -2.0 x) < 9.326698951531979e-11

    1. Initial program 58.5

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

      \[\leadsto \color{blue}{1 \cdot x - \left(0.3333333333333333703407674875052180141211 \cdot {x}^{3} + 5.5511151231257827021181583404541015625 \cdot 10^{-17} \cdot {x}^{4}\right)}\]
    3. Simplified0.8

      \[\leadsto \color{blue}{x \cdot \left(1 - 0.3333333333333333703407674875052180141211 \cdot \left(x \cdot x\right)\right) - \left(5.5511151231257827021181583404541015625 \cdot 10^{-17} \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification0.5

    \[\leadsto \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}:\\ \;\;\;\;x \cdot \left(1 - \left(x \cdot x\right) \cdot 0.3333333333333333703407674875052180141211\right) - \left(x \cdot x\right) \cdot \left(5.5511151231257827021181583404541015625 \cdot 10^{-17} \cdot \left(x \cdot x\right)\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}\]

Reproduce

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))