x \cdot \left(1 + y \cdot y\right)
x \cdot \left(1 + y \cdot y\right)
double f(double x, double y) {
double r379122 = x;
double r379123 = 1.0;
double r379124 = y;
double r379125 = r379124 * r379124;
double r379126 = r379123 + r379125;
double r379127 = r379122 * r379126;
return r379127;
}
double f(double x, double y) {
double r379128 = x;
double r379129 = 1.0;
double r379130 = y;
double r379131 = r379130 * r379130;
double r379132 = r379129 + r379131;
double r379133 = r379128 * r379132;
return r379133;
}




Bits error versus x




Bits error versus y
Results
| Original | 5.3 |
|---|---|
| Target | 0.1 |
| Herbie | 5.3 |
Initial program 5.3
Final simplification5.3
herbie shell --seed 2019198
(FPCore (x y)
:name "Numeric.Integration.TanhSinh:everywhere from integration-0.2.1"
:herbie-target
(+ x (* (* x y) y))
(* x (+ 1.0 (* y y))))