\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 e^{\log \left(\log \left(e^{\cos^{-1} \left(\left(\cos \phi_1 \cdot \cos \phi_2\right) \cdot \left(\sin \lambda_2 \cdot \sin \lambda_1 + \cos \lambda_2 \cdot \cos \lambda_1\right) + \sin \phi_2 \cdot \sin \phi_1\right)}\right)\right)}double f(double R, double lambda1, double lambda2, double phi1, double phi2) {
double r991695 = phi1;
double r991696 = sin(r991695);
double r991697 = phi2;
double r991698 = sin(r991697);
double r991699 = r991696 * r991698;
double r991700 = cos(r991695);
double r991701 = cos(r991697);
double r991702 = r991700 * r991701;
double r991703 = lambda1;
double r991704 = lambda2;
double r991705 = r991703 - r991704;
double r991706 = cos(r991705);
double r991707 = r991702 * r991706;
double r991708 = r991699 + r991707;
double r991709 = acos(r991708);
double r991710 = R;
double r991711 = r991709 * r991710;
return r991711;
}
double f(double R, double lambda1, double lambda2, double phi1, double phi2) {
double r991712 = R;
double r991713 = phi1;
double r991714 = cos(r991713);
double r991715 = phi2;
double r991716 = cos(r991715);
double r991717 = r991714 * r991716;
double r991718 = lambda2;
double r991719 = sin(r991718);
double r991720 = lambda1;
double r991721 = sin(r991720);
double r991722 = r991719 * r991721;
double r991723 = cos(r991718);
double r991724 = cos(r991720);
double r991725 = r991723 * r991724;
double r991726 = r991722 + r991725;
double r991727 = r991717 * r991726;
double r991728 = sin(r991715);
double r991729 = sin(r991713);
double r991730 = r991728 * r991729;
double r991731 = r991727 + r991730;
double r991732 = acos(r991731);
double r991733 = exp(r991732);
double r991734 = log(r991733);
double r991735 = log(r991734);
double r991736 = exp(r991735);
double r991737 = r991712 * r991736;
return r991737;
}



Bits error versus R



Bits error versus lambda1



Bits error versus lambda2



Bits error versus phi1



Bits error versus phi2
Results
Initial program 17.0
rmApplied cos-diff3.5
rmApplied add-exp-log3.6
rmApplied add-log-exp3.6
Final simplification3.6
herbie shell --seed 2019169
(FPCore (R lambda1 lambda2 phi1 phi2)
:name "Spherical law of cosines"
(* (acos (+ (* (sin phi1) (sin phi2)) (* (* (cos phi1) (cos phi2)) (cos (- lambda1 lambda2))))) R))