\lambda_1 + \tan^{-1}_* \frac{\left(\sin theta \cdot \sin delta\right) \cdot \cos \phi_1}{\cos delta - \sin \phi_1 \cdot \sin \left(\sin^{-1} \left(\sin \phi_1 \cdot \cos delta + \left(\cos \phi_1 \cdot \sin delta\right) \cdot \cos theta\right)\right)}\lambda_1 + \tan^{-1}_* \frac{\cos \phi_1 \cdot \left(\sin delta \cdot \sin theta\right)}{\frac{{\left(\cos delta\right)}^{3} - {\left(\sin \phi_1 \cdot \sin \left(\sqrt[3]{\sin^{-1} \left(\cos delta \cdot \sin \phi_1 + \cos theta \cdot \left(\cos \phi_1 \cdot \sin delta\right)\right) \cdot \left(\sin^{-1} \left(\cos delta \cdot \sin \phi_1 + \cos theta \cdot \left(\cos \phi_1 \cdot \sin delta\right)\right) \cdot \sin^{-1} \left(\cos delta \cdot \sin \phi_1 + \cos theta \cdot \left(\cos \phi_1 \cdot \sin delta\right)\right)\right)}\right)\right)}^{3}}{\left(\left(\sin \phi_1 \cdot \sin \left(\sqrt[3]{\sin^{-1} \left(\cos delta \cdot \sin \phi_1 + \cos theta \cdot \left(\cos \phi_1 \cdot \sin delta\right)\right) \cdot \left(\sin^{-1} \left(\cos delta \cdot \sin \phi_1 + \cos theta \cdot \left(\cos \phi_1 \cdot \sin delta\right)\right) \cdot \sin^{-1} \left(\cos delta \cdot \sin \phi_1 + \cos theta \cdot \left(\cos \phi_1 \cdot \sin delta\right)\right)\right)}\right)\right) \cdot \left(\sin \phi_1 \cdot \sin \left(\sqrt[3]{\sin^{-1} \left(\cos delta \cdot \sin \phi_1 + \cos theta \cdot \left(\cos \phi_1 \cdot \sin delta\right)\right) \cdot \left(\sin^{-1} \left(\cos delta \cdot \sin \phi_1 + \cos theta \cdot \left(\cos \phi_1 \cdot \sin delta\right)\right) \cdot \sin^{-1} \left(\cos delta \cdot \sin \phi_1 + \cos theta \cdot \left(\cos \phi_1 \cdot \sin delta\right)\right)\right)}\right)\right) + \left(\sin \phi_1 \cdot \sin \left(\sqrt[3]{\sin^{-1} \left(\cos delta \cdot \sin \phi_1 + \cos theta \cdot \left(\cos \phi_1 \cdot \sin delta\right)\right) \cdot \left(\sin^{-1} \left(\cos delta \cdot \sin \phi_1 + \cos theta \cdot \left(\cos \phi_1 \cdot \sin delta\right)\right) \cdot \sin^{-1} \left(\cos delta \cdot \sin \phi_1 + \cos theta \cdot \left(\cos \phi_1 \cdot \sin delta\right)\right)\right)}\right)\right) \cdot \cos delta\right) + \cos delta \cdot \cos delta}}double f(double lambda1, double phi1, double __attribute__((unused)) phi2, double delta, double theta) {
double r2105952 = lambda1;
double r2105953 = theta;
double r2105954 = sin(r2105953);
double r2105955 = delta;
double r2105956 = sin(r2105955);
double r2105957 = r2105954 * r2105956;
double r2105958 = phi1;
double r2105959 = cos(r2105958);
double r2105960 = r2105957 * r2105959;
double r2105961 = cos(r2105955);
double r2105962 = sin(r2105958);
double r2105963 = r2105962 * r2105961;
double r2105964 = r2105959 * r2105956;
double r2105965 = cos(r2105953);
double r2105966 = r2105964 * r2105965;
double r2105967 = r2105963 + r2105966;
double r2105968 = asin(r2105967);
double r2105969 = sin(r2105968);
double r2105970 = r2105962 * r2105969;
double r2105971 = r2105961 - r2105970;
double r2105972 = atan2(r2105960, r2105971);
double r2105973 = r2105952 + r2105972;
return r2105973;
}
double f(double lambda1, double phi1, double __attribute__((unused)) phi2, double delta, double theta) {
double r2105974 = lambda1;
double r2105975 = phi1;
double r2105976 = cos(r2105975);
double r2105977 = delta;
double r2105978 = sin(r2105977);
double r2105979 = theta;
double r2105980 = sin(r2105979);
double r2105981 = r2105978 * r2105980;
double r2105982 = r2105976 * r2105981;
double r2105983 = cos(r2105977);
double r2105984 = 3.0;
double r2105985 = pow(r2105983, r2105984);
double r2105986 = sin(r2105975);
double r2105987 = r2105983 * r2105986;
double r2105988 = cos(r2105979);
double r2105989 = r2105976 * r2105978;
double r2105990 = r2105988 * r2105989;
double r2105991 = r2105987 + r2105990;
double r2105992 = asin(r2105991);
double r2105993 = r2105992 * r2105992;
double r2105994 = r2105992 * r2105993;
double r2105995 = cbrt(r2105994);
double r2105996 = sin(r2105995);
double r2105997 = r2105986 * r2105996;
double r2105998 = pow(r2105997, r2105984);
double r2105999 = r2105985 - r2105998;
double r2106000 = r2105997 * r2105997;
double r2106001 = r2105997 * r2105983;
double r2106002 = r2106000 + r2106001;
double r2106003 = r2105983 * r2105983;
double r2106004 = r2106002 + r2106003;
double r2106005 = r2105999 / r2106004;
double r2106006 = atan2(r2105982, r2106005);
double r2106007 = r2105974 + r2106006;
return r2106007;
}



Bits error versus lambda1



Bits error versus phi1



Bits error versus phi2



Bits error versus delta



Bits error versus theta
Results
Initial program 0.2
rmApplied add-cbrt-cube0.2
rmApplied flip3--0.2
Final simplification0.2
herbie shell --seed 2019156
(FPCore (lambda1 phi1 phi2 delta theta)
:name "Destination given bearing on a great circle"
(+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))))