Average Error: 29.1 → 0.0
Time: 2.3m
Precision: 64
\[\frac{2}{1 + e^{-2 \cdot x}} - 1\]
\[\begin{array}{l} \mathbf{if}\;x \le -0.007335249056257028:\\ \;\;\;\;\frac{\sqrt[3]{\left(\left(\frac{2}{e^{-2 \cdot x} + 1} \cdot \left(\frac{2}{e^{-2 \cdot x} + 1} \cdot \frac{2}{e^{-2 \cdot x} + 1}\right) - 1\right) \cdot \left(\frac{2}{e^{-2 \cdot x} + 1} \cdot \left(\frac{2}{e^{-2 \cdot x} + 1} \cdot \frac{2}{e^{-2 \cdot x} + 1}\right) - 1\right)\right) \cdot \left(\frac{2}{e^{-2 \cdot x} + 1} \cdot \left(\frac{2}{e^{-2 \cdot x} + 1} \cdot \frac{2}{e^{-2 \cdot x} + 1}\right) - 1\right)}}{\frac{2}{e^{-2 \cdot x} + 1} \cdot \left(1 + \frac{2}{e^{-2 \cdot x} + 1}\right) + 1}\\ \mathbf{elif}\;x \le 0.006741279642019881:\\ \;\;\;\;\left(x \cdot \left(\frac{-1}{3} \cdot \left(x \cdot x\right)\right) + x\right) + \frac{2}{15} \cdot {x}^{5}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt[3]{\left(\left(\frac{2}{e^{-2 \cdot x} + 1} \cdot \left(\frac{2}{e^{-2 \cdot x} + 1} \cdot \frac{2}{e^{-2 \cdot x} + 1}\right) - 1\right) \cdot \left(\frac{2}{e^{-2 \cdot x} + 1} \cdot \left(\frac{2}{e^{-2 \cdot x} + 1} \cdot \frac{2}{e^{-2 \cdot x} + 1}\right) - 1\right)\right) \cdot \left(\frac{2}{e^{-2 \cdot x} + 1} \cdot \left(\frac{2}{e^{-2 \cdot x} + 1} \cdot \frac{2}{e^{-2 \cdot x} + 1}\right) - 1\right)}}{\frac{2}{e^{-2 \cdot x} + 1} \cdot \left(1 + \frac{2}{e^{-2 \cdot x} + 1}\right) + 1}\\ \end{array}\]
\frac{2}{1 + e^{-2 \cdot x}} - 1
\begin{array}{l}
\mathbf{if}\;x \le -0.007335249056257028:\\
\;\;\;\;\frac{\sqrt[3]{\left(\left(\frac{2}{e^{-2 \cdot x} + 1} \cdot \left(\frac{2}{e^{-2 \cdot x} + 1} \cdot \frac{2}{e^{-2 \cdot x} + 1}\right) - 1\right) \cdot \left(\frac{2}{e^{-2 \cdot x} + 1} \cdot \left(\frac{2}{e^{-2 \cdot x} + 1} \cdot \frac{2}{e^{-2 \cdot x} + 1}\right) - 1\right)\right) \cdot \left(\frac{2}{e^{-2 \cdot x} + 1} \cdot \left(\frac{2}{e^{-2 \cdot x} + 1} \cdot \frac{2}{e^{-2 \cdot x} + 1}\right) - 1\right)}}{\frac{2}{e^{-2 \cdot x} + 1} \cdot \left(1 + \frac{2}{e^{-2 \cdot x} + 1}\right) + 1}\\

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

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

\end{array}
double f(double x, double __attribute__((unused)) y) {
        double r16143569 = 2.0;
        double r16143570 = 1.0;
        double r16143571 = -2.0;
        double r16143572 = x;
        double r16143573 = r16143571 * r16143572;
        double r16143574 = exp(r16143573);
        double r16143575 = r16143570 + r16143574;
        double r16143576 = r16143569 / r16143575;
        double r16143577 = r16143576 - r16143570;
        return r16143577;
}

double f(double x, double __attribute__((unused)) y) {
        double r16143578 = x;
        double r16143579 = -0.007335249056257028;
        bool r16143580 = r16143578 <= r16143579;
        double r16143581 = 2.0;
        double r16143582 = -2.0;
        double r16143583 = r16143582 * r16143578;
        double r16143584 = exp(r16143583);
        double r16143585 = 1.0;
        double r16143586 = r16143584 + r16143585;
        double r16143587 = r16143581 / r16143586;
        double r16143588 = r16143587 * r16143587;
        double r16143589 = r16143587 * r16143588;
        double r16143590 = r16143589 - r16143585;
        double r16143591 = r16143590 * r16143590;
        double r16143592 = r16143591 * r16143590;
        double r16143593 = cbrt(r16143592);
        double r16143594 = r16143585 + r16143587;
        double r16143595 = r16143587 * r16143594;
        double r16143596 = r16143595 + r16143585;
        double r16143597 = r16143593 / r16143596;
        double r16143598 = 0.006741279642019881;
        bool r16143599 = r16143578 <= r16143598;
        double r16143600 = -0.3333333333333333;
        double r16143601 = r16143578 * r16143578;
        double r16143602 = r16143600 * r16143601;
        double r16143603 = r16143578 * r16143602;
        double r16143604 = r16143603 + r16143578;
        double r16143605 = 0.13333333333333333;
        double r16143606 = 5.0;
        double r16143607 = pow(r16143578, r16143606);
        double r16143608 = r16143605 * r16143607;
        double r16143609 = r16143604 + r16143608;
        double r16143610 = r16143599 ? r16143609 : r16143597;
        double r16143611 = r16143580 ? r16143597 : r16143610;
        return r16143611;
}

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 x < -0.007335249056257028 or 0.006741279642019881 < x

    1. Initial program 0.0

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

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

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

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

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

    if -0.007335249056257028 < x < 0.006741279642019881

    1. Initial program 59.0

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

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

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

      \[\leadsto \frac{\left(\frac{2}{1 + e^{-2 \cdot x}} \cdot \frac{2}{1 + e^{-2 \cdot x}}\right) \cdot \frac{2}{1 + e^{-2 \cdot x}} - 1}{\color{blue}{\left(\frac{2}{1 + e^{-2 \cdot x}} + 1\right) \cdot \frac{2}{1 + e^{-2 \cdot x}} + 1}}\]
    6. Taylor expanded around 0 0.0

      \[\leadsto \color{blue}{\left(x + \frac{2}{15} \cdot {x}^{5}\right) - \frac{1}{3} \cdot {x}^{3}}\]
    7. 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}}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification0.0

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

Reproduce

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