x + \frac{y - x}{2.0}\left(y + x\right) \cdot 0.5
double f(double x, double y) {
double r21294343 = x;
double r21294344 = y;
double r21294345 = r21294344 - r21294343;
double r21294346 = 2.0;
double r21294347 = r21294345 / r21294346;
double r21294348 = r21294343 + r21294347;
return r21294348;
}
double f(double x, double y) {
double r21294349 = y;
double r21294350 = x;
double r21294351 = r21294349 + r21294350;
double r21294352 = 0.5;
double r21294353 = r21294351 * r21294352;
return r21294353;
}




Bits error versus x




Bits error versus y
Results
| Original | 0.0 |
|---|---|
| Target | 0 |
| Herbie | 0 |
Initial program 0.0
Taylor expanded around 0 0
Simplified0
Final simplification0
herbie shell --seed 2019163 +o rules:numerics
(FPCore (x y)
:name "Numeric.Interval.Internal:bisect from intervals-0.7.1, A"
:herbie-target
(* 0.5 (+ x y))
(+ x (/ (- y x) 2.0)))