\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)}{\cos delta - \sin \phi_1 \cdot \sin \left(\sqrt[3]{\left(\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) \cdot \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 \sqrt[3]{\sin^{-1} \left(\cos delta \cdot \sin \phi_1 + \cos theta \cdot \left(\cos \phi_1 \cdot \sin delta\right)\right)}\right)\right) \cdot \sqrt[3]{\sin^{-1} \left(\cos delta \cdot \sin \phi_1 + \cos theta \cdot \left(\cos \phi_1 \cdot \sin delta\right)\right)}}\right)}double f(double lambda1, double phi1, double __attribute__((unused)) phi2, double delta, double theta) {
double r4115597 = lambda1;
double r4115598 = theta;
double r4115599 = sin(r4115598);
double r4115600 = delta;
double r4115601 = sin(r4115600);
double r4115602 = r4115599 * r4115601;
double r4115603 = phi1;
double r4115604 = cos(r4115603);
double r4115605 = r4115602 * r4115604;
double r4115606 = cos(r4115600);
double r4115607 = sin(r4115603);
double r4115608 = r4115607 * r4115606;
double r4115609 = r4115604 * r4115601;
double r4115610 = cos(r4115598);
double r4115611 = r4115609 * r4115610;
double r4115612 = r4115608 + r4115611;
double r4115613 = asin(r4115612);
double r4115614 = sin(r4115613);
double r4115615 = r4115607 * r4115614;
double r4115616 = r4115606 - r4115615;
double r4115617 = atan2(r4115605, r4115616);
double r4115618 = r4115597 + r4115617;
return r4115618;
}
double f(double lambda1, double phi1, double __attribute__((unused)) phi2, double delta, double theta) {
double r4115619 = lambda1;
double r4115620 = phi1;
double r4115621 = cos(r4115620);
double r4115622 = delta;
double r4115623 = sin(r4115622);
double r4115624 = theta;
double r4115625 = sin(r4115624);
double r4115626 = r4115623 * r4115625;
double r4115627 = r4115621 * r4115626;
double r4115628 = cos(r4115622);
double r4115629 = sin(r4115620);
double r4115630 = r4115628 * r4115629;
double r4115631 = cos(r4115624);
double r4115632 = r4115621 * r4115623;
double r4115633 = r4115631 * r4115632;
double r4115634 = r4115630 + r4115633;
double r4115635 = asin(r4115634);
double r4115636 = r4115635 * r4115635;
double r4115637 = cbrt(r4115635);
double r4115638 = r4115637 * r4115637;
double r4115639 = r4115636 * r4115638;
double r4115640 = r4115639 * r4115637;
double r4115641 = cbrt(r4115640);
double r4115642 = sin(r4115641);
double r4115643 = r4115629 * r4115642;
double r4115644 = r4115628 - r4115643;
double r4115645 = atan2(r4115627, r4115644);
double r4115646 = r4115619 + r4115645;
return r4115646;
}



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 add-cube-cbrt0.2
Applied associate-*r*0.2
Final simplification0.2
herbie shell --seed 2019172
(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))))))))))