\left(1 - \frac{1}{x \cdot 9}\right) - \frac{y}{3 \cdot \sqrt{x}}\left(1 - \frac{\frac{\frac{1}{x}}{\sqrt[3]{9} \cdot \sqrt[3]{9}}}{\sqrt[3]{9}}\right) - \frac{y}{3 \cdot \sqrt{x}}double f(double x, double y) {
double r511434 = 1.0;
double r511435 = x;
double r511436 = 9.0;
double r511437 = r511435 * r511436;
double r511438 = r511434 / r511437;
double r511439 = r511434 - r511438;
double r511440 = y;
double r511441 = 3.0;
double r511442 = sqrt(r511435);
double r511443 = r511441 * r511442;
double r511444 = r511440 / r511443;
double r511445 = r511439 - r511444;
return r511445;
}
double f(double x, double y) {
double r511446 = 1.0;
double r511447 = x;
double r511448 = r511446 / r511447;
double r511449 = 9.0;
double r511450 = cbrt(r511449);
double r511451 = r511450 * r511450;
double r511452 = r511448 / r511451;
double r511453 = r511452 / r511450;
double r511454 = r511446 - r511453;
double r511455 = y;
double r511456 = 3.0;
double r511457 = sqrt(r511447);
double r511458 = r511456 * r511457;
double r511459 = r511455 / r511458;
double r511460 = r511454 - r511459;
return r511460;
}




Bits error versus x




Bits error versus y
Results
| Original | 0.2 |
|---|---|
| Target | 0.2 |
| Herbie | 0.3 |
Initial program 0.2
rmApplied associate-/r*0.2
rmApplied add-cube-cbrt0.2
Applied associate-/r*0.3
Final simplification0.3
herbie shell --seed 2020089
(FPCore (x y)
:name "Numeric.SpecFunctions:invIncompleteGamma from math-functions-0.1.5.2, D"
:precision binary64
:herbie-target
(- (- 1 (/ (/ 1 x) 9)) (/ y (* 3 (sqrt x))))
(- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))))