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



Bits error versus a



Bits error versus b



Bits error versus angle
Results
Initial program 16.3
rmApplied add-sqr-sqrt_binary64_10016.4
Simplified16.3
Simplified0.3
rmApplied add-sqr-sqrt_binary64_1000.4
Applied associate-*l*_binary64_190.4
Simplified0.3
Final simplification0.3
herbie shell --seed 2021044
(FPCore (a b angle)
:name "ab-angle->ABCF D"
:precision binary64
(- (* (* (* a a) b) b)))