Average Error: 1.8 → 1.2
Time: 13.3s
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(\log z \cdot y\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(\log z \cdot y\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 r98283 = x;
        double r98284 = y;
        double r98285 = z;
        double r98286 = log(r98285);
        double r98287 = r98284 * r98286;
        double r98288 = t;
        double r98289 = 1.0;
        double r98290 = r98288 - r98289;
        double r98291 = a;
        double r98292 = log(r98291);
        double r98293 = r98290 * r98292;
        double r98294 = r98287 + r98293;
        double r98295 = b;
        double r98296 = r98294 - r98295;
        double r98297 = exp(r98296);
        double r98298 = r98283 * r98297;
        double r98299 = r98298 / r98284;
        return r98299;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r98300 = x;
        double r98301 = 1.0;
        double r98302 = a;
        double r98303 = r98301 / r98302;
        double r98304 = 1.0;
        double r98305 = pow(r98303, r98304);
        double r98306 = -1.0;
        double r98307 = z;
        double r98308 = log(r98307);
        double r98309 = y;
        double r98310 = r98308 * r98309;
        double r98311 = r98306 * r98310;
        double r98312 = log(r98303);
        double r98313 = t;
        double r98314 = r98312 * r98313;
        double r98315 = b;
        double r98316 = r98314 + r98315;
        double r98317 = r98311 + r98316;
        double r98318 = exp(r98317);
        double r98319 = r98305 / r98318;
        double r98320 = r98300 * r98319;
        double r98321 = r98320 / r98309;
        return r98321;
}

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

    \[\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. Taylor expanded around 0 1.2

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

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

Reproduce

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