\left(x \cdot \log y - z\right) - y
x \cdot \log \left({y}^{\frac{1}{3}} \cdot {y}^{\frac{1}{3}}\right) + \left(\left(\log \left({\left({\left({y}^{\left(\sqrt[3]{\frac{2}{3}} \cdot \sqrt[3]{\frac{2}{3}}\right)}\right)}^{\left(\sqrt[3]{\frac{2}{3}}\right)}\right)}^{\frac{1}{3}} \cdot {\left(\sqrt[3]{y}\right)}^{\frac{1}{3}}\right) \cdot x - z\right) - y\right)double f(double x, double y, double z) {
double r30750 = x;
double r30751 = y;
double r30752 = log(r30751);
double r30753 = r30750 * r30752;
double r30754 = z;
double r30755 = r30753 - r30754;
double r30756 = r30755 - r30751;
return r30756;
}
double f(double x, double y, double z) {
double r30757 = x;
double r30758 = y;
double r30759 = 0.3333333333333333;
double r30760 = pow(r30758, r30759);
double r30761 = r30760 * r30760;
double r30762 = log(r30761);
double r30763 = r30757 * r30762;
double r30764 = 0.6666666666666666;
double r30765 = cbrt(r30764);
double r30766 = r30765 * r30765;
double r30767 = pow(r30758, r30766);
double r30768 = pow(r30767, r30765);
double r30769 = pow(r30768, r30759);
double r30770 = cbrt(r30758);
double r30771 = pow(r30770, r30759);
double r30772 = r30769 * r30771;
double r30773 = log(r30772);
double r30774 = r30773 * r30757;
double r30775 = z;
double r30776 = r30774 - r30775;
double r30777 = r30776 - r30758;
double r30778 = r30763 + r30777;
return r30778;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
Initial program 0.1
rmApplied add-cube-cbrt0.1
Applied log-prod0.1
Applied distribute-lft-in0.1
Applied associate--l+0.1
Applied associate--l+0.1
Simplified0.1
rmApplied add-sqr-sqrt0.1
Applied add-sqr-sqrt0.1
Applied swap-sqr0.1
Simplified0.1
Simplified0.1
rmApplied add-cube-cbrt0.1
Applied cbrt-prod0.1
Simplified0.2
Simplified0.2
rmApplied add-cube-cbrt0.1
Applied pow-unpow0.1
Final simplification0.1
herbie shell --seed 2020025 +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))