Average Error: 2.1 → 0.6
Time: 40.1s
Precision: 64
\[\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\]
\[\begin{array}{l} \mathbf{if}\;\left(t - 1\right) \cdot \log a \le -173011673.0759815275669097900390625 \lor \neg \left(\left(t - 1\right) \cdot \log a \le 145.8223216718689627668936736881732940674\right):\\ \;\;\;\;\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\\ \mathbf{else}:\\ \;\;\;\;\frac{{\left(\frac{1}{{a}^{1}}\right)}^{1}}{y} \cdot \left(e^{\left(y \cdot \log z - \left(-\log a\right) \cdot t\right) - b} \cdot x\right)\\ \end{array}\]
\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}
\begin{array}{l}
\mathbf{if}\;\left(t - 1\right) \cdot \log a \le -173011673.0759815275669097900390625 \lor \neg \left(\left(t - 1\right) \cdot \log a \le 145.8223216718689627668936736881732940674\right):\\
\;\;\;\;\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\\

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

\end{array}
double f(double x, double y, double z, double t, double a, double b) {
        double r62652 = x;
        double r62653 = y;
        double r62654 = z;
        double r62655 = log(r62654);
        double r62656 = r62653 * r62655;
        double r62657 = t;
        double r62658 = 1.0;
        double r62659 = r62657 - r62658;
        double r62660 = a;
        double r62661 = log(r62660);
        double r62662 = r62659 * r62661;
        double r62663 = r62656 + r62662;
        double r62664 = b;
        double r62665 = r62663 - r62664;
        double r62666 = exp(r62665);
        double r62667 = r62652 * r62666;
        double r62668 = r62667 / r62653;
        return r62668;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r62669 = t;
        double r62670 = 1.0;
        double r62671 = r62669 - r62670;
        double r62672 = a;
        double r62673 = log(r62672);
        double r62674 = r62671 * r62673;
        double r62675 = -173011673.07598153;
        bool r62676 = r62674 <= r62675;
        double r62677 = 145.82232167186896;
        bool r62678 = r62674 <= r62677;
        double r62679 = !r62678;
        bool r62680 = r62676 || r62679;
        double r62681 = x;
        double r62682 = y;
        double r62683 = z;
        double r62684 = log(r62683);
        double r62685 = r62682 * r62684;
        double r62686 = r62685 + r62674;
        double r62687 = b;
        double r62688 = r62686 - r62687;
        double r62689 = exp(r62688);
        double r62690 = r62681 * r62689;
        double r62691 = r62690 / r62682;
        double r62692 = 1.0;
        double r62693 = pow(r62672, r62670);
        double r62694 = r62692 / r62693;
        double r62695 = pow(r62694, r62670);
        double r62696 = r62695 / r62682;
        double r62697 = -r62673;
        double r62698 = r62697 * r62669;
        double r62699 = r62685 - r62698;
        double r62700 = r62699 - r62687;
        double r62701 = exp(r62700);
        double r62702 = r62701 * r62681;
        double r62703 = r62696 * r62702;
        double r62704 = r62680 ? r62691 : r62703;
        return r62704;
}

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 2 regimes
  2. if (* (- t 1.0) (log a)) < -173011673.07598153 or 145.82232167186896 < (* (- t 1.0) (log a))

    1. Initial program 0.4

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

    if -173011673.07598153 < (* (- t 1.0) (log a)) < 145.82232167186896

    1. Initial program 5.2

      \[\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\]
    2. Using strategy rm
    3. Applied associate-/l*2.2

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

      \[\leadsto \frac{x}{\color{blue}{\frac{y}{\frac{{a}^{\left(t - 1\right)} \cdot {z}^{y}}{e^{b}}}}}\]
    5. Using strategy rm
    6. Applied pow-sub7.6

      \[\leadsto \frac{x}{\frac{y}{\frac{\color{blue}{\frac{{a}^{t}}{{a}^{1}}} \cdot {z}^{y}}{e^{b}}}}\]
    7. Applied associate-*l/7.6

      \[\leadsto \frac{x}{\frac{y}{\frac{\color{blue}{\frac{{a}^{t} \cdot {z}^{y}}{{a}^{1}}}}{e^{b}}}}\]
    8. Applied associate-/l/7.6

      \[\leadsto \frac{x}{\frac{y}{\color{blue}{\frac{{a}^{t} \cdot {z}^{y}}{e^{b} \cdot {a}^{1}}}}}\]
    9. Taylor expanded around inf 10.8

      \[\leadsto \color{blue}{{\left(\frac{1}{{a}^{1}}\right)}^{1} \cdot \frac{x \cdot \left(e^{-1 \cdot \left(\log \left(\frac{1}{z}\right) \cdot y\right)} \cdot e^{-1 \cdot \left(\log \left(\frac{1}{a}\right) \cdot t\right)}\right)}{e^{b} \cdot y}}\]
    10. Simplified0.9

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\left(t - 1\right) \cdot \log a \le -173011673.0759815275669097900390625 \lor \neg \left(\left(t - 1\right) \cdot \log a \le 145.8223216718689627668936736881732940674\right):\\ \;\;\;\;\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\\ \mathbf{else}:\\ \;\;\;\;\frac{{\left(\frac{1}{{a}^{1}}\right)}^{1}}{y} \cdot \left(e^{\left(y \cdot \log z - \left(-\log a\right) \cdot t\right) - b} \cdot x\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2019325 
(FPCore (x y z t a b)
  :name "Numeric.SpecFunctions:incompleteBetaWorker from math-functions-0.1.5.2"
  :precision binary64
  (/ (* x (exp (- (+ (* y (log z)) (* (- t 1) (log a))) b))) y))