\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 RR \cdot \cos^{-1} \left(\cos \phi_2 \cdot \left(\left(\sqrt[3]{\sin \lambda_1} \cdot \left(\left(\sqrt[3]{\sin \lambda_1} \cdot \sqrt[3]{\sin \lambda_1}\right) \cdot \sin \lambda_2\right) + \cos \lambda_1 \cdot \cos \lambda_2\right) \cdot \cos \phi_1\right) + \sin \phi_2 \cdot \sin \phi_1\right)double f(double R, double lambda1, double lambda2, double phi1, double phi2) {
double r1229840 = phi1;
double r1229841 = sin(r1229840);
double r1229842 = phi2;
double r1229843 = sin(r1229842);
double r1229844 = r1229841 * r1229843;
double r1229845 = cos(r1229840);
double r1229846 = cos(r1229842);
double r1229847 = r1229845 * r1229846;
double r1229848 = lambda1;
double r1229849 = lambda2;
double r1229850 = r1229848 - r1229849;
double r1229851 = cos(r1229850);
double r1229852 = r1229847 * r1229851;
double r1229853 = r1229844 + r1229852;
double r1229854 = acos(r1229853);
double r1229855 = R;
double r1229856 = r1229854 * r1229855;
return r1229856;
}
double f(double R, double lambda1, double lambda2, double phi1, double phi2) {
double r1229857 = R;
double r1229858 = phi2;
double r1229859 = cos(r1229858);
double r1229860 = lambda1;
double r1229861 = sin(r1229860);
double r1229862 = cbrt(r1229861);
double r1229863 = r1229862 * r1229862;
double r1229864 = lambda2;
double r1229865 = sin(r1229864);
double r1229866 = r1229863 * r1229865;
double r1229867 = r1229862 * r1229866;
double r1229868 = cos(r1229860);
double r1229869 = cos(r1229864);
double r1229870 = r1229868 * r1229869;
double r1229871 = r1229867 + r1229870;
double r1229872 = phi1;
double r1229873 = cos(r1229872);
double r1229874 = r1229871 * r1229873;
double r1229875 = r1229859 * r1229874;
double r1229876 = sin(r1229858);
double r1229877 = sin(r1229872);
double r1229878 = r1229876 * r1229877;
double r1229879 = r1229875 + r1229878;
double r1229880 = acos(r1229879);
double r1229881 = r1229857 * r1229880;
return r1229881;
}



Bits error versus R



Bits error versus lambda1



Bits error versus lambda2



Bits error versus phi1



Bits error versus phi2
Results
Initial program 16.7
rmApplied cos-diff3.8
rmApplied *-un-lft-identity3.8
Applied associate-*r*3.8
Simplified3.8
rmApplied add-cube-cbrt3.8
Applied associate-*r*3.8
Final simplification3.8
herbie shell --seed 2019172
(FPCore (R lambda1 lambda2 phi1 phi2)
:name "Spherical law of cosines"
(* (acos (+ (* (sin phi1) (sin phi2)) (* (* (cos phi1) (cos phi2)) (cos (- lambda1 lambda2))))) R))