Average Error: 0.2 → 0.2
Time: 40.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} - \mathsf{fma}\left({\left(\sin \phi_1\right)}^{4}, {\left(\cos delta\right)}^{2}, \sin delta \cdot \left(\left(\cos \phi_1 \cdot \left(\sqrt[3]{{\left({\left(\sin \phi_1\right)}^{3}\right)}^{3}} \cdot \left(\cos delta \cdot \cos theta\right)\right)\right) \cdot 2 + \sin delta \cdot \left({\left(\cos \phi_1\right)}^{2} \cdot \left({\left(\cos theta\right)}^{2} \cdot {\left(\sin \phi_1\right)}^{2}\right)\right)\right)\right)}{\mathsf{fma}\left(\sin \phi_1, \sin \left(\sin^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \cos delta, \left(\cos \phi_1 \cdot \sin delta\right) \cdot \cos theta\right)\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\right)}^{2} - \mathsf{fma}\left({\left(\sin \phi_1\right)}^{4}, {\left(\cos delta\right)}^{2}, \sin delta \cdot \left(\left(\cos \phi_1 \cdot \left(\sqrt[3]{{\left({\left(\sin \phi_1\right)}^{3}\right)}^{3}} \cdot \left(\cos delta \cdot \cos theta\right)\right)\right) \cdot 2 + \sin delta \cdot \left({\left(\cos \phi_1\right)}^{2} \cdot \left({\left(\cos theta\right)}^{2} \cdot {\left(\sin \phi_1\right)}^{2}\right)\right)\right)\right)}{\mathsf{fma}\left(\sin \phi_1, \sin \left(\sin^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \cos delta, \left(\cos \phi_1 \cdot \sin delta\right) \cdot \cos theta\right)\right)\right), \cos delta\right)}}
double f(double lambda1, double phi1, double __attribute__((unused)) phi2, double delta, double theta) {
        double r74230 = lambda1;
        double r74231 = theta;
        double r74232 = sin(r74231);
        double r74233 = delta;
        double r74234 = sin(r74233);
        double r74235 = r74232 * r74234;
        double r74236 = phi1;
        double r74237 = cos(r74236);
        double r74238 = r74235 * r74237;
        double r74239 = cos(r74233);
        double r74240 = sin(r74236);
        double r74241 = r74240 * r74239;
        double r74242 = r74237 * r74234;
        double r74243 = cos(r74231);
        double r74244 = r74242 * r74243;
        double r74245 = r74241 + r74244;
        double r74246 = asin(r74245);
        double r74247 = sin(r74246);
        double r74248 = r74240 * r74247;
        double r74249 = r74239 - r74248;
        double r74250 = atan2(r74238, r74249);
        double r74251 = r74230 + r74250;
        return r74251;
}

double f(double lambda1, double phi1, double __attribute__((unused)) phi2, double delta, double theta) {
        double r74252 = lambda1;
        double r74253 = theta;
        double r74254 = sin(r74253);
        double r74255 = delta;
        double r74256 = sin(r74255);
        double r74257 = r74254 * r74256;
        double r74258 = phi1;
        double r74259 = cos(r74258);
        double r74260 = r74257 * r74259;
        double r74261 = cos(r74255);
        double r74262 = 2.0;
        double r74263 = pow(r74261, r74262);
        double r74264 = sin(r74258);
        double r74265 = 4.0;
        double r74266 = pow(r74264, r74265);
        double r74267 = 3.0;
        double r74268 = pow(r74264, r74267);
        double r74269 = pow(r74268, r74267);
        double r74270 = cbrt(r74269);
        double r74271 = cos(r74253);
        double r74272 = r74261 * r74271;
        double r74273 = r74270 * r74272;
        double r74274 = r74259 * r74273;
        double r74275 = r74274 * r74262;
        double r74276 = pow(r74259, r74262);
        double r74277 = pow(r74271, r74262);
        double r74278 = pow(r74264, r74262);
        double r74279 = r74277 * r74278;
        double r74280 = r74276 * r74279;
        double r74281 = r74256 * r74280;
        double r74282 = r74275 + r74281;
        double r74283 = r74256 * r74282;
        double r74284 = fma(r74266, r74263, r74283);
        double r74285 = r74263 - r74284;
        double r74286 = r74259 * r74256;
        double r74287 = r74286 * r74271;
        double r74288 = fma(r74264, r74261, r74287);
        double r74289 = asin(r74288);
        double r74290 = sin(r74289);
        double r74291 = fma(r74264, r74290, r74261);
        double r74292 = r74285 / r74291;
        double r74293 = atan2(r74260, r74292);
        double r74294 = r74252 + r74293;
        return r74294;
}

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. Simplified0.2

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

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

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

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

Reproduce

herbie shell --seed 2019303 +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))))))))))