Average Error: 7.9 → 7.9
Time: 7.4s
Precision: binary64
\[\cos^{-1} \left(\sin x1 \cdot \sin x2 + \left(\cos x1 \cdot \cos x2\right) \cdot \cos y\right)\]
\[\cos^{-1} \left(\sin x1 \cdot \sin x2 + \left(\cos x1 \cdot \cos x2\right) \cdot \cos y\right)\]
\cos^{-1} \left(\sin x1 \cdot \sin x2 + \left(\cos x1 \cdot \cos x2\right) \cdot \cos y\right)
\cos^{-1} \left(\sin x1 \cdot \sin x2 + \left(\cos x1 \cdot \cos x2\right) \cdot \cos y\right)
double code(double x1, double x2, double y) {
	return ((double) acos(((double) (((double) (((double) sin(x1)) * ((double) sin(x2)))) + ((double) (((double) (((double) cos(x1)) * ((double) cos(x2)))) * ((double) cos(y))))))));
}
double code(double x1, double x2, double y) {
	return ((double) acos(((double) (((double) (((double) sin(x1)) * ((double) sin(x2)))) + ((double) (((double) (((double) cos(x1)) * ((double) cos(x2)))) * ((double) cos(y))))))));
}

Error

Bits error versus x1

Bits error versus x2

Bits error versus y

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 7.9

    \[\cos^{-1} \left(\sin x1 \cdot \sin x2 + \left(\cos x1 \cdot \cos x2\right) \cdot \cos y\right)\]
  2. Final simplification7.9

    \[\leadsto \cos^{-1} \left(\sin x1 \cdot \sin x2 + \left(\cos x1 \cdot \cos x2\right) \cdot \cos y\right)\]

Reproduce

herbie shell --seed 2020153 
(FPCore (x1 x2 y)
  :name "(acos (+ (* (sin x1) (sin x2)) (* (* (cos x1) (cos x2)) (cos y))))"
  :precision binary64
  (acos (+ (* (sin x1) (sin x2)) (* (* (cos x1) (cos x2)) (cos y)))))