\left(\left(\left(\left(-25 \cdot \left(\left(x1 - 2\right) \cdot \left(x1 - 2\right)\right) - \left(x2 - 2\right) \cdot \left(x2 - 2\right)\right) - \left(x3 - 1\right) \cdot \left(x3 - 1\right)\right) - \left(x4 - 4\right) \cdot \left(x4 - 4\right)\right) - \left(x5 - 1\right) \cdot \left(x5 - 1\right)\right) - \left(x6 - 4\right) \cdot \left(x6 - 4\right)
\left(\left(\left(\left(-25 \cdot \left(\left(x1 - 2\right) \cdot \left(x1 - 2\right)\right) - \left(x2 - 2\right) \cdot \left(x2 - 2\right)\right) - \left(x3 - 1\right) \cdot \left(x3 - 1\right)\right) - \left(x4 - 4\right) \cdot \left(x4 - 4\right)\right) - \left(x5 - 1\right) \cdot \left(x5 - 1\right)\right) - \left(x6 - 4\right) \cdot \left(x6 - 4\right)
double code(double x1, double x2, double x3, double x4, double x5, double x6) {
return ((double) (((double) (((double) (((double) (((double) (((double) (-25.0 * ((double) (((double) (x1 - 2.0)) * ((double) (x1 - 2.0)))))) - ((double) (((double) (x2 - 2.0)) * ((double) (x2 - 2.0)))))) - ((double) (((double) (x3 - 1.0)) * ((double) (x3 - 1.0)))))) - ((double) (((double) (x4 - 4.0)) * ((double) (x4 - 4.0)))))) - ((double) (((double) (x5 - 1.0)) * ((double) (x5 - 1.0)))))) - ((double) (((double) (x6 - 4.0)) * ((double) (x6 - 4.0))))));
}
double code(double x1, double x2, double x3, double x4, double x5, double x6) {
return ((double) (((double) (((double) (((double) (((double) (((double) (-25.0 * ((double) (((double) (x1 - 2.0)) * ((double) (x1 - 2.0)))))) - ((double) (((double) (x2 - 2.0)) * ((double) (x2 - 2.0)))))) - ((double) (((double) (x3 - 1.0)) * ((double) (x3 - 1.0)))))) - ((double) (((double) (x4 - 4.0)) * ((double) (x4 - 4.0)))))) - ((double) (((double) (x5 - 1.0)) * ((double) (x5 - 1.0)))))) - ((double) (((double) (x6 - 4.0)) * ((double) (x6 - 4.0))))));
}



Bits error versus x1



Bits error versus x2



Bits error versus x3



Bits error versus x4



Bits error versus x5



Bits error versus x6
Results
Initial program 0.1
Final simplification0.1
herbie shell --seed 2020152
(FPCore (x1 x2 x3 x4 x5 x6)
:name "(- (- (- (- (- (* -25 (* (- x1 2) (- x1 2))) (* (- x2 2) (- x2 2))) (* (- x3 1) (- x3 1))) (* (- x4 4) (- x4 4))) (* (- x5 1) (- x5 1))) (* (- x6 4) (- x6 4)))"
:precision binary64
(- (- (- (- (- (* -25.0 (* (- x1 2.0) (- x1 2.0))) (* (- x2 2.0) (- x2 2.0))) (* (- x3 1.0) (- x3 1.0))) (* (- x4 4.0) (- x4 4.0))) (* (- x5 1.0) (- x5 1.0))) (* (- x6 4.0) (- x6 4.0))))