Average Error: 0.1 → 0.1
Time: 12.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 r86916 = x;
        double r86917 = y;
        double r86918 = log(r86917);
        double r86919 = r86916 * r86918;
        double r86920 = r86919 - r86917;
        double r86921 = z;
        double r86922 = r86920 - r86921;
        double r86923 = t;
        double r86924 = log(r86923);
        double r86925 = r86922 + r86924;
        return r86925;
}

double f(double x, double y, double z, double t) {
        double r86926 = x;
        double r86927 = y;
        double r86928 = log(r86927);
        double r86929 = r86926 * r86928;
        double r86930 = r86929 - r86927;
        double r86931 = z;
        double r86932 = r86930 - r86931;
        double r86933 = t;
        double r86934 = log(r86933);
        double r86935 = r86932 + r86934;
        return r86935;
}

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 2019308 
(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)))