\left(1.0 - \frac{1.0}{x \cdot 9.0}\right) - \frac{y}{3.0 \cdot \sqrt{x}}\left(1.0 - \frac{1.0}{x \cdot 9.0}\right) - \frac{y}{\sqrt{x}} \cdot \frac{1}{3.0}double f(double x, double y) {
double r17337395 = 1.0;
double r17337396 = x;
double r17337397 = 9.0;
double r17337398 = r17337396 * r17337397;
double r17337399 = r17337395 / r17337398;
double r17337400 = r17337395 - r17337399;
double r17337401 = y;
double r17337402 = 3.0;
double r17337403 = sqrt(r17337396);
double r17337404 = r17337402 * r17337403;
double r17337405 = r17337401 / r17337404;
double r17337406 = r17337400 - r17337405;
return r17337406;
}
double f(double x, double y) {
double r17337407 = 1.0;
double r17337408 = x;
double r17337409 = 9.0;
double r17337410 = r17337408 * r17337409;
double r17337411 = r17337407 / r17337410;
double r17337412 = r17337407 - r17337411;
double r17337413 = y;
double r17337414 = sqrt(r17337408);
double r17337415 = r17337413 / r17337414;
double r17337416 = 1.0;
double r17337417 = 3.0;
double r17337418 = r17337416 / r17337417;
double r17337419 = r17337415 * r17337418;
double r17337420 = r17337412 - r17337419;
return r17337420;
}




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 *-un-lft-identity0.2
Applied times-frac0.3
rmApplied div-inv0.3
Applied associate-/l*0.3
Simplified0.3
Final simplification0.3
herbie shell --seed 2019165
(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)))))