Average Error: 0.1 → 0.1
Time: 8.0s
Precision: binary64
\[\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)\]
\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))))));
}

Error

Bits error versus x1

Bits error versus x2

Bits error versus x3

Bits error versus x4

Bits error versus x5

Bits error versus x6

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.1

    \[\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)\]
  2. Final simplification0.1

    \[\leadsto \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)\]

Reproduce

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))))