Average Error: 44.3 → 44.3
Time: 2.3s
Precision: binary64
\[\frac{\left(1 \cdot p\right) \cdot q}{\sqrt{\left(\left(4 \cdot p\right) \cdot p + \left(q - r\right) \cdot \left(q - r\right)\right) + \left(q - r\right) \cdot \sqrt{\left(4 \cdot p\right) \cdot p + \left(q - r\right) \cdot \left(q - r\right)}}}\]
\[\frac{\left(1 \cdot p\right) \cdot q}{\sqrt{\left(\left(4 \cdot p\right) \cdot p + \left(q - r\right) \cdot \left(q - r\right)\right) + \left(q - r\right) \cdot \sqrt{\left(4 \cdot p\right) \cdot p + \left(q - r\right) \cdot \left(q - r\right)}}}\]
\frac{\left(1 \cdot p\right) \cdot q}{\sqrt{\left(\left(4 \cdot p\right) \cdot p + \left(q - r\right) \cdot \left(q - r\right)\right) + \left(q - r\right) \cdot \sqrt{\left(4 \cdot p\right) \cdot p + \left(q - r\right) \cdot \left(q - r\right)}}}
\frac{\left(1 \cdot p\right) \cdot q}{\sqrt{\left(\left(4 \cdot p\right) \cdot p + \left(q - r\right) \cdot \left(q - r\right)\right) + \left(q - r\right) \cdot \sqrt{\left(4 \cdot p\right) \cdot p + \left(q - r\right) \cdot \left(q - r\right)}}}
double code(double p, double q, double r) {
	return ((double) (((double) (((double) (1.0 * p)) * q)) / ((double) sqrt(((double) (((double) (((double) (((double) (4.0 * p)) * p)) + ((double) (((double) (q - r)) * ((double) (q - r)))))) + ((double) (((double) (q - r)) * ((double) sqrt(((double) (((double) (((double) (4.0 * p)) * p)) + ((double) (((double) (q - r)) * ((double) (q - r))))))))))))))));
}
double code(double p, double q, double r) {
	return ((double) (((double) (((double) (1.0 * p)) * q)) / ((double) sqrt(((double) (((double) (((double) (((double) (4.0 * p)) * p)) + ((double) (((double) (q - r)) * ((double) (q - r)))))) + ((double) (((double) (q - r)) * ((double) sqrt(((double) (((double) (((double) (4.0 * p)) * p)) + ((double) (((double) (q - r)) * ((double) (q - r))))))))))))))));
}

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 44.3

    \[\frac{\left(1 \cdot p\right) \cdot q}{\sqrt{\left(\left(4 \cdot p\right) \cdot p + \left(q - r\right) \cdot \left(q - r\right)\right) + \left(q - r\right) \cdot \sqrt{\left(4 \cdot p\right) \cdot p + \left(q - r\right) \cdot \left(q - r\right)}}}\]
  2. Final simplification44.3

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

Reproduce

herbie shell --seed 2020152 
(FPCore (p q r)
  :name "(/ (* (* 1 p) q) (sqrt (+ (+ (* (* 4 p) p) (* (- q r) (- q r))) (* (- q r) (sqrt (+ (* (* 4 p) p) (* (- q r) (- q r))))))))"
  :precision binary64
  (/ (* (* 1.0 p) q) (sqrt (+ (+ (* (* 4.0 p) p) (* (- q r) (- q r))) (* (- q r) (sqrt (+ (* (* 4.0 p) p) (* (- q r) (- q r)))))))))