Average Error: 0.2 → 0.2
Time: 44.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{\cos \phi_1 \cdot \left(\sin delta \cdot \sin theta\right)}{\frac{\cos delta \cdot \cos delta - \left(\sin \phi_1 \cdot \sin \left(\sqrt[3]{\log \left(e^{\sin^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \cos delta, \left(\cos \phi_1 \cdot \sin delta\right) \cdot \cos theta\right)\right)}\right) \cdot \left(\log \left(e^{\sin^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \cos delta, \left(\cos \phi_1 \cdot \sin delta\right) \cdot \cos theta\right)\right)}\right) \cdot \log \left(e^{\sin^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \cos delta, \left(\cos \phi_1 \cdot \sin delta\right) \cdot \cos theta\right)\right)}\right)\right)}\right)\right) \cdot \left(\sin \left(\log \left(e^{\sin^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \cos delta, \left(\cos \phi_1 \cdot \sin delta\right) \cdot \cos theta\right)\right)}\right)\right) \cdot \sin \phi_1\right)}{\cos delta + \sin \left(\log \left(e^{\sin^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \cos delta, \left(\cos \phi_1 \cdot \sin delta\right) \cdot \cos theta\right)\right)}\right)\right) \cdot \sin \phi_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)}
\lambda_1 + \tan^{-1}_* \frac{\cos \phi_1 \cdot \left(\sin delta \cdot \sin theta\right)}{\frac{\cos delta \cdot \cos delta - \left(\sin \phi_1 \cdot \sin \left(\sqrt[3]{\log \left(e^{\sin^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \cos delta, \left(\cos \phi_1 \cdot \sin delta\right) \cdot \cos theta\right)\right)}\right) \cdot \left(\log \left(e^{\sin^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \cos delta, \left(\cos \phi_1 \cdot \sin delta\right) \cdot \cos theta\right)\right)}\right) \cdot \log \left(e^{\sin^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \cos delta, \left(\cos \phi_1 \cdot \sin delta\right) \cdot \cos theta\right)\right)}\right)\right)}\right)\right) \cdot \left(\sin \left(\log \left(e^{\sin^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \cos delta, \left(\cos \phi_1 \cdot \sin delta\right) \cdot \cos theta\right)\right)}\right)\right) \cdot \sin \phi_1\right)}{\cos delta + \sin \left(\log \left(e^{\sin^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \cos delta, \left(\cos \phi_1 \cdot \sin delta\right) \cdot \cos theta\right)\right)}\right)\right) \cdot \sin \phi_1}}
double f(double lambda1, double phi1, double __attribute__((unused)) phi2, double delta, double theta) {
        double r2300481 = lambda1;
        double r2300482 = theta;
        double r2300483 = sin(r2300482);
        double r2300484 = delta;
        double r2300485 = sin(r2300484);
        double r2300486 = r2300483 * r2300485;
        double r2300487 = phi1;
        double r2300488 = cos(r2300487);
        double r2300489 = r2300486 * r2300488;
        double r2300490 = cos(r2300484);
        double r2300491 = sin(r2300487);
        double r2300492 = r2300491 * r2300490;
        double r2300493 = r2300488 * r2300485;
        double r2300494 = cos(r2300482);
        double r2300495 = r2300493 * r2300494;
        double r2300496 = r2300492 + r2300495;
        double r2300497 = asin(r2300496);
        double r2300498 = sin(r2300497);
        double r2300499 = r2300491 * r2300498;
        double r2300500 = r2300490 - r2300499;
        double r2300501 = atan2(r2300489, r2300500);
        double r2300502 = r2300481 + r2300501;
        return r2300502;
}

double f(double lambda1, double phi1, double __attribute__((unused)) phi2, double delta, double theta) {
        double r2300503 = lambda1;
        double r2300504 = phi1;
        double r2300505 = cos(r2300504);
        double r2300506 = delta;
        double r2300507 = sin(r2300506);
        double r2300508 = theta;
        double r2300509 = sin(r2300508);
        double r2300510 = r2300507 * r2300509;
        double r2300511 = r2300505 * r2300510;
        double r2300512 = cos(r2300506);
        double r2300513 = r2300512 * r2300512;
        double r2300514 = sin(r2300504);
        double r2300515 = r2300505 * r2300507;
        double r2300516 = cos(r2300508);
        double r2300517 = r2300515 * r2300516;
        double r2300518 = fma(r2300514, r2300512, r2300517);
        double r2300519 = asin(r2300518);
        double r2300520 = exp(r2300519);
        double r2300521 = log(r2300520);
        double r2300522 = r2300521 * r2300521;
        double r2300523 = r2300521 * r2300522;
        double r2300524 = cbrt(r2300523);
        double r2300525 = sin(r2300524);
        double r2300526 = r2300514 * r2300525;
        double r2300527 = sin(r2300521);
        double r2300528 = r2300527 * r2300514;
        double r2300529 = r2300526 * r2300528;
        double r2300530 = r2300513 - r2300529;
        double r2300531 = r2300512 + r2300528;
        double r2300532 = r2300530 / r2300531;
        double r2300533 = atan2(r2300511, r2300532);
        double r2300534 = r2300503 + r2300533;
        return r2300534;
}

Error

Bits error versus lambda1

Bits error versus phi1

Bits error versus phi2

Bits error versus delta

Bits error versus theta

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-log-exp0.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 \color{blue}{\left(\log \left(e^{\sin^{-1} \left(\sin \phi_1 \cdot \cos delta + \left(\cos \phi_1 \cdot \sin delta\right) \cdot \cos theta\right)}\right)\right)}}\]
  4. 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(\log \color{blue}{\left(e^{\sin^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \cos delta, \cos theta \cdot \left(\cos \phi_1 \cdot \sin delta\right)\right)\right)}\right)}\right)}\]
  5. Using strategy rm
  6. 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(\log \left(e^{\sin^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \cos delta, \cos theta \cdot \left(\cos \phi_1 \cdot \sin delta\right)\right)\right)}\right)\right)\right) \cdot \left(\sin \phi_1 \cdot \sin \left(\log \left(e^{\sin^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \cos delta, \cos theta \cdot \left(\cos \phi_1 \cdot \sin delta\right)\right)\right)}\right)\right)\right)}{\cos delta + \sin \phi_1 \cdot \sin \left(\log \left(e^{\sin^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \cos delta, \cos theta \cdot \left(\cos \phi_1 \cdot \sin delta\right)\right)\right)}\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{\cos delta \cdot \cos delta - \left(\sin \phi_1 \cdot \sin \left(\log \left(e^{\sin^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \cos delta, \cos theta \cdot \left(\cos \phi_1 \cdot \sin delta\right)\right)\right)}\right)\right)\right) \cdot \left(\sin \phi_1 \cdot \sin \color{blue}{\left(\sqrt[3]{\left(\log \left(e^{\sin^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \cos delta, \cos theta \cdot \left(\cos \phi_1 \cdot \sin delta\right)\right)\right)}\right) \cdot \log \left(e^{\sin^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \cos delta, \cos theta \cdot \left(\cos \phi_1 \cdot \sin delta\right)\right)\right)}\right)\right) \cdot \log \left(e^{\sin^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \cos delta, \cos theta \cdot \left(\cos \phi_1 \cdot \sin delta\right)\right)\right)}\right)}\right)}\right)}{\cos delta + \sin \phi_1 \cdot \sin \left(\log \left(e^{\sin^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \cos delta, \cos theta \cdot \left(\cos \phi_1 \cdot \sin delta\right)\right)\right)}\right)\right)}}\]
  9. Final simplification0.2

    \[\leadsto \lambda_1 + \tan^{-1}_* \frac{\cos \phi_1 \cdot \left(\sin delta \cdot \sin theta\right)}{\frac{\cos delta \cdot \cos delta - \left(\sin \phi_1 \cdot \sin \left(\sqrt[3]{\log \left(e^{\sin^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \cos delta, \left(\cos \phi_1 \cdot \sin delta\right) \cdot \cos theta\right)\right)}\right) \cdot \left(\log \left(e^{\sin^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \cos delta, \left(\cos \phi_1 \cdot \sin delta\right) \cdot \cos theta\right)\right)}\right) \cdot \log \left(e^{\sin^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \cos delta, \left(\cos \phi_1 \cdot \sin delta\right) \cdot \cos theta\right)\right)}\right)\right)}\right)\right) \cdot \left(\sin \left(\log \left(e^{\sin^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \cos delta, \left(\cos \phi_1 \cdot \sin delta\right) \cdot \cos theta\right)\right)}\right)\right) \cdot \sin \phi_1\right)}{\cos delta + \sin \left(\log \left(e^{\sin^{-1} \left(\mathsf{fma}\left(\sin \phi_1, \cos delta, \left(\cos \phi_1 \cdot \sin delta\right) \cdot \cos theta\right)\right)}\right)\right) \cdot \sin \phi_1}}\]

Reproduce

herbie shell --seed 2019153 +o rules:numerics
(FPCore (lambda1 phi1 phi2 delta theta)
  :name "Destination given bearing on a great circle"
  (+ lambda1 (atan2 (* (* (sin theta) (sin delta)) (cos phi1)) (- (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))))