Average Error: 15.9 → 15.9
Time: 2.2s
Precision: binary64
\[\frac{x0}{\sqrt{\left(x0 \cdot x1 + y0 \cdot y1\right) + z0 \cdot z1}}\]
\[\frac{x0}{\sqrt{\left(x0 \cdot x1 + y0 \cdot y1\right) + z0 \cdot z1}}\]
\frac{x0}{\sqrt{\left(x0 \cdot x1 + y0 \cdot y1\right) + z0 \cdot z1}}
\frac{x0}{\sqrt{\left(x0 \cdot x1 + y0 \cdot y1\right) + z0 \cdot z1}}
double code(double x0, double x1, double y0, double y1, double z0, double z1) {
	return ((double) (x0 / ((double) sqrt(((double) (((double) (((double) (x0 * x1)) + ((double) (y0 * y1)))) + ((double) (z0 * z1))))))));
}
double code(double x0, double x1, double y0, double y1, double z0, double z1) {
	return ((double) (x0 / ((double) sqrt(((double) (((double) (((double) (x0 * x1)) + ((double) (y0 * y1)))) + ((double) (z0 * z1))))))));
}

Error

Bits error versus x0

Bits error versus x1

Bits error versus y0

Bits error versus y1

Bits error versus z0

Bits error versus z1

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 15.9

    \[\frac{x0}{\sqrt{\left(x0 \cdot x1 + y0 \cdot y1\right) + z0 \cdot z1}}\]
  2. Final simplification15.9

    \[\leadsto \frac{x0}{\sqrt{\left(x0 \cdot x1 + y0 \cdot y1\right) + z0 \cdot z1}}\]

Reproduce

herbie shell --seed 2020152 
(FPCore (x0 x1 y0 y1 z0 z1)
  :name "(/ x0 (sqrt (+ (+ (* x0 x1) (* y0 y1)) (* z0 z1))))"
  :precision binary64
  (/ x0 (sqrt (+ (+ (* x0 x1) (* y0 y1)) (* z0 z1)))))