a \cdot a - b \cdot b
a \cdot a - b \cdot b
double f(double a, double b) {
double r99608 = a;
double r99609 = r99608 * r99608;
double r99610 = b;
double r99611 = r99610 * r99610;
double r99612 = r99609 - r99611;
return r99612;
}
double f(double a, double b) {
double r99613 = a;
double r99614 = r99613 * r99613;
double r99615 = b;
double r99616 = r99615 * r99615;
double r99617 = r99614 - r99616;
return r99617;
}




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 2019362 +o rules:numerics
(FPCore (a b)
:name "Difference of squares"
:precision binary64
:herbie-target
(* (+ a b) (- a b))
(- (* a a) (* b b)))