Average Error: 5.3 → 0.0
Time: 1.4s
Precision: binary64
\[\left(1 - \frac{z \cdot z}{x} \cdot x\right) - b \cdot b\]
\[\left(1 - b \cdot b\right) - z \cdot z\]
\left(1 - \frac{z \cdot z}{x} \cdot x\right) - b \cdot b
\left(1 - b \cdot b\right) - z \cdot z
double code(double z, double x, double b) {
	return ((double) (((double) (1.0 - ((double) (((double) (((double) (z * z)) / x)) * x)))) - ((double) (b * b))));
}
double code(double z, double x, double b) {
	return ((double) (((double) (1.0 - ((double) (b * b)))) - ((double) (z * z))));
}

Error

Bits error versus z

Bits error versus x

Bits error versus b

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 5.3

    \[\left(1 - \frac{z \cdot z}{x} \cdot x\right) - b \cdot b\]
  2. Simplified0.0

    \[\leadsto \color{blue}{\left(1 - b \cdot b\right) - z \cdot z}\]
  3. Final simplification0.0

    \[\leadsto \left(1 - b \cdot b\right) - z \cdot z\]

Reproduce

herbie shell --seed 2020152 
(FPCore (z x b)
  :name "(- (- 1 (* (/ (* z z) x) x)) (* b b))"
  :precision binary64
  (- (- 1.0 (* (/ (* z z) x) x)) (* b b)))