\frac{\sqrt{p} \cdot q}{\sqrt{p + \left(q - r\right) \cdot \left(\left(q - r\right) + \sqrt{p + \left(q - r\right) \cdot \left(q - r\right)}\right)}}\frac{\sqrt{p} \cdot q}{\sqrt{p + \left(q - r\right) \cdot \left(\left(q - r\right) + \sqrt{p + \left(q - r\right) \cdot \left(q - r\right)}\right)}}double code(double p, double q, double r) {
return ((double) (((double) (((double) sqrt(p)) * q)) / ((double) sqrt(((double) (p + ((double) (((double) (q - r)) * ((double) (((double) (q - r)) + ((double) sqrt(((double) (p + ((double) (((double) (q - r)) * ((double) (q - r))))))))))))))))));
}
double code(double p, double q, double r) {
return ((double) (((double) (((double) sqrt(p)) * q)) / ((double) sqrt(((double) (p + ((double) (((double) (q - r)) * ((double) (((double) (q - r)) + ((double) sqrt(((double) (p + ((double) (((double) (q - r)) * ((double) (q - r))))))))))))))))));
}



Bits error versus p



Bits error versus q



Bits error versus r
Results
Initial program 33.7
Final simplification33.7
herbie shell --seed 2020152
(FPCore (p q r)
:name "(/ (* (sqrt p) q) (sqrt (+ p (* (- q r) (+ (- q r) (sqrt (+ p (* (- q r) (- q r)))))))))"
:precision binary64
(/ (* (sqrt p) q) (sqrt (+ p (* (- q r) (+ (- q r) (sqrt (+ p (* (- q r) (- q r))))))))))