e^{\left(x + y \cdot \log y\right) - z}e^{\left(y \cdot \log y + x\right) - z}(FPCore (x y z) :precision binary64 (exp (- (+ x (* y (log y))) z)))
(FPCore (x y z) :precision binary64 (exp (- (+ (* y (log y)) x) z)))
double code(double x, double y, double z) {
return exp((x + (y * log(y))) - z);
}
double code(double x, double y, double z) {
return exp(((y * log(y)) + x) - z);
}









Bits error versus x









Bits error versus y









Bits error versus z
Results
| Original | 0.0 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
| Alternative 1 | |
|---|---|
| Error | 0.6 |
| Cost | 6592 |
| Alternative 2 | |
|---|---|
| Error | 1.1 |
| Cost | 6849 |
| Alternative 3 | |
|---|---|
| Error | 1.2 |
| Cost | 6785 |
| Alternative 4 | |
|---|---|
| Error | 16.4 |
| Cost | 1348 |
| Alternative 5 | |
|---|---|
| Error | 45.2 |
| Cost | 64 |

Initial program 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2021044
(FPCore (x y z)
:name "Statistics.Distribution.Poisson.Internal:probability from math-functions-0.1.5.2"
:precision binary64
:herbie-target
(exp (+ (- x z) (* (log y) y)))
(exp (- (+ x (* y (log y))) z)))