Average Error: 2.0 → 2.1
Time: 17.1s
Precision: 64
\[\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\]
\[\frac{x \cdot {e}^{\left(\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - 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 {e}^{\left(\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b\right)}}{y}
double f(double x, double y, double z, double t, double a, double b) {
        double r89269 = x;
        double r89270 = y;
        double r89271 = z;
        double r89272 = log(r89271);
        double r89273 = r89270 * r89272;
        double r89274 = t;
        double r89275 = 1.0;
        double r89276 = r89274 - r89275;
        double r89277 = a;
        double r89278 = log(r89277);
        double r89279 = r89276 * r89278;
        double r89280 = r89273 + r89279;
        double r89281 = b;
        double r89282 = r89280 - r89281;
        double r89283 = exp(r89282);
        double r89284 = r89269 * r89283;
        double r89285 = r89284 / r89270;
        return r89285;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r89286 = x;
        double r89287 = exp(1.0);
        double r89288 = y;
        double r89289 = z;
        double r89290 = log(r89289);
        double r89291 = r89288 * r89290;
        double r89292 = t;
        double r89293 = 1.0;
        double r89294 = r89292 - r89293;
        double r89295 = a;
        double r89296 = log(r89295);
        double r89297 = r89294 * r89296;
        double r89298 = r89291 + r89297;
        double r89299 = b;
        double r89300 = r89298 - r89299;
        double r89301 = pow(r89287, r89300);
        double r89302 = r89286 * r89301;
        double r89303 = r89302 / r89288;
        return r89303;
}

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 2.0

    \[\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 *-un-lft-identity2.0

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

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

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

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

Reproduce

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