\cos^{-1} \left(\sin \phi_1 \cdot \sin \phi_2 + \left(\cos \phi_1 \cdot \cos \phi_2\right) \cdot \cos \left(\lambda_1 - \lambda_2\right)\right) \cdot R\cos^{-1} \left(\sin \phi_1 \cdot \sin \phi_2 + \left(\cos \phi_1 \cdot \cos \phi_2\right) \cdot \left(\cos \lambda_1 \cdot \cos \lambda_2 - \sqrt[3]{{\left(\sin \lambda_1 \cdot \sin \left(-1 \cdot \lambda_2\right)\right)}^{3}}\right)\right) \cdot Rdouble f(double R, double lambda1, double lambda2, double phi1, double phi2) {
double r21787 = phi1;
double r21788 = sin(r21787);
double r21789 = phi2;
double r21790 = sin(r21789);
double r21791 = r21788 * r21790;
double r21792 = cos(r21787);
double r21793 = cos(r21789);
double r21794 = r21792 * r21793;
double r21795 = lambda1;
double r21796 = lambda2;
double r21797 = r21795 - r21796;
double r21798 = cos(r21797);
double r21799 = r21794 * r21798;
double r21800 = r21791 + r21799;
double r21801 = acos(r21800);
double r21802 = R;
double r21803 = r21801 * r21802;
return r21803;
}
double f(double R, double lambda1, double lambda2, double phi1, double phi2) {
double r21804 = phi1;
double r21805 = sin(r21804);
double r21806 = phi2;
double r21807 = sin(r21806);
double r21808 = r21805 * r21807;
double r21809 = cos(r21804);
double r21810 = cos(r21806);
double r21811 = r21809 * r21810;
double r21812 = lambda1;
double r21813 = cos(r21812);
double r21814 = lambda2;
double r21815 = cos(r21814);
double r21816 = r21813 * r21815;
double r21817 = sin(r21812);
double r21818 = -1.0;
double r21819 = r21818 * r21814;
double r21820 = sin(r21819);
double r21821 = r21817 * r21820;
double r21822 = 3.0;
double r21823 = pow(r21821, r21822);
double r21824 = cbrt(r21823);
double r21825 = r21816 - r21824;
double r21826 = r21811 * r21825;
double r21827 = r21808 + r21826;
double r21828 = acos(r21827);
double r21829 = R;
double r21830 = r21828 * r21829;
return r21830;
}



Bits error versus R



Bits error versus lambda1



Bits error versus lambda2



Bits error versus phi1



Bits error versus phi2
Results
Initial program 16.5
rmApplied sub-neg16.5
Applied cos-sum3.7
Simplified3.7
rmApplied add-cbrt-cube3.7
Applied add-cbrt-cube3.7
Applied cbrt-unprod3.7
Simplified3.7
Final simplification3.7
herbie shell --seed 2020036
(FPCore (R lambda1 lambda2 phi1 phi2)
:name "Spherical law of cosines"
:precision binary64
(* (acos (+ (* (sin phi1) (sin phi2)) (* (* (cos phi1) (cos phi2)) (cos (- lambda1 lambda2))))) R))