Average Error: 1.9 → 1.3
Time: 16.5s
Precision: 64
\[\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\]
\[{\left(\frac{1}{{a}^{1}}\right)}^{1} \cdot \frac{x}{e^{\log \left(\frac{1}{z}\right) \cdot y + \left(\log \left(\frac{1}{a}\right) \cdot t + b\right)} \cdot y}\]
\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}
{\left(\frac{1}{{a}^{1}}\right)}^{1} \cdot \frac{x}{e^{\log \left(\frac{1}{z}\right) \cdot y + \left(\log \left(\frac{1}{a}\right) \cdot t + b\right)} \cdot y}
double f(double x, double y, double z, double t, double a, double b) {
        double r105578 = x;
        double r105579 = y;
        double r105580 = z;
        double r105581 = log(r105580);
        double r105582 = r105579 * r105581;
        double r105583 = t;
        double r105584 = 1.0;
        double r105585 = r105583 - r105584;
        double r105586 = a;
        double r105587 = log(r105586);
        double r105588 = r105585 * r105587;
        double r105589 = r105582 + r105588;
        double r105590 = b;
        double r105591 = r105589 - r105590;
        double r105592 = exp(r105591);
        double r105593 = r105578 * r105592;
        double r105594 = r105593 / r105579;
        return r105594;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r105595 = 1.0;
        double r105596 = a;
        double r105597 = 1.0;
        double r105598 = pow(r105596, r105597);
        double r105599 = r105595 / r105598;
        double r105600 = pow(r105599, r105597);
        double r105601 = x;
        double r105602 = z;
        double r105603 = r105595 / r105602;
        double r105604 = log(r105603);
        double r105605 = y;
        double r105606 = r105604 * r105605;
        double r105607 = r105595 / r105596;
        double r105608 = log(r105607);
        double r105609 = t;
        double r105610 = r105608 * r105609;
        double r105611 = b;
        double r105612 = r105610 + r105611;
        double r105613 = r105606 + r105612;
        double r105614 = exp(r105613);
        double r105615 = r105614 * r105605;
        double r105616 = r105601 / r105615;
        double r105617 = r105600 * r105616;
        return r105617;
}

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. Initial program 1.9

    \[\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\]
  2. Taylor expanded around inf 1.9

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

    \[\leadsto \frac{x \cdot \color{blue}{\frac{{\left(\frac{1}{a}\right)}^{1}}{e^{\mathsf{fma}\left(y, \log \left(\frac{1}{z}\right), \mathsf{fma}\left(\log \left(\frac{1}{a}\right), t, b\right)\right)}}}}{y}\]
  4. Using strategy rm
  5. Applied associate-/l*1.3

    \[\leadsto \color{blue}{\frac{x}{\frac{y}{\frac{{\left(\frac{1}{a}\right)}^{1}}{e^{\mathsf{fma}\left(y, \log \left(\frac{1}{z}\right), \mathsf{fma}\left(\log \left(\frac{1}{a}\right), t, b\right)\right)}}}}}\]
  6. Taylor expanded around inf 1.3

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

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

Reproduce

herbie shell --seed 2020001 +o rules:numerics
(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))