Average Error: 29.1 → 0.0
Time: 18.3s
Precision: 64
\[\frac{2}{1 + e^{-2 \cdot x}} - 1\]
\[\begin{array}{l} \mathbf{if}\;x \le -0.0010981289010568475:\\ \;\;\;\;\frac{\sqrt{2}}{\frac{1 + e^{x \cdot -2}}{\sqrt{2}}} - 1\\ \mathbf{elif}\;x \le 0.0008601727671511666:\\ \;\;\;\;\left(\frac{-1}{3} \cdot \left(x \cdot x\right)\right) \cdot x + x\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\frac{2}{1 + e^{x \cdot -2}} - 1} \cdot \sqrt{\frac{2}{1 + e^{x \cdot -2}} - 1}\\ \end{array}\]
\frac{2}{1 + e^{-2 \cdot x}} - 1
\begin{array}{l}
\mathbf{if}\;x \le -0.0010981289010568475:\\
\;\;\;\;\frac{\sqrt{2}}{\frac{1 + e^{x \cdot -2}}{\sqrt{2}}} - 1\\

\mathbf{elif}\;x \le 0.0008601727671511666:\\
\;\;\;\;\left(\frac{-1}{3} \cdot \left(x \cdot x\right)\right) \cdot x + x\\

\mathbf{else}:\\
\;\;\;\;\sqrt{\frac{2}{1 + e^{x \cdot -2}} - 1} \cdot \sqrt{\frac{2}{1 + e^{x \cdot -2}} - 1}\\

\end{array}
double f(double x, double __attribute__((unused)) y) {
        double r1392703 = 2.0;
        double r1392704 = 1.0;
        double r1392705 = -2.0;
        double r1392706 = x;
        double r1392707 = r1392705 * r1392706;
        double r1392708 = exp(r1392707);
        double r1392709 = r1392704 + r1392708;
        double r1392710 = r1392703 / r1392709;
        double r1392711 = r1392710 - r1392704;
        return r1392711;
}

double f(double x, double __attribute__((unused)) y) {
        double r1392712 = x;
        double r1392713 = -0.0010981289010568475;
        bool r1392714 = r1392712 <= r1392713;
        double r1392715 = 2.0;
        double r1392716 = sqrt(r1392715);
        double r1392717 = 1.0;
        double r1392718 = -2.0;
        double r1392719 = r1392712 * r1392718;
        double r1392720 = exp(r1392719);
        double r1392721 = r1392717 + r1392720;
        double r1392722 = r1392721 / r1392716;
        double r1392723 = r1392716 / r1392722;
        double r1392724 = r1392723 - r1392717;
        double r1392725 = 0.0008601727671511666;
        bool r1392726 = r1392712 <= r1392725;
        double r1392727 = -0.3333333333333333;
        double r1392728 = r1392712 * r1392712;
        double r1392729 = r1392727 * r1392728;
        double r1392730 = r1392729 * r1392712;
        double r1392731 = r1392730 + r1392712;
        double r1392732 = r1392715 / r1392721;
        double r1392733 = r1392732 - r1392717;
        double r1392734 = sqrt(r1392733);
        double r1392735 = r1392734 * r1392734;
        double r1392736 = r1392726 ? r1392731 : r1392735;
        double r1392737 = r1392714 ? r1392724 : r1392736;
        return r1392737;
}

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 x < -0.0010981289010568475

    1. Initial program 0.1

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

      \[\leadsto \frac{\color{blue}{\sqrt{2} \cdot \sqrt{2}}}{1 + e^{-2 \cdot x}} - 1\]
    4. Applied associate-/l*0.1

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

    if -0.0010981289010568475 < x < 0.0008601727671511666

    1. Initial program 59.1

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

      \[\leadsto \frac{\color{blue}{\sqrt{2} \cdot \sqrt{2}}}{1 + e^{-2 \cdot x}} - 1\]
    4. Applied associate-/l*60.1

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

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

      \[\leadsto \color{blue}{x + \left(0 - \left(\frac{1}{3} \cdot \left(x \cdot x\right)\right) \cdot x\right)}\]

    if 0.0008601727671511666 < x

    1. Initial program 0.0

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

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

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

Reproduce

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