\left(\left(a \cdot a\right) \cdot d - \left(\left(a \cdot a\right) \cdot R\right) \cdot R\right) + b \cdot \left(b - \left(2 \cdot a\right) \cdot c\right)
\left(\left(a \cdot a\right) \cdot d - \left(\left(a \cdot a\right) \cdot R\right) \cdot R\right) + b \cdot \left(b - \left(2 \cdot a\right) \cdot c\right)
double code(double a, double d, double R, double b, double c) {
return ((double) (((double) (((double) (((double) (a * a)) * d)) - ((double) (((double) (((double) (a * a)) * R)) * R)))) + ((double) (b * ((double) (b - ((double) (((double) (2.0 * a)) * c))))))));
}
double code(double a, double d, double R, double b, double c) {
return ((double) (((double) (((double) (((double) (a * a)) * d)) - ((double) (((double) (((double) (a * a)) * R)) * R)))) + ((double) (b * ((double) (b - ((double) (((double) (2.0 * a)) * c))))))));
}



Bits error versus a



Bits error versus d



Bits error versus R



Bits error versus b



Bits error versus c
Results
Initial program 9.6
Final simplification9.6
herbie shell --seed 2020153
(FPCore (a d R b c)
:name "(+ (- (* (* a a) d) (* (* (* a a) R) R)) (* b (- b (* (* 2 a) c))))"
:precision binary64
(+ (- (* (* a a) d) (* (* (* a a) R) R)) (* b (- b (* (* 2.0 a) c)))))