a \cdot a - b \cdot b
a \cdot a - b \cdot b
double f(double a, double b) {
double r104058 = a;
double r104059 = r104058 * r104058;
double r104060 = b;
double r104061 = r104060 * r104060;
double r104062 = r104059 - r104061;
return r104062;
}
double f(double a, double b) {
double r104063 = a;
double r104064 = r104063 * r104063;
double r104065 = b;
double r104066 = r104065 * r104065;
double r104067 = r104064 - r104066;
return r104067;
}




Bits error versus a




Bits error versus b
Results
| Original | 0.0 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 0.0
Final simplification0.0
herbie shell --seed 2020059
(FPCore (a b)
:name "Difference of squares"
:precision binary64
:herbie-target
(* (+ a b) (- a b))
(- (* a a) (* b b)))