Average Error: 2.0 → 1.2
Time: 1.7m
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}\;x \le -2.962520286780739 \cdot 10^{+71}:\\ \;\;\;\;\frac{\sqrt[3]{\frac{x \cdot {e}^{\left(\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b\right)}}{\sqrt[3]{y} \cdot \sqrt[3]{y}}} \cdot \left(\sqrt[3]{\frac{x \cdot e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}{\sqrt[3]{y} \cdot \sqrt[3]{y}}} \cdot \sqrt[3]{\frac{x \cdot e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}{\sqrt[3]{y} \cdot \sqrt[3]{y}}}\right)}{\sqrt[3]{y}}\\ \mathbf{elif}\;x \le 14.676820334239025:\\ \;\;\;\;\frac{x}{y} \cdot e^{\mathsf{fma}\left(\left(t - 1.0\right), \left(\log a\right), \left(y \cdot \log z - b\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{e^{\mathsf{fma}\left(\left(\log a\right), \left(t - 1.0\right), \left(\mathsf{fma}\left(y, \left(\log z\right), \left(\log x\right)\right) - b\right)\right)}}{y}\\ \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}\;x \le -2.962520286780739 \cdot 10^{+71}:\\
\;\;\;\;\frac{\sqrt[3]{\frac{x \cdot {e}^{\left(\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b\right)}}{\sqrt[3]{y} \cdot \sqrt[3]{y}}} \cdot \left(\sqrt[3]{\frac{x \cdot e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}{\sqrt[3]{y} \cdot \sqrt[3]{y}}} \cdot \sqrt[3]{\frac{x \cdot e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}{\sqrt[3]{y} \cdot \sqrt[3]{y}}}\right)}{\sqrt[3]{y}}\\

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

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

\end{array}
double f(double x, double y, double z, double t, double a, double b) {
        double r10719612 = x;
        double r10719613 = y;
        double r10719614 = z;
        double r10719615 = log(r10719614);
        double r10719616 = r10719613 * r10719615;
        double r10719617 = t;
        double r10719618 = 1.0;
        double r10719619 = r10719617 - r10719618;
        double r10719620 = a;
        double r10719621 = log(r10719620);
        double r10719622 = r10719619 * r10719621;
        double r10719623 = r10719616 + r10719622;
        double r10719624 = b;
        double r10719625 = r10719623 - r10719624;
        double r10719626 = exp(r10719625);
        double r10719627 = r10719612 * r10719626;
        double r10719628 = r10719627 / r10719613;
        return r10719628;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r10719629 = x;
        double r10719630 = -2.962520286780739e+71;
        bool r10719631 = r10719629 <= r10719630;
        double r10719632 = exp(1.0);
        double r10719633 = a;
        double r10719634 = log(r10719633);
        double r10719635 = t;
        double r10719636 = 1.0;
        double r10719637 = r10719635 - r10719636;
        double r10719638 = r10719634 * r10719637;
        double r10719639 = y;
        double r10719640 = z;
        double r10719641 = log(r10719640);
        double r10719642 = r10719639 * r10719641;
        double r10719643 = r10719638 + r10719642;
        double r10719644 = b;
        double r10719645 = r10719643 - r10719644;
        double r10719646 = pow(r10719632, r10719645);
        double r10719647 = r10719629 * r10719646;
        double r10719648 = cbrt(r10719639);
        double r10719649 = r10719648 * r10719648;
        double r10719650 = r10719647 / r10719649;
        double r10719651 = cbrt(r10719650);
        double r10719652 = exp(r10719645);
        double r10719653 = r10719629 * r10719652;
        double r10719654 = r10719653 / r10719649;
        double r10719655 = cbrt(r10719654);
        double r10719656 = r10719655 * r10719655;
        double r10719657 = r10719651 * r10719656;
        double r10719658 = r10719657 / r10719648;
        double r10719659 = 14.676820334239025;
        bool r10719660 = r10719629 <= r10719659;
        double r10719661 = r10719629 / r10719639;
        double r10719662 = r10719642 - r10719644;
        double r10719663 = fma(r10719637, r10719634, r10719662);
        double r10719664 = exp(r10719663);
        double r10719665 = r10719661 * r10719664;
        double r10719666 = log(r10719629);
        double r10719667 = fma(r10719639, r10719641, r10719666);
        double r10719668 = r10719667 - r10719644;
        double r10719669 = fma(r10719634, r10719637, r10719668);
        double r10719670 = exp(r10719669);
        double r10719671 = r10719670 / r10719639;
        double r10719672 = r10719660 ? r10719665 : r10719671;
        double r10719673 = r10719631 ? r10719658 : r10719672;
        return r10719673;
}

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 3 regimes
  2. if x < -2.962520286780739e+71

    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 \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}}}\]
    4. Applied associate-/r*0.7

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

      \[\leadsto \frac{\color{blue}{\left(\sqrt[3]{\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}}} \cdot \sqrt[3]{\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}}}\right) \cdot \sqrt[3]{\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}}\]
    7. Using strategy rm
    8. Applied *-un-lft-identity0.7

      \[\leadsto \frac{\left(\sqrt[3]{\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}}} \cdot \sqrt[3]{\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}}}\right) \cdot \sqrt[3]{\frac{x \cdot e^{\color{blue}{1 \cdot \left(\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b\right)}}}{\sqrt[3]{y} \cdot \sqrt[3]{y}}}}{\sqrt[3]{y}}\]
    9. Applied exp-prod0.7

      \[\leadsto \frac{\left(\sqrt[3]{\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}}} \cdot \sqrt[3]{\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}}}\right) \cdot \sqrt[3]{\frac{x \cdot \color{blue}{{\left(e^{1}\right)}^{\left(\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b\right)}}}{\sqrt[3]{y} \cdot \sqrt[3]{y}}}}{\sqrt[3]{y}}\]
    10. Simplified0.7

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

    if -2.962520286780739e+71 < x < 14.676820334239025

    1. Initial program 2.9

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

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

    if 14.676820334239025 < x

    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 expm1-log1p-u0.7

      \[\leadsto \frac{x \cdot \color{blue}{\mathsf{expm1}\left(\left(\mathsf{log1p}\left(\left(e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}\right)\right)\right)\right)}}{y}\]
    4. Using strategy rm
    5. Applied add-exp-log0.7

      \[\leadsto \frac{x \cdot \color{blue}{e^{\log \left(\mathsf{expm1}\left(\left(\mathsf{log1p}\left(\left(e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}\right)\right)\right)\right)\right)}}}{y}\]
    6. Applied add-exp-log0.8

      \[\leadsto \frac{\color{blue}{e^{\log x}} \cdot e^{\log \left(\mathsf{expm1}\left(\left(\mathsf{log1p}\left(\left(e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}\right)\right)\right)\right)\right)}}{y}\]
    7. Applied prod-exp0.8

      \[\leadsto \frac{\color{blue}{e^{\log x + \log \left(\mathsf{expm1}\left(\left(\mathsf{log1p}\left(\left(e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}\right)\right)\right)\right)\right)}}}{y}\]
    8. Simplified0.8

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

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

Reproduce

herbie shell --seed 2019107 +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))