Average Error: 0.6 → 0.6
Time: 17.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(\mathsf{fma}\left(0.25, \frac{\sqrt{3} \cdot \left({x}^{2} \cdot {\left(\log 2\right)}^{\left(\sqrt{3}\right)}\right)}{\log 2}, \mathsf{fma}\left(0.125, \frac{\left({x}^{2} \cdot {\left(\log 2\right)}^{\left(\sqrt{3}\right)}\right) \cdot 3}{{\left(\log 2\right)}^{2}}, \mathsf{fma}\left(0.5, \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) - \mathsf{fma}\left(0.125, \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\\ \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(\mathsf{fma}\left(0.25, \frac{\sqrt{3} \cdot \left({x}^{2} \cdot {\left(\log 2\right)}^{\left(\sqrt{3}\right)}\right)}{\log 2}, \mathsf{fma}\left(0.125, \frac{\left({x}^{2} \cdot {\left(\log 2\right)}^{\left(\sqrt{3}\right)}\right) \cdot 3}{{\left(\log 2\right)}^{2}}, \mathsf{fma}\left(0.5, \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) - \mathsf{fma}\left(0.125, \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\\

\end{array}
double f(double x, double y) {
        double r162550 = 1.0;
        double r162551 = x;
        double r162552 = exp(r162551);
        double r162553 = r162550 + r162552;
        double r162554 = log(r162553);
        double r162555 = y;
        double r162556 = r162551 * r162555;
        double r162557 = r162554 - r162556;
        return r162557;
}

double f(double x, double y) {
        double r162558 = x;
        double r162559 = -3.3641507308706813;
        bool r162560 = r162558 <= r162559;
        double r162561 = 1.0;
        double r162562 = exp(r162558);
        double r162563 = r162561 + r162562;
        double r162564 = log(r162563);
        double r162565 = sqrt(r162564);
        double r162566 = 3.0;
        double r162567 = sqrt(r162566);
        double r162568 = pow(r162565, r162567);
        double r162569 = pow(r162568, r162567);
        double r162570 = r162569 * r162569;
        double r162571 = cbrt(r162570);
        double r162572 = y;
        double r162573 = r162558 * r162572;
        double r162574 = r162571 - r162573;
        double r162575 = 0.25;
        double r162576 = 2.0;
        double r162577 = pow(r162558, r162576);
        double r162578 = 2.0;
        double r162579 = log(r162578);
        double r162580 = pow(r162579, r162567);
        double r162581 = r162577 * r162580;
        double r162582 = r162567 * r162581;
        double r162583 = r162582 / r162579;
        double r162584 = 0.125;
        double r162585 = r162581 * r162566;
        double r162586 = pow(r162579, r162576);
        double r162587 = r162585 / r162586;
        double r162588 = 0.5;
        double r162589 = r162558 * r162580;
        double r162590 = r162567 * r162589;
        double r162591 = r162590 / r162579;
        double r162592 = fma(r162588, r162591, r162580);
        double r162593 = fma(r162584, r162587, r162592);
        double r162594 = fma(r162575, r162583, r162593);
        double r162595 = r162582 / r162586;
        double r162596 = 0.5;
        double r162597 = pow(r162578, r162576);
        double r162598 = r162579 * r162597;
        double r162599 = r162582 / r162598;
        double r162600 = r162596 * r162599;
        double r162601 = fma(r162584, r162595, r162600);
        double r162602 = r162594 - r162601;
        double r162603 = pow(r162602, r162567);
        double r162604 = cbrt(r162603);
        double r162605 = r162604 - r162573;
        double r162606 = r162560 ? r162574 : r162605;
        return r162606;
}

Error

Bits error versus x

Bits error versus y

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(\mathsf{fma}\left(0.25, \frac{\sqrt{3} \cdot \left({x}^{2} \cdot {\left(\log 2\right)}^{\left(\sqrt{3}\right)}\right)}{\log 2}, \mathsf{fma}\left(0.125, \frac{\left({x}^{2} \cdot {\left(\log 2\right)}^{\left(\sqrt{3}\right)}\right) \cdot 3}{{\left(\log 2\right)}^{2}}, \mathsf{fma}\left(0.5, \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) - \mathsf{fma}\left(0.125, \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\]
  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(\mathsf{fma}\left(0.25, \frac{\sqrt{3} \cdot \left({x}^{2} \cdot {\left(\log 2\right)}^{\left(\sqrt{3}\right)}\right)}{\log 2}, \mathsf{fma}\left(0.125, \frac{\left({x}^{2} \cdot {\left(\log 2\right)}^{\left(\sqrt{3}\right)}\right) \cdot 3}{{\left(\log 2\right)}^{2}}, \mathsf{fma}\left(0.5, \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) - \mathsf{fma}\left(0.125, \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\\ \end{array}\]

Reproduce

herbie shell --seed 2019235 +o rules:numerics
(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)))