x + \frac{y - x}{2.0}\left(y + x\right) \cdot 0.5
double f(double x, double y) {
double r17531112 = x;
double r17531113 = y;
double r17531114 = r17531113 - r17531112;
double r17531115 = 2.0;
double r17531116 = r17531114 / r17531115;
double r17531117 = r17531112 + r17531116;
return r17531117;
}
double f(double x, double y) {
double r17531118 = y;
double r17531119 = x;
double r17531120 = r17531118 + r17531119;
double r17531121 = 0.5;
double r17531122 = r17531120 * r17531121;
return r17531122;
}




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 2019158 +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)))