Average Error: 2.0 → 1.2
Time: 1.6m
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^{\left(\left(\log a \cdot t - b\right) - \log a \cdot 1.0\right) + y \cdot \log z}\\ \mathbf{else}:\\ \;\;\;\;\frac{e^{\left(\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b\right) + \log x}}{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^{\left(\left(\log a \cdot t - b\right) - \log a \cdot 1.0\right) + y \cdot \log z}\\

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

\end{array}
double f(double x, double y, double z, double t, double a, double b) {
        double r11705634 = x;
        double r11705635 = y;
        double r11705636 = z;
        double r11705637 = log(r11705636);
        double r11705638 = r11705635 * r11705637;
        double r11705639 = t;
        double r11705640 = 1.0;
        double r11705641 = r11705639 - r11705640;
        double r11705642 = a;
        double r11705643 = log(r11705642);
        double r11705644 = r11705641 * r11705643;
        double r11705645 = r11705638 + r11705644;
        double r11705646 = b;
        double r11705647 = r11705645 - r11705646;
        double r11705648 = exp(r11705647);
        double r11705649 = r11705634 * r11705648;
        double r11705650 = r11705649 / r11705635;
        return r11705650;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r11705651 = x;
        double r11705652 = -2.962520286780739e+71;
        bool r11705653 = r11705651 <= r11705652;
        double r11705654 = exp(1.0);
        double r11705655 = a;
        double r11705656 = log(r11705655);
        double r11705657 = t;
        double r11705658 = 1.0;
        double r11705659 = r11705657 - r11705658;
        double r11705660 = r11705656 * r11705659;
        double r11705661 = y;
        double r11705662 = z;
        double r11705663 = log(r11705662);
        double r11705664 = r11705661 * r11705663;
        double r11705665 = r11705660 + r11705664;
        double r11705666 = b;
        double r11705667 = r11705665 - r11705666;
        double r11705668 = pow(r11705654, r11705667);
        double r11705669 = r11705651 * r11705668;
        double r11705670 = cbrt(r11705661);
        double r11705671 = r11705670 * r11705670;
        double r11705672 = r11705669 / r11705671;
        double r11705673 = cbrt(r11705672);
        double r11705674 = exp(r11705667);
        double r11705675 = r11705651 * r11705674;
        double r11705676 = r11705675 / r11705671;
        double r11705677 = cbrt(r11705676);
        double r11705678 = r11705677 * r11705677;
        double r11705679 = r11705673 * r11705678;
        double r11705680 = r11705679 / r11705670;
        double r11705681 = 14.676820334239025;
        bool r11705682 = r11705651 <= r11705681;
        double r11705683 = r11705651 / r11705661;
        double r11705684 = r11705656 * r11705657;
        double r11705685 = r11705684 - r11705666;
        double r11705686 = r11705656 * r11705658;
        double r11705687 = r11705685 - r11705686;
        double r11705688 = r11705687 + r11705664;
        double r11705689 = exp(r11705688);
        double r11705690 = r11705683 * r11705689;
        double r11705691 = log(r11705651);
        double r11705692 = r11705667 + r11705691;
        double r11705693 = exp(r11705692);
        double r11705694 = r11705693 / r11705661;
        double r11705695 = r11705682 ? r11705690 : r11705694;
        double r11705696 = r11705653 ? r11705680 : r11705695;
        return r11705696;
}

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

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

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. Taylor expanded around inf 2.9

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

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

    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 add-exp-log0.8

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

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

Reproduce

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