\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)3 \cdot \left(\left(\left(y + \frac{\frac{1}{x}}{9}\right) - 1\right) \cdot \sqrt{x}\right)double f(double x, double y) {
double r299133 = 3.0;
double r299134 = x;
double r299135 = sqrt(r299134);
double r299136 = r299133 * r299135;
double r299137 = y;
double r299138 = 1.0;
double r299139 = 9.0;
double r299140 = r299134 * r299139;
double r299141 = r299138 / r299140;
double r299142 = r299137 + r299141;
double r299143 = r299142 - r299138;
double r299144 = r299136 * r299143;
return r299144;
}
double f(double x, double y) {
double r299145 = 3.0;
double r299146 = y;
double r299147 = 1.0;
double r299148 = x;
double r299149 = r299147 / r299148;
double r299150 = 9.0;
double r299151 = r299149 / r299150;
double r299152 = r299146 + r299151;
double r299153 = r299152 - r299147;
double r299154 = sqrt(r299148);
double r299155 = r299153 * r299154;
double r299156 = r299145 * r299155;
return r299156;
}




Bits error versus x




Bits error versus y
Results
| Original | 0.4 |
|---|---|
| Target | 0.4 |
| Herbie | 0.4 |
Initial program 0.4
rmApplied associate-*l*0.4
rmApplied *-un-lft-identity0.4
Applied *-un-lft-identity0.4
Applied distribute-lft-out0.4
Simplified0.4
Final simplification0.4
herbie shell --seed 2019209
(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)))