-\left(\left(a \cdot a\right) \cdot b\right) \cdot b
-{\left(\left|a \cdot b\right|\right)}^{2}(FPCore (a b angle) :precision binary64 (- (* (* (* a a) b) b)))
(FPCore (a b angle) :precision binary64 (- (pow (fabs (* a b)) 2.0)))
double code(double a, double b, double angle) {
return -(((a * a) * b) * b);
}
double code(double a, double b, double angle) {
return -pow(fabs(a * b), 2.0);
}



Bits error versus a



Bits error versus b



Bits error versus angle
Results
Initial program 16.6
rmApplied add-sqr-sqrt_binary64_10016.7
Simplified16.6
Simplified0.3
rmApplied pow2_binary64_1590.3
Final simplification0.3
herbie shell --seed 2021058
(FPCore (a b angle)
:name "ab-angle->ABCF D"
:precision binary64
(- (* (* (* a a) b) b)))