Average Error: 0.2 → 0.2
Time: 14.4s
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}{\cos delta - \sin \phi_1 \cdot \sin \left(\sin^{-1} \left(\sin \phi_1 \cdot \cos delta + \sqrt[3]{{\left(\cos \phi_1 \cdot \left(\cos theta \cdot \sin delta\right)\right)}^{3}}\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}{\cos delta - \sin \phi_1 \cdot \sin \left(\sin^{-1} \left(\sin \phi_1 \cdot \cos delta + \sqrt[3]{{\left(\cos \phi_1 \cdot \left(\cos theta \cdot \sin delta\right)\right)}^{3}}\right)\right)}
double f(double lambda1, double phi1, double __attribute__((unused)) phi2, double delta, double theta) {
        double r117684 = lambda1;
        double r117685 = theta;
        double r117686 = sin(r117685);
        double r117687 = delta;
        double r117688 = sin(r117687);
        double r117689 = r117686 * r117688;
        double r117690 = phi1;
        double r117691 = cos(r117690);
        double r117692 = r117689 * r117691;
        double r117693 = cos(r117687);
        double r117694 = sin(r117690);
        double r117695 = r117694 * r117693;
        double r117696 = r117691 * r117688;
        double r117697 = cos(r117685);
        double r117698 = r117696 * r117697;
        double r117699 = r117695 + r117698;
        double r117700 = asin(r117699);
        double r117701 = sin(r117700);
        double r117702 = r117694 * r117701;
        double r117703 = r117693 - r117702;
        double r117704 = atan2(r117692, r117703);
        double r117705 = r117684 + r117704;
        return r117705;
}

double f(double lambda1, double phi1, double __attribute__((unused)) phi2, double delta, double theta) {
        double r117706 = lambda1;
        double r117707 = theta;
        double r117708 = sin(r117707);
        double r117709 = delta;
        double r117710 = sin(r117709);
        double r117711 = r117708 * r117710;
        double r117712 = phi1;
        double r117713 = cos(r117712);
        double r117714 = r117711 * r117713;
        double r117715 = cos(r117709);
        double r117716 = sin(r117712);
        double r117717 = r117716 * r117715;
        double r117718 = cos(r117707);
        double r117719 = r117718 * r117710;
        double r117720 = r117713 * r117719;
        double r117721 = 3.0;
        double r117722 = pow(r117720, r117721);
        double r117723 = cbrt(r117722);
        double r117724 = r117717 + r117723;
        double r117725 = asin(r117724);
        double r117726 = sin(r117725);
        double r117727 = r117716 * r117726;
        double r117728 = r117715 - r117727;
        double r117729 = atan2(r117714, r117728);
        double r117730 = r117706 + r117729;
        return r117730;
}

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 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 \left(\sin^{-1} \left(\sin \phi_1 \cdot \cos delta + \left(\cos \phi_1 \cdot \sin delta\right) \cdot \color{blue}{\sqrt[3]{\left(\cos theta \cdot \cos theta\right) \cdot \cos theta}}\right)\right)}\]
  4. 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 \left(\sin^{-1} \left(\sin \phi_1 \cdot \cos delta + \left(\cos \phi_1 \cdot \color{blue}{\sqrt[3]{\left(\sin delta \cdot \sin delta\right) \cdot \sin delta}}\right) \cdot \sqrt[3]{\left(\cos theta \cdot \cos theta\right) \cdot \cos theta}\right)\right)}\]
  5. 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 \left(\sin^{-1} \left(\sin \phi_1 \cdot \cos delta + \left(\color{blue}{\sqrt[3]{\left(\cos \phi_1 \cdot \cos \phi_1\right) \cdot \cos \phi_1}} \cdot \sqrt[3]{\left(\sin delta \cdot \sin delta\right) \cdot \sin delta}\right) \cdot \sqrt[3]{\left(\cos theta \cdot \cos theta\right) \cdot \cos theta}\right)\right)}\]
  6. Applied cbrt-unprod0.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(\sin^{-1} \left(\sin \phi_1 \cdot \cos delta + \color{blue}{\sqrt[3]{\left(\left(\cos \phi_1 \cdot \cos \phi_1\right) \cdot \cos \phi_1\right) \cdot \left(\left(\sin delta \cdot \sin delta\right) \cdot \sin delta\right)}} \cdot \sqrt[3]{\left(\cos theta \cdot \cos theta\right) \cdot \cos theta}\right)\right)}\]
  7. Applied cbrt-unprod0.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(\sin^{-1} \left(\sin \phi_1 \cdot \cos delta + \color{blue}{\sqrt[3]{\left(\left(\left(\cos \phi_1 \cdot \cos \phi_1\right) \cdot \cos \phi_1\right) \cdot \left(\left(\sin delta \cdot \sin delta\right) \cdot \sin delta\right)\right) \cdot \left(\left(\cos theta \cdot \cos theta\right) \cdot \cos theta\right)}}\right)\right)}\]
  8. 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(\sin^{-1} \left(\sin \phi_1 \cdot \cos delta + \sqrt[3]{\color{blue}{{\left(\cos \phi_1 \cdot \left(\cos theta \cdot \sin delta\right)\right)}^{3}}}\right)\right)}\]
  9. Final simplification0.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(\sin^{-1} \left(\sin \phi_1 \cdot \cos delta + \sqrt[3]{{\left(\cos \phi_1 \cdot \left(\cos theta \cdot \sin delta\right)\right)}^{3}}\right)\right)}\]

Reproduce

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