\left(z \cdot z - y\right) - \frac{\left(w - p \cdot u\right) \cdot \left(z - p\right)}{u - p \cdot p}\left(z \cdot z - y\right) - \frac{\left(w - p \cdot u\right) \cdot \left(z - p\right)}{u - p \cdot p}double code(double z, double y, double w, double p, double u) {
return ((double) (((double) (((double) (z * z)) - y)) - ((double) (((double) (((double) (w - ((double) (p * u)))) * ((double) (z - p)))) / ((double) (u - ((double) (p * p))))))));
}
double code(double z, double y, double w, double p, double u) {
return ((double) (((double) (((double) (z * z)) - y)) - ((double) (((double) (((double) (w - ((double) (p * u)))) * ((double) (z - p)))) / ((double) (u - ((double) (p * p))))))));
}



Bits error versus z



Bits error versus y



Bits error versus w



Bits error versus p



Bits error versus u
Results
Initial program 21.2
Final simplification21.2
herbie shell --seed 2020153
(FPCore (z y w p u)
:name "(- (- (* z z) y) (/ (* (- w (* p u)) (- z p)) (- u (* p p))))"
:precision binary64
(- (- (* z z) y) (/ (* (- w (* p u)) (- z p)) (- u (* p p)))))