Average Error: 1.9 → 1.0
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}\;x \le -1687797526.6185596:\\ \;\;\;\;\frac{x \cdot \left(\sqrt[3]{\left(\sqrt[3]{e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}} \cdot \sqrt[3]{{\left(e^{\sqrt[3]{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b} \cdot \sqrt[3]{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}\right)}^{\left(\sqrt[3]{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}\right)}}\right) \cdot \sqrt[3]{\mathsf{expm1}\left(\mathsf{log1p}\left(e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}\right)\right)}} \cdot \left(\sqrt[3]{e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}} \cdot \sqrt[3]{e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}\right)\right)}{y}\\ \mathbf{elif}\;x \le 1.6941150942617612 \cdot 10^{-54}:\\ \;\;\;\;\frac{1}{\frac{\frac{y}{x}}{e^{\mathsf{fma}\left(\log a, t - 1.0, y \cdot \log z\right) - b}}}\\ \mathbf{else}:\\ \;\;\;\;\left(\sqrt[3]{\frac{x \cdot e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}{y}} \cdot \sqrt[3]{\frac{x \cdot e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}{y}}\right) \cdot \sqrt[3]{\frac{x \cdot e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}{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 -1687797526.6185596:\\
\;\;\;\;\frac{x \cdot \left(\sqrt[3]{\left(\sqrt[3]{e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}} \cdot \sqrt[3]{{\left(e^{\sqrt[3]{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b} \cdot \sqrt[3]{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}\right)}^{\left(\sqrt[3]{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}\right)}}\right) \cdot \sqrt[3]{\mathsf{expm1}\left(\mathsf{log1p}\left(e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}\right)\right)}} \cdot \left(\sqrt[3]{e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}} \cdot \sqrt[3]{e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}\right)\right)}{y}\\

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

\mathbf{else}:\\
\;\;\;\;\left(\sqrt[3]{\frac{x \cdot e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}{y}} \cdot \sqrt[3]{\frac{x \cdot e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}{y}}\right) \cdot \sqrt[3]{\frac{x \cdot e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}{y}}\\

\end{array}
double f(double x, double y, double z, double t, double a, double b) {
        double r5078607 = x;
        double r5078608 = y;
        double r5078609 = z;
        double r5078610 = log(r5078609);
        double r5078611 = r5078608 * r5078610;
        double r5078612 = t;
        double r5078613 = 1.0;
        double r5078614 = r5078612 - r5078613;
        double r5078615 = a;
        double r5078616 = log(r5078615);
        double r5078617 = r5078614 * r5078616;
        double r5078618 = r5078611 + r5078617;
        double r5078619 = b;
        double r5078620 = r5078618 - r5078619;
        double r5078621 = exp(r5078620);
        double r5078622 = r5078607 * r5078621;
        double r5078623 = r5078622 / r5078608;
        return r5078623;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r5078624 = x;
        double r5078625 = -1687797526.6185596;
        bool r5078626 = r5078624 <= r5078625;
        double r5078627 = a;
        double r5078628 = log(r5078627);
        double r5078629 = t;
        double r5078630 = 1.0;
        double r5078631 = r5078629 - r5078630;
        double r5078632 = r5078628 * r5078631;
        double r5078633 = y;
        double r5078634 = z;
        double r5078635 = log(r5078634);
        double r5078636 = r5078633 * r5078635;
        double r5078637 = r5078632 + r5078636;
        double r5078638 = b;
        double r5078639 = r5078637 - r5078638;
        double r5078640 = exp(r5078639);
        double r5078641 = cbrt(r5078640);
        double r5078642 = cbrt(r5078639);
        double r5078643 = r5078642 * r5078642;
        double r5078644 = exp(r5078643);
        double r5078645 = pow(r5078644, r5078642);
        double r5078646 = cbrt(r5078645);
        double r5078647 = r5078641 * r5078646;
        double r5078648 = log1p(r5078640);
        double r5078649 = expm1(r5078648);
        double r5078650 = cbrt(r5078649);
        double r5078651 = r5078647 * r5078650;
        double r5078652 = cbrt(r5078651);
        double r5078653 = r5078641 * r5078641;
        double r5078654 = r5078652 * r5078653;
        double r5078655 = r5078624 * r5078654;
        double r5078656 = r5078655 / r5078633;
        double r5078657 = 1.6941150942617612e-54;
        bool r5078658 = r5078624 <= r5078657;
        double r5078659 = 1.0;
        double r5078660 = r5078633 / r5078624;
        double r5078661 = fma(r5078628, r5078631, r5078636);
        double r5078662 = r5078661 - r5078638;
        double r5078663 = exp(r5078662);
        double r5078664 = r5078660 / r5078663;
        double r5078665 = r5078659 / r5078664;
        double r5078666 = r5078624 * r5078640;
        double r5078667 = r5078666 / r5078633;
        double r5078668 = cbrt(r5078667);
        double r5078669 = r5078668 * r5078668;
        double r5078670 = r5078669 * r5078668;
        double r5078671 = r5078658 ? r5078665 : r5078670;
        double r5078672 = r5078626 ? r5078656 : r5078671;
        return r5078672;
}

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 < -1687797526.6185596

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

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

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

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

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

    if -1687797526.6185596 < x < 1.6941150942617612e-54

    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. Using strategy rm
    3. Applied add-cube-cbrt2.9

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

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

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

    if 1.6941150942617612e-54 < x

    1. Initial program 0.9

      \[\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.9

      \[\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}}}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification1.0

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

Reproduce

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