Average Error: 0.2 → 0.2
Time: 17.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({\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) + \sqrt[3]{{\left({\left(\sin \phi_1\right)}^{4}\right)}^{3}} \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)}}\]
\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({\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) + \sqrt[3]{{\left({\left(\sin \phi_1\right)}^{4}\right)}^{3}} \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)}}
double f(double lambda1, double phi1, double __attribute__((unused)) phi2, double delta, double theta) {
        double r110601 = lambda1;
        double r110602 = theta;
        double r110603 = sin(r110602);
        double r110604 = delta;
        double r110605 = sin(r110604);
        double r110606 = r110603 * r110605;
        double r110607 = phi1;
        double r110608 = cos(r110607);
        double r110609 = r110606 * r110608;
        double r110610 = cos(r110604);
        double r110611 = sin(r110607);
        double r110612 = r110611 * r110610;
        double r110613 = r110608 * r110605;
        double r110614 = cos(r110602);
        double r110615 = r110613 * r110614;
        double r110616 = r110612 + r110615;
        double r110617 = asin(r110616);
        double r110618 = sin(r110617);
        double r110619 = r110611 * r110618;
        double r110620 = r110610 - r110619;
        double r110621 = atan2(r110609, r110620);
        double r110622 = r110601 + r110621;
        return r110622;
}

double f(double lambda1, double phi1, double __attribute__((unused)) phi2, double delta, double theta) {
        double r110623 = lambda1;
        double r110624 = theta;
        double r110625 = sin(r110624);
        double r110626 = delta;
        double r110627 = sin(r110626);
        double r110628 = r110625 * r110627;
        double r110629 = phi1;
        double r110630 = cos(r110629);
        double r110631 = r110628 * r110630;
        double r110632 = cos(r110626);
        double r110633 = 2.0;
        double r110634 = pow(r110632, r110633);
        double r110635 = pow(r110627, r110633);
        double r110636 = pow(r110630, r110633);
        double r110637 = cos(r110624);
        double r110638 = pow(r110637, r110633);
        double r110639 = sin(r110629);
        double r110640 = pow(r110639, r110633);
        double r110641 = r110638 * r110640;
        double r110642 = r110636 * r110641;
        double r110643 = r110635 * r110642;
        double r110644 = 3.0;
        double r110645 = pow(r110639, r110644);
        double r110646 = r110632 * r110637;
        double r110647 = r110645 * r110646;
        double r110648 = r110630 * r110647;
        double r110649 = r110627 * r110648;
        double r110650 = r110633 * r110649;
        double r110651 = 4.0;
        double r110652 = pow(r110639, r110651);
        double r110653 = pow(r110652, r110644);
        double r110654 = cbrt(r110653);
        double r110655 = r110654 * r110634;
        double r110656 = r110650 + r110655;
        double r110657 = r110643 + r110656;
        double r110658 = r110634 - r110657;
        double r110659 = r110639 * r110632;
        double r110660 = r110630 * r110627;
        double r110661 = r110660 * r110637;
        double r110662 = r110659 + r110661;
        double r110663 = asin(r110662);
        double r110664 = sin(r110663);
        double r110665 = r110639 * r110664;
        double r110666 = r110632 + r110665;
        double r110667 = r110658 / r110666;
        double r110668 = atan2(r110631, r110667);
        double r110669 = r110623 + r110668;
        return r110669;
}

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. 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)}}\]
  5. Using strategy rm
  6. 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({\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) + \color{blue}{\sqrt[3]{\left({\left(\sin \phi_1\right)}^{4} \cdot {\left(\sin \phi_1\right)}^{4}\right) \cdot {\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)}}\]
  7. 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({\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) + \sqrt[3]{\color{blue}{{\left({\left(\sin \phi_1\right)}^{4}\right)}^{3}}} \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)}}\]
  8. 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({\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) + \sqrt[3]{{\left({\left(\sin \phi_1\right)}^{4}\right)}^{3}} \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)}}\]

Reproduce

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