\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)\left(\sqrt[3]{3} \cdot \sqrt[3]{3}\right) \cdot \left(\sqrt[3]{3} \cdot \left(\sqrt{x} \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)\right)\right)double f(double x, double y) {
double r442538 = 3.0;
double r442539 = x;
double r442540 = sqrt(r442539);
double r442541 = r442538 * r442540;
double r442542 = y;
double r442543 = 1.0;
double r442544 = 9.0;
double r442545 = r442539 * r442544;
double r442546 = r442543 / r442545;
double r442547 = r442542 + r442546;
double r442548 = r442547 - r442543;
double r442549 = r442541 * r442548;
return r442549;
}
double f(double x, double y) {
double r442550 = 3.0;
double r442551 = cbrt(r442550);
double r442552 = r442551 * r442551;
double r442553 = x;
double r442554 = sqrt(r442553);
double r442555 = y;
double r442556 = 1.0;
double r442557 = 9.0;
double r442558 = r442553 * r442557;
double r442559 = r442556 / r442558;
double r442560 = r442555 + r442559;
double r442561 = r442560 - r442556;
double r442562 = r442554 * r442561;
double r442563 = r442551 * r442562;
double r442564 = r442552 * r442563;
return r442564;
}




Bits error versus x




Bits error versus y
Results
| Original | 0.4 |
|---|---|
| Target | 0.4 |
| Herbie | 0.6 |
Initial program 0.4
rmApplied associate-*l*0.4
rmApplied add-cube-cbrt0.4
Applied associate-*l*0.6
Final simplification0.6
herbie shell --seed 2020018
(FPCore (x y)
:name "Numeric.SpecFunctions:incompleteGamma from math-functions-0.1.5.2, B"
:precision binary64
:herbie-target
(* 3 (+ (* y (sqrt x)) (* (- (/ 1 (* x 9)) 1) (sqrt x))))
(* (* 3 (sqrt x)) (- (+ y (/ 1 (* x 9))) 1)))