Average Error: 24.8 → 24.8
Time: 1.8s
Precision: binary64
\[\left(z \cdot z - u\right) - \frac{\left(w - p \cdot u\right) \cdot \left(z - p\right)}{u - p \cdot p}\]
\[\left(z \cdot z - u\right) - \frac{\left(w - p \cdot u\right) \cdot \left(z - p\right)}{u - p \cdot p}\]
\left(z \cdot z - u\right) - \frac{\left(w - p \cdot u\right) \cdot \left(z - p\right)}{u - p \cdot p}
\left(z \cdot z - u\right) - \frac{\left(w - p \cdot u\right) \cdot \left(z - p\right)}{u - p \cdot p}
double code(double z, double u, double w, double p) {
	return ((double) (((double) (((double) (z * z)) - u)) - ((double) (((double) (((double) (w - ((double) (p * u)))) * ((double) (z - p)))) / ((double) (u - ((double) (p * p))))))));
}
double code(double z, double u, double w, double p) {
	return ((double) (((double) (((double) (z * z)) - u)) - ((double) (((double) (((double) (w - ((double) (p * u)))) * ((double) (z - p)))) / ((double) (u - ((double) (p * p))))))));
}

Error

Bits error versus z

Bits error versus u

Bits error versus w

Bits error versus p

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 24.8

    \[\left(z \cdot z - u\right) - \frac{\left(w - p \cdot u\right) \cdot \left(z - p\right)}{u - p \cdot p}\]
  2. Final simplification24.8

    \[\leadsto \left(z \cdot z - u\right) - \frac{\left(w - p \cdot u\right) \cdot \left(z - p\right)}{u - p \cdot p}\]

Reproduce

herbie shell --seed 2020152 
(FPCore (z u w p)
  :name "(- (- (* z z) u) (/ (* (- w (* p u)) (- z p)) (- u (* p p))))"
  :precision binary64
  (- (- (* z z) u) (/ (* (- w (* p u)) (- z p)) (- u (* p p)))))