Average Error: 0.1 → 0.1
Time: 21.5s
Precision: 64
\[\left(\left(x \cdot \log y - y\right) - z\right) + \log t\]
\[\left(x \cdot \log y - y\right) - \left(z - \log t\right)\]
\left(\left(x \cdot \log y - y\right) - z\right) + \log t
\left(x \cdot \log y - y\right) - \left(z - \log t\right)
double f(double x, double y, double z, double t) {
        double r77102 = x;
        double r77103 = y;
        double r77104 = log(r77103);
        double r77105 = r77102 * r77104;
        double r77106 = r77105 - r77103;
        double r77107 = z;
        double r77108 = r77106 - r77107;
        double r77109 = t;
        double r77110 = log(r77109);
        double r77111 = r77108 + r77110;
        return r77111;
}

double f(double x, double y, double z, double t) {
        double r77112 = x;
        double r77113 = y;
        double r77114 = log(r77113);
        double r77115 = r77112 * r77114;
        double r77116 = r77115 - r77113;
        double r77117 = z;
        double r77118 = t;
        double r77119 = log(r77118);
        double r77120 = r77117 - r77119;
        double r77121 = r77116 - r77120;
        return r77121;
}

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. Using strategy rm
  3. Applied associate-+l-0.1

    \[\leadsto \color{blue}{\left(x \cdot \log y - y\right) - \left(z - \log t\right)}\]
  4. Final simplification0.1

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

Reproduce

herbie shell --seed 2019198 +o rules:numerics
(FPCore (x y z t)
  :name "Numeric.SpecFunctions:incompleteGamma from math-functions-0.1.5.2, A"
  (+ (- (- (* x (log y)) y) z) (log t)))