-\left(\left(a \cdot a\right) \cdot b\right) \cdot b
-\left(a \cdot b\right) \cdot \left(a \cdot b\right)
(FPCore (a b) :precision binary64 (- (* (* (* a a) b) b)))
(FPCore (a b) :precision binary64 (- (* (* a b) (* a b))))
double code(double a, double b) {
return -(((a * a) * b) * b);
}
double code(double a, double b) {
return -((a * b) * (a * b));
}



Bits error versus a



Bits error versus b
Results
Initial program 16.6
Applied add-sqr-sqrt_binary6416.7
Simplified28.2
Simplified0.3
Final simplification0.3
herbie shell --seed 2022076
(FPCore (a b)
:name "ab-angle->ABCF D"
:precision binary64
(- (* (* (* a a) b) b)))