Average Error: 0.2 → 0.2
Time: 31.0s
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 - \sqrt[3]{{\left(\sin \phi_1 \cdot \sin \left(\frac{\pi}{2} - \cos^{-1} \left(\sin \phi_1 \cdot \cos delta + \left(\cos \phi_1 \cdot \sin delta\right) \cdot \cos theta\right)\right)\right)}^{3}}}\]
\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 - \sqrt[3]{{\left(\sin \phi_1 \cdot \sin \left(\frac{\pi}{2} - \cos^{-1} \left(\sin \phi_1 \cdot \cos delta + \left(\cos \phi_1 \cdot \sin delta\right) \cdot \cos theta\right)\right)\right)}^{3}}}
double f(double lambda1, double phi1, double __attribute__((unused)) phi2, double delta, double theta) {
        double r47180 = lambda1;
        double r47181 = theta;
        double r47182 = sin(r47181);
        double r47183 = delta;
        double r47184 = sin(r47183);
        double r47185 = r47182 * r47184;
        double r47186 = phi1;
        double r47187 = cos(r47186);
        double r47188 = r47185 * r47187;
        double r47189 = cos(r47183);
        double r47190 = sin(r47186);
        double r47191 = r47190 * r47189;
        double r47192 = r47187 * r47184;
        double r47193 = cos(r47181);
        double r47194 = r47192 * r47193;
        double r47195 = r47191 + r47194;
        double r47196 = asin(r47195);
        double r47197 = sin(r47196);
        double r47198 = r47190 * r47197;
        double r47199 = r47189 - r47198;
        double r47200 = atan2(r47188, r47199);
        double r47201 = r47180 + r47200;
        return r47201;
}

double f(double lambda1, double phi1, double __attribute__((unused)) phi2, double delta, double theta) {
        double r47202 = lambda1;
        double r47203 = theta;
        double r47204 = sin(r47203);
        double r47205 = delta;
        double r47206 = sin(r47205);
        double r47207 = r47204 * r47206;
        double r47208 = phi1;
        double r47209 = cos(r47208);
        double r47210 = r47207 * r47209;
        double r47211 = cos(r47205);
        double r47212 = sin(r47208);
        double r47213 = atan2(1.0, 0.0);
        double r47214 = 2.0;
        double r47215 = r47213 / r47214;
        double r47216 = r47212 * r47211;
        double r47217 = r47209 * r47206;
        double r47218 = cos(r47203);
        double r47219 = r47217 * r47218;
        double r47220 = r47216 + r47219;
        double r47221 = acos(r47220);
        double r47222 = r47215 - r47221;
        double r47223 = sin(r47222);
        double r47224 = r47212 * r47223;
        double r47225 = 3.0;
        double r47226 = pow(r47224, r47225);
        double r47227 = cbrt(r47226);
        double r47228 = r47211 - r47227;
        double r47229 = atan2(r47210, r47228);
        double r47230 = r47202 + r47229;
        return r47230;
}

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 \color{blue}{\sqrt[3]{\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) \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. Applied add-cbrt-cube0.2

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

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

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

    \[\leadsto \lambda_1 + \tan^{-1}_* \frac{\left(\sin theta \cdot \sin delta\right) \cdot \cos \phi_1}{\cos delta - \sqrt[3]{{\left(\sin \phi_1 \cdot \sin \color{blue}{\left(\frac{\pi}{2} - \cos^{-1} \left(\sin \phi_1 \cdot \cos delta + \left(\cos \phi_1 \cdot \sin delta\right) \cdot \cos theta\right)\right)}\right)}^{3}}}\]
  9. Final simplification0.2

    \[\leadsto \lambda_1 + \tan^{-1}_* \frac{\left(\sin theta \cdot \sin delta\right) \cdot \cos \phi_1}{\cos delta - \sqrt[3]{{\left(\sin \phi_1 \cdot \sin \left(\frac{\pi}{2} - \cos^{-1} \left(\sin \phi_1 \cdot \cos delta + \left(\cos \phi_1 \cdot \sin delta\right) \cdot \cos theta\right)\right)\right)}^{3}}}\]

Reproduce

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