\left(\left(a \cdot t\right) \cdot t + s \cdot t\right) + p
p + t \cdot \left(a \cdot t + s\right)
double code(double a, double t, double s, double p) {
return ((double) (((double) (((double) (((double) (a * t)) * t)) + ((double) (s * t)))) + p));
}
double code(double a, double t, double s, double p) {
return ((double) (p + ((double) (t * ((double) (((double) (a * t)) + s))))));
}



Bits error versus a



Bits error versus t



Bits error versus s



Bits error versus p
Results
Initial program 0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2020153
(FPCore (a t s p)
:name "(+ (+ (* (* a t) t) (* s t)) p)"
:precision binary64
(+ (+ (* (* a t) t) (* s t)) p))