Average Error: 7.5 → 7.5
Time: 6.0s
Precision: binary64
\[\left(\left(x \cdot x - 7 \cdot x\right) \cdot x + 28 \cdot {y}^{2}\right) \cdot x - 56 \cdot {z}^{3}\]
\[{x}^{3} \cdot \left(x - 7\right) + \left(\left(28 \cdot {y}^{2}\right) \cdot x - 56 \cdot {z}^{3}\right)\]
\left(\left(x \cdot x - 7 \cdot x\right) \cdot x + 28 \cdot {y}^{2}\right) \cdot x - 56 \cdot {z}^{3}
{x}^{3} \cdot \left(x - 7\right) + \left(\left(28 \cdot {y}^{2}\right) \cdot x - 56 \cdot {z}^{3}\right)
double code(double x, double y, double z) {
	return ((double) (((double) (((double) (((double) (((double) (((double) (x * x)) - ((double) (7.0 * x)))) * x)) + ((double) (28.0 * ((double) pow(y, 2.0)))))) * x)) - ((double) (56.0 * ((double) pow(z, 3.0))))));
}
double code(double x, double y, double z) {
	return ((double) (((double) (((double) pow(x, 3.0)) * ((double) (x - 7.0)))) + ((double) (((double) (((double) (28.0 * ((double) pow(y, 2.0)))) * x)) - ((double) (56.0 * ((double) pow(z, 3.0))))))));
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 7.5

    \[\left(\left(x \cdot x - 7 \cdot x\right) \cdot x + 28 \cdot {y}^{2}\right) \cdot x - 56 \cdot {z}^{3}\]
  2. Simplified7.5

    \[\leadsto \color{blue}{{x}^{3} \cdot \left(x - 7\right) + \left(\left(28 \cdot {y}^{2}\right) \cdot x - 56 \cdot {z}^{3}\right)}\]
  3. Final simplification7.5

    \[\leadsto {x}^{3} \cdot \left(x - 7\right) + \left(\left(28 \cdot {y}^{2}\right) \cdot x - 56 \cdot {z}^{3}\right)\]

Reproduce

herbie shell --seed 2020152 
(FPCore (x y z)
  :name "(- (* (+ (* (- (* x x) (* 7 x)) x) (* 28 (pow y 2))) x) (* 56 (pow z 3)))"
  :precision binary64
  (- (* (+ (* (- (* x x) (* 7.0 x)) x) (* 28.0 (pow y 2.0))) x) (* 56.0 (pow z 3.0))))