Average Error: 14.9 → 14.9
Time: 2.3s
Precision: binary64
\[\frac{x}{\sqrt{\left(ax \cdot bx + ay \cdot by\right) + az \cdot bz}}\]
\[\frac{x}{\sqrt{\left(ax \cdot bx + ay \cdot by\right) + az \cdot bz}}\]
\frac{x}{\sqrt{\left(ax \cdot bx + ay \cdot by\right) + az \cdot bz}}
\frac{x}{\sqrt{\left(ax \cdot bx + ay \cdot by\right) + az \cdot bz}}
double code(double x, double ax, double bx, double ay, double by, double az, double bz) {
	return ((double) (x / ((double) sqrt(((double) (((double) (((double) (ax * bx)) + ((double) (ay * by)))) + ((double) (az * bz))))))));
}
double code(double x, double ax, double bx, double ay, double by, double az, double bz) {
	return ((double) (x / ((double) sqrt(((double) (((double) (((double) (ax * bx)) + ((double) (ay * by)))) + ((double) (az * bz))))))));
}

Error

Bits error versus x

Bits error versus ax

Bits error versus bx

Bits error versus ay

Bits error versus by

Bits error versus az

Bits error versus bz

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 14.9

    \[\frac{x}{\sqrt{\left(ax \cdot bx + ay \cdot by\right) + az \cdot bz}}\]
  2. Final simplification14.9

    \[\leadsto \frac{x}{\sqrt{\left(ax \cdot bx + ay \cdot by\right) + az \cdot bz}}\]

Reproduce

herbie shell --seed 2020153 
(FPCore (x ax bx ay by az bz)
  :name "(/ x (sqrt (+ (+ (* ax bx) (* ay by)) (* az bz))))"
  :precision binary64
  (/ x (sqrt (+ (+ (* ax bx) (* ay by)) (* az bz)))))