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






Bits error versus a






Bits error versus b






Bits error versus angle
Results
| Alternative 1 | |
|---|---|
| Error | 5.5 |
| Cost | 512 |
| Alternative 2 | |
|---|---|
| Error | 38.4 |
| Cost | 64 |
| Alternative 3 | |
|---|---|
| Error | 61.0 |
| Cost | 64 |

Initial program 16.6
rmApplied add-sqr-sqrt_binary6416.7
Simplified16.6
Simplified0.3
rmApplied *-un-lft-identity_binary640.3
Applied *-un-lft-identity_binary640.3
Applied swap-sqr_binary640.3
Simplified0.3
Simplified0.3
rmApplied unpow2_binary640.3
rmApplied *-un-lft-identity_binary640.3
Simplified0.3
Final simplification0.3
herbie shell --seed 2021014
(FPCore (a b angle)
:name "ab-angle->ABCF D"
:precision binary64
(- (* (* (* a a) b) b)))