\left(x \cdot 2 + x \cdot x\right) + y \cdot y
\mathsf{fma}\left(x, 2 + x, y \cdot y\right)double f(double x, double y) {
double r303985 = x;
double r303986 = 2.0;
double r303987 = r303985 * r303986;
double r303988 = r303985 * r303985;
double r303989 = r303987 + r303988;
double r303990 = y;
double r303991 = r303990 * r303990;
double r303992 = r303989 + r303991;
return r303992;
}
double f(double x, double y) {
double r303993 = x;
double r303994 = 2.0;
double r303995 = r303994 + r303993;
double r303996 = y;
double r303997 = r303996 * r303996;
double r303998 = fma(r303993, r303995, r303997);
return r303998;
}




Bits error versus x




Bits error versus y
| Original | 0.0 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019323 +o rules:numerics
(FPCore (x y)
:name "Numeric.Log:$clog1p from log-domain-0.10.2.1, A"
:precision binary64
:herbie-target
(+ (* y y) (+ (* 2 x) (* x x)))
(+ (+ (* x 2) (* x x)) (* y y)))