\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 theta\right) \cdot \sin delta}{\frac{\left(\cos delta \cdot \cos delta\right) \cdot \cos delta - \left(\sin \phi_1 \cdot \sin \left(\sin^{-1} \left(\mathsf{fma}\left(\cos \phi_1 \cdot \sin delta, \cos theta, \sin \phi_1 \cdot \cos delta\right)\right)\right)\right) \cdot \left(\left(\sin \phi_1 \cdot \sin \left(\sin^{-1} \left(\mathsf{fma}\left(\cos \phi_1 \cdot \sin delta, \cos theta, \sin \phi_1 \cdot \cos delta\right)\right)\right)\right) \cdot \left(\sin \phi_1 \cdot \sin \left(\sin^{-1} \left(\mathsf{fma}\left(\cos \phi_1 \cdot \sin delta, \cos theta, \sin \phi_1 \cdot \cos delta\right)\right)\right)\right)\right)}{\mathsf{fma}\left(\sin \left(\sin^{-1} \left(\mathsf{fma}\left(\cos \phi_1 \cdot \sin delta, \cos theta, \sin \phi_1 \cdot \cos delta\right)\right)\right), \sin \phi_1 \cdot \cos delta, \mathsf{fma}\left(\sin \phi_1 \cdot \sin \left(\sin^{-1} \left(\mathsf{fma}\left(\cos \phi_1 \cdot \sin delta, \cos theta, \sin \phi_1 \cdot \cos delta\right)\right)\right), \sin \phi_1 \cdot \sin \left(\sin^{-1} \left(\mathsf{fma}\left(\cos \phi_1 \cdot \sin delta, \cos theta, \sin \phi_1 \cdot \cos delta\right)\right)\right), \cos delta \cdot \cos delta\right)\right)}} + \lambda_1double f(double lambda1, double phi1, double __attribute__((unused)) phi2, double delta, double theta) {
double r4356381 = lambda1;
double r4356382 = theta;
double r4356383 = sin(r4356382);
double r4356384 = delta;
double r4356385 = sin(r4356384);
double r4356386 = r4356383 * r4356385;
double r4356387 = phi1;
double r4356388 = cos(r4356387);
double r4356389 = r4356386 * r4356388;
double r4356390 = cos(r4356384);
double r4356391 = sin(r4356387);
double r4356392 = r4356391 * r4356390;
double r4356393 = r4356388 * r4356385;
double r4356394 = cos(r4356382);
double r4356395 = r4356393 * r4356394;
double r4356396 = r4356392 + r4356395;
double r4356397 = asin(r4356396);
double r4356398 = sin(r4356397);
double r4356399 = r4356391 * r4356398;
double r4356400 = r4356390 - r4356399;
double r4356401 = atan2(r4356389, r4356400);
double r4356402 = r4356381 + r4356401;
return r4356402;
}
double f(double lambda1, double phi1, double __attribute__((unused)) phi2, double delta, double theta) {
double r4356403 = phi1;
double r4356404 = cos(r4356403);
double r4356405 = theta;
double r4356406 = sin(r4356405);
double r4356407 = r4356404 * r4356406;
double r4356408 = delta;
double r4356409 = sin(r4356408);
double r4356410 = r4356407 * r4356409;
double r4356411 = cos(r4356408);
double r4356412 = r4356411 * r4356411;
double r4356413 = r4356412 * r4356411;
double r4356414 = sin(r4356403);
double r4356415 = r4356404 * r4356409;
double r4356416 = cos(r4356405);
double r4356417 = r4356414 * r4356411;
double r4356418 = fma(r4356415, r4356416, r4356417);
double r4356419 = asin(r4356418);
double r4356420 = sin(r4356419);
double r4356421 = r4356414 * r4356420;
double r4356422 = r4356421 * r4356421;
double r4356423 = r4356421 * r4356422;
double r4356424 = r4356413 - r4356423;
double r4356425 = fma(r4356421, r4356421, r4356412);
double r4356426 = fma(r4356420, r4356417, r4356425);
double r4356427 = r4356424 / r4356426;
double r4356428 = atan2(r4356410, r4356427);
double r4356429 = lambda1;
double r4356430 = r4356428 + r4356429;
return r4356430;
}



Bits error versus lambda1



Bits error versus phi1



Bits error versus phi2



Bits error versus delta



Bits error versus theta
Initial program 0.2
Simplified0.2
rmApplied flip3--0.2
Simplified0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019169 +o rules:numerics
(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))))))))))