\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 r27189 = phi1;
double r27190 = sin(r27189);
double r27191 = phi2;
double r27192 = sin(r27191);
double r27193 = r27190 * r27192;
double r27194 = cos(r27189);
double r27195 = cos(r27191);
double r27196 = r27194 * r27195;
double r27197 = lambda1;
double r27198 = lambda2;
double r27199 = r27197 - r27198;
double r27200 = cos(r27199);
double r27201 = r27196 * r27200;
double r27202 = r27193 + r27201;
double r27203 = acos(r27202);
double r27204 = R;
double r27205 = r27203 * r27204;
return r27205;
}
double f(double R, double lambda1, double lambda2, double phi1, double phi2) {
double r27206 = phi1;
double r27207 = sin(r27206);
double r27208 = phi2;
double r27209 = sin(r27208);
double r27210 = r27207 * r27209;
double r27211 = cos(r27206);
double r27212 = cos(r27208);
double r27213 = r27211 * r27212;
double r27214 = lambda1;
double r27215 = cos(r27214);
double r27216 = lambda2;
double r27217 = cos(r27216);
double r27218 = r27215 * r27217;
double r27219 = sin(r27214);
double r27220 = -1.0;
double r27221 = r27220 * r27216;
double r27222 = sin(r27221);
double r27223 = r27219 * r27222;
double r27224 = 3.0;
double r27225 = pow(r27223, r27224);
double r27226 = cbrt(r27225);
double r27227 = r27218 - r27226;
double r27228 = r27213 * r27227;
double r27229 = r27210 + r27228;
double r27230 = acos(r27229);
double r27231 = R;
double r27232 = r27230 * r27231;
return r27232;
}



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 +o rules:numerics
(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))