\left(\left(aA1 \cdot k\right) \cdot k + aA2 \cdot k\right) + aA3
aA3 + k \cdot \left(aA1 \cdot k + aA2\right)
double code(double aA1, double k, double aA2, double aA3) {
return ((double) (((double) (((double) (((double) (aA1 * k)) * k)) + ((double) (aA2 * k)))) + aA3));
}
double code(double aA1, double k, double aA2, double aA3) {
return ((double) (aA3 + ((double) (k * ((double) (((double) (aA1 * k)) + aA2))))));
}



Bits error versus aA1



Bits error versus k



Bits error versus aA2



Bits error versus aA3
Results
Initial program 0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2020153
(FPCore (aA1 k aA2 aA3)
:name "(+ (+ (* (* aA1 k) k) (* aA2 k)) aA3)"
:precision binary64
(+ (+ (* (* aA1 k) k) (* aA2 k)) aA3))