Average Error: 0.0 → 0.0
Time: 1.3s
Precision: binary64
\[k3 \cdot \left(k3 \cdot k3 - k2\right) + k1\]
\[k3 \cdot \left(k3 \cdot k3 - k2\right) + k1\]
k3 \cdot \left(k3 \cdot k3 - k2\right) + k1
k3 \cdot \left(k3 \cdot k3 - k2\right) + k1
double code(double k3, double k2, double k1) {
	return ((double) (((double) (k3 * ((double) (((double) (k3 * k3)) - k2)))) + k1));
}
double code(double k3, double k2, double k1) {
	return ((double) (((double) (k3 * ((double) (((double) (k3 * k3)) - k2)))) + k1));
}

Error

Bits error versus k3

Bits error versus k2

Bits error versus k1

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

    \[k3 \cdot \left(k3 \cdot k3 - k2\right) + k1\]
  2. Final simplification0.0

    \[\leadsto k3 \cdot \left(k3 \cdot k3 - k2\right) + k1\]

Reproduce

herbie shell --seed 2020153 
(FPCore (k3 k2 k1)
  :name "(+ (* k3 (- (* k3 k3) k2)) k1)"
  :precision binary64
  (+ (* k3 (- (* k3 k3) k2)) k1))