Average Error: 28.7 → 0.0
Time: 16.7s
Precision: 64
\[\frac{2}{1 + e^{-2 \cdot x}} - 1\]
\[\begin{array}{l} \mathbf{if}\;-2 \cdot x \le -0.004082410410843178780182505249740643193945 \lor \neg \left(-2 \cdot x \le 2.401292736694836651360589196979589132752 \cdot 10^{-5}\right):\\ \;\;\;\;\frac{\log \left(\sqrt{{\left({\left(e^{1}\right)}^{\left(\frac{\sqrt{2}}{{\left(e^{-2 \cdot x} + 1\right)}^{2}}\right)}\right)}^{\left(\frac{\sqrt{2}}{\frac{1}{2}}\right)}}\right) + \left(\log \left(\sqrt{{\left({\left(e^{1}\right)}^{\left(\frac{\sqrt{2}}{{\left(e^{-2 \cdot x} + 1\right)}^{2}}\right)}\right)}^{\left(\frac{\sqrt{2}}{\frac{1}{2}}\right)}}\right) - 1 \cdot 1\right)}{\frac{2}{1 + e^{-2 \cdot x}} + 1}\\ \mathbf{else}:\\ \;\;\;\;1 \cdot x - \left(5.5511151231257827021181583404541015625 \cdot 10^{-17} \cdot {x}^{4} + 0.3333333333333333703407674875052180141211 \cdot {x}^{3}\right)\\ \end{array}\]
\frac{2}{1 + e^{-2 \cdot x}} - 1
\begin{array}{l}
\mathbf{if}\;-2 \cdot x \le -0.004082410410843178780182505249740643193945 \lor \neg \left(-2 \cdot x \le 2.401292736694836651360589196979589132752 \cdot 10^{-5}\right):\\
\;\;\;\;\frac{\log \left(\sqrt{{\left({\left(e^{1}\right)}^{\left(\frac{\sqrt{2}}{{\left(e^{-2 \cdot x} + 1\right)}^{2}}\right)}\right)}^{\left(\frac{\sqrt{2}}{\frac{1}{2}}\right)}}\right) + \left(\log \left(\sqrt{{\left({\left(e^{1}\right)}^{\left(\frac{\sqrt{2}}{{\left(e^{-2 \cdot x} + 1\right)}^{2}}\right)}\right)}^{\left(\frac{\sqrt{2}}{\frac{1}{2}}\right)}}\right) - 1 \cdot 1\right)}{\frac{2}{1 + e^{-2 \cdot x}} + 1}\\

\mathbf{else}:\\
\;\;\;\;1 \cdot x - \left(5.5511151231257827021181583404541015625 \cdot 10^{-17} \cdot {x}^{4} + 0.3333333333333333703407674875052180141211 \cdot {x}^{3}\right)\\

\end{array}
double f(double x, double __attribute__((unused)) y) {
        double r60144 = 2.0;
        double r60145 = 1.0;
        double r60146 = -2.0;
        double r60147 = x;
        double r60148 = r60146 * r60147;
        double r60149 = exp(r60148);
        double r60150 = r60145 + r60149;
        double r60151 = r60144 / r60150;
        double r60152 = r60151 - r60145;
        return r60152;
}

double f(double x, double __attribute__((unused)) y) {
        double r60153 = -2.0;
        double r60154 = x;
        double r60155 = r60153 * r60154;
        double r60156 = -0.004082410410843179;
        bool r60157 = r60155 <= r60156;
        double r60158 = 2.4012927366948367e-05;
        bool r60159 = r60155 <= r60158;
        double r60160 = !r60159;
        bool r60161 = r60157 || r60160;
        double r60162 = 1.0;
        double r60163 = exp(r60162);
        double r60164 = 2.0;
        double r60165 = sqrt(r60164);
        double r60166 = exp(r60155);
        double r60167 = 1.0;
        double r60168 = r60166 + r60167;
        double r60169 = 2.0;
        double r60170 = pow(r60168, r60169);
        double r60171 = r60165 / r60170;
        double r60172 = pow(r60163, r60171);
        double r60173 = r60162 / r60164;
        double r60174 = r60165 / r60173;
        double r60175 = pow(r60172, r60174);
        double r60176 = sqrt(r60175);
        double r60177 = log(r60176);
        double r60178 = r60167 * r60167;
        double r60179 = r60177 - r60178;
        double r60180 = r60177 + r60179;
        double r60181 = r60167 + r60166;
        double r60182 = r60164 / r60181;
        double r60183 = r60182 + r60167;
        double r60184 = r60180 / r60183;
        double r60185 = r60167 * r60154;
        double r60186 = 5.551115123125783e-17;
        double r60187 = 4.0;
        double r60188 = pow(r60154, r60187);
        double r60189 = r60186 * r60188;
        double r60190 = 0.33333333333333337;
        double r60191 = 3.0;
        double r60192 = pow(r60154, r60191);
        double r60193 = r60190 * r60192;
        double r60194 = r60189 + r60193;
        double r60195 = r60185 - r60194;
        double r60196 = r60161 ? r60184 : r60195;
        return r60196;
}

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) < -0.004082410410843179 or 2.4012927366948367e-05 < (* -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 add-log-exp0.1

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

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

      \[\leadsto \frac{\log \left({\left(e^{1}\right)}^{\left(\frac{2}{\color{blue}{{\left(e^{-2 \cdot x} + 1\right)}^{2} \cdot \frac{1}{2}}}\right)}\right) - 1 \cdot 1}{\frac{2}{1 + e^{-2 \cdot x}} + 1}\]
    9. Applied add-sqr-sqrt0.6

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

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

      \[\leadsto \frac{\log \color{blue}{\left({\left({\left(e^{1}\right)}^{\left(\frac{\sqrt{2}}{{\left(e^{-2 \cdot x} + 1\right)}^{2}}\right)}\right)}^{\left(\frac{\sqrt{2}}{\frac{1}{2}}\right)}\right)} - 1 \cdot 1}{\frac{2}{1 + e^{-2 \cdot x}} + 1}\]
    12. Using strategy rm
    13. Applied add-sqr-sqrt0.1

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

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

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

    if -0.004082410410843179 < (* -2.0 x) < 2.4012927366948367e-05

    1. Initial program 59.2

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;-2 \cdot x \le -0.004082410410843178780182505249740643193945 \lor \neg \left(-2 \cdot x \le 2.401292736694836651360589196979589132752 \cdot 10^{-5}\right):\\ \;\;\;\;\frac{\log \left(\sqrt{{\left({\left(e^{1}\right)}^{\left(\frac{\sqrt{2}}{{\left(e^{-2 \cdot x} + 1\right)}^{2}}\right)}\right)}^{\left(\frac{\sqrt{2}}{\frac{1}{2}}\right)}}\right) + \left(\log \left(\sqrt{{\left({\left(e^{1}\right)}^{\left(\frac{\sqrt{2}}{{\left(e^{-2 \cdot x} + 1\right)}^{2}}\right)}\right)}^{\left(\frac{\sqrt{2}}{\frac{1}{2}}\right)}}\right) - 1 \cdot 1\right)}{\frac{2}{1 + e^{-2 \cdot x}} + 1}\\ \mathbf{else}:\\ \;\;\;\;1 \cdot x - \left(5.5511151231257827021181583404541015625 \cdot 10^{-17} \cdot {x}^{4} + 0.3333333333333333703407674875052180141211 \cdot {x}^{3}\right)\\ \end{array}\]

Reproduce

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