Average Error: 0.2 → 0.2
Time: 35.5s
Precision: 64
\[\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{\left(\sin theta \cdot \sin delta\right) \cdot \cos \phi_1}{\frac{{\left(\cos delta\right)}^{2} - \left({\left(\sin \phi_1\right)}^{3} \cdot \left(\cos \phi_1 \cdot \left(\cos delta \cdot \left(\sin delta \cdot \cos theta\right)\right)\right) + \left({\left(\sin \phi_1\right)}^{2} \cdot \left({\left(\cos \phi_1\right)}^{2} \cdot \left({\left(\cos theta\right)}^{2} \cdot {\left(\sin delta\right)}^{2}\right)\right) + \left(\left(\sqrt{{\left(\sin \phi_1\right)}^{4}} \cdot \sqrt{{\left(\sin \phi_1\right)}^{4}}\right) \cdot {\left(\cos delta\right)}^{2} + {\left(\sin \phi_1\right)}^{3} \cdot \left(\cos \phi_1 \cdot \left(\sin delta \cdot \left(\cos delta \cdot \cos theta\right)\right)\right)\right)\right)\right)}{\left({\left(\sin \phi_1\right)}^{2} + 1\right) \cdot \cos delta + \sin \phi_1 \cdot \left(\cos \phi_1 \cdot \left(\cos theta \cdot \sin delta\right)\right)}}\]
\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{\left(\sin theta \cdot \sin delta\right) \cdot \cos \phi_1}{\frac{{\left(\cos delta\right)}^{2} - \left({\left(\sin \phi_1\right)}^{3} \cdot \left(\cos \phi_1 \cdot \left(\cos delta \cdot \left(\sin delta \cdot \cos theta\right)\right)\right) + \left({\left(\sin \phi_1\right)}^{2} \cdot \left({\left(\cos \phi_1\right)}^{2} \cdot \left({\left(\cos theta\right)}^{2} \cdot {\left(\sin delta\right)}^{2}\right)\right) + \left(\left(\sqrt{{\left(\sin \phi_1\right)}^{4}} \cdot \sqrt{{\left(\sin \phi_1\right)}^{4}}\right) \cdot {\left(\cos delta\right)}^{2} + {\left(\sin \phi_1\right)}^{3} \cdot \left(\cos \phi_1 \cdot \left(\sin delta \cdot \left(\cos delta \cdot \cos theta\right)\right)\right)\right)\right)\right)}{\left({\left(\sin \phi_1\right)}^{2} + 1\right) \cdot \cos delta + \sin \phi_1 \cdot \left(\cos \phi_1 \cdot \left(\cos theta \cdot \sin delta\right)\right)}}
double f(double lambda1, double phi1, double __attribute__((unused)) phi2, double delta, double theta) {
        double r64590 = lambda1;
        double r64591 = theta;
        double r64592 = sin(r64591);
        double r64593 = delta;
        double r64594 = sin(r64593);
        double r64595 = r64592 * r64594;
        double r64596 = phi1;
        double r64597 = cos(r64596);
        double r64598 = r64595 * r64597;
        double r64599 = cos(r64593);
        double r64600 = sin(r64596);
        double r64601 = r64600 * r64599;
        double r64602 = r64597 * r64594;
        double r64603 = cos(r64591);
        double r64604 = r64602 * r64603;
        double r64605 = r64601 + r64604;
        double r64606 = asin(r64605);
        double r64607 = sin(r64606);
        double r64608 = r64600 * r64607;
        double r64609 = r64599 - r64608;
        double r64610 = atan2(r64598, r64609);
        double r64611 = r64590 + r64610;
        return r64611;
}

double f(double lambda1, double phi1, double __attribute__((unused)) phi2, double delta, double theta) {
        double r64612 = lambda1;
        double r64613 = theta;
        double r64614 = sin(r64613);
        double r64615 = delta;
        double r64616 = sin(r64615);
        double r64617 = r64614 * r64616;
        double r64618 = phi1;
        double r64619 = cos(r64618);
        double r64620 = r64617 * r64619;
        double r64621 = cos(r64615);
        double r64622 = 2.0;
        double r64623 = pow(r64621, r64622);
        double r64624 = sin(r64618);
        double r64625 = 3.0;
        double r64626 = pow(r64624, r64625);
        double r64627 = cos(r64613);
        double r64628 = r64616 * r64627;
        double r64629 = r64621 * r64628;
        double r64630 = r64619 * r64629;
        double r64631 = r64626 * r64630;
        double r64632 = pow(r64624, r64622);
        double r64633 = pow(r64619, r64622);
        double r64634 = pow(r64627, r64622);
        double r64635 = pow(r64616, r64622);
        double r64636 = r64634 * r64635;
        double r64637 = r64633 * r64636;
        double r64638 = r64632 * r64637;
        double r64639 = 4.0;
        double r64640 = pow(r64624, r64639);
        double r64641 = sqrt(r64640);
        double r64642 = r64641 * r64641;
        double r64643 = r64642 * r64623;
        double r64644 = r64621 * r64627;
        double r64645 = r64616 * r64644;
        double r64646 = r64619 * r64645;
        double r64647 = r64626 * r64646;
        double r64648 = r64643 + r64647;
        double r64649 = r64638 + r64648;
        double r64650 = r64631 + r64649;
        double r64651 = r64623 - r64650;
        double r64652 = 1.0;
        double r64653 = r64632 + r64652;
        double r64654 = r64653 * r64621;
        double r64655 = r64627 * r64616;
        double r64656 = r64619 * r64655;
        double r64657 = r64624 * r64656;
        double r64658 = r64654 + r64657;
        double r64659 = r64651 / r64658;
        double r64660 = atan2(r64620, r64659);
        double r64661 = r64612 + r64660;
        return r64661;
}

Error

Bits error versus lambda1

Bits error versus phi1

Bits error versus phi2

Bits error versus delta

Bits error versus theta

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.2

    \[\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)}\]
  2. Using strategy rm
  3. Applied add-log-exp0.2

    \[\leadsto \lambda_1 + \tan^{-1}_* \frac{\left(\sin theta \cdot \sin delta\right) \cdot \cos \phi_1}{\cos delta - \color{blue}{\log \left(e^{\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)}\right)}}\]
  4. Applied add-log-exp0.2

    \[\leadsto \lambda_1 + \tan^{-1}_* \frac{\left(\sin theta \cdot \sin delta\right) \cdot \cos \phi_1}{\color{blue}{\log \left(e^{\cos delta}\right)} - \log \left(e^{\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)}\right)}\]
  5. Applied diff-log0.2

    \[\leadsto \lambda_1 + \tan^{-1}_* \frac{\left(\sin theta \cdot \sin delta\right) \cdot \cos \phi_1}{\color{blue}{\log \left(\frac{e^{\cos delta}}{e^{\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)}}\right)}}\]
  6. Simplified0.2

    \[\leadsto \lambda_1 + \tan^{-1}_* \frac{\left(\sin theta \cdot \sin delta\right) \cdot \cos \phi_1}{\log \color{blue}{\left(e^{\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)}\right)}}\]
  7. Using strategy rm
  8. Applied flip--0.2

    \[\leadsto \lambda_1 + \tan^{-1}_* \frac{\left(\sin theta \cdot \sin delta\right) \cdot \cos \phi_1}{\log \left(e^{\color{blue}{\frac{\cos delta \cdot \cos delta - \left(\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)\right) \cdot \left(\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)\right)}{\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)}}}\right)}\]
  9. Simplified0.2

    \[\leadsto \lambda_1 + \tan^{-1}_* \frac{\left(\sin theta \cdot \sin delta\right) \cdot \cos \phi_1}{\log \left(e^{\frac{\color{blue}{\cos delta \cdot \cos delta - {\left(\sin \phi_1\right)}^{2} \cdot \left(\sin \left(\sin^{-1} \left(\sin \phi_1 \cdot \cos delta + \left(\cos \phi_1 \cdot \sin delta\right) \cdot \cos theta\right)\right) \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)\right)}}{\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)}}\right)}\]
  10. Simplified0.2

    \[\leadsto \lambda_1 + \tan^{-1}_* \frac{\left(\sin theta \cdot \sin delta\right) \cdot \cos \phi_1}{\log \left(e^{\frac{\cos delta \cdot \cos delta - {\left(\sin \phi_1\right)}^{2} \cdot \left(\sin \left(\sin^{-1} \left(\sin \phi_1 \cdot \cos delta + \left(\cos \phi_1 \cdot \sin delta\right) \cdot \cos theta\right)\right) \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)\right)}{\color{blue}{\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) + \cos delta}}}\right)}\]
  11. Taylor expanded around -inf 0.2

    \[\leadsto \lambda_1 + \tan^{-1}_* \frac{\left(\sin theta \cdot \sin delta\right) \cdot \cos \phi_1}{\color{blue}{\frac{{\left(\cos delta\right)}^{2} - \left({\left(\sin \phi_1\right)}^{3} \cdot \left(\cos \phi_1 \cdot \left(\cos delta \cdot \left(\sin delta \cdot \cos theta\right)\right)\right) + \left({\left(\sin \phi_1\right)}^{2} \cdot \left({\left(\cos \phi_1\right)}^{2} \cdot \left({\left(\cos theta\right)}^{2} \cdot {\left(\sin delta\right)}^{2}\right)\right) + \left({\left(\sin \phi_1\right)}^{4} \cdot {\left(\cos delta\right)}^{2} + {\left(\sin \phi_1\right)}^{3} \cdot \left(\cos \phi_1 \cdot \left(\sin delta \cdot \left(\cos delta \cdot \cos theta\right)\right)\right)\right)\right)\right)}{\cos delta + \left({\left(\sin \phi_1\right)}^{2} \cdot \cos delta + \sin \phi_1 \cdot \left(\cos \phi_1 \cdot \left(\cos theta \cdot \sin delta\right)\right)\right)}}}\]
  12. Simplified0.2

    \[\leadsto \lambda_1 + \tan^{-1}_* \frac{\left(\sin theta \cdot \sin delta\right) \cdot \cos \phi_1}{\color{blue}{\frac{{\left(\cos delta\right)}^{2} - \left({\left(\sin \phi_1\right)}^{3} \cdot \left(\cos \phi_1 \cdot \left(\cos delta \cdot \left(\sin delta \cdot \cos theta\right)\right)\right) + \left({\left(\sin \phi_1\right)}^{2} \cdot \left({\left(\cos \phi_1\right)}^{2} \cdot \left({\left(\cos theta\right)}^{2} \cdot {\left(\sin delta\right)}^{2}\right)\right) + \left({\left(\sin \phi_1\right)}^{4} \cdot {\left(\cos delta\right)}^{2} + {\left(\sin \phi_1\right)}^{3} \cdot \left(\cos \phi_1 \cdot \left(\sin delta \cdot \left(\cos delta \cdot \cos theta\right)\right)\right)\right)\right)\right)}{\left({\left(\sin \phi_1\right)}^{2} + 1\right) \cdot \cos delta + \sin \phi_1 \cdot \left(\cos \phi_1 \cdot \left(\cos theta \cdot \sin delta\right)\right)}}}\]
  13. Using strategy rm
  14. Applied add-sqr-sqrt0.2

    \[\leadsto \lambda_1 + \tan^{-1}_* \frac{\left(\sin theta \cdot \sin delta\right) \cdot \cos \phi_1}{\frac{{\left(\cos delta\right)}^{2} - \left({\left(\sin \phi_1\right)}^{3} \cdot \left(\cos \phi_1 \cdot \left(\cos delta \cdot \left(\sin delta \cdot \cos theta\right)\right)\right) + \left({\left(\sin \phi_1\right)}^{2} \cdot \left({\left(\cos \phi_1\right)}^{2} \cdot \left({\left(\cos theta\right)}^{2} \cdot {\left(\sin delta\right)}^{2}\right)\right) + \left(\color{blue}{\left(\sqrt{{\left(\sin \phi_1\right)}^{4}} \cdot \sqrt{{\left(\sin \phi_1\right)}^{4}}\right)} \cdot {\left(\cos delta\right)}^{2} + {\left(\sin \phi_1\right)}^{3} \cdot \left(\cos \phi_1 \cdot \left(\sin delta \cdot \left(\cos delta \cdot \cos theta\right)\right)\right)\right)\right)\right)}{\left({\left(\sin \phi_1\right)}^{2} + 1\right) \cdot \cos delta + \sin \phi_1 \cdot \left(\cos \phi_1 \cdot \left(\cos theta \cdot \sin delta\right)\right)}}\]
  15. Final simplification0.2

    \[\leadsto \lambda_1 + \tan^{-1}_* \frac{\left(\sin theta \cdot \sin delta\right) \cdot \cos \phi_1}{\frac{{\left(\cos delta\right)}^{2} - \left({\left(\sin \phi_1\right)}^{3} \cdot \left(\cos \phi_1 \cdot \left(\cos delta \cdot \left(\sin delta \cdot \cos theta\right)\right)\right) + \left({\left(\sin \phi_1\right)}^{2} \cdot \left({\left(\cos \phi_1\right)}^{2} \cdot \left({\left(\cos theta\right)}^{2} \cdot {\left(\sin delta\right)}^{2}\right)\right) + \left(\left(\sqrt{{\left(\sin \phi_1\right)}^{4}} \cdot \sqrt{{\left(\sin \phi_1\right)}^{4}}\right) \cdot {\left(\cos delta\right)}^{2} + {\left(\sin \phi_1\right)}^{3} \cdot \left(\cos \phi_1 \cdot \left(\sin delta \cdot \left(\cos delta \cdot \cos theta\right)\right)\right)\right)\right)\right)}{\left({\left(\sin \phi_1\right)}^{2} + 1\right) \cdot \cos delta + \sin \phi_1 \cdot \left(\cos \phi_1 \cdot \left(\cos theta \cdot \sin delta\right)\right)}}\]

Reproduce

herbie shell --seed 2019209 
(FPCore (lambda1 phi1 phi2 delta theta)
  :name "Destination given bearing on a great circle"
  :precision binary64
  (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))))