Average Error: 2.0 → 0.9
Time: 1.1m
Precision: 64
\[\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{y}\]
\[\begin{array}{l} \mathbf{if}\;\log a \le 102.10188870192115:\\ \;\;\;\;\left(\sqrt[3]{\frac{\frac{e^{\left(\left(t - 1.0\right) \cdot \log a + \log z \cdot y\right) - b} \cdot x}{\sqrt[3]{y} \cdot \sqrt[3]{y}}}{\sqrt[3]{y}}} \cdot \sqrt[3]{\frac{\frac{e^{\left(\left(t - 1.0\right) \cdot \log a + \log z \cdot y\right) - b} \cdot x}{\sqrt[3]{y} \cdot \sqrt[3]{y}}}{\sqrt[3]{y}}}\right) \cdot \sqrt[3]{\frac{\frac{e^{\left(\left(t - 1.0\right) \cdot \log a + \log z \cdot y\right) - b} \cdot x}{\sqrt[3]{y} \cdot \sqrt[3]{y}}}{\sqrt[3]{y}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{e^{\mathsf{fma}\left(\log a, t - 1.0, \log z \cdot y - b\right)}}{y} \cdot x\\ \end{array}\]
\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{y}
\begin{array}{l}
\mathbf{if}\;\log a \le 102.10188870192115:\\
\;\;\;\;\left(\sqrt[3]{\frac{\frac{e^{\left(\left(t - 1.0\right) \cdot \log a + \log z \cdot y\right) - b} \cdot x}{\sqrt[3]{y} \cdot \sqrt[3]{y}}}{\sqrt[3]{y}}} \cdot \sqrt[3]{\frac{\frac{e^{\left(\left(t - 1.0\right) \cdot \log a + \log z \cdot y\right) - b} \cdot x}{\sqrt[3]{y} \cdot \sqrt[3]{y}}}{\sqrt[3]{y}}}\right) \cdot \sqrt[3]{\frac{\frac{e^{\left(\left(t - 1.0\right) \cdot \log a + \log z \cdot y\right) - b} \cdot x}{\sqrt[3]{y} \cdot \sqrt[3]{y}}}{\sqrt[3]{y}}}\\

\mathbf{else}:\\
\;\;\;\;\frac{e^{\mathsf{fma}\left(\log a, t - 1.0, \log z \cdot y - b\right)}}{y} \cdot x\\

\end{array}
double f(double x, double y, double z, double t, double a, double b) {
        double r4451680 = x;
        double r4451681 = y;
        double r4451682 = z;
        double r4451683 = log(r4451682);
        double r4451684 = r4451681 * r4451683;
        double r4451685 = t;
        double r4451686 = 1.0;
        double r4451687 = r4451685 - r4451686;
        double r4451688 = a;
        double r4451689 = log(r4451688);
        double r4451690 = r4451687 * r4451689;
        double r4451691 = r4451684 + r4451690;
        double r4451692 = b;
        double r4451693 = r4451691 - r4451692;
        double r4451694 = exp(r4451693);
        double r4451695 = r4451680 * r4451694;
        double r4451696 = r4451695 / r4451681;
        return r4451696;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r4451697 = a;
        double r4451698 = log(r4451697);
        double r4451699 = 102.10188870192115;
        bool r4451700 = r4451698 <= r4451699;
        double r4451701 = t;
        double r4451702 = 1.0;
        double r4451703 = r4451701 - r4451702;
        double r4451704 = r4451703 * r4451698;
        double r4451705 = z;
        double r4451706 = log(r4451705);
        double r4451707 = y;
        double r4451708 = r4451706 * r4451707;
        double r4451709 = r4451704 + r4451708;
        double r4451710 = b;
        double r4451711 = r4451709 - r4451710;
        double r4451712 = exp(r4451711);
        double r4451713 = x;
        double r4451714 = r4451712 * r4451713;
        double r4451715 = cbrt(r4451707);
        double r4451716 = r4451715 * r4451715;
        double r4451717 = r4451714 / r4451716;
        double r4451718 = r4451717 / r4451715;
        double r4451719 = cbrt(r4451718);
        double r4451720 = r4451719 * r4451719;
        double r4451721 = r4451720 * r4451719;
        double r4451722 = r4451708 - r4451710;
        double r4451723 = fma(r4451698, r4451703, r4451722);
        double r4451724 = exp(r4451723);
        double r4451725 = r4451724 / r4451707;
        double r4451726 = r4451725 * r4451713;
        double r4451727 = r4451700 ? r4451721 : r4451726;
        return r4451727;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Bits error versus a

Bits error versus b

Derivation

  1. Split input into 2 regimes
  2. if (log a) < 102.10188870192115

    1. Initial program 0.7

      \[\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{y}\]
    2. Using strategy rm
    3. Applied add-cube-cbrt0.7

      \[\leadsto \color{blue}{\left(\sqrt[3]{\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{y}} \cdot \sqrt[3]{\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{y}}\right) \cdot \sqrt[3]{\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{y}}}\]
    4. Using strategy rm
    5. Applied add-cube-cbrt0.7

      \[\leadsto \left(\sqrt[3]{\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{\color{blue}{\left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right) \cdot \sqrt[3]{y}}}} \cdot \sqrt[3]{\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{y}}\right) \cdot \sqrt[3]{\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{y}}\]
    6. Applied associate-/r*0.7

      \[\leadsto \left(\sqrt[3]{\color{blue}{\frac{\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{\sqrt[3]{y} \cdot \sqrt[3]{y}}}{\sqrt[3]{y}}}} \cdot \sqrt[3]{\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{y}}\right) \cdot \sqrt[3]{\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{y}}\]
    7. Using strategy rm
    8. Applied add-cube-cbrt0.7

      \[\leadsto \left(\sqrt[3]{\frac{\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{\sqrt[3]{y} \cdot \sqrt[3]{y}}}{\sqrt[3]{y}}} \cdot \sqrt[3]{\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{\color{blue}{\left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right) \cdot \sqrt[3]{y}}}}\right) \cdot \sqrt[3]{\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{y}}\]
    9. Applied associate-/r*0.7

      \[\leadsto \left(\sqrt[3]{\frac{\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{\sqrt[3]{y} \cdot \sqrt[3]{y}}}{\sqrt[3]{y}}} \cdot \sqrt[3]{\color{blue}{\frac{\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{\sqrt[3]{y} \cdot \sqrt[3]{y}}}{\sqrt[3]{y}}}}\right) \cdot \sqrt[3]{\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{y}}\]
    10. Using strategy rm
    11. Applied add-cube-cbrt0.7

      \[\leadsto \left(\sqrt[3]{\frac{\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{\sqrt[3]{y} \cdot \sqrt[3]{y}}}{\sqrt[3]{y}}} \cdot \sqrt[3]{\frac{\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{\sqrt[3]{y} \cdot \sqrt[3]{y}}}{\sqrt[3]{y}}}\right) \cdot \sqrt[3]{\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{\color{blue}{\left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right) \cdot \sqrt[3]{y}}}}\]
    12. Applied associate-/r*0.7

      \[\leadsto \left(\sqrt[3]{\frac{\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{\sqrt[3]{y} \cdot \sqrt[3]{y}}}{\sqrt[3]{y}}} \cdot \sqrt[3]{\frac{\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{\sqrt[3]{y} \cdot \sqrt[3]{y}}}{\sqrt[3]{y}}}\right) \cdot \sqrt[3]{\color{blue}{\frac{\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{\sqrt[3]{y} \cdot \sqrt[3]{y}}}{\sqrt[3]{y}}}}\]

    if 102.10188870192115 < (log a)

    1. Initial program 3.6

      \[\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{y}\]
    2. Using strategy rm
    3. Applied *-un-lft-identity3.6

      \[\leadsto \frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{\color{blue}{1 \cdot y}}\]
    4. Applied times-frac1.2

      \[\leadsto \color{blue}{\frac{x}{1} \cdot \frac{e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{y}}\]
    5. Simplified1.2

      \[\leadsto \color{blue}{x} \cdot \frac{e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{y}\]
    6. Simplified1.2

      \[\leadsto x \cdot \color{blue}{\frac{e^{\mathsf{fma}\left(\log a, t - 1.0, y \cdot \log z - b\right)}}{y}}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification0.9

    \[\leadsto \begin{array}{l} \mathbf{if}\;\log a \le 102.10188870192115:\\ \;\;\;\;\left(\sqrt[3]{\frac{\frac{e^{\left(\left(t - 1.0\right) \cdot \log a + \log z \cdot y\right) - b} \cdot x}{\sqrt[3]{y} \cdot \sqrt[3]{y}}}{\sqrt[3]{y}}} \cdot \sqrt[3]{\frac{\frac{e^{\left(\left(t - 1.0\right) \cdot \log a + \log z \cdot y\right) - b} \cdot x}{\sqrt[3]{y} \cdot \sqrt[3]{y}}}{\sqrt[3]{y}}}\right) \cdot \sqrt[3]{\frac{\frac{e^{\left(\left(t - 1.0\right) \cdot \log a + \log z \cdot y\right) - b} \cdot x}{\sqrt[3]{y} \cdot \sqrt[3]{y}}}{\sqrt[3]{y}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{e^{\mathsf{fma}\left(\log a, t - 1.0, \log z \cdot y - b\right)}}{y} \cdot x\\ \end{array}\]

Reproduce

herbie shell --seed 2019146 +o rules:numerics
(FPCore (x y z t a b)
  :name "Numeric.SpecFunctions:incompleteBetaWorker from math-functions-0.1.5.2"
  (/ (* x (exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y))