Average Error: 0.6 → 0.6
Time: 15.9s
Precision: 64
\[\log \left(1 + e^{x}\right) - x \cdot y\]
\[\begin{array}{l} \mathbf{if}\;x \le -3.364150730870681282880241269594989717007:\\ \;\;\;\;\sqrt[3]{{\left({\left(\sqrt{\log \left(1 + e^{x}\right)}\right)}^{\left(\sqrt{3}\right)}\right)}^{\left(\sqrt{3}\right)} \cdot {\left({\left(\sqrt{\log \left(1 + e^{x}\right)}\right)}^{\left(\sqrt{3}\right)}\right)}^{\left(\sqrt{3}\right)}} - x \cdot y\\ \mathbf{else}:\\ \;\;\;\;\sqrt[3]{{\left(0.25 \cdot \frac{\sqrt{3} \cdot \left({x}^{2} \cdot {\left(\log 2\right)}^{\left(\sqrt{3}\right)}\right)}{\log 2} + \left(\left(\left(0.5 \cdot \frac{\sqrt{3} \cdot \left(x \cdot {\left(\log 2\right)}^{\left(\sqrt{3}\right)}\right)}{\log 2} + {\left(\log 2\right)}^{\left(\sqrt{3}\right)}\right) + \frac{0.125 \cdot \left(3 \cdot \left({x}^{2} \cdot {\left(\log 2\right)}^{\left(\sqrt{3}\right)}\right)\right)}{{\left(\log 2\right)}^{2}}\right) - \left(0.125 \cdot \frac{\sqrt{3} \cdot \left({x}^{2} \cdot {\left(\log 2\right)}^{\left(\sqrt{3}\right)}\right)}{{\left(\log 2\right)}^{2}} + \frac{1}{2} \cdot \frac{\sqrt{3} \cdot \left({x}^{2} \cdot {\left(\log 2\right)}^{\left(\sqrt{3}\right)}\right)}{\log 2 \cdot {2}^{2}}\right)\right)\right)}^{\left(\sqrt{3}\right)}} - x \cdot y\\ \end{array}\]
\log \left(1 + e^{x}\right) - x \cdot y
\begin{array}{l}
\mathbf{if}\;x \le -3.364150730870681282880241269594989717007:\\
\;\;\;\;\sqrt[3]{{\left({\left(\sqrt{\log \left(1 + e^{x}\right)}\right)}^{\left(\sqrt{3}\right)}\right)}^{\left(\sqrt{3}\right)} \cdot {\left({\left(\sqrt{\log \left(1 + e^{x}\right)}\right)}^{\left(\sqrt{3}\right)}\right)}^{\left(\sqrt{3}\right)}} - x \cdot y\\

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

\end{array}
double f(double x, double y) {
        double r109231 = 1.0;
        double r109232 = x;
        double r109233 = exp(r109232);
        double r109234 = r109231 + r109233;
        double r109235 = log(r109234);
        double r109236 = y;
        double r109237 = r109232 * r109236;
        double r109238 = r109235 - r109237;
        return r109238;
}

double f(double x, double y) {
        double r109239 = x;
        double r109240 = -3.3641507308706813;
        bool r109241 = r109239 <= r109240;
        double r109242 = 1.0;
        double r109243 = exp(r109239);
        double r109244 = r109242 + r109243;
        double r109245 = log(r109244);
        double r109246 = sqrt(r109245);
        double r109247 = 3.0;
        double r109248 = sqrt(r109247);
        double r109249 = pow(r109246, r109248);
        double r109250 = pow(r109249, r109248);
        double r109251 = r109250 * r109250;
        double r109252 = cbrt(r109251);
        double r109253 = y;
        double r109254 = r109239 * r109253;
        double r109255 = r109252 - r109254;
        double r109256 = 0.25;
        double r109257 = 2.0;
        double r109258 = pow(r109239, r109257);
        double r109259 = 2.0;
        double r109260 = log(r109259);
        double r109261 = pow(r109260, r109248);
        double r109262 = r109258 * r109261;
        double r109263 = r109248 * r109262;
        double r109264 = r109263 / r109260;
        double r109265 = r109256 * r109264;
        double r109266 = 0.5;
        double r109267 = r109239 * r109261;
        double r109268 = r109248 * r109267;
        double r109269 = r109268 / r109260;
        double r109270 = r109266 * r109269;
        double r109271 = r109270 + r109261;
        double r109272 = 0.125;
        double r109273 = r109247 * r109262;
        double r109274 = r109272 * r109273;
        double r109275 = pow(r109260, r109257);
        double r109276 = r109274 / r109275;
        double r109277 = r109271 + r109276;
        double r109278 = r109263 / r109275;
        double r109279 = r109272 * r109278;
        double r109280 = 0.5;
        double r109281 = pow(r109259, r109257);
        double r109282 = r109260 * r109281;
        double r109283 = r109263 / r109282;
        double r109284 = r109280 * r109283;
        double r109285 = r109279 + r109284;
        double r109286 = r109277 - r109285;
        double r109287 = r109265 + r109286;
        double r109288 = pow(r109287, r109248);
        double r109289 = cbrt(r109288);
        double r109290 = r109289 - r109254;
        double r109291 = r109241 ? r109255 : r109290;
        return r109291;
}

Error

Bits error versus x

Bits error versus y

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original0.6
Target0.1
Herbie0.6
\[\begin{array}{l} \mathbf{if}\;x \le 0.0:\\ \;\;\;\;\log \left(1 + e^{x}\right) - x \cdot y\\ \mathbf{else}:\\ \;\;\;\;\log \left(1 + e^{-x}\right) - \left(-x\right) \cdot \left(1 - y\right)\\ \end{array}\]

Derivation

  1. Split input into 2 regimes
  2. if x < -3.3641507308706813

    1. Initial program 0.2

      \[\log \left(1 + e^{x}\right) - x \cdot y\]
    2. Using strategy rm
    3. Applied add-exp-log0.2

      \[\leadsto \color{blue}{e^{\log \left(\log \left(1 + e^{x}\right)\right)}} - x \cdot y\]
    4. Using strategy rm
    5. Applied add-cbrt-cube0.2

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

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

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

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

      \[\leadsto \sqrt[3]{{\left({\color{blue}{\left(\sqrt{\log \left(1 + e^{x}\right)} \cdot \sqrt{\log \left(1 + e^{x}\right)}\right)}}^{\left(\sqrt{3}\right)}\right)}^{\left(\sqrt{3}\right)}} - x \cdot y\]
    12. Applied unpow-prod-down0.2

      \[\leadsto \sqrt[3]{{\color{blue}{\left({\left(\sqrt{\log \left(1 + e^{x}\right)}\right)}^{\left(\sqrt{3}\right)} \cdot {\left(\sqrt{\log \left(1 + e^{x}\right)}\right)}^{\left(\sqrt{3}\right)}\right)}}^{\left(\sqrt{3}\right)}} - x \cdot y\]
    13. Applied unpow-prod-down0.2

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

    if -3.3641507308706813 < x

    1. Initial program 0.8

      \[\log \left(1 + e^{x}\right) - x \cdot y\]
    2. Using strategy rm
    3. Applied add-exp-log0.8

      \[\leadsto \color{blue}{e^{\log \left(\log \left(1 + e^{x}\right)\right)}} - x \cdot y\]
    4. Using strategy rm
    5. Applied add-cbrt-cube0.8

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

      \[\leadsto \sqrt[3]{\color{blue}{{\left(\log \left(1 + e^{x}\right)\right)}^{3}}} - x \cdot y\]
    7. Using strategy rm
    8. Applied add-sqr-sqrt1.5

      \[\leadsto \sqrt[3]{{\left(\log \left(1 + e^{x}\right)\right)}^{\color{blue}{\left(\sqrt{3} \cdot \sqrt{3}\right)}}} - x \cdot y\]
    9. Applied pow-unpow0.8

      \[\leadsto \sqrt[3]{\color{blue}{{\left({\left(\log \left(1 + e^{x}\right)\right)}^{\left(\sqrt{3}\right)}\right)}^{\left(\sqrt{3}\right)}}} - x \cdot y\]
    10. Taylor expanded around 0 0.7

      \[\leadsto \sqrt[3]{{\color{blue}{\left(\left(0.25 \cdot \frac{\sqrt{3} \cdot \left({x}^{2} \cdot {\left(\log 2\right)}^{\left(\sqrt{3}\right)}\right)}{\log 2} + \left(0.125 \cdot \frac{{\left(\sqrt{3}\right)}^{2} \cdot \left({x}^{2} \cdot {\left(\log 2\right)}^{\left(\sqrt{3}\right)}\right)}{{\left(\log 2\right)}^{2}} + \left(0.5 \cdot \frac{\sqrt{3} \cdot \left(x \cdot {\left(\log 2\right)}^{\left(\sqrt{3}\right)}\right)}{\log 2} + {\left(\log 2\right)}^{\left(\sqrt{3}\right)}\right)\right)\right) - \left(0.125 \cdot \frac{\sqrt{3} \cdot \left({x}^{2} \cdot {\left(\log 2\right)}^{\left(\sqrt{3}\right)}\right)}{{\left(\log 2\right)}^{2}} + \frac{1}{2} \cdot \frac{\sqrt{3} \cdot \left({x}^{2} \cdot {\left(\log 2\right)}^{\left(\sqrt{3}\right)}\right)}{\log 2 \cdot {2}^{2}}\right)\right)}}^{\left(\sqrt{3}\right)}} - x \cdot y\]
    11. Simplified0.7

      \[\leadsto \sqrt[3]{{\color{blue}{\left(0.25 \cdot \frac{\sqrt{3} \cdot \left({x}^{2} \cdot {\left(\log 2\right)}^{\left(\sqrt{3}\right)}\right)}{\log 2} + \left(\left(\left(0.5 \cdot \frac{\sqrt{3} \cdot \left(x \cdot {\left(\log 2\right)}^{\left(\sqrt{3}\right)}\right)}{\log 2} + {\left(\log 2\right)}^{\left(\sqrt{3}\right)}\right) + \frac{0.125 \cdot \left(3 \cdot \left({x}^{2} \cdot {\left(\log 2\right)}^{\left(\sqrt{3}\right)}\right)\right)}{{\left(\log 2\right)}^{2}}\right) - \left(0.125 \cdot \frac{\sqrt{3} \cdot \left({x}^{2} \cdot {\left(\log 2\right)}^{\left(\sqrt{3}\right)}\right)}{{\left(\log 2\right)}^{2}} + \frac{1}{2} \cdot \frac{\sqrt{3} \cdot \left({x}^{2} \cdot {\left(\log 2\right)}^{\left(\sqrt{3}\right)}\right)}{\log 2 \cdot {2}^{2}}\right)\right)\right)}}^{\left(\sqrt{3}\right)}} - x \cdot y\]
  3. Recombined 2 regimes into one program.
  4. Final simplification0.6

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -3.364150730870681282880241269594989717007:\\ \;\;\;\;\sqrt[3]{{\left({\left(\sqrt{\log \left(1 + e^{x}\right)}\right)}^{\left(\sqrt{3}\right)}\right)}^{\left(\sqrt{3}\right)} \cdot {\left({\left(\sqrt{\log \left(1 + e^{x}\right)}\right)}^{\left(\sqrt{3}\right)}\right)}^{\left(\sqrt{3}\right)}} - x \cdot y\\ \mathbf{else}:\\ \;\;\;\;\sqrt[3]{{\left(0.25 \cdot \frac{\sqrt{3} \cdot \left({x}^{2} \cdot {\left(\log 2\right)}^{\left(\sqrt{3}\right)}\right)}{\log 2} + \left(\left(\left(0.5 \cdot \frac{\sqrt{3} \cdot \left(x \cdot {\left(\log 2\right)}^{\left(\sqrt{3}\right)}\right)}{\log 2} + {\left(\log 2\right)}^{\left(\sqrt{3}\right)}\right) + \frac{0.125 \cdot \left(3 \cdot \left({x}^{2} \cdot {\left(\log 2\right)}^{\left(\sqrt{3}\right)}\right)\right)}{{\left(\log 2\right)}^{2}}\right) - \left(0.125 \cdot \frac{\sqrt{3} \cdot \left({x}^{2} \cdot {\left(\log 2\right)}^{\left(\sqrt{3}\right)}\right)}{{\left(\log 2\right)}^{2}} + \frac{1}{2} \cdot \frac{\sqrt{3} \cdot \left({x}^{2} \cdot {\left(\log 2\right)}^{\left(\sqrt{3}\right)}\right)}{\log 2 \cdot {2}^{2}}\right)\right)\right)}^{\left(\sqrt{3}\right)}} - x \cdot y\\ \end{array}\]

Reproduce

herbie shell --seed 2019235 
(FPCore (x y)
  :name "Logistic regression 2"
  :precision binary64

  :herbie-target
  (if (<= x 0.0) (- (log (+ 1 (exp x))) (* x y)) (- (log (+ 1 (exp (- x)))) (* (- x) (- 1 y))))

  (- (log (+ 1 (exp x))) (* x y)))