-\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.4
rmApplied add-sqr-sqrt_binary6416.5
Simplified16.4
Simplified0.3
rmApplied pow1_binary640.3
Applied pow1_binary640.3
Applied pow-sqr_binary640.3
Final simplification0.3
herbie shell --seed 2021118
(FPCore (a b angle)
:name "ab-angle->ABCF D"
:precision binary64
(- (* (* (* a a) b) b)))