Average Error: 0.2 → 0.2
Time: 42.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} - \left(\sin delta \cdot \left(\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) + \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\right) + {\left(\sin \phi_1\right)}^{4} \cdot {\left(\cos delta\right)}^{2}\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)}}\]
\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} - \left(\sin delta \cdot \left(\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) + \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\right) + {\left(\sin \phi_1\right)}^{4} \cdot {\left(\cos delta\right)}^{2}\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)}}
double f(double lambda1, double phi1, double __attribute__((unused)) phi2, double delta, double theta) {
        double r72323 = lambda1;
        double r72324 = theta;
        double r72325 = sin(r72324);
        double r72326 = delta;
        double r72327 = sin(r72326);
        double r72328 = r72325 * r72327;
        double r72329 = phi1;
        double r72330 = cos(r72329);
        double r72331 = r72328 * r72330;
        double r72332 = cos(r72326);
        double r72333 = sin(r72329);
        double r72334 = r72333 * r72332;
        double r72335 = r72330 * r72327;
        double r72336 = cos(r72324);
        double r72337 = r72335 * r72336;
        double r72338 = r72334 + r72337;
        double r72339 = asin(r72338);
        double r72340 = sin(r72339);
        double r72341 = r72333 * r72340;
        double r72342 = r72332 - r72341;
        double r72343 = atan2(r72331, r72342);
        double r72344 = r72323 + r72343;
        return r72344;
}

double f(double lambda1, double phi1, double __attribute__((unused)) phi2, double delta, double theta) {
        double r72345 = lambda1;
        double r72346 = theta;
        double r72347 = sin(r72346);
        double r72348 = delta;
        double r72349 = sin(r72348);
        double r72350 = r72347 * r72349;
        double r72351 = phi1;
        double r72352 = cos(r72351);
        double r72353 = r72350 * r72352;
        double r72354 = cos(r72348);
        double r72355 = 2.0;
        double r72356 = pow(r72354, r72355);
        double r72357 = pow(r72352, r72355);
        double r72358 = cos(r72346);
        double r72359 = pow(r72358, r72355);
        double r72360 = sin(r72351);
        double r72361 = pow(r72360, r72355);
        double r72362 = r72359 * r72361;
        double r72363 = r72357 * r72362;
        double r72364 = r72349 * r72363;
        double r72365 = 3.0;
        double r72366 = pow(r72360, r72365);
        double r72367 = pow(r72366, r72365);
        double r72368 = cbrt(r72367);
        double r72369 = r72354 * r72358;
        double r72370 = r72368 * r72369;
        double r72371 = r72352 * r72370;
        double r72372 = r72371 * r72355;
        double r72373 = r72364 + r72372;
        double r72374 = r72349 * r72373;
        double r72375 = 4.0;
        double r72376 = pow(r72360, r72375);
        double r72377 = r72376 * r72356;
        double r72378 = r72374 + r72377;
        double r72379 = r72356 - r72378;
        double r72380 = r72360 * r72354;
        double r72381 = r72352 * r72349;
        double r72382 = r72381 * r72358;
        double r72383 = r72380 + r72382;
        double r72384 = asin(r72383);
        double r72385 = sin(r72384);
        double r72386 = r72360 * r72385;
        double r72387 = r72354 + r72386;
        double r72388 = r72379 / r72387;
        double r72389 = atan2(r72353, r72388);
        double r72390 = r72345 + r72389;
        return r72390;
}

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. 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 \phi_1\right)}^{2} \cdot \left(\sin \left(\sin^{-1} \left(\sin \phi_1 \cdot \cos delta + \left(\cos \phi_1 \cdot \sin delta\right) \cdot \cos theta\right)\right) \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)}}\]
  5. 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)}}{\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. 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} - \left(\sin delta \cdot \left(\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) + \left(\cos \phi_1 \cdot \left({\left(\sin \phi_1\right)}^{3} \cdot \left(\cos delta \cdot \cos theta\right)\right)\right) \cdot 2\right) + {\left(\sin \phi_1\right)}^{4} \cdot {\left(\cos delta\right)}^{2}\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)}}\]
  7. Using strategy rm
  8. 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} - \left(\sin delta \cdot \left(\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) + \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\right) + {\left(\sin \phi_1\right)}^{4} \cdot {\left(\cos delta\right)}^{2}\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)}}\]
  9. 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} - \left(\sin delta \cdot \left(\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) + \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\right) + {\left(\sin \phi_1\right)}^{4} \cdot {\left(\cos delta\right)}^{2}\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 \lambda_1 + \tan^{-1}_* \frac{\left(\sin theta \cdot \sin delta\right) \cdot \cos \phi_1}{\frac{{\left(\cos delta\right)}^{2} - \left(\sin delta \cdot \left(\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) + \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\right) + {\left(\sin \phi_1\right)}^{4} \cdot {\left(\cos delta\right)}^{2}\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)}}\]

Reproduce

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