Average Error: 0.2 → 0.2
Time: 13.9s
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 - \sin \phi_1 \cdot \sin \left(\sqrt[3]{{\left(\sin^{-1} \left(\sin delta \cdot \left(\cos \phi_1 \cdot \cos theta\right) + \sin \phi_1 \cdot \cos delta\right)\right)}^{3}}\right)\right) \cdot \mathsf{fma}\left(\sin \phi_1, \sin \left(\sqrt[3]{{\left(\sin^{-1} \left(\sin delta \cdot \left(\cos \phi_1 \cdot \cos theta\right) + \sin \phi_1 \cdot \cos delta\right)\right)}^{3}}\right), \cos delta\right)}{\mathsf{fma}\left(\sin \phi_1, \sin \left(\sqrt[3]{\sin^{-1} \left(\sin delta \cdot \left(\cos \phi_1 \cdot \cos theta\right) + \sin \phi_1 \cdot \cos delta\right)} \cdot \sqrt[3]{\sin^{-1} \left(\sin delta \cdot \left(\cos \phi_1 \cdot \cos theta\right) + \sin \phi_1 \cdot \cos delta\right) \cdot \sin^{-1} \left(\sin delta \cdot \left(\cos \phi_1 \cdot \cos theta\right) + \sin \phi_1 \cdot \cos delta\right)}\right), \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{\left(\sin theta \cdot \sin delta\right) \cdot \cos \phi_1}{\frac{\left(\cos delta - \sin \phi_1 \cdot \sin \left(\sqrt[3]{{\left(\sin^{-1} \left(\sin delta \cdot \left(\cos \phi_1 \cdot \cos theta\right) + \sin \phi_1 \cdot \cos delta\right)\right)}^{3}}\right)\right) \cdot \mathsf{fma}\left(\sin \phi_1, \sin \left(\sqrt[3]{{\left(\sin^{-1} \left(\sin delta \cdot \left(\cos \phi_1 \cdot \cos theta\right) + \sin \phi_1 \cdot \cos delta\right)\right)}^{3}}\right), \cos delta\right)}{\mathsf{fma}\left(\sin \phi_1, \sin \left(\sqrt[3]{\sin^{-1} \left(\sin delta \cdot \left(\cos \phi_1 \cdot \cos theta\right) + \sin \phi_1 \cdot \cos delta\right)} \cdot \sqrt[3]{\sin^{-1} \left(\sin delta \cdot \left(\cos \phi_1 \cdot \cos theta\right) + \sin \phi_1 \cdot \cos delta\right) \cdot \sin^{-1} \left(\sin delta \cdot \left(\cos \phi_1 \cdot \cos theta\right) + \sin \phi_1 \cdot \cos delta\right)}\right), \cos delta\right)}}
double f(double lambda1, double phi1, double __attribute__((unused)) phi2, double delta, double theta) {
        double r74934 = lambda1;
        double r74935 = theta;
        double r74936 = sin(r74935);
        double r74937 = delta;
        double r74938 = sin(r74937);
        double r74939 = r74936 * r74938;
        double r74940 = phi1;
        double r74941 = cos(r74940);
        double r74942 = r74939 * r74941;
        double r74943 = cos(r74937);
        double r74944 = sin(r74940);
        double r74945 = r74944 * r74943;
        double r74946 = r74941 * r74938;
        double r74947 = cos(r74935);
        double r74948 = r74946 * r74947;
        double r74949 = r74945 + r74948;
        double r74950 = asin(r74949);
        double r74951 = sin(r74950);
        double r74952 = r74944 * r74951;
        double r74953 = r74943 - r74952;
        double r74954 = atan2(r74942, r74953);
        double r74955 = r74934 + r74954;
        return r74955;
}

double f(double lambda1, double phi1, double __attribute__((unused)) phi2, double delta, double theta) {
        double r74956 = lambda1;
        double r74957 = theta;
        double r74958 = sin(r74957);
        double r74959 = delta;
        double r74960 = sin(r74959);
        double r74961 = r74958 * r74960;
        double r74962 = phi1;
        double r74963 = cos(r74962);
        double r74964 = r74961 * r74963;
        double r74965 = cos(r74959);
        double r74966 = sin(r74962);
        double r74967 = cos(r74957);
        double r74968 = r74963 * r74967;
        double r74969 = r74960 * r74968;
        double r74970 = r74966 * r74965;
        double r74971 = r74969 + r74970;
        double r74972 = asin(r74971);
        double r74973 = 3.0;
        double r74974 = pow(r74972, r74973);
        double r74975 = cbrt(r74974);
        double r74976 = sin(r74975);
        double r74977 = r74966 * r74976;
        double r74978 = r74965 - r74977;
        double r74979 = fma(r74966, r74976, r74965);
        double r74980 = r74978 * r74979;
        double r74981 = cbrt(r74972);
        double r74982 = r74972 * r74972;
        double r74983 = cbrt(r74982);
        double r74984 = r74981 * r74983;
        double r74985 = sin(r74984);
        double r74986 = fma(r74966, r74985, r74965);
        double r74987 = r74980 / r74986;
        double r74988 = atan2(r74964, r74987);
        double r74989 = r74956 + r74988;
        return r74989;
}

Error

Bits error versus lambda1

Bits error versus phi1

Bits error versus phi2

Bits error versus delta

Bits error versus theta

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-cbrt-cube0.2

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

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

    \[\leadsto \lambda_1 + \tan^{-1}_* \frac{\left(\sin theta \cdot \sin delta\right) \cdot \cos \phi_1}{\frac{\left(\cos delta - \sin \phi_1 \cdot \sin \left(\sqrt[3]{{\left(\sin^{-1} \left(\sin delta \cdot \left(\cos \phi_1 \cdot \cos theta\right) + \sin \phi_1 \cdot \cos delta\right)\right)}^{3}}\right)\right) \cdot \mathsf{fma}\left(\sin \phi_1, \sin \left(\sqrt[3]{{\left(\sin^{-1} \left(\sin delta \cdot \left(\cos \phi_1 \cdot \cos theta\right) + \sin \phi_1 \cdot \cos delta\right)\right)}^{3}}\right), \cos delta\right)}{\color{blue}{\mathsf{fma}\left(\sin \phi_1, \sin \left(\sqrt[3]{{\left(\sin^{-1} \left(\sin delta \cdot \left(\cos \phi_1 \cdot \cos theta\right) + \sin \phi_1 \cdot \cos delta\right)\right)}^{3}}\right), \cos delta\right)}}}\]
  9. Using strategy rm
  10. Applied cube-mult0.2

    \[\leadsto \lambda_1 + \tan^{-1}_* \frac{\left(\sin theta \cdot \sin delta\right) \cdot \cos \phi_1}{\frac{\left(\cos delta - \sin \phi_1 \cdot \sin \left(\sqrt[3]{{\left(\sin^{-1} \left(\sin delta \cdot \left(\cos \phi_1 \cdot \cos theta\right) + \sin \phi_1 \cdot \cos delta\right)\right)}^{3}}\right)\right) \cdot \mathsf{fma}\left(\sin \phi_1, \sin \left(\sqrt[3]{{\left(\sin^{-1} \left(\sin delta \cdot \left(\cos \phi_1 \cdot \cos theta\right) + \sin \phi_1 \cdot \cos delta\right)\right)}^{3}}\right), \cos delta\right)}{\mathsf{fma}\left(\sin \phi_1, \sin \left(\sqrt[3]{\color{blue}{\sin^{-1} \left(\sin delta \cdot \left(\cos \phi_1 \cdot \cos theta\right) + \sin \phi_1 \cdot \cos delta\right) \cdot \left(\sin^{-1} \left(\sin delta \cdot \left(\cos \phi_1 \cdot \cos theta\right) + \sin \phi_1 \cdot \cos delta\right) \cdot \sin^{-1} \left(\sin delta \cdot \left(\cos \phi_1 \cdot \cos theta\right) + \sin \phi_1 \cdot \cos delta\right)\right)}}\right), \cos delta\right)}}\]
  11. Applied cbrt-prod0.2

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

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

Reproduce

herbie shell --seed 2019356 +o rules:numerics
(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))))))))))