\left(1 - \frac{1}{x \cdot 9}\right) - \frac{y}{3 \cdot \sqrt{x}}\left(\left(\frac{1}{x \cdot 9} - \frac{\frac{y}{3}}{\sqrt{x}}\right) + \left(-\frac{\frac{1}{9}}{x}\right)\right) + \mathsf{fma}\left(\sqrt[3]{1} \cdot \sqrt[3]{1}, \sqrt[3]{1}, \frac{-1}{x \cdot 9}\right)double f(double x, double y) {
double r299319 = 1.0;
double r299320 = x;
double r299321 = 9.0;
double r299322 = r299320 * r299321;
double r299323 = r299319 / r299322;
double r299324 = r299319 - r299323;
double r299325 = y;
double r299326 = 3.0;
double r299327 = sqrt(r299320);
double r299328 = r299326 * r299327;
double r299329 = r299325 / r299328;
double r299330 = r299324 - r299329;
return r299330;
}
double f(double x, double y) {
double r299331 = 1.0;
double r299332 = x;
double r299333 = 9.0;
double r299334 = r299332 * r299333;
double r299335 = r299331 / r299334;
double r299336 = y;
double r299337 = 3.0;
double r299338 = r299336 / r299337;
double r299339 = sqrt(r299332);
double r299340 = r299338 / r299339;
double r299341 = r299335 - r299340;
double r299342 = r299331 / r299333;
double r299343 = r299342 / r299332;
double r299344 = -r299343;
double r299345 = r299341 + r299344;
double r299346 = cbrt(r299331);
double r299347 = r299346 * r299346;
double r299348 = -r299331;
double r299349 = r299348 / r299334;
double r299350 = fma(r299347, r299346, r299349);
double r299351 = r299345 + r299350;
return r299351;
}




Bits error versus x




Bits error versus y
| Original | 0.2 |
|---|---|
| Target | 0.2 |
| Herbie | 0.2 |
Initial program 0.2
rmApplied *-un-lft-identity0.2
Applied add-cube-cbrt0.2
Applied prod-diff0.2
Applied associate--l+0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019196 +o rules:numerics
(FPCore (x y)
:name "Numeric.SpecFunctions:invIncompleteGamma from math-functions-0.1.5.2, D"
:herbie-target
(- (- 1.0 (/ (/ 1.0 x) 9.0)) (/ y (* 3.0 (sqrt x))))
(- (- 1.0 (/ 1.0 (* x 9.0))) (/ y (* 3.0 (sqrt x)))))