Average Error: 0.1 → 0.1
Time: 23.4s
Precision: 64
\[\left(\left(x - \left(y + 0.5\right) \cdot \log y\right) + y\right) - z\]
\[\left(y + \left(x - \left(y + 0.5\right) \cdot \log y\right)\right) - z\]
\left(\left(x - \left(y + 0.5\right) \cdot \log y\right) + y\right) - z
\left(y + \left(x - \left(y + 0.5\right) \cdot \log y\right)\right) - z
double f(double x, double y, double z) {
        double r17449937 = x;
        double r17449938 = y;
        double r17449939 = 0.5;
        double r17449940 = r17449938 + r17449939;
        double r17449941 = log(r17449938);
        double r17449942 = r17449940 * r17449941;
        double r17449943 = r17449937 - r17449942;
        double r17449944 = r17449943 + r17449938;
        double r17449945 = z;
        double r17449946 = r17449944 - r17449945;
        return r17449946;
}

double f(double x, double y, double z) {
        double r17449947 = y;
        double r17449948 = x;
        double r17449949 = 0.5;
        double r17449950 = r17449947 + r17449949;
        double r17449951 = log(r17449947);
        double r17449952 = r17449950 * r17449951;
        double r17449953 = r17449948 - r17449952;
        double r17449954 = r17449947 + r17449953;
        double r17449955 = z;
        double r17449956 = r17449954 - r17449955;
        return r17449956;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original0.1
Target0.1
Herbie0.1
\[\left(\left(y + x\right) - z\right) - \left(y + 0.5\right) \cdot \log y\]

Derivation

  1. Initial program 0.1

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

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

Reproduce

herbie shell --seed 2019169 
(FPCore (x y z)
  :name "Numeric.SpecFunctions:stirlingError from math-functions-0.1.5.2"

  :herbie-target
  (- (- (+ y x) z) (* (+ y 0.5) (log y)))

  (- (+ (- x (* (+ y 0.5) (log y))) y) z))