Average Error: 0.2 → 0.2
Time: 42.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(\sin delta \cdot \left(\sin delta \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(\cos \phi_1 \cdot \left(\sqrt[3]{{\left({\left(\sin \phi_1\right)}^{3}\right)}^{3}} \cdot \left(\cos delta \cdot \cos theta\right)\right)\right) \cdot 2\right) + {\left(\sin \phi_1\right)}^{4} \cdot {\left(\cos delta\right)}^{2}\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(\sin delta \cdot \left(\sin delta \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(\cos \phi_1 \cdot \left(\sqrt[3]{{\left({\left(\sin \phi_1\right)}^{3}\right)}^{3}} \cdot \left(\cos delta \cdot \cos theta\right)\right)\right) \cdot 2\right) + {\left(\sin \phi_1\right)}^{4} \cdot {\left(\cos delta\right)}^{2}\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 r66002 = lambda1;
        double r66003 = theta;
        double r66004 = sin(r66003);
        double r66005 = delta;
        double r66006 = sin(r66005);
        double r66007 = r66004 * r66006;
        double r66008 = phi1;
        double r66009 = cos(r66008);
        double r66010 = r66007 * r66009;
        double r66011 = cos(r66005);
        double r66012 = sin(r66008);
        double r66013 = r66012 * r66011;
        double r66014 = r66009 * r66006;
        double r66015 = cos(r66003);
        double r66016 = r66014 * r66015;
        double r66017 = r66013 + r66016;
        double r66018 = asin(r66017);
        double r66019 = sin(r66018);
        double r66020 = r66012 * r66019;
        double r66021 = r66011 - r66020;
        double r66022 = atan2(r66010, r66021);
        double r66023 = r66002 + r66022;
        return r66023;
}

double f(double lambda1, double phi1, double __attribute__((unused)) phi2, double delta, double theta) {
        double r66024 = lambda1;
        double r66025 = theta;
        double r66026 = sin(r66025);
        double r66027 = delta;
        double r66028 = sin(r66027);
        double r66029 = r66026 * r66028;
        double r66030 = phi1;
        double r66031 = cos(r66030);
        double r66032 = r66029 * r66031;
        double r66033 = cos(r66027);
        double r66034 = 2.0;
        double r66035 = pow(r66033, r66034);
        double r66036 = pow(r66031, r66034);
        double r66037 = cos(r66025);
        double r66038 = pow(r66037, r66034);
        double r66039 = sin(r66030);
        double r66040 = pow(r66039, r66034);
        double r66041 = r66038 * r66040;
        double r66042 = r66036 * r66041;
        double r66043 = r66028 * r66042;
        double r66044 = 3.0;
        double r66045 = pow(r66039, r66044);
        double r66046 = pow(r66045, r66044);
        double r66047 = cbrt(r66046);
        double r66048 = r66033 * r66037;
        double r66049 = r66047 * r66048;
        double r66050 = r66031 * r66049;
        double r66051 = r66050 * r66034;
        double r66052 = r66043 + r66051;
        double r66053 = r66028 * r66052;
        double r66054 = 4.0;
        double r66055 = pow(r66039, r66054);
        double r66056 = r66055 * r66035;
        double r66057 = r66053 + r66056;
        double r66058 = r66035 - r66057;
        double r66059 = r66039 * r66033;
        double r66060 = r66031 * r66028;
        double r66061 = r66060 * r66037;
        double r66062 = r66059 + r66061;
        double r66063 = asin(r66062);
        double r66064 = sin(r66063);
        double r66065 = r66039 * r66064;
        double r66066 = r66033 + r66065;
        double r66067 = r66058 / r66066;
        double r66068 = atan2(r66032, r66067);
        double r66069 = r66024 + r66068;
        return r66069;
}

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. Simplified0.2

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