\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_2 \cdot \sin \phi_1 + \left(\sqrt[3]{\sqrt[3]{{\left({\left(\sin \lambda_1 \cdot \sin \lambda_2\right)}^{3}\right)}^{3}}} + \cos \lambda_2 \cdot \cos \lambda_1\right) \cdot \left(\cos \phi_1 \cdot \cos \phi_2\right)\right) \cdot Rdouble f(double R, double lambda1, double lambda2, double phi1, double phi2) {
double r23830 = phi1;
double r23831 = sin(r23830);
double r23832 = phi2;
double r23833 = sin(r23832);
double r23834 = r23831 * r23833;
double r23835 = cos(r23830);
double r23836 = cos(r23832);
double r23837 = r23835 * r23836;
double r23838 = lambda1;
double r23839 = lambda2;
double r23840 = r23838 - r23839;
double r23841 = cos(r23840);
double r23842 = r23837 * r23841;
double r23843 = r23834 + r23842;
double r23844 = acos(r23843);
double r23845 = R;
double r23846 = r23844 * r23845;
return r23846;
}
double f(double R, double lambda1, double lambda2, double phi1, double phi2) {
double r23847 = phi2;
double r23848 = sin(r23847);
double r23849 = phi1;
double r23850 = sin(r23849);
double r23851 = r23848 * r23850;
double r23852 = lambda1;
double r23853 = sin(r23852);
double r23854 = lambda2;
double r23855 = sin(r23854);
double r23856 = r23853 * r23855;
double r23857 = 3.0;
double r23858 = pow(r23856, r23857);
double r23859 = pow(r23858, r23857);
double r23860 = cbrt(r23859);
double r23861 = cbrt(r23860);
double r23862 = cos(r23854);
double r23863 = cos(r23852);
double r23864 = r23862 * r23863;
double r23865 = r23861 + r23864;
double r23866 = cos(r23849);
double r23867 = cos(r23847);
double r23868 = r23866 * r23867;
double r23869 = r23865 * r23868;
double r23870 = r23851 + r23869;
double r23871 = acos(r23870);
double r23872 = R;
double r23873 = r23871 * r23872;
return r23873;
}



Bits error versus R



Bits error versus lambda1



Bits error versus lambda2



Bits error versus phi1



Bits error versus phi2
Results
Initial program 16.6
rmApplied cos-diff3.9
Simplified3.9
rmApplied add-cbrt-cube3.9
Applied add-cbrt-cube3.9
Applied cbrt-unprod3.9
Simplified3.9
rmApplied add-cbrt-cube3.9
Simplified3.9
Final simplification3.9
herbie shell --seed 2019179
(FPCore (R lambda1 lambda2 phi1 phi2)
:name "Spherical law of cosines"
(* (acos (+ (* (sin phi1) (sin phi2)) (* (* (cos phi1) (cos phi2)) (cos (- lambda1 lambda2))))) R))