Average Error: 15.5 → 15.5
Time: 1.2s
Precision: binary64
\[\frac{1}{\sqrt{0.5 \cdot \left(\left(4 + {\left(\frac{x}{p}\right)}^{2}\right) + q \cdot \frac{x}{p}\right)}}\]
\[\frac{1}{\sqrt{0.5 \cdot \left(\left(4 + {\left(\frac{x}{p}\right)}^{2}\right) + q \cdot \frac{x}{p}\right)}}\]
\frac{1}{\sqrt{0.5 \cdot \left(\left(4 + {\left(\frac{x}{p}\right)}^{2}\right) + q \cdot \frac{x}{p}\right)}}
\frac{1}{\sqrt{0.5 \cdot \left(\left(4 + {\left(\frac{x}{p}\right)}^{2}\right) + q \cdot \frac{x}{p}\right)}}
double code(double x, double p, double q) {
	return ((double) (1.0 / ((double) sqrt(((double) (0.5 * ((double) (((double) (4.0 + ((double) pow(((double) (x / p)), 2.0)))) + ((double) (q * ((double) (x / p))))))))))));
}
double code(double x, double p, double q) {
	return ((double) (1.0 / ((double) sqrt(((double) (0.5 * ((double) (((double) (4.0 + ((double) pow(((double) (x / p)), 2.0)))) + ((double) (q * ((double) (x / p))))))))))));
}

Error

Bits error versus x

Bits error versus p

Bits error versus q

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 15.5

    \[\frac{1}{\sqrt{0.5 \cdot \left(\left(4 + {\left(\frac{x}{p}\right)}^{2}\right) + q \cdot \frac{x}{p}\right)}}\]
  2. Final simplification15.5

    \[\leadsto \frac{1}{\sqrt{0.5 \cdot \left(\left(4 + {\left(\frac{x}{p}\right)}^{2}\right) + q \cdot \frac{x}{p}\right)}}\]

Reproduce

herbie shell --seed 2020153 
(FPCore (x p q)
  :name "(/ 1 (sqrt (* 0.5 (+ (+ 4 (pow (/ x p) 2)) (* q (/ x p))))))"
  :precision binary64
  (/ 1.0 (sqrt (* 0.5 (+ (+ 4.0 (pow (/ x p) 2.0)) (* q (/ x p)))))))