Average Error: 2.0 → 1.3
Time: 17.4s
Precision: 64
\[\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\]
\[\left(x \cdot \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)}}\right) \cdot \frac{1}{y}\]
\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}
\left(x \cdot \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)}}\right) \cdot \frac{1}{y}
double f(double x, double y, double z, double t, double a, double b) {
        double r102278 = x;
        double r102279 = y;
        double r102280 = z;
        double r102281 = log(r102280);
        double r102282 = r102279 * r102281;
        double r102283 = t;
        double r102284 = 1.0;
        double r102285 = r102283 - r102284;
        double r102286 = a;
        double r102287 = log(r102286);
        double r102288 = r102285 * r102287;
        double r102289 = r102282 + r102288;
        double r102290 = b;
        double r102291 = r102289 - r102290;
        double r102292 = exp(r102291);
        double r102293 = r102278 * r102292;
        double r102294 = r102293 / r102279;
        return r102294;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r102295 = x;
        double r102296 = 1.0;
        double r102297 = a;
        double r102298 = r102296 / r102297;
        double r102299 = 1.0;
        double r102300 = pow(r102298, r102299);
        double r102301 = y;
        double r102302 = z;
        double r102303 = r102296 / r102302;
        double r102304 = log(r102303);
        double r102305 = r102301 * r102304;
        double r102306 = log(r102298);
        double r102307 = t;
        double r102308 = r102306 * r102307;
        double r102309 = b;
        double r102310 = r102308 + r102309;
        double r102311 = r102305 + r102310;
        double r102312 = exp(r102311);
        double r102313 = r102300 / r102312;
        double r102314 = r102295 * r102313;
        double r102315 = r102296 / r102301;
        double r102316 = r102314 * r102315;
        return r102316;
}

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. Taylor expanded around inf 2.0

    \[\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. Using strategy rm
  5. Applied div-inv1.3

    \[\leadsto \color{blue}{\left(x \cdot \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)}}\right) \cdot \frac{1}{y}}\]
  6. Final simplification1.3

    \[\leadsto \left(x \cdot \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)}}\right) \cdot \frac{1}{y}\]

Reproduce

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