Average Error: 0.2 → 0.2
Time: 43.8s
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{\cos \phi_1 \cdot \left(\sin delta \cdot \sin theta\right)}{\frac{\sqrt[3]{\left(\cos delta \cdot \left(\cos delta \cdot \cos delta\right)\right) \cdot \left(\left(\cos delta \cdot \cos delta\right) \cdot \left(\left(\cos delta \cdot \cos delta\right) \cdot \left(\cos delta \cdot \cos delta\right)\right)\right)} - \left(\left(\left(\cos theta \cdot \cos \phi_1\right) \cdot \sin delta + \cos delta \cdot \sin \phi_1\right) \cdot \left(\sin \phi_1 \cdot \left(\sin \phi_1 \cdot \sin \phi_1\right)\right)\right) \cdot \left(\left(\left(\cos theta \cdot \cos \phi_1\right) \cdot \sin delta + \cos delta \cdot \sin \phi_1\right) \cdot \left(\left(\cos theta \cdot \cos \phi_1\right) \cdot \sin delta + \cos delta \cdot \sin \phi_1\right)\right)}{\cos delta \cdot \cos delta + \left(\left(\sin \phi_1 \cdot \sin \left(\sin^{-1} \left(\cos delta \cdot \sin \phi_1 + \cos theta \cdot \left(\cos \phi_1 \cdot \sin delta\right)\right)\right)\right) \cdot \left(\sin \phi_1 \cdot \sin \left(\sin^{-1} \left(\cos delta \cdot \sin \phi_1 + \cos theta \cdot \left(\cos \phi_1 \cdot \sin delta\right)\right)\right)\right) + \left(\sin \phi_1 \cdot \sin \left(\sin^{-1} \left(\cos delta \cdot \sin \phi_1 + \cos theta \cdot \left(\cos \phi_1 \cdot \sin delta\right)\right)\right)\right) \cdot \cos delta\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{\cos \phi_1 \cdot \left(\sin delta \cdot \sin theta\right)}{\frac{\sqrt[3]{\left(\cos delta \cdot \left(\cos delta \cdot \cos delta\right)\right) \cdot \left(\left(\cos delta \cdot \cos delta\right) \cdot \left(\left(\cos delta \cdot \cos delta\right) \cdot \left(\cos delta \cdot \cos delta\right)\right)\right)} - \left(\left(\left(\cos theta \cdot \cos \phi_1\right) \cdot \sin delta + \cos delta \cdot \sin \phi_1\right) \cdot \left(\sin \phi_1 \cdot \left(\sin \phi_1 \cdot \sin \phi_1\right)\right)\right) \cdot \left(\left(\left(\cos theta \cdot \cos \phi_1\right) \cdot \sin delta + \cos delta \cdot \sin \phi_1\right) \cdot \left(\left(\cos theta \cdot \cos \phi_1\right) \cdot \sin delta + \cos delta \cdot \sin \phi_1\right)\right)}{\cos delta \cdot \cos delta + \left(\left(\sin \phi_1 \cdot \sin \left(\sin^{-1} \left(\cos delta \cdot \sin \phi_1 + \cos theta \cdot \left(\cos \phi_1 \cdot \sin delta\right)\right)\right)\right) \cdot \left(\sin \phi_1 \cdot \sin \left(\sin^{-1} \left(\cos delta \cdot \sin \phi_1 + \cos theta \cdot \left(\cos \phi_1 \cdot \sin delta\right)\right)\right)\right) + \left(\sin \phi_1 \cdot \sin \left(\sin^{-1} \left(\cos delta \cdot \sin \phi_1 + \cos theta \cdot \left(\cos \phi_1 \cdot \sin delta\right)\right)\right)\right) \cdot \cos delta\right)}}
double f(double lambda1, double phi1, double __attribute__((unused)) phi2, double delta, double theta) {
        double r3734913 = lambda1;
        double r3734914 = theta;
        double r3734915 = sin(r3734914);
        double r3734916 = delta;
        double r3734917 = sin(r3734916);
        double r3734918 = r3734915 * r3734917;
        double r3734919 = phi1;
        double r3734920 = cos(r3734919);
        double r3734921 = r3734918 * r3734920;
        double r3734922 = cos(r3734916);
        double r3734923 = sin(r3734919);
        double r3734924 = r3734923 * r3734922;
        double r3734925 = r3734920 * r3734917;
        double r3734926 = cos(r3734914);
        double r3734927 = r3734925 * r3734926;
        double r3734928 = r3734924 + r3734927;
        double r3734929 = asin(r3734928);
        double r3734930 = sin(r3734929);
        double r3734931 = r3734923 * r3734930;
        double r3734932 = r3734922 - r3734931;
        double r3734933 = atan2(r3734921, r3734932);
        double r3734934 = r3734913 + r3734933;
        return r3734934;
}

double f(double lambda1, double phi1, double __attribute__((unused)) phi2, double delta, double theta) {
        double r3734935 = lambda1;
        double r3734936 = phi1;
        double r3734937 = cos(r3734936);
        double r3734938 = delta;
        double r3734939 = sin(r3734938);
        double r3734940 = theta;
        double r3734941 = sin(r3734940);
        double r3734942 = r3734939 * r3734941;
        double r3734943 = r3734937 * r3734942;
        double r3734944 = cos(r3734938);
        double r3734945 = r3734944 * r3734944;
        double r3734946 = r3734944 * r3734945;
        double r3734947 = r3734945 * r3734945;
        double r3734948 = r3734945 * r3734947;
        double r3734949 = r3734946 * r3734948;
        double r3734950 = cbrt(r3734949);
        double r3734951 = cos(r3734940);
        double r3734952 = r3734951 * r3734937;
        double r3734953 = r3734952 * r3734939;
        double r3734954 = sin(r3734936);
        double r3734955 = r3734944 * r3734954;
        double r3734956 = r3734953 + r3734955;
        double r3734957 = r3734954 * r3734954;
        double r3734958 = r3734954 * r3734957;
        double r3734959 = r3734956 * r3734958;
        double r3734960 = r3734956 * r3734956;
        double r3734961 = r3734959 * r3734960;
        double r3734962 = r3734950 - r3734961;
        double r3734963 = r3734937 * r3734939;
        double r3734964 = r3734951 * r3734963;
        double r3734965 = r3734955 + r3734964;
        double r3734966 = asin(r3734965);
        double r3734967 = sin(r3734966);
        double r3734968 = r3734954 * r3734967;
        double r3734969 = r3734968 * r3734968;
        double r3734970 = r3734968 * r3734944;
        double r3734971 = r3734969 + r3734970;
        double r3734972 = r3734945 + r3734971;
        double r3734973 = r3734962 / r3734972;
        double r3734974 = atan2(r3734943, r3734973);
        double r3734975 = r3734935 + r3734974;
        return r3734975;
}

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 flip3--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)}^{3} - {\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)}^{3}}{\cos delta \cdot \cos delta + \left(\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 \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)\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{{\left(\cos delta\right)}^{3} - \color{blue}{{\left(\sin \phi_1\right)}^{3} \cdot {\left(\sin \phi_1 \cdot \cos delta + \cos \phi_1 \cdot \left(\cos theta \cdot \sin delta\right)\right)}^{3}}}{\cos delta \cdot \cos delta + \left(\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 \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)\right)}}\]
  5. Simplified0.2

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

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

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

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

Reproduce

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