\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))))))));
}



Bits error versus x1



Bits error versus x2



Bits error versus y
Results
Initial program 7.9
Final simplification7.9
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)))))