\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 r484393 = x;
double r484394 = y;
double r484395 = 0.5;
double r484396 = r484394 + r484395;
double r484397 = log(r484394);
double r484398 = r484396 * r484397;
double r484399 = r484393 - r484398;
double r484400 = r484399 + r484394;
double r484401 = z;
double r484402 = r484400 - r484401;
return r484402;
}
double f(double x, double y, double z) {
double r484403 = x;
double r484404 = y;
double r484405 = 0.5;
double r484406 = r484404 + r484405;
double r484407 = log(r484404);
double r484408 = r484406 * r484407;
double r484409 = r484403 - r484408;
double r484410 = r484409 + r484404;
double r484411 = z;
double r484412 = r484410 - r484411;
return r484412;
}




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 2019362
(FPCore (x y z)
:name "Numeric.SpecFunctions:stirlingError from math-functions-0.1.5.2"
:precision binary64
:herbie-target
(- (- (+ y x) z) (* (+ y 0.5) (log y)))
(- (+ (- x (* (+ y 0.5) (log y))) y) z))