Average Error: 0.2 → 0.2
Time: 3.8m
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)}\]
\[\tan^{-1}_* \frac{\cos \phi_1 \cdot \left(\sin delta \cdot \sin theta\right)}{\frac{\cos delta \cdot \cos delta - \left(\left(\cos theta \cdot \left(\left(\left(\cos \phi_1 \cdot \sin delta\right) \cdot \cos delta\right) \cdot \left(\sin \phi_1 \cdot \left(\sin \phi_1 \cdot \sin \phi_1\right)\right)\right) + \left(\cos theta \cdot \left(\sin delta \cdot \left(\left(\sin \phi_1 \cdot \sin \phi_1\right) \cdot \left(\cos delta \cdot \sin \phi_1\right)\right)\right)\right) \cdot \cos \phi_1\right) + e^{\log \left(\left(\left(\sin \phi_1 \cdot \sin \phi_1\right) \cdot \cos delta\right) \cdot \left(\left(\sin \phi_1 \cdot \sin \phi_1\right) \cdot \cos delta\right)\right)}\right)}{\cos delta + \sin \phi_1 \cdot \sin \left(\sin^{-1} \left(\cos delta \cdot \sin \phi_1 + \left(\cos \phi_1 \cdot \sin delta\right) \cdot \cos theta\right)\right)} - \frac{\left(\left(\cos \phi_1 \cdot \sin delta\right) \cdot \left(\cos \phi_1 \cdot \sin delta\right)\right) \cdot \left(\left(\cos theta \cdot \sin \phi_1\right) \cdot \left(\cos theta \cdot \sin \phi_1\right)\right)}{\cos delta + \sin \phi_1 \cdot \sin \left(\sin^{-1} \left(\cos delta \cdot \sin \phi_1 + \left(\cos \phi_1 \cdot \sin delta\right) \cdot \cos theta\right)\right)}} + \lambda_1\]
\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{\cos \phi_1 \cdot \left(\sin delta \cdot \sin theta\right)}{\frac{\cos delta \cdot \cos delta - \left(\left(\cos theta \cdot \left(\left(\left(\cos \phi_1 \cdot \sin delta\right) \cdot \cos delta\right) \cdot \left(\sin \phi_1 \cdot \left(\sin \phi_1 \cdot \sin \phi_1\right)\right)\right) + \left(\cos theta \cdot \left(\sin delta \cdot \left(\left(\sin \phi_1 \cdot \sin \phi_1\right) \cdot \left(\cos delta \cdot \sin \phi_1\right)\right)\right)\right) \cdot \cos \phi_1\right) + e^{\log \left(\left(\left(\sin \phi_1 \cdot \sin \phi_1\right) \cdot \cos delta\right) \cdot \left(\left(\sin \phi_1 \cdot \sin \phi_1\right) \cdot \cos delta\right)\right)}\right)}{\cos delta + \sin \phi_1 \cdot \sin \left(\sin^{-1} \left(\cos delta \cdot \sin \phi_1 + \left(\cos \phi_1 \cdot \sin delta\right) \cdot \cos theta\right)\right)} - \frac{\left(\left(\cos \phi_1 \cdot \sin delta\right) \cdot \left(\cos \phi_1 \cdot \sin delta\right)\right) \cdot \left(\left(\cos theta \cdot \sin \phi_1\right) \cdot \left(\cos theta \cdot \sin \phi_1\right)\right)}{\cos delta + \sin \phi_1 \cdot \sin \left(\sin^{-1} \left(\cos delta \cdot \sin \phi_1 + \left(\cos \phi_1 \cdot \sin delta\right) \cdot \cos theta\right)\right)}} + \lambda_1
double f(double lambda1, double phi1, double __attribute__((unused)) phi2, double delta, double theta) {
        double r5357751 = lambda1;
        double r5357752 = theta;
        double r5357753 = sin(r5357752);
        double r5357754 = delta;
        double r5357755 = sin(r5357754);
        double r5357756 = r5357753 * r5357755;
        double r5357757 = phi1;
        double r5357758 = cos(r5357757);
        double r5357759 = r5357756 * r5357758;
        double r5357760 = cos(r5357754);
        double r5357761 = sin(r5357757);
        double r5357762 = r5357761 * r5357760;
        double r5357763 = r5357758 * r5357755;
        double r5357764 = cos(r5357752);
        double r5357765 = r5357763 * r5357764;
        double r5357766 = r5357762 + r5357765;
        double r5357767 = asin(r5357766);
        double r5357768 = sin(r5357767);
        double r5357769 = r5357761 * r5357768;
        double r5357770 = r5357760 - r5357769;
        double r5357771 = atan2(r5357759, r5357770);
        double r5357772 = r5357751 + r5357771;
        return r5357772;
}

double f(double lambda1, double phi1, double __attribute__((unused)) phi2, double delta, double theta) {
        double r5357773 = phi1;
        double r5357774 = cos(r5357773);
        double r5357775 = delta;
        double r5357776 = sin(r5357775);
        double r5357777 = theta;
        double r5357778 = sin(r5357777);
        double r5357779 = r5357776 * r5357778;
        double r5357780 = r5357774 * r5357779;
        double r5357781 = cos(r5357775);
        double r5357782 = r5357781 * r5357781;
        double r5357783 = cos(r5357777);
        double r5357784 = r5357774 * r5357776;
        double r5357785 = r5357784 * r5357781;
        double r5357786 = sin(r5357773);
        double r5357787 = r5357786 * r5357786;
        double r5357788 = r5357786 * r5357787;
        double r5357789 = r5357785 * r5357788;
        double r5357790 = r5357783 * r5357789;
        double r5357791 = r5357781 * r5357786;
        double r5357792 = r5357787 * r5357791;
        double r5357793 = r5357776 * r5357792;
        double r5357794 = r5357783 * r5357793;
        double r5357795 = r5357794 * r5357774;
        double r5357796 = r5357790 + r5357795;
        double r5357797 = r5357787 * r5357781;
        double r5357798 = r5357797 * r5357797;
        double r5357799 = log(r5357798);
        double r5357800 = exp(r5357799);
        double r5357801 = r5357796 + r5357800;
        double r5357802 = r5357782 - r5357801;
        double r5357803 = r5357784 * r5357783;
        double r5357804 = r5357791 + r5357803;
        double r5357805 = asin(r5357804);
        double r5357806 = sin(r5357805);
        double r5357807 = r5357786 * r5357806;
        double r5357808 = r5357781 + r5357807;
        double r5357809 = r5357802 / r5357808;
        double r5357810 = r5357784 * r5357784;
        double r5357811 = r5357783 * r5357786;
        double r5357812 = r5357811 * r5357811;
        double r5357813 = r5357810 * r5357812;
        double r5357814 = r5357813 / r5357808;
        double r5357815 = r5357809 - r5357814;
        double r5357816 = atan2(r5357780, r5357815);
        double r5357817 = lambda1;
        double r5357818 = r5357816 + r5357817;
        return r5357818;
}

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 flip--0.2

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

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

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

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

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

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

Reproduce

herbie shell --seed 2019174 
(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))))))))))