Average Error: 1.9 → 2.1
Time: 19.2s
Precision: 64
\[\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\]
\[\frac{e^{\left(-\log a\right) \cdot \left(1 - t\right) - \left(b - y \cdot \log z\right)}}{y} \cdot x\]
\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}
\frac{e^{\left(-\log a\right) \cdot \left(1 - t\right) - \left(b - y \cdot \log z\right)}}{y} \cdot x
double f(double x, double y, double z, double t, double a, double b) {
        double r88491 = x;
        double r88492 = y;
        double r88493 = z;
        double r88494 = log(r88493);
        double r88495 = r88492 * r88494;
        double r88496 = t;
        double r88497 = 1.0;
        double r88498 = r88496 - r88497;
        double r88499 = a;
        double r88500 = log(r88499);
        double r88501 = r88498 * r88500;
        double r88502 = r88495 + r88501;
        double r88503 = b;
        double r88504 = r88502 - r88503;
        double r88505 = exp(r88504);
        double r88506 = r88491 * r88505;
        double r88507 = r88506 / r88492;
        return r88507;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r88508 = a;
        double r88509 = log(r88508);
        double r88510 = -r88509;
        double r88511 = 1.0;
        double r88512 = t;
        double r88513 = r88511 - r88512;
        double r88514 = r88510 * r88513;
        double r88515 = b;
        double r88516 = y;
        double r88517 = z;
        double r88518 = log(r88517);
        double r88519 = r88516 * r88518;
        double r88520 = r88515 - r88519;
        double r88521 = r88514 - r88520;
        double r88522 = exp(r88521);
        double r88523 = r88522 / r88516;
        double r88524 = x;
        double r88525 = r88523 * r88524;
        return r88525;
}

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 \color{blue}{\frac{x \cdot 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. Simplified2.1

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

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

Reproduce

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