Average Error: 17.1 → 17.1
Time: 1.5s
Precision: binary64
\[\sqrt{{\left(\frac{p}{q}\right)}^{2} + {\left(1 - \frac{r}{q}\right)}^{2}}\]
\[\sqrt{{\left(\frac{p}{q}\right)}^{2} + {\left(1 - \frac{r}{q}\right)}^{2}}\]
\sqrt{{\left(\frac{p}{q}\right)}^{2} + {\left(1 - \frac{r}{q}\right)}^{2}}
\sqrt{{\left(\frac{p}{q}\right)}^{2} + {\left(1 - \frac{r}{q}\right)}^{2}}
double code(double p, double q, double r) {
	return ((double) sqrt(((double) (((double) pow(((double) (p / q)), 2.0)) + ((double) pow(((double) (1.0 - ((double) (r / q)))), 2.0))))));
}
double code(double p, double q, double r) {
	return ((double) sqrt(((double) (((double) pow(((double) (p / q)), 2.0)) + ((double) pow(((double) (1.0 - ((double) (r / q)))), 2.0))))));
}

Error

Bits error versus p

Bits error versus q

Bits error versus r

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 17.1

    \[\sqrt{{\left(\frac{p}{q}\right)}^{2} + {\left(1 - \frac{r}{q}\right)}^{2}}\]
  2. Final simplification17.1

    \[\leadsto \sqrt{{\left(\frac{p}{q}\right)}^{2} + {\left(1 - \frac{r}{q}\right)}^{2}}\]

Reproduce

herbie shell --seed 2020152 
(FPCore (p q r)
  :name "(sqrt (+ (pow (/ p q) 2) (pow (- 1 (/ r q)) 2)))"
  :precision binary64
  (sqrt (+ (pow (/ p q) 2.0) (pow (- 1.0 (/ r q)) 2.0))))