Average Error: 13.7 → 0.2
Time: 36.7s
Precision: 64
\[\tan^{-1}_* \frac{\sin \left(\lambda_1 - \lambda_2\right) \cdot \cos \phi_2}{\cos \phi_1 \cdot \sin \phi_2 - \left(\sin \phi_1 \cdot \cos \phi_2\right) \cdot \cos \left(\lambda_1 - \lambda_2\right)}\]
\[\tan^{-1}_* \frac{\left(\sin \lambda_1 \cdot \cos \lambda_2 - \cos \lambda_1 \cdot \sin \lambda_2\right) \cdot \cos \phi_2}{\cos \phi_1 \cdot \sin \phi_2 - \frac{\left({\left(\cos \lambda_2 \cdot \cos \lambda_1\right)}^{3} - {\left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right)}^{3}\right) \cdot \left(\sin \phi_1 \cdot \cos \phi_2\right)}{\sqrt[3]{{\left(\cos \lambda_2 \cdot \cos \lambda_1\right)}^{6}} + \left(\left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right) \cdot \left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right) + \left(\cos \lambda_2 \cdot \cos \lambda_1\right) \cdot \left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right)\right)}}\]
\tan^{-1}_* \frac{\sin \left(\lambda_1 - \lambda_2\right) \cdot \cos \phi_2}{\cos \phi_1 \cdot \sin \phi_2 - \left(\sin \phi_1 \cdot \cos \phi_2\right) \cdot \cos \left(\lambda_1 - \lambda_2\right)}
\tan^{-1}_* \frac{\left(\sin \lambda_1 \cdot \cos \lambda_2 - \cos \lambda_1 \cdot \sin \lambda_2\right) \cdot \cos \phi_2}{\cos \phi_1 \cdot \sin \phi_2 - \frac{\left({\left(\cos \lambda_2 \cdot \cos \lambda_1\right)}^{3} - {\left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right)}^{3}\right) \cdot \left(\sin \phi_1 \cdot \cos \phi_2\right)}{\sqrt[3]{{\left(\cos \lambda_2 \cdot \cos \lambda_1\right)}^{6}} + \left(\left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right) \cdot \left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right) + \left(\cos \lambda_2 \cdot \cos \lambda_1\right) \cdot \left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right)\right)}}
double f(double lambda1, double lambda2, double phi1, double phi2) {
        double r87999 = lambda1;
        double r88000 = lambda2;
        double r88001 = r87999 - r88000;
        double r88002 = sin(r88001);
        double r88003 = phi2;
        double r88004 = cos(r88003);
        double r88005 = r88002 * r88004;
        double r88006 = phi1;
        double r88007 = cos(r88006);
        double r88008 = sin(r88003);
        double r88009 = r88007 * r88008;
        double r88010 = sin(r88006);
        double r88011 = r88010 * r88004;
        double r88012 = cos(r88001);
        double r88013 = r88011 * r88012;
        double r88014 = r88009 - r88013;
        double r88015 = atan2(r88005, r88014);
        return r88015;
}

double f(double lambda1, double lambda2, double phi1, double phi2) {
        double r88016 = lambda1;
        double r88017 = sin(r88016);
        double r88018 = lambda2;
        double r88019 = cos(r88018);
        double r88020 = r88017 * r88019;
        double r88021 = cos(r88016);
        double r88022 = sin(r88018);
        double r88023 = r88021 * r88022;
        double r88024 = r88020 - r88023;
        double r88025 = phi2;
        double r88026 = cos(r88025);
        double r88027 = r88024 * r88026;
        double r88028 = phi1;
        double r88029 = cos(r88028);
        double r88030 = sin(r88025);
        double r88031 = r88029 * r88030;
        double r88032 = r88019 * r88021;
        double r88033 = 3.0;
        double r88034 = pow(r88032, r88033);
        double r88035 = -r88018;
        double r88036 = sin(r88035);
        double r88037 = r88036 * r88017;
        double r88038 = pow(r88037, r88033);
        double r88039 = r88034 - r88038;
        double r88040 = sin(r88028);
        double r88041 = r88040 * r88026;
        double r88042 = r88039 * r88041;
        double r88043 = 6.0;
        double r88044 = pow(r88032, r88043);
        double r88045 = cbrt(r88044);
        double r88046 = r88037 * r88037;
        double r88047 = r88032 * r88037;
        double r88048 = r88046 + r88047;
        double r88049 = r88045 + r88048;
        double r88050 = r88042 / r88049;
        double r88051 = r88031 - r88050;
        double r88052 = atan2(r88027, r88051);
        return r88052;
}

Error

Bits error versus lambda1

Bits error versus lambda2

Bits error versus phi1

Bits error versus phi2

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 13.7

    \[\tan^{-1}_* \frac{\sin \left(\lambda_1 - \lambda_2\right) \cdot \cos \phi_2}{\cos \phi_1 \cdot \sin \phi_2 - \left(\sin \phi_1 \cdot \cos \phi_2\right) \cdot \cos \left(\lambda_1 - \lambda_2\right)}\]
  2. Using strategy rm
  3. Applied sin-diff7.0

    \[\leadsto \tan^{-1}_* \frac{\color{blue}{\left(\sin \lambda_1 \cdot \cos \lambda_2 - \cos \lambda_1 \cdot \sin \lambda_2\right)} \cdot \cos \phi_2}{\cos \phi_1 \cdot \sin \phi_2 - \left(\sin \phi_1 \cdot \cos \phi_2\right) \cdot \cos \left(\lambda_1 - \lambda_2\right)}\]
  4. Using strategy rm
  5. Applied sub-neg7.0

    \[\leadsto \tan^{-1}_* \frac{\left(\sin \lambda_1 \cdot \cos \lambda_2 - \cos \lambda_1 \cdot \sin \lambda_2\right) \cdot \cos \phi_2}{\cos \phi_1 \cdot \sin \phi_2 - \left(\sin \phi_1 \cdot \cos \phi_2\right) \cdot \cos \color{blue}{\left(\lambda_1 + \left(-\lambda_2\right)\right)}}\]
  6. Applied cos-sum0.2

    \[\leadsto \tan^{-1}_* \frac{\left(\sin \lambda_1 \cdot \cos \lambda_2 - \cos \lambda_1 \cdot \sin \lambda_2\right) \cdot \cos \phi_2}{\cos \phi_1 \cdot \sin \phi_2 - \left(\sin \phi_1 \cdot \cos \phi_2\right) \cdot \color{blue}{\left(\cos \lambda_1 \cdot \cos \left(-\lambda_2\right) - \sin \lambda_1 \cdot \sin \left(-\lambda_2\right)\right)}}\]
  7. Simplified0.2

    \[\leadsto \tan^{-1}_* \frac{\left(\sin \lambda_1 \cdot \cos \lambda_2 - \cos \lambda_1 \cdot \sin \lambda_2\right) \cdot \cos \phi_2}{\cos \phi_1 \cdot \sin \phi_2 - \left(\sin \phi_1 \cdot \cos \phi_2\right) \cdot \left(\color{blue}{\cos \lambda_2 \cdot \cos \lambda_1} - \sin \lambda_1 \cdot \sin \left(-\lambda_2\right)\right)}\]
  8. Simplified0.2

    \[\leadsto \tan^{-1}_* \frac{\left(\sin \lambda_1 \cdot \cos \lambda_2 - \cos \lambda_1 \cdot \sin \lambda_2\right) \cdot \cos \phi_2}{\cos \phi_1 \cdot \sin \phi_2 - \left(\sin \phi_1 \cdot \cos \phi_2\right) \cdot \left(\cos \lambda_2 \cdot \cos \lambda_1 - \color{blue}{\sin \left(-\lambda_2\right) \cdot \sin \lambda_1}\right)}\]
  9. Using strategy rm
  10. Applied flip3--0.2

    \[\leadsto \tan^{-1}_* \frac{\left(\sin \lambda_1 \cdot \cos \lambda_2 - \cos \lambda_1 \cdot \sin \lambda_2\right) \cdot \cos \phi_2}{\cos \phi_1 \cdot \sin \phi_2 - \left(\sin \phi_1 \cdot \cos \phi_2\right) \cdot \color{blue}{\frac{{\left(\cos \lambda_2 \cdot \cos \lambda_1\right)}^{3} - {\left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right)}^{3}}{\left(\cos \lambda_2 \cdot \cos \lambda_1\right) \cdot \left(\cos \lambda_2 \cdot \cos \lambda_1\right) + \left(\left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right) \cdot \left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right) + \left(\cos \lambda_2 \cdot \cos \lambda_1\right) \cdot \left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right)\right)}}}\]
  11. Applied associate-*r/0.2

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

    \[\leadsto \tan^{-1}_* \frac{\left(\sin \lambda_1 \cdot \cos \lambda_2 - \cos \lambda_1 \cdot \sin \lambda_2\right) \cdot \cos \phi_2}{\cos \phi_1 \cdot \sin \phi_2 - \frac{\color{blue}{\left({\left(\cos \lambda_2 \cdot \cos \lambda_1\right)}^{3} - {\left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right)}^{3}\right) \cdot \left(\sin \phi_1 \cdot \cos \phi_2\right)}}{\left(\cos \lambda_2 \cdot \cos \lambda_1\right) \cdot \left(\cos \lambda_2 \cdot \cos \lambda_1\right) + \left(\left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right) \cdot \left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right) + \left(\cos \lambda_2 \cdot \cos \lambda_1\right) \cdot \left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right)\right)}}\]
  13. Using strategy rm
  14. Applied add-cbrt-cube0.2

    \[\leadsto \tan^{-1}_* \frac{\left(\sin \lambda_1 \cdot \cos \lambda_2 - \cos \lambda_1 \cdot \sin \lambda_2\right) \cdot \cos \phi_2}{\cos \phi_1 \cdot \sin \phi_2 - \frac{\left({\left(\cos \lambda_2 \cdot \cos \lambda_1\right)}^{3} - {\left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right)}^{3}\right) \cdot \left(\sin \phi_1 \cdot \cos \phi_2\right)}{\left(\cos \lambda_2 \cdot \cos \lambda_1\right) \cdot \left(\cos \lambda_2 \cdot \color{blue}{\sqrt[3]{\left(\cos \lambda_1 \cdot \cos \lambda_1\right) \cdot \cos \lambda_1}}\right) + \left(\left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right) \cdot \left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right) + \left(\cos \lambda_2 \cdot \cos \lambda_1\right) \cdot \left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right)\right)}}\]
  15. Applied add-cbrt-cube0.2

    \[\leadsto \tan^{-1}_* \frac{\left(\sin \lambda_1 \cdot \cos \lambda_2 - \cos \lambda_1 \cdot \sin \lambda_2\right) \cdot \cos \phi_2}{\cos \phi_1 \cdot \sin \phi_2 - \frac{\left({\left(\cos \lambda_2 \cdot \cos \lambda_1\right)}^{3} - {\left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right)}^{3}\right) \cdot \left(\sin \phi_1 \cdot \cos \phi_2\right)}{\left(\cos \lambda_2 \cdot \cos \lambda_1\right) \cdot \left(\color{blue}{\sqrt[3]{\left(\cos \lambda_2 \cdot \cos \lambda_2\right) \cdot \cos \lambda_2}} \cdot \sqrt[3]{\left(\cos \lambda_1 \cdot \cos \lambda_1\right) \cdot \cos \lambda_1}\right) + \left(\left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right) \cdot \left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right) + \left(\cos \lambda_2 \cdot \cos \lambda_1\right) \cdot \left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right)\right)}}\]
  16. Applied cbrt-unprod0.2

    \[\leadsto \tan^{-1}_* \frac{\left(\sin \lambda_1 \cdot \cos \lambda_2 - \cos \lambda_1 \cdot \sin \lambda_2\right) \cdot \cos \phi_2}{\cos \phi_1 \cdot \sin \phi_2 - \frac{\left({\left(\cos \lambda_2 \cdot \cos \lambda_1\right)}^{3} - {\left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right)}^{3}\right) \cdot \left(\sin \phi_1 \cdot \cos \phi_2\right)}{\left(\cos \lambda_2 \cdot \cos \lambda_1\right) \cdot \color{blue}{\sqrt[3]{\left(\left(\cos \lambda_2 \cdot \cos \lambda_2\right) \cdot \cos \lambda_2\right) \cdot \left(\left(\cos \lambda_1 \cdot \cos \lambda_1\right) \cdot \cos \lambda_1\right)}} + \left(\left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right) \cdot \left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right) + \left(\cos \lambda_2 \cdot \cos \lambda_1\right) \cdot \left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right)\right)}}\]
  17. Applied add-cbrt-cube0.2

    \[\leadsto \tan^{-1}_* \frac{\left(\sin \lambda_1 \cdot \cos \lambda_2 - \cos \lambda_1 \cdot \sin \lambda_2\right) \cdot \cos \phi_2}{\cos \phi_1 \cdot \sin \phi_2 - \frac{\left({\left(\cos \lambda_2 \cdot \cos \lambda_1\right)}^{3} - {\left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right)}^{3}\right) \cdot \left(\sin \phi_1 \cdot \cos \phi_2\right)}{\left(\cos \lambda_2 \cdot \color{blue}{\sqrt[3]{\left(\cos \lambda_1 \cdot \cos \lambda_1\right) \cdot \cos \lambda_1}}\right) \cdot \sqrt[3]{\left(\left(\cos \lambda_2 \cdot \cos \lambda_2\right) \cdot \cos \lambda_2\right) \cdot \left(\left(\cos \lambda_1 \cdot \cos \lambda_1\right) \cdot \cos \lambda_1\right)} + \left(\left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right) \cdot \left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right) + \left(\cos \lambda_2 \cdot \cos \lambda_1\right) \cdot \left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right)\right)}}\]
  18. Applied add-cbrt-cube0.2

    \[\leadsto \tan^{-1}_* \frac{\left(\sin \lambda_1 \cdot \cos \lambda_2 - \cos \lambda_1 \cdot \sin \lambda_2\right) \cdot \cos \phi_2}{\cos \phi_1 \cdot \sin \phi_2 - \frac{\left({\left(\cos \lambda_2 \cdot \cos \lambda_1\right)}^{3} - {\left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right)}^{3}\right) \cdot \left(\sin \phi_1 \cdot \cos \phi_2\right)}{\left(\color{blue}{\sqrt[3]{\left(\cos \lambda_2 \cdot \cos \lambda_2\right) \cdot \cos \lambda_2}} \cdot \sqrt[3]{\left(\cos \lambda_1 \cdot \cos \lambda_1\right) \cdot \cos \lambda_1}\right) \cdot \sqrt[3]{\left(\left(\cos \lambda_2 \cdot \cos \lambda_2\right) \cdot \cos \lambda_2\right) \cdot \left(\left(\cos \lambda_1 \cdot \cos \lambda_1\right) \cdot \cos \lambda_1\right)} + \left(\left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right) \cdot \left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right) + \left(\cos \lambda_2 \cdot \cos \lambda_1\right) \cdot \left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right)\right)}}\]
  19. Applied cbrt-unprod0.2

    \[\leadsto \tan^{-1}_* \frac{\left(\sin \lambda_1 \cdot \cos \lambda_2 - \cos \lambda_1 \cdot \sin \lambda_2\right) \cdot \cos \phi_2}{\cos \phi_1 \cdot \sin \phi_2 - \frac{\left({\left(\cos \lambda_2 \cdot \cos \lambda_1\right)}^{3} - {\left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right)}^{3}\right) \cdot \left(\sin \phi_1 \cdot \cos \phi_2\right)}{\color{blue}{\sqrt[3]{\left(\left(\cos \lambda_2 \cdot \cos \lambda_2\right) \cdot \cos \lambda_2\right) \cdot \left(\left(\cos \lambda_1 \cdot \cos \lambda_1\right) \cdot \cos \lambda_1\right)}} \cdot \sqrt[3]{\left(\left(\cos \lambda_2 \cdot \cos \lambda_2\right) \cdot \cos \lambda_2\right) \cdot \left(\left(\cos \lambda_1 \cdot \cos \lambda_1\right) \cdot \cos \lambda_1\right)} + \left(\left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right) \cdot \left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right) + \left(\cos \lambda_2 \cdot \cos \lambda_1\right) \cdot \left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right)\right)}}\]
  20. Applied cbrt-unprod0.2

    \[\leadsto \tan^{-1}_* \frac{\left(\sin \lambda_1 \cdot \cos \lambda_2 - \cos \lambda_1 \cdot \sin \lambda_2\right) \cdot \cos \phi_2}{\cos \phi_1 \cdot \sin \phi_2 - \frac{\left({\left(\cos \lambda_2 \cdot \cos \lambda_1\right)}^{3} - {\left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right)}^{3}\right) \cdot \left(\sin \phi_1 \cdot \cos \phi_2\right)}{\color{blue}{\sqrt[3]{\left(\left(\left(\cos \lambda_2 \cdot \cos \lambda_2\right) \cdot \cos \lambda_2\right) \cdot \left(\left(\cos \lambda_1 \cdot \cos \lambda_1\right) \cdot \cos \lambda_1\right)\right) \cdot \left(\left(\left(\cos \lambda_2 \cdot \cos \lambda_2\right) \cdot \cos \lambda_2\right) \cdot \left(\left(\cos \lambda_1 \cdot \cos \lambda_1\right) \cdot \cos \lambda_1\right)\right)}} + \left(\left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right) \cdot \left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right) + \left(\cos \lambda_2 \cdot \cos \lambda_1\right) \cdot \left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right)\right)}}\]
  21. Simplified0.2

    \[\leadsto \tan^{-1}_* \frac{\left(\sin \lambda_1 \cdot \cos \lambda_2 - \cos \lambda_1 \cdot \sin \lambda_2\right) \cdot \cos \phi_2}{\cos \phi_1 \cdot \sin \phi_2 - \frac{\left({\left(\cos \lambda_2 \cdot \cos \lambda_1\right)}^{3} - {\left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right)}^{3}\right) \cdot \left(\sin \phi_1 \cdot \cos \phi_2\right)}{\sqrt[3]{\color{blue}{{\left(\cos \lambda_2 \cdot \cos \lambda_1\right)}^{6}}} + \left(\left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right) \cdot \left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right) + \left(\cos \lambda_2 \cdot \cos \lambda_1\right) \cdot \left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right)\right)}}\]
  22. Final simplification0.2

    \[\leadsto \tan^{-1}_* \frac{\left(\sin \lambda_1 \cdot \cos \lambda_2 - \cos \lambda_1 \cdot \sin \lambda_2\right) \cdot \cos \phi_2}{\cos \phi_1 \cdot \sin \phi_2 - \frac{\left({\left(\cos \lambda_2 \cdot \cos \lambda_1\right)}^{3} - {\left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right)}^{3}\right) \cdot \left(\sin \phi_1 \cdot \cos \phi_2\right)}{\sqrt[3]{{\left(\cos \lambda_2 \cdot \cos \lambda_1\right)}^{6}} + \left(\left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right) \cdot \left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right) + \left(\cos \lambda_2 \cdot \cos \lambda_1\right) \cdot \left(\sin \left(-\lambda_2\right) \cdot \sin \lambda_1\right)\right)}}\]

Reproduce

herbie shell --seed 2019209 
(FPCore (lambda1 lambda2 phi1 phi2)
  :name "Bearing on a great circle"
  :precision binary64
  (atan2 (* (sin (- lambda1 lambda2)) (cos phi2)) (- (* (cos phi1) (sin phi2)) (* (* (sin phi1) (cos phi2)) (cos (- lambda1 lambda2))))))