\left(x \cdot \log y - z\right) - y
\left(\mathsf{fma}\left(x, 2 \cdot \log \left(\sqrt[3]{y}\right), \log \left(\sqrt[3]{{y}^{\frac{2}{3}}}\right) \cdot x + x \cdot \log \left(\sqrt[3]{\sqrt[3]{y}}\right)\right) - z\right) - ydouble f(double x, double y, double z) {
double r31248 = x;
double r31249 = y;
double r31250 = log(r31249);
double r31251 = r31248 * r31250;
double r31252 = z;
double r31253 = r31251 - r31252;
double r31254 = r31253 - r31249;
return r31254;
}
double f(double x, double y, double z) {
double r31255 = x;
double r31256 = 2.0;
double r31257 = y;
double r31258 = cbrt(r31257);
double r31259 = log(r31258);
double r31260 = r31256 * r31259;
double r31261 = 0.6666666666666666;
double r31262 = pow(r31257, r31261);
double r31263 = cbrt(r31262);
double r31264 = log(r31263);
double r31265 = r31264 * r31255;
double r31266 = cbrt(r31258);
double r31267 = log(r31266);
double r31268 = r31255 * r31267;
double r31269 = r31265 + r31268;
double r31270 = fma(r31255, r31260, r31269);
double r31271 = z;
double r31272 = r31270 - r31271;
double r31273 = r31272 - r31257;
return r31273;
}



Bits error versus x



Bits error versus y



Bits error versus z
Initial program 0.1
rmApplied add-cube-cbrt0.1
Applied log-prod0.1
Applied distribute-lft-in0.1
Simplified0.1
rmApplied fma-def0.1
rmApplied add-cube-cbrt0.1
Applied cbrt-prod0.1
Applied log-prod0.1
Applied distribute-lft-in0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2019208 +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))