Average Error: 29.6 → 0.0
Time: 9.5s
Precision: 64
\[\frac{2}{1 + e^{-2 \cdot x}} - 1\]
\[\begin{array}{l} \mathbf{if}\;x \le -8.90063218864884623 \cdot 10^{-4}:\\ \;\;\;\;\frac{\frac{\frac{\frac{2}{\sqrt[3]{1 + e^{-2 \cdot x}} \cdot \sqrt[3]{1 + e^{-2 \cdot x}}}}{\sqrt[3]{1 + e^{-2 \cdot x}}}}{\sqrt[3]{1 + e^{-2 \cdot x}}} \cdot \frac{2}{\sqrt[3]{1 + e^{-2 \cdot x}} \cdot \sqrt[3]{1 + e^{-2 \cdot x}}} - 1 \cdot 1}{\frac{2}{1 + e^{-2 \cdot x}} + 1}\\ \mathbf{elif}\;x \le 0.0012525288555290748:\\ \;\;\;\;\mathsf{fma}\left(1, x, -\mathsf{fma}\left(5.55112 \cdot 10^{-17}, {x}^{4}, 0.33333333333333337 \cdot {x}^{3}\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{\log \left(e^{\frac{\frac{\frac{2}{\sqrt[3]{1 + e^{-2 \cdot x}} \cdot \sqrt[3]{1 + e^{-2 \cdot x}}}}{\sqrt[3]{1 + e^{-2 \cdot x}}}}{\sqrt[3]{1 + e^{-2 \cdot x}}} \cdot \frac{2}{\sqrt[3]{1 + e^{-2 \cdot x}} \cdot \sqrt[3]{1 + e^{-2 \cdot x}}} - 1 \cdot 1}\right)}{\frac{2}{1 + e^{-2 \cdot x}} + 1}\\ \end{array}\]
\frac{2}{1 + e^{-2 \cdot x}} - 1
\begin{array}{l}
\mathbf{if}\;x \le -8.90063218864884623 \cdot 10^{-4}:\\
\;\;\;\;\frac{\frac{\frac{\frac{2}{\sqrt[3]{1 + e^{-2 \cdot x}} \cdot \sqrt[3]{1 + e^{-2 \cdot x}}}}{\sqrt[3]{1 + e^{-2 \cdot x}}}}{\sqrt[3]{1 + e^{-2 \cdot x}}} \cdot \frac{2}{\sqrt[3]{1 + e^{-2 \cdot x}} \cdot \sqrt[3]{1 + e^{-2 \cdot x}}} - 1 \cdot 1}{\frac{2}{1 + e^{-2 \cdot x}} + 1}\\

\mathbf{elif}\;x \le 0.0012525288555290748:\\
\;\;\;\;\mathsf{fma}\left(1, x, -\mathsf{fma}\left(5.55112 \cdot 10^{-17}, {x}^{4}, 0.33333333333333337 \cdot {x}^{3}\right)\right)\\

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

\end{array}
double f(double x, double __attribute__((unused)) y) {
        double r75809 = 2.0;
        double r75810 = 1.0;
        double r75811 = -2.0;
        double r75812 = x;
        double r75813 = r75811 * r75812;
        double r75814 = exp(r75813);
        double r75815 = r75810 + r75814;
        double r75816 = r75809 / r75815;
        double r75817 = r75816 - r75810;
        return r75817;
}

double f(double x, double __attribute__((unused)) y) {
        double r75818 = x;
        double r75819 = -0.0008900632188648846;
        bool r75820 = r75818 <= r75819;
        double r75821 = 2.0;
        double r75822 = 1.0;
        double r75823 = -2.0;
        double r75824 = r75823 * r75818;
        double r75825 = exp(r75824);
        double r75826 = r75822 + r75825;
        double r75827 = cbrt(r75826);
        double r75828 = r75827 * r75827;
        double r75829 = r75821 / r75828;
        double r75830 = r75829 / r75827;
        double r75831 = r75830 / r75827;
        double r75832 = r75831 * r75829;
        double r75833 = r75822 * r75822;
        double r75834 = r75832 - r75833;
        double r75835 = r75821 / r75826;
        double r75836 = r75835 + r75822;
        double r75837 = r75834 / r75836;
        double r75838 = 0.0012525288555290748;
        bool r75839 = r75818 <= r75838;
        double r75840 = 5.551115123125783e-17;
        double r75841 = 4.0;
        double r75842 = pow(r75818, r75841);
        double r75843 = 0.33333333333333337;
        double r75844 = 3.0;
        double r75845 = pow(r75818, r75844);
        double r75846 = r75843 * r75845;
        double r75847 = fma(r75840, r75842, r75846);
        double r75848 = -r75847;
        double r75849 = fma(r75822, r75818, r75848);
        double r75850 = exp(r75834);
        double r75851 = log(r75850);
        double r75852 = r75851 / r75836;
        double r75853 = r75839 ? r75849 : r75852;
        double r75854 = r75820 ? r75837 : r75853;
        return r75854;
}

Error

Bits error versus x

Bits error versus y

Derivation

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

    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}}\]
    4. Using strategy rm
    5. Applied add-cube-cbrt0.1

      \[\leadsto \frac{\frac{2}{1 + e^{-2 \cdot x}} \cdot \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}}}} - 1 \cdot 1}{\frac{2}{1 + e^{-2 \cdot x}} + 1}\]
    6. Applied add-sqr-sqrt0.1

      \[\leadsto \frac{\frac{2}{1 + e^{-2 \cdot x}} \cdot \frac{\color{blue}{\sqrt{2} \cdot \sqrt{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}}} - 1 \cdot 1}{\frac{2}{1 + e^{-2 \cdot x}} + 1}\]
    7. Applied times-frac0.1

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

      \[\leadsto \frac{\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 \left(\frac{\sqrt{2}}{\sqrt[3]{1 + e^{-2 \cdot x}} \cdot \sqrt[3]{1 + e^{-2 \cdot x}}} \cdot \frac{\sqrt{2}}{\sqrt[3]{1 + e^{-2 \cdot x}}}\right) - 1 \cdot 1}{\frac{2}{1 + e^{-2 \cdot x}} + 1}\]
    9. Applied add-sqr-sqrt0.1

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

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

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

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

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

    if -0.0008900632188648846 < x < 0.0012525288555290748

    1. Initial program 59.1

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

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

      \[\leadsto \color{blue}{\mathsf{fma}\left(1, x, -\mathsf{fma}\left(5.55112 \cdot 10^{-17}, {x}^{4}, 0.33333333333333337 \cdot {x}^{3}\right)\right)}\]

    if 0.0012525288555290748 < 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 add-cube-cbrt0.1

      \[\leadsto \frac{\frac{2}{1 + e^{-2 \cdot x}} \cdot \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}}}} - 1 \cdot 1}{\frac{2}{1 + e^{-2 \cdot x}} + 1}\]
    6. Applied add-sqr-sqrt1.1

      \[\leadsto \frac{\frac{2}{1 + e^{-2 \cdot x}} \cdot \frac{\color{blue}{\sqrt{2} \cdot \sqrt{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}}} - 1 \cdot 1}{\frac{2}{1 + e^{-2 \cdot x}} + 1}\]
    7. Applied times-frac1.1

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

      \[\leadsto \frac{\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 \left(\frac{\sqrt{2}}{\sqrt[3]{1 + e^{-2 \cdot x}} \cdot \sqrt[3]{1 + e^{-2 \cdot x}}} \cdot \frac{\sqrt{2}}{\sqrt[3]{1 + e^{-2 \cdot x}}}\right) - 1 \cdot 1}{\frac{2}{1 + e^{-2 \cdot x}} + 1}\]
    9. Applied add-sqr-sqrt2.1

      \[\leadsto \frac{\frac{\color{blue}{\sqrt{2} \cdot \sqrt{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 \left(\frac{\sqrt{2}}{\sqrt[3]{1 + e^{-2 \cdot x}} \cdot \sqrt[3]{1 + e^{-2 \cdot x}}} \cdot \frac{\sqrt{2}}{\sqrt[3]{1 + e^{-2 \cdot x}}}\right) - 1 \cdot 1}{\frac{2}{1 + e^{-2 \cdot x}} + 1}\]
    10. Applied times-frac2.0

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

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

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

      \[\leadsto \frac{\frac{\frac{\frac{2}{\sqrt[3]{1 + e^{-2 \cdot x}} \cdot \sqrt[3]{1 + e^{-2 \cdot x}}}}{\sqrt[3]{1 + e^{-2 \cdot x}}}}{\sqrt[3]{1 + e^{-2 \cdot x}}} \cdot \color{blue}{\frac{2}{\sqrt[3]{1 + e^{-2 \cdot x}} \cdot \sqrt[3]{1 + e^{-2 \cdot x}}}} - 1 \cdot 1}{\frac{2}{1 + e^{-2 \cdot x}} + 1}\]
    14. Using strategy rm
    15. Applied add-log-exp0.1

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

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

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

      \[\leadsto \frac{\log \color{blue}{\left(e^{\frac{\frac{\frac{2}{\sqrt[3]{1 + e^{-2 \cdot x}} \cdot \sqrt[3]{1 + e^{-2 \cdot x}}}}{\sqrt[3]{1 + e^{-2 \cdot x}}}}{\sqrt[3]{1 + e^{-2 \cdot x}}} \cdot \frac{2}{\sqrt[3]{1 + e^{-2 \cdot x}} \cdot \sqrt[3]{1 + e^{-2 \cdot x}}} - 1 \cdot 1}\right)}}{\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 -8.90063218864884623 \cdot 10^{-4}:\\ \;\;\;\;\frac{\frac{\frac{\frac{2}{\sqrt[3]{1 + e^{-2 \cdot x}} \cdot \sqrt[3]{1 + e^{-2 \cdot x}}}}{\sqrt[3]{1 + e^{-2 \cdot x}}}}{\sqrt[3]{1 + e^{-2 \cdot x}}} \cdot \frac{2}{\sqrt[3]{1 + e^{-2 \cdot x}} \cdot \sqrt[3]{1 + e^{-2 \cdot x}}} - 1 \cdot 1}{\frac{2}{1 + e^{-2 \cdot x}} + 1}\\ \mathbf{elif}\;x \le 0.0012525288555290748:\\ \;\;\;\;\mathsf{fma}\left(1, x, -\mathsf{fma}\left(5.55112 \cdot 10^{-17}, {x}^{4}, 0.33333333333333337 \cdot {x}^{3}\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{\log \left(e^{\frac{\frac{\frac{2}{\sqrt[3]{1 + e^{-2 \cdot x}} \cdot \sqrt[3]{1 + e^{-2 \cdot x}}}}{\sqrt[3]{1 + e^{-2 \cdot x}}}}{\sqrt[3]{1 + e^{-2 \cdot x}}} \cdot \frac{2}{\sqrt[3]{1 + e^{-2 \cdot x}} \cdot \sqrt[3]{1 + e^{-2 \cdot x}}} - 1 \cdot 1}\right)}{\frac{2}{1 + e^{-2 \cdot x}} + 1}\\ \end{array}\]

Reproduce

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