\left(x \cdot \log y - z\right) - y
\left(\mathsf{fma}\left(x, \log y, -y\right) - z\right) + \left(y - y\right)double f(double x, double y, double z) {
double r22049 = x;
double r22050 = y;
double r22051 = log(r22050);
double r22052 = r22049 * r22051;
double r22053 = z;
double r22054 = r22052 - r22053;
double r22055 = r22054 - r22050;
return r22055;
}
double f(double x, double y, double z) {
double r22056 = x;
double r22057 = y;
double r22058 = log(r22057);
double r22059 = -r22057;
double r22060 = fma(r22056, r22058, r22059);
double r22061 = z;
double r22062 = r22060 - r22061;
double r22063 = r22057 - r22057;
double r22064 = r22062 + r22063;
return r22064;
}



Bits error versus x



Bits error versus y



Bits error versus z
Initial program 0.1
rmApplied add-cube-cbrt0.5
Applied add-sqr-sqrt32.3
Applied prod-diff32.3
Simplified0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2020043 +o rules:numerics
(FPCore (x y z)
:name "Statistics.Distribution.Poisson:$clogProbability from math-functions-0.1.5.2"
:precision binary64
(- (- (* x (log y)) z) y))