\left(\left(x - \left(y + 0.5\right) \cdot \log y\right) + y\right) - z
\left(\left(x - \left(y + 0.5\right) \cdot \log y\right) + y\right) - z
double f(double x, double y, double z) {
double r279030 = x;
double r279031 = y;
double r279032 = 0.5;
double r279033 = r279031 + r279032;
double r279034 = log(r279031);
double r279035 = r279033 * r279034;
double r279036 = r279030 - r279035;
double r279037 = r279036 + r279031;
double r279038 = z;
double r279039 = r279037 - r279038;
return r279039;
}
double f(double x, double y, double z) {
double r279040 = x;
double r279041 = y;
double r279042 = 0.5;
double r279043 = r279041 + r279042;
double r279044 = log(r279041);
double r279045 = r279043 * r279044;
double r279046 = r279040 - r279045;
double r279047 = r279046 + r279041;
double r279048 = z;
double r279049 = r279047 - r279048;
return r279049;
}




Bits error versus x




Bits error versus y




Bits error versus z
Results
| Original | 0.1 |
|---|---|
| Target | 0.1 |
| Herbie | 0.1 |
Initial program 0.1
Final simplification0.1
herbie shell --seed 2019199
(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))