Average Error: 1.8 → 1.1
Time: 15.2s
Precision: 64
\[\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\]
\[\frac{x \cdot \frac{{\left(\frac{1}{a}\right)}^{1}}{e^{1 \cdot \left(y \cdot \log \left(\frac{1}{z}\right)\right) + \left(\log \left(\frac{1}{a}\right) \cdot t + b\right)}}}{y}\]
\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}
\frac{x \cdot \frac{{\left(\frac{1}{a}\right)}^{1}}{e^{1 \cdot \left(y \cdot \log \left(\frac{1}{z}\right)\right) + \left(\log \left(\frac{1}{a}\right) \cdot t + b\right)}}}{y}
double f(double x, double y, double z, double t, double a, double b) {
        double r75727 = x;
        double r75728 = y;
        double r75729 = z;
        double r75730 = log(r75729);
        double r75731 = r75728 * r75730;
        double r75732 = t;
        double r75733 = 1.0;
        double r75734 = r75732 - r75733;
        double r75735 = a;
        double r75736 = log(r75735);
        double r75737 = r75734 * r75736;
        double r75738 = r75731 + r75737;
        double r75739 = b;
        double r75740 = r75738 - r75739;
        double r75741 = exp(r75740);
        double r75742 = r75727 * r75741;
        double r75743 = r75742 / r75728;
        return r75743;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r75744 = x;
        double r75745 = 1.0;
        double r75746 = a;
        double r75747 = r75745 / r75746;
        double r75748 = 1.0;
        double r75749 = pow(r75747, r75748);
        double r75750 = y;
        double r75751 = z;
        double r75752 = r75745 / r75751;
        double r75753 = log(r75752);
        double r75754 = r75750 * r75753;
        double r75755 = r75745 * r75754;
        double r75756 = log(r75747);
        double r75757 = t;
        double r75758 = r75756 * r75757;
        double r75759 = b;
        double r75760 = r75758 + r75759;
        double r75761 = r75755 + r75760;
        double r75762 = exp(r75761);
        double r75763 = r75749 / r75762;
        double r75764 = r75744 * r75763;
        double r75765 = r75764 / r75750;
        return r75765;
}

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.8

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

    \[\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^{y \cdot \log \left(\frac{1}{z}\right) + \left(\log \left(\frac{1}{a}\right) \cdot t + b\right)}}}}{y}\]
  4. Using strategy rm
  5. Applied *-un-lft-identity1.1

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

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

Reproduce

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