Average Error: 0.1 → 0.1
Time: 25.3s
Precision: 64
\[\left(\left(x \cdot \log y - y\right) - z\right) + \log t\]
\[\left(\left(x \cdot \log y - y\right) - z\right) + \log t\]
\left(\left(x \cdot \log y - y\right) - z\right) + \log t
\left(\left(x \cdot \log y - y\right) - z\right) + \log t
double f(double x, double y, double z, double t) {
        double r77404 = x;
        double r77405 = y;
        double r77406 = log(r77405);
        double r77407 = r77404 * r77406;
        double r77408 = r77407 - r77405;
        double r77409 = z;
        double r77410 = r77408 - r77409;
        double r77411 = t;
        double r77412 = log(r77411);
        double r77413 = r77410 + r77412;
        return r77413;
}

double f(double x, double y, double z, double t) {
        double r77414 = x;
        double r77415 = y;
        double r77416 = log(r77415);
        double r77417 = r77414 * r77416;
        double r77418 = r77417 - r77415;
        double r77419 = z;
        double r77420 = r77418 - r77419;
        double r77421 = t;
        double r77422 = log(r77421);
        double r77423 = r77420 + r77422;
        return r77423;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.1

    \[\left(\left(x \cdot \log y - y\right) - z\right) + \log t\]
  2. Final simplification0.1

    \[\leadsto \left(\left(x \cdot \log y - y\right) - z\right) + \log t\]

Reproduce

herbie shell --seed 2019323 
(FPCore (x y z t)
  :name "Numeric.SpecFunctions:incompleteGamma from math-functions-0.1.5.2, A"
  :precision binary64
  (+ (- (- (* x (log y)) y) z) (log t)))