\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)\frac{\sqrt{x} \cdot \frac{3 \cdot 1}{x}}{9} + \left(\left(\sqrt{x} \cdot y\right) \cdot 3 + \left(-\sqrt{x}\right) \cdot \left(3 \cdot 1\right)\right)double f(double x, double y) {
double r924295 = 3.0;
double r924296 = x;
double r924297 = sqrt(r924296);
double r924298 = r924295 * r924297;
double r924299 = y;
double r924300 = 1.0;
double r924301 = 9.0;
double r924302 = r924296 * r924301;
double r924303 = r924300 / r924302;
double r924304 = r924299 + r924303;
double r924305 = r924304 - r924300;
double r924306 = r924298 * r924305;
return r924306;
}
double f(double x, double y) {
double r924307 = x;
double r924308 = sqrt(r924307);
double r924309 = 3.0;
double r924310 = 1.0;
double r924311 = r924309 * r924310;
double r924312 = r924311 / r924307;
double r924313 = r924308 * r924312;
double r924314 = 9.0;
double r924315 = r924313 / r924314;
double r924316 = y;
double r924317 = r924308 * r924316;
double r924318 = r924317 * r924309;
double r924319 = -r924308;
double r924320 = r924319 * r924311;
double r924321 = r924318 + r924320;
double r924322 = r924315 + r924321;
return r924322;
}




Bits error versus x




Bits error versus y
Results
| Original | 0.4 |
|---|---|
| Target | 0.4 |
| Herbie | 0.4 |
Initial program 0.4
Simplified0.4
rmApplied distribute-lft-in0.4
Simplified0.4
Simplified0.4
rmApplied sub-neg0.4
Applied distribute-lft-in0.4
Applied distribute-lft-in0.4
Simplified0.4
Simplified0.4
rmApplied *-un-lft-identity0.4
Applied associate-*l*0.4
Simplified0.4
Final simplification0.4
herbie shell --seed 2019179
(FPCore (x y)
:name "Numeric.SpecFunctions:incompleteGamma from math-functions-0.1.5.2, B"
:herbie-target
(* 3.0 (+ (* y (sqrt x)) (* (- (/ 1.0 (* x 9.0)) 1.0) (sqrt x))))
(* (* 3.0 (sqrt x)) (- (+ y (/ 1.0 (* x 9.0))) 1.0)))