Average Error: 0.1 → 0.1
Time: 16.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\right)}^{3} - \sqrt[3]{{\left({\left(\sin \phi_1\right)}^{3}\right)}^{3}} \cdot {\left(\sin delta \cdot \left(\cos \phi_1 \cdot \cos theta\right) + \sin \phi_1 \cdot \cos delta\right)}^{3}}{\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) + \cos delta\right) + \cos delta \cdot \cos delta}}\]
\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)}^{3} - \sqrt[3]{{\left({\left(\sin \phi_1\right)}^{3}\right)}^{3}} \cdot {\left(\sin delta \cdot \left(\cos \phi_1 \cdot \cos theta\right) + \sin \phi_1 \cdot \cos delta\right)}^{3}}{\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) + \cos delta\right) + \cos delta \cdot \cos delta}}
double f(double lambda1, double phi1, double __attribute__((unused)) phi2, double delta, double theta) {
        double r117590 = lambda1;
        double r117591 = theta;
        double r117592 = sin(r117591);
        double r117593 = delta;
        double r117594 = sin(r117593);
        double r117595 = r117592 * r117594;
        double r117596 = phi1;
        double r117597 = cos(r117596);
        double r117598 = r117595 * r117597;
        double r117599 = cos(r117593);
        double r117600 = sin(r117596);
        double r117601 = r117600 * r117599;
        double r117602 = r117597 * r117594;
        double r117603 = cos(r117591);
        double r117604 = r117602 * r117603;
        double r117605 = r117601 + r117604;
        double r117606 = asin(r117605);
        double r117607 = sin(r117606);
        double r117608 = r117600 * r117607;
        double r117609 = r117599 - r117608;
        double r117610 = atan2(r117598, r117609);
        double r117611 = r117590 + r117610;
        return r117611;
}

double f(double lambda1, double phi1, double __attribute__((unused)) phi2, double delta, double theta) {
        double r117612 = lambda1;
        double r117613 = theta;
        double r117614 = sin(r117613);
        double r117615 = delta;
        double r117616 = sin(r117615);
        double r117617 = r117614 * r117616;
        double r117618 = phi1;
        double r117619 = cos(r117618);
        double r117620 = r117617 * r117619;
        double r117621 = cos(r117615);
        double r117622 = 3.0;
        double r117623 = pow(r117621, r117622);
        double r117624 = sin(r117618);
        double r117625 = pow(r117624, r117622);
        double r117626 = pow(r117625, r117622);
        double r117627 = cbrt(r117626);
        double r117628 = cos(r117613);
        double r117629 = r117619 * r117628;
        double r117630 = r117616 * r117629;
        double r117631 = r117624 * r117621;
        double r117632 = r117630 + r117631;
        double r117633 = pow(r117632, r117622);
        double r117634 = r117627 * r117633;
        double r117635 = r117623 - r117634;
        double r117636 = r117619 * r117616;
        double r117637 = r117636 * r117628;
        double r117638 = r117631 + r117637;
        double r117639 = asin(r117638);
        double r117640 = sin(r117639);
        double r117641 = r117624 * r117640;
        double r117642 = r117641 + r117621;
        double r117643 = r117641 * r117642;
        double r117644 = r117621 * r117621;
        double r117645 = r117643 + r117644;
        double r117646 = r117635 / r117645;
        double r117647 = atan2(r117620, r117646);
        double r117648 = r117612 + r117647;
        return r117648;
}

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.1

    \[\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 flip3--0.1

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

    \[\leadsto \lambda_1 + \tan^{-1}_* \frac{\left(\sin theta \cdot \sin delta\right) \cdot \cos \phi_1}{\frac{{\left(\cos delta\right)}^{3} - {\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)}^{3}}{\color{blue}{\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) + \cos delta\right) + \cos delta \cdot \cos delta}}}\]
  5. Taylor expanded around inf 0.1

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

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

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

Reproduce

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