Average Error: 13.3 → 0.2
Time: 1.1min
Precision: binary64
Cost: 110272
\[\tan^{-1}_* \frac{\sin \left(\lambda_1 - \lambda_2\right) \cdot \cos \phi_2}{\cos \phi_1 \cdot \sin \phi_2 - \left(\sin \phi_1 \cdot \cos \phi_2\right) \cdot \cos \left(\lambda_1 - \lambda_2\right)} \]
\[\tan^{-1}_* \frac{\left(\mathsf{log1p}\left(\mathsf{expm1}\left(\cos \lambda_2 \cdot \sin \lambda_1\right)\right) - \cos \lambda_1 \cdot \sin \lambda_2\right) \cdot \cos \phi_2}{\mathsf{fma}\left(\cos \lambda_2 \cdot \cos \lambda_1 + \sin \lambda_1 \cdot \sin \lambda_2, \cos \phi_2 \cdot \left(-\sin \phi_1\right), \cos \phi_1 \cdot \sin \phi_2\right)} \]
(FPCore (lambda1 lambda2 phi1 phi2)
 :precision binary64
 (atan2
  (* (sin (- lambda1 lambda2)) (cos phi2))
  (-
   (* (cos phi1) (sin phi2))
   (* (* (sin phi1) (cos phi2)) (cos (- lambda1 lambda2))))))
(FPCore (lambda1 lambda2 phi1 phi2)
 :precision binary64
 (atan2
  (*
   (-
    (log1p (expm1 (* (cos lambda2) (sin lambda1))))
    (* (cos lambda1) (sin lambda2)))
   (cos phi2))
  (fma
   (+ (* (cos lambda2) (cos lambda1)) (* (sin lambda1) (sin lambda2)))
   (* (cos phi2) (- (sin phi1)))
   (* (cos phi1) (sin phi2)))))
double code(double lambda1, double lambda2, double phi1, double phi2) {
	return atan2((sin((lambda1 - lambda2)) * cos(phi2)), ((cos(phi1) * sin(phi2)) - ((sin(phi1) * cos(phi2)) * cos((lambda1 - lambda2)))));
}
double code(double lambda1, double lambda2, double phi1, double phi2) {
	return atan2(((log1p(expm1((cos(lambda2) * sin(lambda1)))) - (cos(lambda1) * sin(lambda2))) * cos(phi2)), fma(((cos(lambda2) * cos(lambda1)) + (sin(lambda1) * sin(lambda2))), (cos(phi2) * -sin(phi1)), (cos(phi1) * sin(phi2))));
}
function code(lambda1, lambda2, phi1, phi2)
	return atan(Float64(sin(Float64(lambda1 - lambda2)) * cos(phi2)), Float64(Float64(cos(phi1) * sin(phi2)) - Float64(Float64(sin(phi1) * cos(phi2)) * cos(Float64(lambda1 - lambda2)))))
end
function code(lambda1, lambda2, phi1, phi2)
	return atan(Float64(Float64(log1p(expm1(Float64(cos(lambda2) * sin(lambda1)))) - Float64(cos(lambda1) * sin(lambda2))) * cos(phi2)), fma(Float64(Float64(cos(lambda2) * cos(lambda1)) + Float64(sin(lambda1) * sin(lambda2))), Float64(cos(phi2) * Float64(-sin(phi1))), Float64(cos(phi1) * sin(phi2))))
end
code[lambda1_, lambda2_, phi1_, phi2_] := N[ArcTan[N[(N[Sin[N[(lambda1 - lambda2), $MachinePrecision]], $MachinePrecision] * N[Cos[phi2], $MachinePrecision]), $MachinePrecision] / N[(N[(N[Cos[phi1], $MachinePrecision] * N[Sin[phi2], $MachinePrecision]), $MachinePrecision] - N[(N[(N[Sin[phi1], $MachinePrecision] * N[Cos[phi2], $MachinePrecision]), $MachinePrecision] * N[Cos[N[(lambda1 - lambda2), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]
code[lambda1_, lambda2_, phi1_, phi2_] := N[ArcTan[N[(N[(N[Log[1 + N[(Exp[N[(N[Cos[lambda2], $MachinePrecision] * N[Sin[lambda1], $MachinePrecision]), $MachinePrecision]] - 1), $MachinePrecision]], $MachinePrecision] - N[(N[Cos[lambda1], $MachinePrecision] * N[Sin[lambda2], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[Cos[phi2], $MachinePrecision]), $MachinePrecision] / N[(N[(N[(N[Cos[lambda2], $MachinePrecision] * N[Cos[lambda1], $MachinePrecision]), $MachinePrecision] + N[(N[Sin[lambda1], $MachinePrecision] * N[Sin[lambda2], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[Cos[phi2], $MachinePrecision] * (-N[Sin[phi1], $MachinePrecision])), $MachinePrecision] + N[(N[Cos[phi1], $MachinePrecision] * N[Sin[phi2], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]
\tan^{-1}_* \frac{\sin \left(\lambda_1 - \lambda_2\right) \cdot \cos \phi_2}{\cos \phi_1 \cdot \sin \phi_2 - \left(\sin \phi_1 \cdot \cos \phi_2\right) \cdot \cos \left(\lambda_1 - \lambda_2\right)}
\tan^{-1}_* \frac{\left(\mathsf{log1p}\left(\mathsf{expm1}\left(\cos \lambda_2 \cdot \sin \lambda_1\right)\right) - \cos \lambda_1 \cdot \sin \lambda_2\right) \cdot \cos \phi_2}{\mathsf{fma}\left(\cos \lambda_2 \cdot \cos \lambda_1 + \sin \lambda_1 \cdot \sin \lambda_2, \cos \phi_2 \cdot \left(-\sin \phi_1\right), \cos \phi_1 \cdot \sin \phi_2\right)}

Error

Derivation

  1. Initial program 13.3

    \[\tan^{-1}_* \frac{\sin \left(\lambda_1 - \lambda_2\right) \cdot \cos \phi_2}{\cos \phi_1 \cdot \sin \phi_2 - \left(\sin \phi_1 \cdot \cos \phi_2\right) \cdot \cos \left(\lambda_1 - \lambda_2\right)} \]
  2. Simplified13.3

    \[\leadsto \color{blue}{\tan^{-1}_* \frac{\sin \left(\lambda_1 - \lambda_2\right) \cdot \cos \phi_2}{\mathsf{fma}\left(\cos \left(\lambda_1 - \lambda_2\right), \cos \phi_2 \cdot \left(-\sin \phi_1\right), \cos \phi_1 \cdot \sin \phi_2\right)}} \]
  3. Applied egg-rr6.9

    \[\leadsto \tan^{-1}_* \frac{\color{blue}{\left(\cos \lambda_2 \cdot \sin \lambda_1 - \cos \lambda_1 \cdot \sin \lambda_2\right)} \cdot \cos \phi_2}{\mathsf{fma}\left(\cos \left(\lambda_1 - \lambda_2\right), \cos \phi_2 \cdot \left(-\sin \phi_1\right), \cos \phi_1 \cdot \sin \phi_2\right)} \]
  4. Applied egg-rr0.2

    \[\leadsto \tan^{-1}_* \frac{\left(\cos \lambda_2 \cdot \sin \lambda_1 - \cos \lambda_1 \cdot \sin \lambda_2\right) \cdot \cos \phi_2}{\mathsf{fma}\left(\color{blue}{\cos \lambda_1 \cdot \cos \lambda_2 + \sin \lambda_1 \cdot \sin \lambda_2}, \cos \phi_2 \cdot \left(-\sin \phi_1\right), \cos \phi_1 \cdot \sin \phi_2\right)} \]
  5. Applied egg-rr0.2

    \[\leadsto \tan^{-1}_* \frac{\left(\color{blue}{\mathsf{log1p}\left(\mathsf{expm1}\left(\cos \lambda_2 \cdot \sin \lambda_1\right)\right)} - \cos \lambda_1 \cdot \sin \lambda_2\right) \cdot \cos \phi_2}{\mathsf{fma}\left(\cos \lambda_1 \cdot \cos \lambda_2 + \sin \lambda_1 \cdot \sin \lambda_2, \cos \phi_2 \cdot \left(-\sin \phi_1\right), \cos \phi_1 \cdot \sin \phi_2\right)} \]
  6. Final simplification0.2

    \[\leadsto \tan^{-1}_* \frac{\left(\mathsf{log1p}\left(\mathsf{expm1}\left(\cos \lambda_2 \cdot \sin \lambda_1\right)\right) - \cos \lambda_1 \cdot \sin \lambda_2\right) \cdot \cos \phi_2}{\mathsf{fma}\left(\cos \lambda_2 \cdot \cos \lambda_1 + \sin \lambda_1 \cdot \sin \lambda_2, \cos \phi_2 \cdot \left(-\sin \phi_1\right), \cos \phi_1 \cdot \sin \phi_2\right)} \]

Alternatives

Alternative 1
Error0.2
Cost103936
\[\tan^{-1}_* \frac{\left(\mathsf{log1p}\left(\mathsf{expm1}\left(\cos \lambda_2 \cdot \sin \lambda_1\right)\right) - \cos \lambda_1 \cdot \sin \lambda_2\right) \cdot \cos \phi_2}{\cos \phi_1 \cdot \sin \phi_2 - \sin \phi_1 \cdot \left(\cos \phi_2 \cdot \left(\cos \lambda_2 \cdot \cos \lambda_1 + \sin \lambda_1 \cdot \sin \lambda_2\right)\right)} \]
Alternative 2
Error0.2
Cost97472
\[\tan^{-1}_* \frac{\cos \phi_2 \cdot \left(\cos \lambda_2 \cdot \sin \lambda_1 - \cos \lambda_1 \cdot \sin \lambda_2\right)}{\mathsf{fma}\left(\cos \lambda_2 \cdot \cos \lambda_1 + \sin \lambda_1 \cdot \sin \lambda_2, \cos \phi_2 \cdot \left(-\sin \phi_1\right), \cos \phi_1 \cdot \sin \phi_2\right)} \]
Alternative 3
Error0.2
Cost91136
\[\tan^{-1}_* \frac{\cos \phi_2 \cdot \left(\cos \lambda_2 \cdot \sin \lambda_1 - \cos \lambda_1 \cdot \sin \lambda_2\right)}{\cos \phi_1 \cdot \sin \phi_2 - \sin \phi_1 \cdot \left(\cos \phi_2 \cdot \left(\cos \lambda_2 \cdot \cos \lambda_1 + \sin \lambda_1 \cdot \sin \lambda_2\right)\right)} \]
Alternative 4
Error3.9
Cost78472
\[\begin{array}{l} t_0 := \cos \phi_1 \cdot \sin \phi_2\\ t_1 := \cos \phi_2 \cdot \left(\cos \lambda_2 \cdot \sin \lambda_1 - \cos \lambda_1 \cdot \sin \lambda_2\right)\\ t_2 := \cos \left(\lambda_1 - \lambda_2\right)\\ \mathbf{if}\;\phi_2 \leq -0.18686861791305784:\\ \;\;\;\;\tan^{-1}_* \frac{t_1}{t_0 - \left(\cos \phi_2 \cdot \sin \phi_1\right) \cdot t_2}\\ \mathbf{elif}\;\phi_2 \leq 6.0059583266716634 \cdot 10^{-33}:\\ \;\;\;\;\tan^{-1}_* \frac{t_1}{\phi_2 \cdot \cos \phi_1 - \sin \phi_1 \cdot \left(\cos \lambda_2 \cdot \cos \lambda_1 + \sin \lambda_1 \cdot \sin \lambda_2\right)}\\ \mathbf{else}:\\ \;\;\;\;\tan^{-1}_* \frac{t_1}{\mathsf{fma}\left(t_2, \cos \phi_2 \cdot \left(-\sin \phi_1\right), t_0\right)}\\ \end{array} \]
Alternative 5
Error4.6
Cost78280
\[\begin{array}{l} t_0 := \cos \phi_1 \cdot \sin \phi_2 - \left(\cos \phi_2 \cdot \sin \phi_1\right) \cdot \cos \left(\lambda_1 - \lambda_2\right)\\ t_1 := \cos \phi_2 \cdot \left(\cos \lambda_2 \cdot \sin \lambda_1 - \cos \lambda_1 \cdot \sin \lambda_2\right)\\ \mathbf{if}\;\phi_2 \leq -3.847108894905766 \cdot 10^{-15}:\\ \;\;\;\;\tan^{-1}_* \frac{t_1}{t_0}\\ \mathbf{elif}\;\phi_2 \leq 5.0602178820661 \cdot 10^{-78}:\\ \;\;\;\;\tan^{-1}_* \frac{t_1}{\sin \phi_1 \cdot \left(\cos \lambda_2 \cdot \left(-\cos \lambda_1\right) - \sin \lambda_1 \cdot \sin \lambda_2\right)}\\ \mathbf{else}:\\ \;\;\;\;\tan^{-1}_* \frac{\cos \phi_2 \cdot \mathsf{fma}\left(\cos \lambda_2, \sin \lambda_1, \cos \lambda_1 \cdot \left(-\sin \lambda_2\right)\right)}{t_0}\\ \end{array} \]
Alternative 6
Error4.6
Cost78280
\[\begin{array}{l} t_0 := \cos \phi_1 \cdot \sin \phi_2\\ t_1 := \cos \phi_2 \cdot \left(\cos \lambda_2 \cdot \sin \lambda_1 - \cos \lambda_1 \cdot \sin \lambda_2\right)\\ t_2 := \cos \left(\lambda_1 - \lambda_2\right)\\ \mathbf{if}\;\phi_2 \leq -3.847108894905766 \cdot 10^{-15}:\\ \;\;\;\;\tan^{-1}_* \frac{t_1}{t_0 - \left(\cos \phi_2 \cdot \sin \phi_1\right) \cdot t_2}\\ \mathbf{elif}\;\phi_2 \leq 5.0602178820661 \cdot 10^{-78}:\\ \;\;\;\;\tan^{-1}_* \frac{t_1}{\sin \phi_1 \cdot \left(\cos \lambda_2 \cdot \left(-\cos \lambda_1\right) - \sin \lambda_1 \cdot \sin \lambda_2\right)}\\ \mathbf{else}:\\ \;\;\;\;\tan^{-1}_* \frac{t_1}{\mathsf{fma}\left(t_2, \cos \phi_2 \cdot \left(-\sin \phi_1\right), t_0\right)}\\ \end{array} \]
Alternative 7
Error4.6
Cost71944
\[\begin{array}{l} t_0 := \cos \phi_2 \cdot \left(\cos \lambda_2 \cdot \sin \lambda_1 - \cos \lambda_1 \cdot \sin \lambda_2\right)\\ t_1 := \tan^{-1}_* \frac{t_0}{\cos \phi_1 \cdot \sin \phi_2 - \left(\cos \phi_2 \cdot \sin \phi_1\right) \cdot \cos \left(\lambda_1 - \lambda_2\right)}\\ \mathbf{if}\;\phi_2 \leq -3.847108894905766 \cdot 10^{-15}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;\phi_2 \leq 5.0602178820661 \cdot 10^{-78}:\\ \;\;\;\;\tan^{-1}_* \frac{t_0}{\sin \phi_1 \cdot \left(\cos \lambda_2 \cdot \left(-\cos \lambda_1\right) - \sin \lambda_1 \cdot \sin \lambda_2\right)}\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 8
Error7.3
Cost71816
\[\begin{array}{l} t_0 := \cos \phi_1 \cdot \sin \phi_2\\ t_1 := \tan^{-1}_* \frac{\cos \phi_2 \cdot \left(\cos \lambda_2 \cdot \sin \lambda_1 - \cos \lambda_1 \cdot \sin \lambda_2\right)}{t_0 - \sin \phi_1 \cdot \left(\cos \lambda_2 \cdot \cos \phi_2\right)}\\ \mathbf{if}\;\lambda_2 \leq -1255977.127201531:\\ \;\;\;\;t_1\\ \mathbf{elif}\;\lambda_2 \leq 0.00012043169656984613:\\ \;\;\;\;\tan^{-1}_* \frac{\sin \lambda_1 \cdot \cos \phi_2 - \lambda_2 \cdot \left(\cos \lambda_1 \cdot \cos \phi_2\right)}{t_0 - \cos \phi_2 \cdot \left(\cos \lambda_1 \cdot \sin \phi_1\right)}\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 9
Error8.2
Cost65288
\[\begin{array}{l} t_0 := \cos \left(\lambda_1 - \lambda_2\right)\\ t_1 := \cos \phi_1 \cdot \sin \phi_2\\ t_2 := \cos \phi_2 \cdot \sin \left(\lambda_1 - \lambda_2\right)\\ \mathbf{if}\;\phi_1 \leq -1.0820142962092914 \cdot 10^{-8}:\\ \;\;\;\;\tan^{-1}_* \frac{t_2}{\mathsf{fma}\left(t_0, \cos \phi_2 \cdot \left(-\sin \phi_1\right), t_1\right)}\\ \mathbf{elif}\;\phi_1 \leq 2.581290684068906 \cdot 10^{-34}:\\ \;\;\;\;\tan^{-1}_* \frac{\cos \phi_2 \cdot \left(\cos \lambda_2 \cdot \sin \lambda_1 - \cos \lambda_1 \cdot \sin \lambda_2\right)}{t_1 - \cos \lambda_1 \cdot \sin \phi_1}\\ \mathbf{else}:\\ \;\;\;\;\tan^{-1}_* \frac{t_2}{t_1 - \left(\cos \phi_2 \cdot \sin \phi_1\right) \cdot t_0}\\ \end{array} \]
Alternative 10
Error8.2
Cost65288
\[\begin{array}{l} t_0 := \cos \left(\lambda_1 - \lambda_2\right)\\ t_1 := \cos \phi_1 \cdot \sin \phi_2\\ t_2 := \cos \phi_2 \cdot \sin \left(\lambda_1 - \lambda_2\right)\\ \mathbf{if}\;\phi_1 \leq -1.0820142962092914 \cdot 10^{-8}:\\ \;\;\;\;\tan^{-1}_* \frac{t_2}{\mathsf{fma}\left(t_0, \cos \phi_2 \cdot \left(-\sin \phi_1\right), t_1\right)}\\ \mathbf{elif}\;\phi_1 \leq 2.581290684068906 \cdot 10^{-34}:\\ \;\;\;\;\tan^{-1}_* \frac{\cos \phi_2 \cdot \left(\cos \lambda_2 \cdot \sin \lambda_1 - \cos \lambda_1 \cdot \sin \lambda_2\right)}{t_1 - \cos \lambda_1 \cdot \sin \phi_1}\\ \mathbf{else}:\\ \;\;\;\;\tan^{-1}_* \frac{t_2}{t_1 - \mathsf{expm1}\left(\mathsf{log1p}\left(\cos \phi_2 \cdot \left(\sin \phi_1 \cdot t_0\right)\right)\right)}\\ \end{array} \]
Alternative 11
Error8.9
Cost58692
\[\begin{array}{l} t_0 := \cos \left(\lambda_1 - \lambda_2\right)\\ t_1 := \cos \phi_1 \cdot \sin \phi_2\\ t_2 := \cos \phi_2 \cdot \sin \left(\lambda_1 - \lambda_2\right)\\ \mathbf{if}\;\phi_1 \leq -3.5719904525122354 \cdot 10^{-12}:\\ \;\;\;\;\tan^{-1}_* \frac{t_2}{\mathsf{fma}\left(t_0, \cos \phi_2 \cdot \left(-\sin \phi_1\right), t_1\right)}\\ \mathbf{elif}\;\phi_1 \leq 8.985363204321218 \cdot 10^{-51}:\\ \;\;\;\;\tan^{-1}_* \frac{\cos \phi_2 \cdot \left(\cos \lambda_2 \cdot \sin \lambda_1 - \cos \lambda_1 \cdot \sin \lambda_2\right)}{\sin \phi_2}\\ \mathbf{else}:\\ \;\;\;\;\tan^{-1}_* \frac{t_2}{t_1 - \left(\cos \phi_2 \cdot \sin \phi_1\right) \cdot t_0}\\ \end{array} \]
Alternative 12
Error8.9
Cost52488
\[\begin{array}{l} t_0 := \tan^{-1}_* \frac{\cos \phi_2 \cdot \sin \left(\lambda_1 - \lambda_2\right)}{\cos \phi_1 \cdot \sin \phi_2 - \left(\cos \phi_2 \cdot \sin \phi_1\right) \cdot \cos \left(\lambda_1 - \lambda_2\right)}\\ \mathbf{if}\;\phi_1 \leq -3.5719904525122354 \cdot 10^{-12}:\\ \;\;\;\;t_0\\ \mathbf{elif}\;\phi_1 \leq 8.985363204321218 \cdot 10^{-51}:\\ \;\;\;\;\tan^{-1}_* \frac{\cos \phi_2 \cdot \left(\cos \lambda_2 \cdot \sin \lambda_1 - \cos \lambda_1 \cdot \sin \lambda_2\right)}{\sin \phi_2}\\ \mathbf{else}:\\ \;\;\;\;t_0\\ \end{array} \]
Alternative 13
Error18.1
Cost52364
\[\begin{array}{l} t_0 := \tan^{-1}_* \frac{\cos \phi_2 \cdot \left(\cos \lambda_2 \cdot \sin \lambda_1 - \cos \lambda_1 \cdot \sin \lambda_2\right)}{\sin \phi_2}\\ t_1 := \cos \phi_2 \cdot \sin \left(\lambda_1 - \lambda_2\right)\\ t_2 := \cos \phi_1 \cdot \sin \phi_2\\ \mathbf{if}\;\lambda_2 \leq -174618490788.62155:\\ \;\;\;\;t_0\\ \mathbf{elif}\;\lambda_2 \leq -1.2250394110593853 \cdot 10^{-114}:\\ \;\;\;\;\tan^{-1}_* \frac{t_1}{t_2 - \sin \phi_1 \cdot \cos \left(\lambda_1 - \lambda_2\right)}\\ \mathbf{elif}\;\lambda_2 \leq 8.01195973766281 \cdot 10^{-154}:\\ \;\;\;\;\tan^{-1}_* \frac{\sin \lambda_1 \cdot \cos \phi_2}{t_2 - \sin \phi_1 \cdot \left(\cos \lambda_1 \cdot \cos \phi_2\right)}\\ \mathbf{elif}\;\lambda_2 \leq 90700108891368020:\\ \;\;\;\;\tan^{-1}_* \frac{t_1}{t_2 - \cos \phi_2 \cdot \sin \phi_1}\\ \mathbf{else}:\\ \;\;\;\;t_0\\ \end{array} \]
Alternative 14
Error18.1
Cost52364
\[\begin{array}{l} t_0 := \tan^{-1}_* \frac{\cos \phi_2 \cdot \left(\cos \lambda_2 \cdot \sin \lambda_1 - \cos \lambda_1 \cdot \sin \lambda_2\right)}{\sin \phi_2}\\ t_1 := \cos \phi_2 \cdot \sin \left(\lambda_1 - \lambda_2\right)\\ t_2 := \cos \phi_1 \cdot \sin \phi_2\\ \mathbf{if}\;\lambda_2 \leq -174618490788.62155:\\ \;\;\;\;t_0\\ \mathbf{elif}\;\lambda_2 \leq -1.2250394110593853 \cdot 10^{-114}:\\ \;\;\;\;\tan^{-1}_* \frac{t_1}{t_2 - \sin \phi_1 \cdot \cos \left(\lambda_1 - \lambda_2\right)}\\ \mathbf{elif}\;\lambda_2 \leq 8.01195973766281 \cdot 10^{-154}:\\ \;\;\;\;\tan^{-1}_* \frac{\sin \lambda_1 \cdot \cos \phi_2}{t_2 - \cos \phi_2 \cdot \left(\cos \lambda_1 \cdot \sin \phi_1\right)}\\ \mathbf{elif}\;\lambda_2 \leq 90700108891368020:\\ \;\;\;\;\tan^{-1}_* \frac{t_1}{t_2 - \cos \phi_2 \cdot \sin \phi_1}\\ \mathbf{else}:\\ \;\;\;\;t_0\\ \end{array} \]
Alternative 15
Error13.7
Cost52360
\[\begin{array}{l} t_0 := \tan^{-1}_* \frac{\cos \phi_2 \cdot \left(\cos \lambda_2 \cdot \sin \lambda_1 - \cos \lambda_1 \cdot \sin \lambda_2\right)}{\sin \phi_2}\\ \mathbf{if}\;\lambda_2 \leq -174618490788.62155:\\ \;\;\;\;t_0\\ \mathbf{elif}\;\lambda_2 \leq 90700108891368020:\\ \;\;\;\;\tan^{-1}_* \frac{\cos \phi_2 \cdot \sin \left(\lambda_1 - \lambda_2\right)}{\cos \phi_1 \cdot \sin \phi_2 - \cos \phi_2 \cdot \left(\cos \lambda_1 \cdot \sin \phi_1\right)}\\ \mathbf{else}:\\ \;\;\;\;t_0\\ \end{array} \]
Alternative 16
Error19.1
Cost46224
\[\begin{array}{l} t_0 := \cos \phi_2 \cdot \sin \left(\lambda_1 - \lambda_2\right)\\ t_1 := \cos \phi_1 \cdot \sin \phi_2\\ t_2 := \tan^{-1}_* \frac{\cos \phi_2 \cdot \left(\cos \lambda_2 \cdot \sin \lambda_1 - \cos \lambda_1 \cdot \sin \lambda_2\right)}{\sin \phi_2}\\ t_3 := \tan^{-1}_* \frac{t_0}{t_1 - \sin \phi_1 \cdot \cos \left(\lambda_1 - \lambda_2\right)}\\ \mathbf{if}\;\lambda_2 \leq -174618490788.62155:\\ \;\;\;\;t_2\\ \mathbf{elif}\;\lambda_2 \leq -5.644052586015678 \cdot 10^{-194}:\\ \;\;\;\;t_3\\ \mathbf{elif}\;\lambda_2 \leq 2.342841385975658 \cdot 10^{-258}:\\ \;\;\;\;\tan^{-1}_* \frac{t_0}{t_1 - \cos \phi_2 \cdot \sin \phi_1}\\ \mathbf{elif}\;\lambda_2 \leq 90700108891368020:\\ \;\;\;\;t_3\\ \mathbf{else}:\\ \;\;\;\;t_2\\ \end{array} \]
Alternative 17
Error19.2
Cost46096
\[\begin{array}{l} t_0 := \cos \phi_2 \cdot \sin \left(\lambda_1 - \lambda_2\right)\\ t_1 := \cos \phi_1 \cdot \sin \phi_2\\ t_2 := \tan^{-1}_* \frac{\cos \phi_2 \cdot \left(\cos \lambda_2 \cdot \sin \lambda_1 - \cos \lambda_1 \cdot \sin \lambda_2\right)}{\sin \phi_2}\\ t_3 := \tan^{-1}_* \frac{t_0}{t_1 - \cos \lambda_1 \cdot \sin \phi_1}\\ \mathbf{if}\;\lambda_2 \leq -174618490788.62155:\\ \;\;\;\;t_2\\ \mathbf{elif}\;\lambda_2 \leq -5.644052586015678 \cdot 10^{-194}:\\ \;\;\;\;t_3\\ \mathbf{elif}\;\lambda_2 \leq 2.342841385975658 \cdot 10^{-258}:\\ \;\;\;\;\tan^{-1}_* \frac{t_0}{t_1 - \cos \phi_2 \cdot \sin \phi_1}\\ \mathbf{elif}\;\lambda_2 \leq 2.51877438285564 \cdot 10^{-18}:\\ \;\;\;\;t_3\\ \mathbf{else}:\\ \;\;\;\;t_2\\ \end{array} \]
Alternative 18
Error19.4
Cost45704
\[\begin{array}{l} t_0 := \tan^{-1}_* \frac{\cos \phi_2 \cdot \left(\cos \lambda_2 \cdot \sin \lambda_1 - \cos \lambda_1 \cdot \sin \lambda_2\right)}{\sin \phi_2}\\ \mathbf{if}\;\phi_2 \leq -5.018764154674492 \cdot 10^{-6}:\\ \;\;\;\;t_0\\ \mathbf{elif}\;\phi_2 \leq 1.568976540567404 \cdot 10^{-72}:\\ \;\;\;\;\tan^{-1}_* \frac{\cos \phi_2 \cdot \sin \left(\lambda_1 - \lambda_2\right)}{\phi_2 \cdot \cos \phi_1 - \sin \phi_1 \cdot \cos \left(\lambda_2 - \lambda_1\right)}\\ \mathbf{else}:\\ \;\;\;\;t_0\\ \end{array} \]
Alternative 19
Error22.6
Cost40072
\[\begin{array}{l} t_0 := \cos \left(\lambda_2 - \lambda_1\right)\\ t_1 := \cos \phi_2 \cdot \sin \left(\lambda_1 - \lambda_2\right)\\ t_2 := \tan^{-1}_* \frac{t_1}{\left(-\sin \phi_1\right) \cdot t_0}\\ \mathbf{if}\;\phi_1 \leq -79937.28080459191:\\ \;\;\;\;t_2\\ \mathbf{elif}\;\phi_1 \leq 0.00011560302005150216:\\ \;\;\;\;\tan^{-1}_* \frac{t_1}{\sin \phi_2 \cdot \left(1 + -0.5 \cdot \left(\phi_1 \cdot \phi_1\right)\right) - \phi_1 \cdot \left(\cos \phi_2 \cdot t_0\right)}\\ \mathbf{else}:\\ \;\;\;\;t_2\\ \end{array} \]
Alternative 20
Error23.0
Cost39560
\[\begin{array}{l} t_0 := \cos \phi_2 \cdot \sin \left(\lambda_1 - \lambda_2\right)\\ t_1 := \tan^{-1}_* \frac{t_0}{\sin \phi_2}\\ \mathbf{if}\;\phi_2 \leq -444.0307470392372:\\ \;\;\;\;t_1\\ \mathbf{elif}\;\phi_2 \leq 1.0158535282182995 \cdot 10^{-35}:\\ \;\;\;\;\tan^{-1}_* \frac{t_0}{\phi_2 \cdot \cos \phi_1 - \sin \phi_1 \cdot \cos \left(\lambda_2 - \lambda_1\right)}\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 21
Error22.6
Cost39560
\[\begin{array}{l} t_0 := \cos \left(\lambda_2 - \lambda_1\right)\\ t_1 := \cos \phi_2 \cdot \sin \left(\lambda_1 - \lambda_2\right)\\ t_2 := \tan^{-1}_* \frac{t_1}{\left(-\sin \phi_1\right) \cdot t_0}\\ \mathbf{if}\;\phi_1 \leq -79937.28080459191:\\ \;\;\;\;t_2\\ \mathbf{elif}\;\phi_1 \leq 0.00011560302005150216:\\ \;\;\;\;\tan^{-1}_* \frac{t_1}{\sin \phi_2 - t_0 \cdot \left(\cos \phi_2 \cdot \phi_1\right)}\\ \mathbf{else}:\\ \;\;\;\;t_2\\ \end{array} \]
Alternative 22
Error24.1
Cost32968
\[\begin{array}{l} t_0 := \cos \phi_2 \cdot \sin \left(\lambda_1 - \lambda_2\right)\\ t_1 := \tan^{-1}_* \frac{t_0}{\sin \phi_2}\\ \mathbf{if}\;\phi_2 \leq -3.847108894905766 \cdot 10^{-15}:\\ \;\;\;\;t_1\\ \mathbf{elif}\;\phi_2 \leq 1.568976540567404 \cdot 10^{-72}:\\ \;\;\;\;\tan^{-1}_* \frac{t_0}{\left(-\sin \phi_1\right) \cdot \cos \left(\lambda_2 - \lambda_1\right)}\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 23
Error35.2
Cost26184
\[\begin{array}{l} t_0 := \tan^{-1}_* \frac{\sin \lambda_1 \cdot \cos \phi_2}{\sin \phi_2}\\ \mathbf{if}\;\lambda_1 \leq -1.0318137612855276 \cdot 10^{-5}:\\ \;\;\;\;t_0\\ \mathbf{elif}\;\lambda_1 \leq 2.718604412957491 \cdot 10^{-17}:\\ \;\;\;\;\tan^{-1}_* \frac{\cos \phi_2 \cdot \left(-\sin \lambda_2\right)}{\sin \phi_2}\\ \mathbf{else}:\\ \;\;\;\;t_0\\ \end{array} \]
Alternative 24
Error39.3
Cost26120
\[\begin{array}{l} t_0 := \tan^{-1}_* \frac{\sin \lambda_1 \cdot \cos \phi_2}{\sin \phi_2}\\ \mathbf{if}\;\phi_2 \leq -138723778.3828996:\\ \;\;\;\;t_0\\ \mathbf{elif}\;\phi_2 \leq 1.2117978708919932 \cdot 10^{+33}:\\ \;\;\;\;\tan^{-1}_* \frac{\sin \left(\lambda_1 - \lambda_2\right) \cdot \left(1 + -0.5 \cdot \left(\phi_2 \cdot \phi_2\right)\right)}{\sin \phi_2}\\ \mathbf{else}:\\ \;\;\;\;t_0\\ \end{array} \]
Alternative 25
Error32.5
Cost25984
\[\tan^{-1}_* \frac{\cos \phi_2 \cdot \sin \left(\lambda_1 - \lambda_2\right)}{\sin \phi_2} \]
Alternative 26
Error43.9
Cost19456
\[\tan^{-1}_* \frac{\sin \left(\lambda_1 - \lambda_2\right)}{\sin \phi_2} \]
Alternative 27
Error48.8
Cost19328
\[\tan^{-1}_* \frac{\sin \lambda_1}{\sin \phi_2} \]

Error

Reproduce

herbie shell --seed 2022225 
(FPCore (lambda1 lambda2 phi1 phi2)
  :name "Bearing on a great circle"
  :precision binary64
  (atan2 (* (sin (- lambda1 lambda2)) (cos phi2)) (- (* (cos phi1) (sin phi2)) (* (* (sin phi1) (cos phi2)) (cos (- lambda1 lambda2))))))