\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)}\tan^{-1}_* \frac{\left(\cos \phi_1 \cdot \sin delta\right) \cdot \sin theta}{\frac{{\left(\cos delta\right)}^{3} - \left(\sin \phi_1 \cdot \left(\sin \phi_1 \cdot \sin \phi_1\right)\right) \cdot \left(\sin \left(\sin^{-1} \left(\cos theta \cdot \left(\cos \phi_1 \cdot \sin delta\right) + \cos delta \cdot \sin \phi_1\right)\right) \cdot \left(\sin \left(\sin^{-1} \left(\cos theta \cdot \left(\cos \phi_1 \cdot \sin delta\right) + \cos delta \cdot \sin \phi_1\right)\right) \cdot \sin \left(\sin^{-1} \left(\cos theta \cdot \left(\cos \phi_1 \cdot \sin delta\right) + \cos delta \cdot \sin \phi_1\right)\right)\right)\right)}{\cos delta \cdot \cos delta + \left(\left(\sin \left(\sin^{-1} \left(\cos theta \cdot \left(\cos \phi_1 \cdot \sin delta\right) + \cos delta \cdot \sin \phi_1\right)\right) \cdot \sin \phi_1\right) \cdot \left(\sin \left(\sin^{-1} \left(\cos theta \cdot \left(\cos \phi_1 \cdot \sin delta\right) + \cos delta \cdot \sin \phi_1\right)\right) \cdot \sin \phi_1\right) + \cos delta \cdot \left(\sin \left(\sin^{-1} \left(\cos theta \cdot \left(\cos \phi_1 \cdot \sin delta\right) + \cos delta \cdot \sin \phi_1\right)\right) \cdot \sin \phi_1\right)\right)}} + \lambda_1double f(double lambda1, double phi1, double __attribute__((unused)) phi2, double delta, double theta) {
double r4418952 = lambda1;
double r4418953 = theta;
double r4418954 = sin(r4418953);
double r4418955 = delta;
double r4418956 = sin(r4418955);
double r4418957 = r4418954 * r4418956;
double r4418958 = phi1;
double r4418959 = cos(r4418958);
double r4418960 = r4418957 * r4418959;
double r4418961 = cos(r4418955);
double r4418962 = sin(r4418958);
double r4418963 = r4418962 * r4418961;
double r4418964 = r4418959 * r4418956;
double r4418965 = cos(r4418953);
double r4418966 = r4418964 * r4418965;
double r4418967 = r4418963 + r4418966;
double r4418968 = asin(r4418967);
double r4418969 = sin(r4418968);
double r4418970 = r4418962 * r4418969;
double r4418971 = r4418961 - r4418970;
double r4418972 = atan2(r4418960, r4418971);
double r4418973 = r4418952 + r4418972;
return r4418973;
}
double f(double lambda1, double phi1, double __attribute__((unused)) phi2, double delta, double theta) {
double r4418974 = phi1;
double r4418975 = cos(r4418974);
double r4418976 = delta;
double r4418977 = sin(r4418976);
double r4418978 = r4418975 * r4418977;
double r4418979 = theta;
double r4418980 = sin(r4418979);
double r4418981 = r4418978 * r4418980;
double r4418982 = cos(r4418976);
double r4418983 = 3.0;
double r4418984 = pow(r4418982, r4418983);
double r4418985 = sin(r4418974);
double r4418986 = r4418985 * r4418985;
double r4418987 = r4418985 * r4418986;
double r4418988 = cos(r4418979);
double r4418989 = r4418988 * r4418978;
double r4418990 = r4418982 * r4418985;
double r4418991 = r4418989 + r4418990;
double r4418992 = asin(r4418991);
double r4418993 = sin(r4418992);
double r4418994 = r4418993 * r4418993;
double r4418995 = r4418993 * r4418994;
double r4418996 = r4418987 * r4418995;
double r4418997 = r4418984 - r4418996;
double r4418998 = r4418982 * r4418982;
double r4418999 = r4418993 * r4418985;
double r4419000 = r4418999 * r4418999;
double r4419001 = r4418982 * r4418999;
double r4419002 = r4419000 + r4419001;
double r4419003 = r4418998 + r4419002;
double r4419004 = r4418997 / r4419003;
double r4419005 = atan2(r4418981, r4419004);
double r4419006 = lambda1;
double r4419007 = r4419005 + r4419006;
return r4419007;
}



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
Simplified0.2
rmApplied flip3--0.2
rmApplied add-cbrt-cube0.2
Applied add-cbrt-cube0.2
Applied cbrt-unprod0.2
Applied rem-cube-cbrt0.2
Final simplification0.2
herbie shell --seed 2019200
(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))))))))))