x \cdot \log \left(\frac{x}{y}\right) - z\left(3 \cdot \log \left(\frac{\sqrt[3]{x}}{\sqrt[3]{y}}\right)\right) \cdot x + \left(-z\right)double f(double x, double y, double z) {
double r377215 = x;
double r377216 = y;
double r377217 = r377215 / r377216;
double r377218 = log(r377217);
double r377219 = r377215 * r377218;
double r377220 = z;
double r377221 = r377219 - r377220;
return r377221;
}
double f(double x, double y, double z) {
double r377222 = 3.0;
double r377223 = x;
double r377224 = cbrt(r377223);
double r377225 = y;
double r377226 = cbrt(r377225);
double r377227 = r377224 / r377226;
double r377228 = log(r377227);
double r377229 = r377222 * r377228;
double r377230 = r377229 * r377223;
double r377231 = z;
double r377232 = -r377231;
double r377233 = r377230 + r377232;
return r377233;
}




Bits error versus x




Bits error versus y




Bits error versus z
Results
| Original | 15.0 |
|---|---|
| Target | 7.6 |
| Herbie | 0.2 |
Initial program 15.0
rmApplied add-cube-cbrt15.0
Applied add-cube-cbrt15.0
Applied times-frac15.0
Applied log-prod3.5
Applied distribute-lft-in3.5
Simplified0.2
Final simplification0.2
herbie shell --seed 2019303
(FPCore (x y z)
:name "Numeric.SpecFunctions.Extra:bd0 from math-functions-0.1.5.2"
:precision binary64
:herbie-target
(if (< y 7.59507779908377277e-308) (- (* x (log (/ x y))) z) (- (* x (- (log x) (log y))) z))
(- (* x (log (/ x y))) z))